PROTOCOL_INFOA-Struktur (nspapi.h)

Die PROTOCOL_INFO-Struktur enthält Informationen zu einem Protokoll.

Syntax

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;

Member

dwServiceFlags

Art: DWORD

Eine Reihe von Bitflags, die die vom Protokoll bereitgestellten Dienste angibt. Eines oder mehrere der folgenden Bitflags können festgelegt werden.

Wert Bedeutung
XP_CONNECTIONLESS
Wenn dieses Flag festgelegt ist, stellt das Protokoll einen verbindungslosen Dienst (Datagramm) bereit. Wenn dieses Flag eindeutig ist, ermöglicht das Protokoll eine verbindungsorientierte Datenübertragung.
XP_GUARANTEED_DELIVERY
Wenn dieses Flag festgelegt ist, garantiert das Protokoll, dass alle gesendeten Daten das gewünschte Ziel erreichen. Wenn dieses Flag eindeutig ist, gibt es keine solche Garantie.
XP_GUARANTEED_ORDER
Wenn dieses Flag festgelegt ist, garantiert das Protokoll, dass die Daten in der Reihenfolge eintreffen, in der sie gesendet wurden. Beachten Sie, dass diese Eigenschaft nicht die Übermittlung der Daten garantiert, nur ihre Bestellung. Wenn dieses Flag eindeutig ist, ist die Reihenfolge der gesendeten Daten nicht garantiert.
XP_MESSAGE_ORIENTED
Wenn dieses Flag festgelegt ist, ist das Protokoll nachrichtenorientiert. Ein nachrichtenorientiertes Protokoll berücksichtigt Nachrichtengrenzen. Wenn dieses Flag klar ist, ist das Protokoll streamorientiert, und das Konzept der Nachrichtengrenzen ist irrelevant.
XP_PSEUDO_STREAM
Wenn dieses Flag festgelegt ist, ist das Protokoll ein nachrichtenorientiertes Protokoll, das Nachrichtengrenzen für alle Empfangsvorgänge ignoriert.

Diese optionale Funktion ist nützlich, wenn Sie nicht möchten, dass das Protokoll Nachrichten umrahmen soll. Eine Anwendung, die streamorientierte Merkmale erfordert, kann unabhängig vom Wert von iSocketType einen Socket mit dem Typ SOCK_STREAM für Transportprotokolle öffnen, die diese Funktionalität unterstützen.

XP_GRACEFUL_CLOSE
Wenn dieses Flag festgelegt ist, unterstützt das Protokoll zweiphasige Schließenvorgänge, die auch als graceful close-Vorgänge bezeichnet werden. Wenn dieses Flag eindeutig ist, unterstützt das Protokoll nur abgebrochene Schließenvorgänge.
XP_EXPEDITED_DATA
Wenn dieses Flag festgelegt ist, unterstützt das Protokoll beschleunigte Daten, die auch als dringende Daten bezeichnet werden.
XP_CONNECT_DATA
Wenn dieses Flag festgelegt ist, unterstützt das Protokoll Verbindungsdaten.
XP_DISCONNECT_DATA
Wenn dieses Flag festgelegt ist, unterstützt das Protokoll Trennungsdaten.
XP_SUPPORTS_BROADCAST
Wenn dieses Flag festgelegt ist, unterstützt das Protokoll einen Broadcastmechanismus.
XP_SUPPORTS_MULTICAST
Wenn dieses Flag festgelegt ist, unterstützt das Protokoll einen Multicastmechanismus.
XP_BANDWIDTH_ALLOCATION
Wenn dieses Flag festgelegt ist, unterstützt das Protokoll einen Mechanismus zum Zuweisen einer garantierten Bandbreite an eine Anwendung.
XP_FRAGMENTATION
Wenn dieses Flag festgelegt ist, unterstützt das Protokoll die Nachrichtenfragmentierung. Die MTU des physischen Netzwerks ist für Anwendungen ausgeblendet.
XP_ENCRYPTS
Wenn dieses Flag festgelegt ist, unterstützt das Protokoll die Datenverschlüsselung.

iAddressFamily

Typ: INT

Wert, der als af-Parameter übergeben werden soll, wenn die Socketfunktion aufgerufen wird, um einen Socket für das Protokoll zu öffnen. Dieser Adressfamilienwert definiert eindeutig die Struktur von Protokolladressen, die auch als Sockaddr-Strukturen bezeichnet werden, die vom Protokoll verwendet werden.

iMaxSockAddr

Typ: INT

Maximale Länge einer vom Protokoll unterstützten Socketadresse in Bytes.

iMinSockAddr

Typ: INT

Mindestlänge einer vom Protokoll unterstützten Socketadresse in Bytes.

iSocketType

Typ: INT

Wert, der als Typparameter übergeben werden soll, wenn die Socketfunktion aufgerufen wird, um einen Socket für das Protokoll zu öffnen.

Beachten Sie, dass die Anwendung, wenn XP_PSEUDO_STREAM in dwServiceFlags festgelegt ist, SOCK_STREAM als Typparameterfür socket angeben kann, unabhängig vom Wert von iSocketType.

iProtocol

Typ: INT

Wert, der als Protokollparameter übergeben werden soll, wenn die Socketfunktion aufgerufen wird, um einen Socket für das Protokoll zu öffnen.

dwMessageSize

Art: DWORD

Die vom Protokoll unterstützte maximale Nachrichtengröße in Bytes. Dies ist die maximale Größe einer Nachricht, die vom Host gesendet oder empfangen werden kann. Bei Protokollen, die keine Nachrichtenrahmen unterstützen, kann die tatsächliche maximale Größe einer Nachricht, die an eine bestimmte Adresse gesendet werden kann, kleiner als dieser Wert sein.

Die folgenden speziellen Nachrichtengrößenwerte werden definiert.

Wert Bedeutung
0
Das Protokoll ist streamorientiert; das Konzept der Nachrichtengröße ist nicht relevant.
0xFFFFFFFF
Das Protokoll ist nachrichtenorientiert, es gibt jedoch keine maximale Nachrichtengröße.

lpProtocol

Typ: LPTSTR

Zeiger auf eine Zeichenfolge mit Null, die einen Namen für das Protokoll bereitstellt; Beispiel: "SPX2".

Hinweise

Hinweis

Der nspapi.h-Header definiert PROTOCOL_INFO als Alias, der automatisch die ANSI- oder Unicode-Version dieser Funktion basierend auf der Definition der UNICODE-Präprozessorkonstante auswählt. Das Mischen der Verwendung des codierungsneutralen Alias mit nicht codierungsneutralem Code kann zu Nichtübereinstimmungen führen, die zu Kompilierungs- oder Laufzeitfehlern führen. Weitere Informationen finden Sie unter Konventionen für Funktionsprototypen.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 2000 Professional [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows 2000 Server [nur Desktop-Apps]
Kopfzeile nspapi.h

Weitere Informationen

EnumProtocols

Socket