Partager via


NPI_CLIENT_ATTACH_PROVIDER_FN fonction de rappel (netioddk.h)

Le ClientAttachProvider d’un module client fonction de rappel attache le module client à un module fournisseur.

Syntaxe

NPI_CLIENT_ATTACH_PROVIDER_FN NpiClientAttachProviderFn;

NTSTATUS NpiClientAttachProviderFn(
  [in] HANDLE NmrBindingHandle,
  [in] PVOID ClientContext,
  [in] PNPI_REGISTRATION_INSTANCE ProviderRegistrationInstance
)
{...}

Paramètres

[in] NmrBindingHandle

Handle utilisé par la NMR pour représenter la liaison entre le module client et le module fournisseur.

[in] ClientContext

Pointeur vers le contexte d’inscription du module client. Le module client transmet ce pointeur à la NMR lorsqu’il appelle la fonction NmrRegisterClient pour s’inscrire auprès de la NMR.

[in] ProviderRegistrationInstance

Pointeur vers un structure NPI_REGISTRATION_INSTANCE. Cette structure contient les données d’inscription du module fournisseur.

Valeur de retour

La fonction de rappel ClientAttachProvider d’un module client retourne l’un des codes NTSTATUS suivants :

Retourner le code Description
STATUS_SUCCESS
Le module client et le module fournisseur ont réussi à s’attacher les uns aux autres.
STATUS_NOINTERFACE
Soit le module client n’a pas attaché au module fournisseur, soit le module fournisseur n’a pas attaché au module client.
Autres codes d’état
Une erreur s’est produite.

Remarques

Une fois qu’un module client s’est inscrit auprès de la NMR, la NMR appelle la fonction de rappel client ClientAttachProvider, une fois pour chaque module fournisseur inscrit en tant que fournisseur du même NPI pour lequel le module client s’est inscrit en tant que client.

La NMR appelle également la fonction de rappel client ClientAttachProvider chaque fois qu’un nouveau module réseau s’inscrit en tant que fournisseur du même NPI pour lequel le module client s’est inscrit en tant que client.

Un module client peut examiner les données d’inscription du module fournisseur. Ces données se situent dans la structure pointée par le paramètre ProviderRegistrationInstance. Le module client utilise ces données pour déterminer s’il sera attaché au module fournisseur :

  • Si le module client détermine qu’il sera attaché au module fournisseur, la fonction ClientAttachProvider appelle la fonction de rappel NmrClientAttachProvider pour poursuivre le processus de pièce jointe. Dans ce cas, la fonction de rappel ClientAttachProvider doit retourner le code d’état retourné par l’appel à la fonction de rappel fonction NmrClientAttachProvider.
  • Si le module client détermine qu’il n’est pas attaché au module fournisseur, la fonction de rappel ClientAttachProvider doit retourner STATUS_NOINTERFACE.
Si le module client s’attache correctement au module fournisseur, il doit enregistrer le handle fourni dans le paramètre NmrBindingHandle. Le module client transmet ce handle en tant que paramètre au fonction NmrClientDetachProviderComplete lorsqu’elle se détache du module fournisseur.

La NMR appelle la fonction de rappel client ClientAttachProvider à IRQL = PASSIVE_LEVEL.

Exigences

Exigence Valeur
client minimum pris en charge Disponible dans Windows Vista et versions ultérieures des systèmes d’exploitation Windows.
plateforme cible Windows
d’en-tête netioddk.h (include Wsk.h)
IRQL PASSIVE_LEVEL

Voir aussi

clientDetachProvider

NPI_CLIENT_CHARACTERISTICS

NPI_REGISTRATION_INSTANCE

NmrClientAttachProvider

NmrClientDetachProviderComplete

NmrRegisterClient