Freigeben über


NDK_FN_CREATE_SHARED_ENDPOINT Rückruffunktion (ndkpi.h)

Die Funktion NdkCreateSharedEndpoint (NDK_FN_CREATE_SHARED_ENDPOINT) erstellt einen freigegebenen NDK-Endpunkt.

Syntax

NDK_FN_CREATE_SHARED_ENDPOINT NdkFnCreateSharedEndpoint;

NTSTATUS NdkFnCreateSharedEndpoint(
  [in]           NDK_ADAPTER *pNdkAdapter,
                 const PSOCKADDR pAddress,
  [in]           ULONG AddressLength,
  [in]           NDK_FN_CREATE_COMPLETION CreateCompletion,
  [in, optional] PVOID RequestContext,
                 NDK_SHARED_ENDPOINT **ppNdkSharedEndpoint
)
{...}

Parameter

[in] pNdkAdapter

Ein Zeiger auf ein NDK-Adapterobjekt (NDK_ADAPTER).

pAddress

Eine lokale Adresse, die zum Initiieren ausgehender Verbindungen verwendet werden soll. Für AF_INET oder AF_INET6 enthält pAddress die lokale IP-Adresse und den lokalen ND-Port.

[in] AddressLength

Die Größe der lokalen Adressdaten am pAddress-Parameter in Bytes.

[in] CreateCompletion

Ein Zeiger auf eine NdkCreateCompletion-Funktion (NDK_FN_CREATE_COMPLETION), die die Erstellung eines NDK-Objekts abschließt.

[in, optional] RequestContext

Ein Kontextwert, den der NDK-Anbieter an die NdkCreateCompletion-Funktion zurückgibt, die im CreateCompletion-Parameter angegeben ist.

ppNdkSharedEndpoint

Ein Zeiger auf ein erstelltes freigegebenes Endpunktobjekt (NDK_SHARED_ENDPOINT) wird an diesem Speicherort zurückgegeben, wenn die Anforderung erfolgreich ist, ohne STATUS_PENDING zurückzugeben. Wenn die Anforderung STATUS_PENDING zurückgibt, wird dieser Parameter ignoriert, und das erstellte Objekt wird mit dem Rückruf zurückgegeben, der im CreateCompletion-Parameter angegeben ist.

Rückgabewert

Die NdkCreateSharedEndpoint-Funktion gibt einen der folgenden NTSTATUS-Codes zurück.

Rückgabecode Beschreibung
STATUS_SUCCESS
Das freigegebene Endpunktobjekt wurde erfolgreich erstellt und mit dem Parameter *ppNdkSharedEndpoint zurückgegeben.
STATUS_PENDING
Der Vorgang steht aus und wird später abgeschlossen. Der Anbieter ruft die im CreateCompletion-Parameter (NDK_FN_CREATE_COMPLETION) angegebene Funktion auf, um den ausstehenden Vorgang abzuschließen.
STATUS_INSUFFICIENT_RESOURCES
Fehler bei der Anforderung aufgrund unzureichender Ressourcen.
Wichtig Die Anforderung kann sowohl inline als auch asynchron mit diesem status Code fehlschlagen.
 
STATUS_SHARING_VIOLATION
Fehler bei der Anforderung, da die angegebene lokale Adresse bereits verwendet wird.
Wichtig Die Anforderung kann sowohl inline als auch asynchron mit diesem status Code fehlschlagen.
 
STATUS_TOO_MANY_ADDRESSES
Fehler bei der Anforderung, weil der Consumer eine lokale Portnummer von 0 angegeben hat und der Direkte Netzwerkanbieter keinen Port aus dem kurzlebigen Portraum zuordnen konnte (Ports 49152-65535).)
STATUS_INVALID_ADDRESS
Bei der Anforderung ist ein Fehler aufgetreten, da die angegebene lokale Adresse keine gültige Adresse für den Adapter ist.
Wichtig Die Anforderung kann sowohl inline als auch asynchron mit diesem status Code fehlschlagen.
 
Andere status Codes
Ein Fehler ist aufgetreten.

Hinweise

Die NdkCreateSharedEndpoint-Funktion erstellt einen freigegebenen NDK-Endpunkt, der als lokale Adresse für mehrere ausgehende Verbindungen verwendet wird, die an verschiedene Remoteadressen bestimmt sind. Dies ist vergleichbar mit mehreren eingehenden Verbindungen mit derselben lokalen Adresse, die von einem Listenerobjekt dargestellt werden.

Wenn die Funktion STATUS_SUCCESS zurückgibt, wird das erstellte Objekt im ppNdkSharedEndpoint-Parameter zurückgegeben. Wenn NdkCreateSharedEndpoint STATUS_PENDING zurückgibt, wird das erstellte Objekt von der NdkCreateCompletion-Funktion (NDK_FN_CREATE_COMPLETION) zurückgegeben, die im CreateCompletion-Parameter angegeben ist.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Keine unterstützt, wird in NDIS 6.30 und höher unterstützt.
Unterstützte Mindestversion (Server) Windows Server 2012
Zielplattform Windows
Kopfzeile ndkpi.h (include Ndkpi.h)
IRQL <=DISPATCH_LEVEL

Weitere Informationen

Anforderungen an die Lebensdauer des NDKPI-Objekts

NDK_ADAPTER

NDK_ADAPTER_DISPATCH

NDK_FN_CREATE_COMPLETION

NDK_SHARED_ENDPOINT