Compartilhar via


Função NdisSynchronousOidRequest (ndis.h)

Os drivers de protocolo chamam a função NdisSynchronousOidRequest para originar uma nova solicitação OID síncrona e emiti-la para drivers subjacentes.

Sintaxe

NDIS_STATUS NdisSynchronousOidRequest(
  [in] NDIS_HANDLE      NdisBindingHandle,
  [in] NDIS_OID_REQUEST *OidRequest
);

Parâmetros

[in] NdisBindingHandle

O identificador retornado pela função NdisOpenAdapterEx que identifica o adaptador de miniporto de destino na associação.

[in] OidRequest

Um ponteiro para uma estrutura NDIS_OID_REQUEST que especifica a operação solicitada com um determinado códigoxxx OID_. A estrutura pode especificar uma consulta OID, um conjunto ou uma solicitação de método.

Valor de retorno

O driver subjacente determina quais NDIS_STATUS_código de XXX NdisSynchronousOidRequest retorna, mas geralmente é um dos seguintes valores:

Código de retorno Descrição
NDIS_STATUS_SUCCESS
A operação de solicitação foi concluída com êxito.
NDIS_STATUS_INVALID_OID
O código OID_xxx especificado no Oid membro do buffer estruturado NDIS_OID_REQUESTem OidRequest era inválido ou sem suporte pelo driver subjacente.
NDIS_STATUS_INVALID_LENGTH ou NDIS_STATUS_BUFFER_TOO_SHORT
O valor especificado no InformationBufferLength membro do buffer estruturado em NDIS_OID_REQUEST OidRequest não correspondeu aos requisitos para o código deXxx OID_ fornecido. Se o buffer de informações for muito pequeno, o membro BytesNeeded contém o valor correto para InformationBufferLength no retorno de NdisSynchronousOidRequest.
NDIS_STATUS_INVALID_DATA
Os dados fornecidos no InformationBuffer na estrutura de NDIS_OID_REQUEST fornecida eram inválidos para o código deXxx OID_ fornecido.
NDIS_STATUS_NOT_SUPPORTED ou NDIS_STATUS_NOT_RECOGNIZED
O driver subjacente não dá suporte à operação solicitada.
NDIS_STATUS_RESOURCES
A solicitação não pôde ser atendida devido a uma escassez de recursos. Normalmente, esse valor retornado indica que uma tentativa de alocar memória não teve êxito, mas não indica necessariamente que a mesma solicitação, enviada posteriormente, falhará pelo mesmo motivo.
NDIS_STATUS_NOT_ACCEPTED
O driver subjacente tentou a operação solicitada, normalmente um conjunto em uma NIC, mas falhou. Por exemplo, uma tentativa de definir muitos endereços multicast pode causar o retorno desse valor.
NDIS_STATUS_CLOSING ou NDIS_STATUS_CLOSING_INDICATING
O driver subjacente falhou na operação solicitada porque uma operação de fechamento está em andamento.
NDIS_STATUS_RESET_IN_PROGRESS
O driver de miniporto subjacente não pode atender à solicitação no momento porque está redefinindo a NIC afetada no momento. A função ProtocolStatusEx do chamador foi ou será chamada com NDIS_STATUS_RESET_START para indicar que uma redefinição está em andamento. Esse valor retornado não indica necessariamente que a mesma solicitação, enviada posteriormente, falhará pelo mesmo motivo.
NDIS_STATUS_FAILURE
Esse valor normalmente é um padrão não específico, retornado quando nenhum dos valores NDIS_STATUS_xxx mais específicos fez com que o driver subjacente falhasse na solicitação.

Observações

A função NdisSynchronousOidRequest não pode ser usada para solicitações OID gerais. Para solicitações OID gerais, use a função NdisOidRequest. NdisSynchronousOidRequest só pode ser usado para OIDs compatíveis com o NDIS para uso com a interface OID síncrona. A maioria dos drivers de protocolo não precisa chamar NdisSynchronousOidRequest

Os drivers de protocolo não devem fechar a associação do adaptador até que as solicitações OID síncronas originadas pelo driver de protocolo sejam concluídas.

Os drivers de protocolo não são necessários para implementar ProtocolOidRequestComplete ou ProtocolDirectOidRequestComplete para chamar NdisSynchronousOidRequest. Como o nome sugere, uma solicitação OID síncrona sempre é concluída de forma síncrona, portanto, não há retorno de chamada assíncrono.

Requisitos

Requisito Valor
de cliente com suporte mínimo Windows 10, versão 1709
da Plataforma de Destino Universal
cabeçalho ndis.h (inclua Ndis.h)
biblioteca Ndis.lib
IRQL <= DISPATCH_LEVEL

Consulte também

NDIS_OID_REQUEST

NdisOidRequest

NdisOpenAdapterEx

ProtocolDirectOidRequestComplete

ProtocolOidRequestComplete

ProtocolStatusEx