MINIPORT_REMOVE_DEVICE función de devolución de llamada (ndis.h)
La función MiniportRemoveDevice libera los recursos asignados a la función MiniportAddDevice .
Sintaxis
MINIPORT_REMOVE_DEVICE MiniportRemoveDevice;
void MiniportRemoveDevice(
[in] NDIS_HANDLE MiniportAddDeviceContext
)
{...}
Parámetros
[in] MiniportAddDeviceContext
Identificador de un área de contexto asignada por el controlador que el controlador de miniporte registró con NDIS en la función MiniportAddDevice .
Valor devuelto
None
Observaciones
La función MiniportRemoveDevice es una función opcional. Los controladores de minipuerto que admiten MSI-X deben especificar un punto de entrada para esta función en el NDIS_MINIPORT_PNP_CHARACTERISTICS estructura.
Cuando NDIS recibe una solicitud del administrador de Plug and Play (PnP) para quitar un dispositivo, NDIS llama a la función MiniportRemoveDevice. MiniportRemoveDevice debe deshacer las operaciones que realizó la función MiniportAddDevice .
Es posible que los adaptadores de miniporte se detengan e inicialicen varias veces antes de que NDIS llame a MiniportRemoveDevice. Si NDIS llamó a MiniportAddDevice y devolvió NDIS_STATUS_SUCCESS, NDIS no llamará a MiniportAddDevice para el mismo adaptador de miniport antes de llamar a MiniportRemoveDevice para ese adaptador.
NDIS llama a MiniportRemoveDevice en IRQL = PASSIVE_LEVEL.
Ejemplos
Para definir una función MiniportRemoveDevice , primero debe proporcionar una declaración de función que identifique el tipo de función que va a definir. Windows proporciona un conjunto de tipos de función para controladores. Declarar una función mediante los tipos de función ayuda a Code Analysis for Drivers, Static Driver Verifier (SDV) y otras herramientas de comprobación a encontrar errores y es un requisito para escribir controladores para el sistema operativo Windows.Por ejemplo, para definir una función MiniportRemoveDevice denominada "MyRemoveDevice", use el tipo de MINIPORT_REMOVE_DEVICE como se muestra en este ejemplo de código:
MINIPORT_REMOVE_DEVICE MyRemoveDevice;
A continuación, implemente la función de la siguiente manera:
_Use_decl_annotations_
VOID
MyRemoveDevice(
NDIS_HANDLE MiniportAddDeviceContext
)
{...}
El tipo de función MINIPORT_REMOVE_DEVICE se define en el archivo de encabezado Ndis.h. Para identificar con más precisión los errores al ejecutar las herramientas de análisis de código, asegúrese de agregar la anotación Use_decl_annotations a la definición de función. La anotación Use_decl_annotations garantiza que se usen las anotaciones que se aplican al tipo de función MINIPORT_REMOVE_DEVICE en el archivo de encabezado. Para obtener más información sobre los requisitos de las declaraciones de función, vea Declarar funciones mediante tipos de roles de función para controladores NDIS.
Para obtener información sobre Use_decl_annotations, consulte Anotación del comportamiento de la función.
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Compatible con NDIS 6.0 y versiones posteriores. |
Plataforma de destino | Windows |
Encabezado | ndis.h (incluya Ndis.h) |
IRQL | PASSIVE_LEVEL |