NPI_CLIENT_ATTACH_PROVIDER_FN fonction de rappel (netioddk.h)

La fonction de rappel ClientAttachProvider d’un module client 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 passe ce pointeur à la NMR lorsqu’il appelle la fonction NmrRegisterClient pour s’inscrire auprès de la NMR.

[in] ProviderRegistrationInstance

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

Valeur retournée

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

Code de retour Description
STATUS_SUCCESS
Le module client et le module fournisseur ont réussi à s’attacher l’un à l’autre.
STATUS_NOINTERFACE
Le module client ne s’est pas attaché au module fournisseur ou le module fournisseur ne s’est pas attaché au module client.
Autres codes status
Une erreur est survenue.

Remarques

Une fois qu’un module client s’est inscrit auprès de la NMR, le NMR appelle la fonction de rappel ClientAttachProvider du module client, 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 ClientAttachProvider d’un module client 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 vers laquelle pointe le paramètre ProviderRegistrationInstance . Le module client utilise ces données pour déterminer s’il est attaché au module fournisseur :

  • Si le module client détermine qu’il va s’attacher au module fournisseur, la fonction de rappel ClientAttachProvider appelle la fonction NmrClientAttachProvider pour poursuivre le processus de pièce jointe. Dans ce cas, la fonction de rappel ClientAttachProvider doit retourner le code status retourné par l’appel à Fonction NmrClientAttachProvider .
  • Si le module client détermine qu’il ne s’attache pas 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 du fournisseur.

La RMN appelle la fonction de rappel ClientAttachProvider d’un module client à l’adresse IRQL = PASSIVE_LEVEL.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Disponible dans Windows Vista et versions ultérieures des systèmes d’exploitation Windows.
Plateforme cible Windows
En-tête netioddk.h (inclure Wsk.h)
IRQL PASSIVE_LEVEL

Voir aussi

ClientDetachProvider

NPI_CLIENT_CHARACTERISTICS

NPI_REGISTRATION_INSTANCE

NmrClientAttachProvider

NmrClientDetachProviderComplete

NmrRegisterClient