Condividi tramite


struttura PROTOCOL_INFOA (nspapi.h)

La struttura PROTOCOL_INFO contiene informazioni su un protocollo.

Sintassi

typedef struct _PROTOCOL_INFOA {
  DWORD dwServiceFlags;
  INT   iAddressFamily;
  INT   iMaxSockAddr;
  INT   iMinSockAddr;
  INT   iSocketType;
  INT   iProtocol;
  DWORD dwMessageSize;
  LPSTR lpProtocol;
} PROTOCOL_INFOA, *PPROTOCOL_INFOA, *LPPROTOCOL_INFOA;

Members

dwServiceFlags

Tipo: DWORD

Set di flag di bit che specifica i servizi forniti dal protocollo. È possibile impostare uno o più flag di bit seguenti.

Valore Significato
XP_CONNECTIONLESS
Se questo flag è impostato, il protocollo fornisce il servizio senza connessione (datagrammi). Se questo flag è chiaro, il protocollo fornisce il trasferimento dei dati orientato alla connessione.
XP_GUARANTEED_DELIVERY
Se questo flag è impostato, il protocollo garantisce che tutti i dati inviati raggiungano la destinazione prevista. Se questo flag è chiaro, non esiste alcuna garanzia di questo tipo.
XP_GUARANTEED_ORDER
Se questo flag è impostato, il protocollo garantisce che i dati arrivino nell'ordine in cui è stato inviato. Si noti che questa caratteristica non garantisce la consegna dei dati, ma solo il relativo ordine. Se questo flag è chiaro, l'ordine dei dati inviati non è garantito.
XP_MESSAGE_ORIENTED
Se questo flag è impostato, il protocollo è orientato ai messaggi. Un protocollo orientato ai messaggi rispetta i limiti dei messaggi. Se questo flag è chiaro, il protocollo è orientato al flusso e il concetto di limiti del messaggio è irrilevante.
XP_PSEUDO_STREAM
Se questo flag è impostato, il protocollo è un protocollo orientato ai messaggi che ignora i limiti dei messaggi per tutte le operazioni di ricezione.

Questa funzionalità facoltativa è utile quando non si vuole che il protocollo frame i messaggi. Un'applicazione che richiede caratteristiche orientate al flusso può aprire un socket con tipo SOCK_STREAM per i protocolli di trasporto che supportano questa funzionalità, indipendentemente dal valore di iSocketType.

XP_GRACEFUL_CLOSE
Se questo flag è impostato, il protocollo supporta operazioni di chiusura in due fasi, note anche come operazioni di chiusura normale. Se questo flag è chiaro, il protocollo supporta solo le operazioni di chiusura interrotte.
XP_EXPEDITED_DATA
Se questo flag è impostato, il protocollo supporta i dati accelerati, noti anche come dati urgenti.
XP_CONNECT_DATA
Se questo flag è impostato, il protocollo supporta i dati di connessione.
XP_DISCONNECT_DATA
Se questo flag è impostato, il protocollo supporta i dati di disconnessione.
XP_SUPPORTS_BROADCAST
Se questo flag è impostato, il protocollo supporta un meccanismo di trasmissione.
XP_SUPPORTS_MULTICAST
Se questo flag è impostato, il protocollo supporta un meccanismo multicast.
XP_BANDWIDTH_ALLOCATION
Se questo flag è impostato, il protocollo supporta un meccanismo per l'allocazione di una larghezza di banda garantita a un'applicazione.
XP_FRAGMENTATION
Se questo flag è impostato, il protocollo supporta la frammentazione dei messaggi; MTU di rete fisica è nascosta dalle applicazioni.
XP_ENCRYPTS
Se questo flag è impostato, il protocollo supporta la crittografia dei dati.

iAddressFamily

Tipo: INT

Valore da passare come parametro af quando viene chiamata la funzione socket per aprire un socket per il protocollo. Questo valore della famiglia di indirizzi definisce in modo univoco la struttura degli indirizzi del protocollo, noti anche come strutture sockaddr , usate dal protocollo.

iMaxSockAddr

Tipo: INT

Lunghezza massima di un indirizzo socket supportato dal protocollo, in byte.

iMinSockAddr

Tipo: INT

Lunghezza minima di un indirizzo socket supportato dal protocollo, in byte.

iSocketType

Tipo: INT

Valore da passare come parametro di tipo quando viene chiamata la funzione socket per aprire un socket per il protocollo.

Si noti che se XP_PSEUDO_STREAM è impostato in dwServiceFlags, l'applicazione può specificare SOCK_STREAM come parametro di tipo per socket, indipendentemente dal valore di iSocketType.

iProtocol

Tipo: INT

Valore da passare come parametro del protocollo quando viene chiamata la funzione socket per aprire un socket per il protocollo.

dwMessageSize

Tipo: DWORD

Dimensioni massime dei messaggi supportate dal protocollo, in byte. Questa è la dimensione massima di un messaggio che può essere inviato o ricevuto dall'host. Per i protocolli che non supportano il frame dei messaggi, la dimensione massima effettiva di un messaggio che può essere inviato a un determinato indirizzo può essere minore di questo valore.

Vengono definiti i valori di dimensioni speciali del messaggio seguenti.

Valore Significato
0
Il protocollo è orientato ai flussi; il concetto di dimensione del messaggio non è rilevante.
0xffffffff
Il protocollo è orientato ai messaggi, ma non sono previste dimensioni massime del messaggio.

lpProtocol

Tipo: LPTSTR

Puntatore a una stringa con terminazione zero che fornisce un nome per il protocollo; ad esempio "SPX2".

Commenti

Nota

L'intestazione nspapi.h definisce PROTOCOL_INFO come alias che seleziona automaticamente la versione ANSI o Unicode di questa funzione in base alla definizione della costante del preprocessore UNICODE. La combinazione dell'utilizzo dell'alias indipendente dalla codifica con il codice che non è indipendente dalla codifica può causare mancate corrispondenze che generano errori di compilazione o di runtime. Per altre informazioni, vedere Convenzioni per i prototipi di funzioni.

Requisiti

Requisito Valore
Client minimo supportato Windows 2000 Professional [solo app desktop]
Server minimo supportato Windows 2000 Server [solo app desktop]
Intestazione nspapi.h

Vedi anche

EnumProtocols

socket