Share via


PROTOCOL_INFOW-Struktur (nspapi.h)

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

Syntax

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;

Member

dwServiceFlags

Art: DWORD

Ein Satz von Bitflags, der 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 beabsichtigte 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 eingehen, in der sie gesendet wurden. Beachten Sie, dass diese Eigenschaft nicht die Lieferung der Daten garantiert, nur deren Bestellung. Wenn dieses Flag eindeutig ist, wird 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 umrahmt. 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 ordnungsgemäße Schließvorgänge bezeichnet werden. Wenn dieses Flag eindeutig ist, unterstützt das Protokoll nur abgebrochene Schließen-Vorgä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 Übertragungsmechanismus.
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 wird, wenn die Socketfunktion aufgerufen wird, um einen Socket für das Protokoll zu öffnen. Dieser Adressfamilienwert definiert eindeutig die Struktur der Protokolladressen, die auch als sockaddr-Strukturen bezeichnet werden und vom Protokoll verwendet werden.

iMaxSockAddr

Typ: INT

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

iMinSockAddr

Typ: INT

Mindestlänge einer Socketadresse, die vom Protokoll unterstützt wird, in Byte.

iSocketType

Typ: INT

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

Wenn XP_PSEUDO_STREAM in dwServiceFlags festgelegt ist, kann die Anwendung SOCK_STREAM als Typparameter für socket angeben, 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 den Nachrichtenrahmen nicht 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, aber es gibt keine maximale Nachrichtengröße.

lpProtocol

Typ: LPTSTR

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

Hinweise

Hinweis

Der nspapi.h-Header definiert PROTOCOL_INFO als Alias, der die ANSI- oder Unicode-Version dieser Funktion basierend auf der Definition der UNICODE-Präprozessorkonstante automatisch auswählt. Das Mischen der Verwendung des codierungsneutralen Alias mit Code, der nicht Codierungsneutral ist, 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