NDK_FN_GET_CONNECTION_DATA fonction de rappel (ndkpi.h)
La fonction NdkGetConnectionData (NDK_FN_GET_CONNECTION_DATA) obtient les valeurs de limite de lecture et les données privées envoyées par l’homologue.
Syntaxe
NDK_FN_GET_CONNECTION_DATA NdkFnGetConnectionData;
NTSTATUS NdkFnGetConnectionData(
[in] NDK_CONNECTOR *pNdkConnector,
[out, optional] ULONG *pInboundReadLimit,
[out, optional] ULONG *pOutboundReadLimit,
PVOID pPrivateData,
ULONG *pPrivateDataLength
)
{...}
Paramètres
[in] pNdkConnector
Pointeur vers un objet connecteur NDK (NDK_CONNECTOR).
[out, optional] pInboundReadLimit
Le nombre maximal d’opérations de lecture entrantes en cours à autoriser sur le QP est retourné à cet emplacement.
[out, optional] pOutboundReadLimit
Le nombre maximal d’opérations de lecture sortantes en cours à autoriser sur le QP est retourné à cet emplacement.
pPrivateData
Pointeur vers des données privées retournées.
pPrivateDataLength
Longueur, en octets, des données privées fournies dans le paramètre pPrivateData .
Valeur retournée
La fonction NdkGetConnectionData retourne l’un des codes NTSTATUS suivants.
Code de retour | Description |
---|---|
|
L’opération s’est terminée avec succès. |
|
La valeur dans le paramètre *pPrivateDataLength a spécifié une taille de mémoire tampon trop petite pour contenir les données privées de connexion. *pPrivateDataLength est mis à jour avec la taille requise. |
|
Une erreur est survenue. |
Remarques
La fonction NdkGetConnectionData obtient les données privées envoyées par l’homologue avec les demandes de connexion, d’acceptation ou de rejet, ainsi que les valeurs de limite de lecture entrantes et sortantes effectives. Ces valeurs sont dérivées des valeurs demandées des homologues locaux et distants et des limites maximales du fournisseur.
Pour accéder aux données privées et aux valeurs effectives de limite de lecture entrante (IRD) et de limite de lecture sortante (ORD) du côté actif, un consommateur NDK peut appeler NdkGetConnectionData pour un objet connecteur qui a été passé à la fonction NDK_FN_CONNECT_EVENT_CALLBACK .
Pour accéder aux données privées et aux valeurs IRD et ORD effectives du côté passif, le consommateur peut appeler NdkGetConnectionData pour un objet connecteur pour lequel NDK_FN_CONNECT ou NDK_FN_CONNECT_WITH_SHARED_ENDPOINT terminé avec succès Un consommateur NDK n’appellera pas cette fonction après avoir appelé la fonction NDK_FN_ACCEPT côté passif ou la fonction NDK_FN_COMPLETE_CONNECT du côté actif.
Si le paramètre pPrivateData a la valeur NULL et *pPrivateDataLength est égal à zéro, un fournisseur NDK doit retourner STATUS_SUCCESS et stocker la taille de mémoire tampon de données privée (RDS) requise dans *pPrivateDataLength.
Si pPrivateData n’a pas la valeur NULL, le fournisseur doit copier les données privées dans la mémoire tampon sur pPrivateData jusqu’à la plus petite de *pPrivateDataLength ou RDS en octets.
Si *pPrivateDataLength est supérieur ou égal à RDS, le fournisseur doit retourner STATUS_SUCCESS. Sinon, le fournisseur doit retourner STATUS_BUFFER_TOO_SMALL. Dans les deux cas, le fournisseur doit stocker le service RDS dans *pPrivateDataLength avant de revenir.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Aucune prise en charge, prise en charge dans NDIS 6.30 et versions ultérieures. |
Serveur minimal pris en charge | Windows Server 2012 |
Plateforme cible | Windows |
En-tête | ndkpi.h (incluez Ndkpi.h) |
IRQL | <=DISPATCH_LEVEL |