Compartilhar via


MINIPORT_REMOVE_DEVICE função de retorno de chamada (ndis.h)

A função MiniportRemoveDevice libera recursos alocados pela função MiniportAddDevice .

Nota Você deve declarar a função usando o tipo MINIPORT_REMOVE_DEVICE . Para obter mais informações, consulte a seção Exemplos a seguir.
 

Sintaxe

MINIPORT_REMOVE_DEVICE MiniportRemoveDevice;

void MiniportRemoveDevice(
  [in] NDIS_HANDLE MiniportAddDeviceContext
)
{...}

Parâmetros

[in] MiniportAddDeviceContext

Um identificador para uma área de contexto alocada pelo driver que o driver de miniporto registrou com NDIS na função MiniportAddDevice .

Retornar valor

Nenhum

Comentários

A função MiniportRemoveDevice é uma função opcional. Os drivers de miniport que dão suporte a MSI-X devem especificar um ponto de entrada para essa função no NDIS_MINIPORT_PNP_CHARACTERISTICS estrutura.

Quando o NDIS recebe uma solicitação do gerenciador de Plug and Play (PnP) para remover um dispositivo, o NDIS chama a função MiniportRemoveDevice. MiniportRemoveDevice deve desfazer as operações que a função MiniportAddDevice executou.

Os adaptadores de miniport podem ser interrompidos e inicializados várias vezes antes que o NDIS chame MiniportRemoveDevice. Se o NDIS chamou MiniportAddDevice e retornou NDIS_STATUS_SUCCESS, o NDIS não chamará MiniportAddDevice para o mesmo adaptador de miniporte antes de chamar MiniportRemoveDevice para esse adaptador.

O NDIS chama MiniportRemoveDevice em IRQL = PASSIVE_LEVEL.

Exemplos

Para definir uma função MiniportRemoveDevice , primeiro você deve fornecer uma declaração de função que identifique o tipo de função que você está definindo. O Windows fornece um conjunto de tipos de função para drivers. Declarar uma função usando os tipos de função ajuda a Análise de Código para Drivers, SDV ( Verificador de Driver Estático ) e outras ferramentas de verificação a encontrar erros e é um requisito para gravar drivers para o sistema operacional Windows.

Por exemplo, para definir uma função MiniportRemoveDevice chamada "MyRemoveDevice", use o tipo MINIPORT_REMOVE_DEVICE conforme mostrado neste exemplo de código:

MINIPORT_REMOVE_DEVICE MyRemoveDevice;

Em seguida, implemente sua função da seguinte maneira:

_Use_decl_annotations_
VOID
 MyRemoveDevice(
    NDIS_HANDLE  MiniportAddDeviceContext
    )
  {...}

O tipo de função MINIPORT_REMOVE_DEVICE é definido no arquivo de cabeçalho Ndis.h. Para identificar erros com mais precisão ao executar as ferramentas de análise de código, adicione a anotação Use_decl_annotations à sua definição de função. A anotação Use_decl_annotations garante que as anotações aplicadas ao tipo de função MINIPORT_REMOVE_DEVICE no arquivo de cabeçalho sejam usadas. Para obter mais informações sobre os requisitos para declarações de função, consulte Declarando funções usando tipos de função de função para drivers NDIS.

Para obter informações sobre Use_decl_annotations, consulte Anotando o comportamento da função.

Requisitos

Requisito Valor
Cliente mínimo com suporte Com suporte no NDIS 6.0 e posterior.
Plataforma de Destino Windows
Cabeçalho ndis.h (inclua Ndis.h)
IRQL PASSIVE_LEVEL

Confira também

MiniportAddDevice

NDIS_MINIPORT_INIT_PARAMETERS

NDIS_MINIPORT_PNP_CHARACTERISTICS