Compartilhar via


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

O NDIS chama a função FilterOidRequestComplete para concluir uma solicitação de driver de filtro que consultou ou definiu informações em um driver subjacente.

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

Sintaxe

FILTER_OID_REQUEST_COMPLETE FilterOidRequestComplete;

void FilterOidRequestComplete(
  [in] NDIS_HANDLE FilterModuleContext,
  [in] PNDIS_OID_REQUEST OidRequest,
  [in] NDIS_STATUS Status
)
{...}

Parâmetros

[in] FilterModuleContext

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

[in] OidRequest

Um ponteiro para a estrutura NDIS_OID_REQUEST que o driver de filtro passou anteriormente para a função NdisFOidRequest .

[in] Status

A status final da solicitação definida por um driver subjacente ou pelo NDIS. Esse parâmetro determina o que FilterOidRequestComplete faz com as informações em OidRequest . Para obter uma lista dos valores de status possíveis, consulte os valores retornados de NdisFOidRequest.

Retornar valor

Nenhum

Comentários

FilterOidRequestComplete é 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 a função NdisFRegisterFilterDriver . Se um driver de filtro definir uma função FilterOidRequest , ele deverá fornecer a função FilterOidRequestComplete .

Se a função NdisFOidRequest retornar NDIS_STATUS_PENDING, o NDIS deverá chamar a função FilterOidRequestComplete para concluir a solicitação OID.

Se um driver de filtro encaminhou uma solicitação recebida na função FilterOidRequest, FilterOidRequestComplete deverá passar a conclusão status a pilha do driver chamando a função NdisFOidRequestComplete. O driver de filtro deve chamar NdisFreeCloneOidRequest para liberar a estrutura NDIS_OID_REQUEST antes de chamar NdisFOidRequestComplete.

Um driver de filtro deve acompanhar as solicitações originadas e garantir que ele não chame NdisFOidRequestComplete quando o NDIS chamar FilterOidRequestComplete para essas solicitações.

O NDIS chama FilterOidRequestComplete em IRQL <= DISPATCH_LEVEL.

Exemplos

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

FILTER_OID_REQUEST_COMPLETE MyOidRequestComplete;

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

_Use_decl_annotations_
NDIS_STATUS
 MyOidRequestComplete(
    NDIS_HANDLE  FilterModuleContext,
    PNDIS_OID_REQUEST  OidRequest,
    NDIS_STATUS  Status
    )
  {...}

O tipo de função FILTER_OID_REQUEST_COMPLETE é 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_OID_REQUEST_COMPLETE 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

FilterOidRequest

NDIS_OID_REQUEST

NdisFOidRequest

NdisFOidRequestComplete

NdisFreeCloneOidRequest