Compartilhar via


estrutura PROTOCOL_INFOW (nspapi.h)

A estrutura PROTOCOL_INFO contém informações sobre um protocolo.

Sintaxe

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;

Membros

dwServiceFlags

Tipo: DWORD

Um conjunto de sinalizadores de bits que especifica os serviços fornecidos pelo protocolo. Um ou mais dos sinalizadores de bit a seguir podem ser definidos.

Valor Significado
XP_CONNECTIONLESS
Se esse sinalizador estiver definido, o protocolo fornecerá um serviço sem conexão (datagram). Se esse sinalizador estiver claro, o protocolo fornecerá transferência de dados orientada à conexão.
XP_GUARANTEED_DELIVERY
Se esse sinalizador for definido, o protocolo garantirá que todos os dados enviados chegarão ao destino pretendido. Se esse sinalizador estiver claro, não haverá tal garantia.
XP_GUARANTEED_ORDER
Se esse sinalizador for definido, o protocolo garantirá que os dados chegarão na ordem em que foram enviados. Observe que essa característica não garante a entrega dos dados, apenas sua ordem. Se esse sinalizador estiver claro, a ordem dos dados enviados não será garantida.
XP_MESSAGE_ORIENTED
Se esse sinalizador estiver definido, o protocolo será orientado a mensagens. Um protocolo orientado a mensagens respeita os limites da mensagem. Se esse sinalizador estiver claro, o protocolo será orientado para fluxo e o conceito de limites de mensagem será irrelevante.
XP_PSEUDO_STREAM
Se esse sinalizador for definido, o protocolo será um protocolo orientado a mensagens que ignora os limites de mensagens para todas as operações de recebimento.

Essa funcionalidade opcional é útil quando você não deseja que o protocolo enquadrou mensagens. Um aplicativo que requer características orientadas a fluxo pode abrir um soquete com tipo SOCK_STREAM para protocolos de transporte que dão suporte a essa funcionalidade, independentemente do valor de iSocketType.

XP_GRACEFUL_CLOSE
Se esse sinalizador for definido, o protocolo oferecerá suporte a operações de fechamento em duas fases, também conhecidas como operações de fechamento normal. Se esse sinalizador estiver claro, o protocolo só oferecerá suporte a operações de fechamento anulativas.
XP_EXPEDITED_DATA
Se esse sinalizador for definido, o protocolo oferecerá suporte a dados acelerados, também conhecidos como dados urgentes.
XP_CONNECT_DATA
Se esse sinalizador estiver definido, o protocolo oferecerá suporte a dados de conexão.
XP_DISCONNECT_DATA
Se esse sinalizador estiver definido, o protocolo oferecerá suporte à desconexão de dados.
XP_SUPPORTS_BROADCAST
Se esse sinalizador for definido, o protocolo oferecerá suporte a um mecanismo de difusão.
XP_SUPPORTS_MULTICAST
Se esse sinalizador for definido, o protocolo oferecerá suporte a um mecanismo multicast.
XP_BANDWIDTH_ALLOCATION
Se esse sinalizador estiver definido, o protocolo oferecerá suporte a um mecanismo para alocar uma largura de banda garantida a um aplicativo.
XP_FRAGMENTATION
Se esse sinalizador estiver definido, o protocolo oferecerá suporte à fragmentação de mensagens; A MTU de rede física está oculta dos aplicativos.
XP_ENCRYPTS
Se esse sinalizador for definido, o protocolo oferecerá suporte à criptografia de dados.

iAddressFamily

Tipo: INT

Valor a ser passado como o parâmetro af quando a função do soquete é chamada para abrir um soquete para o protocolo. Esse valor da família de endereços define exclusivamente a estrutura de endereços de protocolo, também conhecidas como estruturas de sockaddr , usadas pelo protocolo.

iMaxSockAddr

Tipo: INT

Comprimento máximo de um endereço de soquete compatível com o protocolo, em bytes.

iMinSockAddr

Tipo: INT

Comprimento mínimo de um endereço de soquete compatível com o protocolo, em bytes.

iSocketType

Tipo: INT

Valor a ser passado como o tipo parâmetro quando a função do soquete é chamada para abrir um soquete para o protocolo.

Observe que, se XP_PSEUDO_STREAM for definido em dwServiceFlags, o aplicativo poderá especificar SOCK_STREAM como o tipo parâmetro para de soquete, independentemente do valor de iSocketType.

iProtocol

Tipo: INT

Valor a ser passado como o protocolo parâmetro quando a função do soquete é chamada para abrir um soquete para o protocolo.

dwMessageSize

Tipo: DWORD

Tamanho máximo da mensagem compatível com o protocolo, em bytes. Esse é o tamanho máximo de uma mensagem que pode ser enviada ou recebida pelo host. Para protocolos que não dão suporte ao enquadramento de mensagens, o tamanho máximo real de uma mensagem que pode ser enviada para um determinado endereço pode ser menor que esse valor.

Os valores de tamanho de mensagem especiais a seguir são definidos.

Valor Significado
0
O protocolo é orientado para fluxo; o conceito de tamanho da mensagem não é relevante.
0xFFFFFFFF
O protocolo é orientado a mensagens, mas não há tamanho máximo de mensagem.

lpProtocol

Tipo: LPTSTR

Ponteiro para uma cadeia de caracteres com término zero que fornece um nome para o protocolo; por exemplo, "SPX2".

Observações

Nota

O cabeçalho nspapi.h define PROTOCOL_INFO como um alias que seleciona automaticamente a versão ANSI ou Unicode dessa função com base na definição da constante do pré-processador UNICODE. A combinação do uso do alias neutro de codificação com código que não é neutro em codificação pode levar a incompatibilidades que resultam em erros de compilação ou de runtime. Para obter mais informações, consulte Conventions for Function Prototypes.

Requisitos

Requisito Valor
de cliente com suporte mínimo Windows 2000 Professional [somente aplicativos da área de trabalho]
servidor com suporte mínimo Windows 2000 Server [somente aplicativos da área de trabalho]
cabeçalho nspapi.h

Consulte também

EnumProtocols

soquete