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.
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
Comentários
https://aka.ms/ContentUserFeedback.
Em breve: Ao longo de 2024, eliminaremos os problemas do GitHub como o mecanismo de comentários para conteúdo e o substituiremos por um novo sistema de comentários. Para obter mais informações, consulteEnviar e exibir comentários de