Compartir a través de


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.

Nota Debe declarar la función mediante el tipo MINIPORT_REMOVE_DEVICE. Para obtener más información, consulte la sección Ejemplos siguientes.
 

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

Ninguno

Observaciones

La función MiniportRemoveDevice es una función opcional. Los controladores de miniporte que admiten MSI-X deben especificar un punto de entrada para esta función en . 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 las llamadas NDIS 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 de

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 análisis de código para controladores, comprobador de controladores estáticos (SDV) y otras herramientas de comprobación encuentran errores y es un requisito para escribir controladores para el sistema operativo Windows.

Por ejemplo, para definir un miniportRemoveDevice función denominada "MyRemoveDevice", use el tipo MINIPORT_REMOVE_DEVICE tal 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 Declaración de funciones mediante el uso de tipos de roles de función para controladores NDIS.

Para obtener información sobre Use_decl_annotations, vea Anotación del comportamiento de la función.

Requisitos

Requisito Valor
cliente mínimo admitido Se admite en NDIS 6.0 y versiones posteriores.
de la plataforma de destino de Windows
encabezado de ndis.h (incluya Ndis.h)
irQL PASSIVE_LEVEL

Consulte también

MiniportAddDevice

NDIS_MINIPORT_INIT_PARAMETERS

NDIS_MINIPORT_PNP_CHARACTERISTICS