Función NmrClientAttachProvider (netioddk.h)
La función NmrClientAttachProvider asocia un módulo cliente a un módulo de proveedor.
Sintaxis
NTSTATUS NmrClientAttachProvider(
[in] HANDLE NmrBindingHandle,
[in] __drv_aliasesMem PVOID ClientBindingContext,
[in] const VOID *ClientDispatch,
[out] PVOID *ProviderBindingContext,
[out] const VOID **ProviderDispatch
);
Parámetros
[in] NmrBindingHandle
Identificador usado por el NMR para representar el enlace entre el módulo cliente y el módulo de proveedor. NmR pasa este identificador al módulo cliente cuando llama a la función de devolución de llamada del módulo cliente ClientAttachProvider.
[in] ClientBindingContext
Puntero a un contexto proporcionado por el autor de la llamada para el enlace entre el módulo cliente y el módulo de proveedor. El módulo cliente usa este contexto para realizar un seguimiento del estado del enlace. El contenido del contexto de enlace del módulo cliente es opaco para el módulo de proveedor. El módulo de proveedor pasa este puntero al módulo cliente cada vez que llama a cualquiera de los NPI del módulo cliente funciones de devolución de llamada que requieren el contexto de enlace del módulo cliente. El módulo cliente debe asegurarse de que este contexto permanece válido y residente en la memoria siempre que el módulo de proveedor esté asociado al módulo cliente.
[in] ClientDispatch
Puntero a una estructura constante que contiene la tabla de distribución de NPI funciones de devolución de llamada para el módulo cliente. El módulo cliente debe asegurarse de que esta estructura permanece válida y residente en la memoria siempre que el módulo de proveedor esté asociado al módulo cliente. El contenido de la estructura es específico de NPI. Si el NPI no define una estructura de tabla de distribución de cliente, el módulo cliente debe establecer este parámetro en NULL.
[out] ProviderBindingContext
Puntero a una variable que recibe un puntero al contexto del módulo de proveedor para el enlace entre el módulo cliente y el módulo de proveedor. El módulo de proveedor usa este contexto para realizar un seguimiento del estado del enlace. El contenido del contexto de enlace del módulo de proveedor es opaco para el módulo cliente. El módulo cliente pasa este puntero al módulo de proveedor cada vez que llama a cualquiera de los NPI del módulo de proveedor funciones que requieren el contexto de enlace del módulo de proveedor.
[out] ProviderDispatch
Puntero a una variable que recibe un puntero a una estructura que contiene la tabla de distribución de
funciones de NPI para el módulo de proveedor. El contenido de la estructura es específico de NPI.
Valor devuelto
La función NmrClientAttachProvider devuelve uno de los siguientes códigos NTSTATUS:
Código devuelto | Descripción |
---|---|
|
El módulo cliente se adjuntó correctamente al módulo de proveedor. |
|
El módulo de proveedor no se adjuntó al módulo cliente. |
|
Error. |
Observaciones
Un módulo cliente llama a la función de de NmrClientAttachProvider desde su ClientAttachProvider función de devolución de llamada para asociarse a un módulo de proveedor.
Cuando un módulo cliente llama a la función de NmrClientAttachProvider, nmR llama a la función de devolución de llamada ProviderAttachClient del módulo de proveedor para completar el proceso de datos adjuntos. La función nmrClientAttachProvider devuelve el código de estado devuelto por la función de devolución de llamada ProviderAttach Client del módulo de proveedor.
Si la función NmrClientAttachProvider no devuelve STATUS_SUCCESS, el módulo cliente debe realizar cualquier limpieza necesaria de los datos contenidos en su estructura de contexto de enlace. A continuación, el módulo cliente debe liberar la memoria para su estructura de contexto de enlace si asignó dinámicamente la memoria para la estructura.
Si el función de NmrClientAttachProvider devuelve STATUS_SUCCESS y el módulo cliente asigna dinámicamente la memoria para su contexto de enlace, el módulo cliente debe liberar esa memoria asignada cuando nmR llama al módulo cliente. ClientCleanupBindingContext función de devolución de llamada después de que el módulo cliente y el módulo de proveedor se desasocien entre sí.
Si el función NmrClientAttachProvider devuelve STATUS_SUCCESS, el módulo cliente debe guardar los punteros devueltos en el ProviderBindingContext y parámetros ProviderDispatch para que pueda llamar a las funciones de NPI del módulo de proveedor.
Requisitos
Requisito | Valor |
---|---|
cliente mínimo admitido | Disponible en Windows Vista y versiones posteriores de los sistemas operativos Windows. |
de la plataforma de destino de | Escritorio |
encabezado de | netioddk.h (incluya Wsk.h) |
biblioteca de | Netio.lib |
irQL | PASSIVE_LEVEL |