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.
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
NdisFDirectOidRequestCompleteComentá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