NDK_FN_CONNECT_WITH_SHARED_ENDPOINT fonction de rappel (ndkpi.h)
La fonction NdkConnectWithSharedEndpoint (NDK_FN_CONNECT_WITH_SHARED_ENDPOINT) lance une demande de connexion NDK d’une adresse locale partagée à une adresse distante.
Syntaxe
NDK_FN_CONNECT_WITH_SHARED_ENDPOINT NdkFnConnectWithSharedEndpoint;
NTSTATUS NdkFnConnectWithSharedEndpoint(
[in] NDK_CONNECTOR *pNdkConnector,
[in] NDK_QP *pNdkQp,
[in] NDK_SHARED_ENDPOINT *pNdkSharedEndpoint,
const PSOCKADDR pDestAddress,
[in] ULONG DestAddressLength,
[in] ULONG InboundReadLimit,
[in] ULONG OutboundReadLimit,
[_In_reads_bytes_opt_(PrivateDataLength)] const PVOID pPrivateData,
[in] ULONG PrivateDataLength,
[in] NDK_FN_REQUEST_COMPLETION RequestCompletion,
[in, optional] PVOID RequestContext
)
{...}
Paramètres
[in] pNdkConnector
Pointeur vers un objet connecteur NDK (NDK_CONNECTOR).
[in] pNdkQp
Pointeur vers un objet de paire de files d’attente NDK (QP) (NDK_QP) à associer à la connexion.
[in] pNdkSharedEndpoint
Pointeur vers un objet de point de terminaison partagé NDK (NDK_SHARED_ENDPOINT) qui détermine l’adresse locale de la connexion.
pDestAddress
Adresse de destination. Pour AF_INET ou AF_INET6 pDestAddress est l’adresse IP de destination et le port ND de destination.
[in] DestAddressLength
Taille, en octets, des données d’adresse de destination au niveau de la pDestAddress. paramètre.
[in] InboundReadLimit
Nombre maximal d’opérations de lecture entrantes en cours fournies par le consommateur pour permettre le QP. Si le fournisseur sous-jacent a une valeur inférieure MaxInboundReadLimit dans la structure NDK_ADAPTER_INFO, le fournisseur limite la valeur fournie par le consommateur au maximum du fournisseur. Si l’homologue a une valeur inférieure OutboundReadLimit, le fournisseur utilise cette valeur comme valeur effective InboundReadLimit. Le consommateur peut récupérer le inboundReadLimit effectif en appelant la fonction NdkGetConnectionData (NDK_FN_GET_CONNECTION_DATA).
[in] OutboundReadLimit
Nombre maximal d’opérations de lecture sortantes en cours fournies par le consommateur pour permettre le QP. Si le fournisseur sous-jacent a une valeur inférieure MaxOutboundReadLimit dans la structure NDK_ADAPTER_INFO, le fournisseur limite la valeur fournie par le consommateur au maximum du fournisseur. Si l’homologue a une inférieureInboundReadLimit, le fournisseur utilise cette valeur comme effectiveOutboundReadLimit. Le consommateur peut récupérer la OutboundReadLimit effective en appelant la fonction NdkGetConnectionData (NDK_FN_GET_CONNECTION_DATA).
[_In_reads_bytes_opt_(PrivateDataLength)] pPrivateData
Pointeur vers des données privées envoyées avec la demande de connexion.
[in] PrivateDataLength
Longueur, en octets, des données privées fournies dans le paramètre pPrivateData.
[in] RequestCompletion
Pointeur vers une routine de rappel de fin de requête NdkRequestCompletion (NDK_FN_REQUEST_COMPLETION).
[in, optional] RequestContext
Valeur de contexte à transmettre au paramètre Context de la fonction de rappel spécifiée dans le paramètre RequestCompletion.
Valeur de retour
La fonction NdkConnectWithSharedEndpoint retourne l’un des codes NTSTATUS suivants.
Retourner le code | Description |
---|---|
|
La demande de connexion a été effectuée avec succès. |
|
L’opération est en attente et sera terminée ultérieurement. Le pilote appelle la fonction RequestCompletion (NDK_FN_REQUEST_COMPLETION) spécifiée pour terminer l’opération en attente. |
|
La requête a échoué en raison de ressources insuffisantes.
Important La requête peut échouer en ligne, ainsi que de manière asynchrone avec ce code d’état.
|
|
La requête a échoué, car le réseau distant n’a pas été accessible. La tentative de connexion peut être retentée.
Important La requête peut échouer en ligne, ainsi que de manière asynchrone avec ce code d’état.
|
|
La requête a échoué, car le système distant n’était pas accessible. La tentative de connexion peut être retentée.
Important La requête peut échouer en ligne, ainsi que de manière asynchrone avec ce code d’état.
|
|
La demande a échoué, car le système distant a refusé la demande de connexion. Cela peut être dû à un manque d’écouteur, de limites de backlog ou de l’homologue qui rejette activement la demande de connexion. La tentative de connexion peut être retentée.
Important La requête peut échouer en ligne, ainsi que de manière asynchrone avec ce code d’état.
|
|
La requête a échoué, car la demande de connexion a expiré. La tentative de connexion peut être retentée. Les valeurs de délai d’expiration sont sélectionnées par les fournisseurs Network Direct pour correspondre à leurs caractéristiques réseau respectives.
Important La requête peut échouer en ligne, ainsi que de manière asynchrone avec ce code d’état.
|
|
La requête a échoué, car une connexion avec la combinaison d’adresses locales, de port local, d’adresse distante et de port distant existe déjà.
Important La requête peut échouer en ligne, ainsi que de manière asynchrone avec ce code d’état.
|
|
Une erreur s’est produite. |
Remarques
NdkConnectWithSharedEndpoint lance une demande de connexion d’une adresse locale partagée à une adresse distante spécifique. NdkConnectWithSharedEndpoint permet à un consommateur NDK d’utiliser la même adresse locale (par exemple, 10.1.1.1:9999) pour de nombreuses connexions sortantes lorsque les adresses de destination des connexions sont différentes.
Exigences
Exigence | Valeur |
---|---|
client minimum pris en charge | Aucune prise en charge, prise en charge dans NDIS 6.30 et versions ultérieures. |
serveur minimum pris en charge | Windows Server 2012 |
plateforme cible | Windows |
d’en-tête | ndkpi.h (include Ndkpi.h) |
IRQL | <=DISPATCH_LEVEL |