Поделиться через


структура PROTOCOL_INFOW (nspapi.h)

Структура PROTOCOL_INFO содержит сведения о протоколе.

Синтаксис

typedef struct _PROTOCOL_INFOW {
  DWORD  dwServiceFlags;
  INT    iAddressFamily;
  INT    iMaxSockAddr;
  INT    iMinSockAddr;
  INT    iSocketType;
  INT    iProtocol;
  DWORD  dwMessageSize;
  LPWSTR lpProtocol;
} PROTOCOL_INFOW, *PPROTOCOL_INFOW, *LPPROTOCOL_INFOW;

Члены

dwServiceFlags

Тип: DWORD

Набор битовых флагов, указывающих службы, предоставляемые протоколом. Можно задать один или несколько следующих битовых флагов.

Ценность Значение
XP_CONNECTIONLESS
Если этот флаг задан, протокол предоставляет службу без подключения (datagram). Если этот флаг понятен, протокол обеспечивает передачу данных, ориентированной на подключение.
XP_GUARANTEED_DELIVERY
Если этот флаг задан, протокол гарантирует, что все отправленные данные будут достигать предполагаемого назначения. Если этот флаг ясно, такая гарантия отсутствует.
XP_GUARANTEED_ORDER
Если этот флаг задан, протокол гарантирует, что данные будут поступать в том порядке, в котором он был отправлен. Обратите внимание, что эта характеристика не гарантирует доставку данных, только его заказ. Если этот флаг ясно, порядок отправки данных не гарантируется.
XP_MESSAGE_ORIENTED
Если этот флаг задан, протокол ориентирован на сообщение. Протокол, ориентированный на сообщение, учитывает границы сообщений. Если этот флаг понятен, протокол ориентирован на поток, и концепция границ сообщений не имеет значения.
XP_PSEUDO_STREAM
Если этот флаг задан, протокол является протоколом, ориентированным на сообщение, который игнорирует границы сообщений для всех операций получения.

Эта необязательная возможность полезна, если не требуется, чтобы протокол обрамлял сообщения. Приложение, требующее потоковой характеристики, может открывать сокет с типом SOCK_STREAM для транспортных протоколов, поддерживающих эту функцию, независимо от значения iSocketType.

XP_GRACEFUL_CLOSE
Если этот флаг задан, протокол поддерживает двухэтапные операции закрытия, также известные как грациозные операции закрытия. Если этот флаг понятен, протокол поддерживает только прерванные операции закрытия.
XP_EXPEDITED_DATA
Если этот флаг задан, протокол поддерживает ускоренную обработку данных, также называемую срочными данными.
XP_CONNECT_DATA
Если этот флаг задан, протокол поддерживает подключение данных.
XP_DISCONNECT_DATA
Если этот флаг задан, протокол поддерживает данные отключения.
XP_SUPPORTS_BROADCAST
Если этот флаг задан, протокол поддерживает механизм трансляции.
XP_SUPPORTS_MULTICAST
Если этот флаг задан, протокол поддерживает механизм многоадресной рассылки.
XP_BANDWIDTH_ALLOCATION
Если этот флаг задан, протокол поддерживает механизм выделения гарантированной пропускной способности приложению.
XP_FRAGMENTATION
Если этот флаг задан, протокол поддерживает фрагментацию сообщений; MTU физической сети скрыт от приложений.
XP_ENCRYPTS
Если этот флаг задан, протокол поддерживает шифрование данных.

iAddressFamily

Тип: INT

Значение, передаваемое в качестве параметра af при вызове функции сокета , чтобы открыть сокет для протокола. Это значение семейства адресов однозначно определяет структуру адресов протокола, также известную как структур sockaddr, используемых протоколом.

iMaxSockAddr

Тип: INT

Максимальная длина адреса сокета, поддерживаемого протоколом, в байтах.

iMinSockAddr

Тип: INT

Минимальная длина адреса сокета, поддерживаемого протоколом, в байтах.

iSocketType

Тип: INT

Значение, передаваемое в качестве параметра типа при вызове функции сокета , чтобы открыть сокет для протокола.

Обратите внимание, что если XP_PSEUDO_STREAM задан в dwServiceFlags, приложение может указать SOCK_STREAM в качестве параметра типа для сокетанезависимо от значения iSocketType.

iProtocol

Тип: INT

Значение для передачи в качестве параметра протокола при вызове функции сокета для открытия сокета для протокола.

dwMessageSize

Тип: DWORD

Максимальный размер сообщения, поддерживаемый протоколом в байтах. Это максимальный размер сообщения, отправляемого или полученного узлом. Для протоколов, которые не поддерживают кадрирование сообщений, фактический максимальный размер сообщения, который можно отправить на заданный адрес, может быть меньше этого значения.

Определены следующие специальные значения размера сообщения.

Ценность Значение
0
Протокол ориентирован на поток; Концепция размера сообщения не имеет значения.
0xFFFFFFFF
Протокол ориентирован на сообщение, но максимальный размер сообщения отсутствует.

lpProtocol

Тип: LPTSTR

Указатель на строку нулевого завершения, которая предоставляет имя протокола; Например, "SPX2".

Замечания

Заметка

Заголовок nspapi.h определяет PROTOCOL_INFO как псевдоним, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора ЮНИКОДа. Сочетание использования псевдонима, нейтрального для кодирования, с кодом, не зависящим от кодирования, может привести к несоответствиям, которые приводят к ошибкам компиляции или среды выполнения. Дополнительные сведения см. в соглашениях о прототипах функций.

Требования

Требование Ценность
минимальные поддерживаемые клиентские Windows 2000 Профессиональный [только классические приложения]
минимальный поддерживаемый сервер Windows 2000 Server [только классические приложения]
заголовка nspapi.h

См. также

EnumProtocols

сокета