NPI_CLIENT_ATTACH_PROVIDER_FN función de devolución de llamada (netioddk.h)

La función de devolución de llamada ClientAttachProvider de un módulo cliente adjunta el módulo cliente a un módulo de proveedor.

Sintaxis

NPI_CLIENT_ATTACH_PROVIDER_FN NpiClientAttachProviderFn;

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

Parámetros

[in] NmrBindingHandle

Identificador utilizado por el NMR para representar el enlace entre el módulo cliente y el módulo de proveedor.

[in] ClientContext

Puntero al contexto de registro del módulo cliente. El módulo cliente pasa este puntero al NMR cuando llama a la función NmrRegisterClient para registrarse con nmR.

[in] ProviderRegistrationInstance

Puntero a un NPI_REGISTRATION_INSTANCE estructura. Esta estructura contiene los datos de registro del módulo de proveedor.

Valor devuelto

La función de devolución de llamada ClientAttachProvider de un módulo cliente devuelve uno de los siguientes códigos NTSTATUS:

Código devuelto Descripción
STATUS_SUCCESS
El módulo cliente y el módulo de proveedor se asociaron correctamente entre sí.
STATUS_NOINTERFACE
El módulo cliente no se adjuntó al módulo de proveedor o el módulo de proveedor no se adjuntó al módulo cliente.
Otros códigos de estado
Se produjo un error.

Comentarios

Después de que un módulo cliente se haya registrado con nmR, NMR llama a la función de devolución de llamada ClientAttachProvider del módulo cliente, una vez para cada módulo de proveedor registrado como proveedor del mismo NPI para el que el módulo de cliente se ha registrado como cliente.

NmR también llama a la función de devolución de llamada ClientAttachProvider de un módulo cliente cada vez que un nuevo módulo de red se registra como proveedor del mismo NPI para el que el módulo cliente se ha registrado como cliente.

Un módulo cliente puede examinar los datos de registro del módulo de proveedor. Estos datos están en la estructura a la que apunta el parámetro ProviderRegistrationInstance . El módulo cliente usa estos datos para determinar si se asociará al módulo de proveedor:

  • Si el módulo cliente determina que se asociará al módulo de proveedor, la función de devolución de llamada ClientAttachProvider llama a la función NmrClientAttachProvider para continuar con el proceso de datos adjuntos. En esta situación, la función de devolución de llamada ClientAttachProvider debe devolver el código de estado devuelto por la llamada a . Función NmrClientAttachProvider .
  • Si el módulo cliente determina que no se asociará al módulo de proveedor, la función de devolución de llamada ClientAttachProvider debe devolver STATUS_NOINTERFACE.
Si el módulo cliente se asocia correctamente al módulo de proveedor, debe guardar el identificador proporcionado en el parámetro NmrBindingHandle . El módulo cliente pasa este identificador como un parámetro al Función NmrClientDetachProviderComplete cuando se desasocia del módulo de proveedor.

NMR llama a la función de devolución de llamada ClientAttachProvider de un módulo cliente en IRQL = PASSIVE_LEVEL.

Requisitos

Requisito Value
Cliente mínimo compatible Disponible en Windows Vista y versiones posteriores de los sistemas operativos Windows.
Plataforma de destino Windows
Encabezado netioddk.h (incluya Wsk.h)
IRQL PASSIVE_LEVEL

Consulte también

ClientDetachProvider

NPI_CLIENT_CHARACTERISTICS

NPI_REGISTRATION_INSTANCE

NmrClientAttachProvider

NmrClientDetachProviderComplete

NmrRegisterClient