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

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

Consulte también

MiniportAddDevice

NDIS_MINIPORT_INIT_PARAMETERS

NDIS_MINIPORT_PNP_CHARACTERISTICS