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

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

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

Sintaxe

FILTER_CANCEL_DIRECT_OID_REQUEST FilterCancelDirectOidRequest;

void FilterCancelDirectOidRequest(
  [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 solicitações OID diretas que correspondem a esse valor no membro RequestId da estrutura NDIS_OID_REQUEST .

Retornar valor

Nenhum

Comentários

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

Quando o NDIS chama FilterCancelDirectOidRequest, o driver de filtro deve tentar chamar A função NdisFDirectOidRequestComplete o mais rápido possível.

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

O NDIS chama a função FilterCancelDirectOidRequest quando o originador da solicitação cancela therequest.

Se o processamento de solicitação ainda não estiver concluído em um driver de filtro, o driver chamará a função NdisFDirectOidRequestComplete 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á o Função NdisFCancelDirectOidRequest com o parâmetro OidRequest definido como o valor que ele enviou para o driver subjacente.

O NDIS chama FilterCancelDirectOidRequest em IRQL <= DISPATCH_LEVEL.

Exemplos

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

FILTER_CANCEL_DIRECT_OID_REQUEST MyCancelDirectOidRequest;

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

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

O tipo de função FILTER_CANCEL_DIRECT_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_DIRECT_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.1 e posterior.
Plataforma de Destino Windows
Cabeçalho ndis.h (inclua Ndis.h)
IRQL <= DISPATCH_LEVEL
Regras de conformidade de DDI SpinLock(ndis), SpinLockBalanced(ndis), SpinLockDpr(ndis)

Confira também

FilterAttach

NDIS_OID_REQUEST

NdisFCancelDirectOidRequest

NdisFDirectOidRequestComplete

NdisFRegisterFilterDriver