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

O NDIS chama a função FilterCancelOidRequest de um driver de filtro para cancelar uma solicitação OID.

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

Sintaxe

FILTER_CANCEL_OID_REQUEST FilterCancelOidRequest;

void FilterCancelOidRequest(
  [in] NDIS_HANDLE FilterModuleContext,
  [in] PVOID RequestId
)
{...}

Parâmetros

[in] FilterModuleContext

Um identificador para a área de contexto do módulo de filtro que é o destino dessa solicitação. O driver de filtro criou e inicializou essa área de contexto na função FilterAttach .

[in] RequestId

Um identificador de cancelamento para a solicitação. Esse identificador especifica as estruturas de NDIS_OID_REQUEST que estão sendo canceladas.

Retornar valor

Nenhum

Comentários

FilterCancelOidRequest é uma função opcional. Se um driver de filtro não usar solicitações OID, ele poderá definir o ponto de entrada dessa função como NULL quando chamar o Função NdisFRegisterFilterDriver .

Quando o NDIS chama FilterCancelOidRequest, o driver de filtro deve tentar chamar a função NdisFOidRequestComplete assim que possível.

Os parâmetros de solicitação são definidos na estrutura NDIS_OID_REQUEST em OidRequest .

Se um driver de filtro não enfileirar solicitações OID, o driver não será necessário para fornecer uma função FilterCancelOidRequest . Se o driver de filtro não especificar um ponto de entrada FilterCancelOidRequest , o NDIS chamará a função cancelar solicitação OID do driver subjacente.

O NDIS chama a função FilterCancelOidRequest quando o originador da solicitação cancela a solicitação ou quando o tempo limite especificado no membro timeout expira.

Se o processamento de solicitação ainda não estiver concluído em um driver de filtro, o driver chamará a função NdisFOidRequestComplete com o status definido como NDIS_STATUS_REQUEST_ABORTED.

Se o driver de filtro encaminhou a solicitação para um driver subjacente e o processamento ainda não estiver concluído, o driver de filtro chamará a função NdisFCancelOidRequest com o parâmetro OidRequest definido como o valor que ele enviou para o driver subjacente.

O NDIS chama FilterCancelOidRequest em IRQL <= DISPATCH_LEVEL.

Exemplos

Para definir uma função FilterCancelOidRequest , 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 FilterCancelOidRequest chamada "MyCancelOidRequest", use o tipo FILTER_CANCEL_OID_REQUEST conforme mostrado neste exemplo de código:

FILTER_CANCEL_OID_REQUEST MyCancelOidRequest;

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

_Use_decl_annotations_
VOID
 MyCancelOidRequest(
    NDIS_HANDLE  FilterModuleContext,
    PVOID  RequestId
    )
  {...}

O tipo de função FILTER_CANCEL_OID_REQUEST é 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 FILTER_CANCEL_OID_REQUEST 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 <= DISPATCH_LEVEL

Confira também

FilterAttach

NDIS_OID_REQUEST

NdisFCancelOidRequest

NdisFOidRequestComplete

NdisFRegisterFilterDriver