Compartir a través de


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

La función de devolución de llamada ProviderDetachClient de un módulo de proveedor desasocia el módulo de proveedor de un módulo cliente.

Sintaxis

NPI_PROVIDER_DETACH_CLIENT_FN NpiProviderDetachClientFn;

NTSTATUS NpiProviderDetachClientFn(
  [in] PVOID ProviderBindingContext
)
{...}

Parámetros

[in] ProviderBindingContext

Puntero al contexto del módulo de proveedor para el enlace entre el módulo de proveedor y el módulo cliente del que se desasocia. La función de devolución de llamada ProviderAttachClient del módulo de proveedor devuelve este puntero al NMR cuando se asocia al módulo cliente.

Valor devuelto

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

Código devuelto Descripción
STATUS_SUCCESS
El módulo de proveedor se desasocia correctamente del módulo cliente.
STATUS_PENDING
El módulo de proveedor no pudo desasociar del módulo cliente inmediatamente.

Comentarios

NmR llama a la función de devolución de llamada ProviderDetachClient de un módulo de proveedor cada vez que es necesario finalizar el enlace entre el módulo de proveedor y un módulo cliente. El desaprovisionamiento se inicia mediante el módulo cliente que llama a la función NmrDeregisterClient o al módulo de proveedor que llama a la función NmrDeregisterProvider .

Después de llamar a su función de devolución de llamada ProviderDetachClient , un módulo de proveedor no debe realizar más llamadas a ninguna de las funciones de devolución de llamada NPI del módulo cliente. Si no hay llamadas en curso a ninguna de las funciones de devolución de llamada NPI del módulo cliente cuando se llama a la función de devolución de llamada ProviderDetachClient del módulo del proveedor, la función de devolución de llamada ProviderDetachClient del módulo de proveedor devuelve STATUS_SUCCESS.

Si hay llamadas en curso a una o varias de las funciones de devolución de llamada NPI del módulo cliente cuando se llama a la función de devolución de llamada ProviderDetachClient del módulo del proveedor, la función de devolución de llamada ProviderDetachClient del módulo del proveedor devuelve STATUS_PENDING. En esta situación, el módulo de proveedor debe llamar al La función NmrProviderDetachClientComplete después de que se hayan completado todas las llamadas en curso a las funciones de devolución de llamada NPI del módulo cliente. La llamada a La función NmrProviderDetachClientComplete notifica al NMR que se ha completado el desagrupamiento del módulo cliente.

NmR llama al módulo cliente Función de devolución de llamada ClientCleanupBindingContext y el módulo del proveedorLa función de devolución de llamada ProviderCleanupBindingContext después de que el módulo cliente y el módulo de proveedor hayan completado la desasociación entre sí.

NmR llama a la función de devolución de llamada ProviderDetachClient de un módulo de proveedor en cualquier IRQL <= DISPATCH_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 <= DISPATCH_LEVEL

Consulte también

ClientCleanupBindingContext

NPI_PROVIDER_CHARACTERISTICS

NmrDeregisterClient

NmrDeregisterProvider

NmrProviderDetachClientComplete

ProviderAttachClient

ProviderCleanupBindingContext