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

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

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

Sintaxe

MINIPORT_CANCEL_DIRECT_OID_REQUEST MiniportCancelDirectOidRequest;

void MiniportCancelDirectOidRequest(
  [in] NDIS_HANDLE MiniportAdapterContext,
  [in] PVOID RequestId
)
{...}

Parâmetros

[in] MiniportAdapterContext

Um identificador para uma área de contexto que o driver de miniporto alocou em sua função MiniportInitializeEx . O driver de miniporto usa essa área de contexto para manter informações de estado para um adaptador de miniporte.

[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

MiniportCancelDirectOidRequest é uma função opcional. Um driver de miniporte registrará essa função se ela manipular solicitações OID diretas. Um driver especifica o ponto de entrada MiniportCancelDirectOidRequest quando ele chama o Função NdisMRegisterMiniportDriver . Um driver de miniporte que registra o A função MiniportDirectOidRequest também deve registrar MiniportCancelDirectOidRequest.

Quando o NDIS chama MiniportCancelDirectOidRequest, o driver de miniporto deve tentar chamar A função NdisMDirectOidRequestComplete é o mais rápido possível.

O NDIS chama MiniportCancelDirectOidRequest quando o originador da solicitação cancela a solicitação. Para solicitações OID diretas, o NDIS não chamará MiniportCancelDirectOidRequest se o tempo limite expirar. (O tempo limite é especificado no membro Timeout de cada estrutura NDIS_OID_REQUEST .)

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

Se o processamento da solicitação ainda não estiver concluído em um driver intermediário e a solicitação tiver sido propagada para um driver subjacente, o driver intermediário chamará o Função NdisCancelDirectOidRequest com o parâmetro OidRequest definido como o valor que ele enviou para o driver subjacente.

O NDIS chama MiniportCancelDirectOidRequest em IRQL <= DISPATCH_LEVEL.

Exemplos

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

MINIPORT_CANCEL_DIRECT_OID_REQUEST MyCancelDirectOidRequest;

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

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

O tipo de função MINIPORT_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 MINIPORT_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

Confira também

MiniportDirectOidRequest

MiniportInitializeEx

NDIS_OID_REQUEST

NdisCancelDirectOidRequest

NdisMDirectOidRequestComplete

NdisMRegisterMiniportDriver