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ódigo OID_Xxx . A estrutura pode especificar uma consulta OID, um conjunto ou uma solicitação de método.
Retornar valor
O driver subjacente determina qual NDIS_STATUS_codroXXX que NdisSynchronousOidRequest retorna, mas geralmente é um dos seguintes valores:
Código de retorno | Descrição |
---|---|
|
A operação de solicitação foi concluída com êxito. |
|
O código OID_Xxx especificado no membro Oid do buffer estruturado NDIS_OID_REQUEST em OidRequest era inválido ou sem suporte pelo driver subjacente. |
|
O valor especificado no membro InformationBufferLength do buffer estruturado NDIS_OID_REQUEST em OidRequest não correspondeu aos requisitos do código OID_Xxx fornecido. Se o buffer de informações for muito pequeno, o membro BytesNeeded conterá o valor correto para InformationBufferLength no retorno de NdisSynchronousOidRequest. |
|
Os dados fornecidos no InformationBuffer na estrutura de NDIS_OID_REQUEST fornecida eram inválidos para o código OID_Xxx fornecido. |
|
O driver subjacente não dá suporte à operação solicitada. |
|
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 foi bem-sucedida, mas não indica necessariamente que a mesma solicitação, enviada posteriormente, falhará pelo mesmo motivo. |
|
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. |
|
O driver subjacente falhou na operação solicitada porque uma operação de fechamento está em andamento. |
|
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. |
|
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. |
Comentários
A função NdisSynchronousOidRequest não pode ser usada para solicitações OID gerais. Para solicitações gerais de OID, 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 |
---|---|
Cliente mínimo com suporte | Windows 10, versão 1709 |
Plataforma de Destino | Universal |
Cabeçalho | ndis.h (inclua Ndis.h) |
Biblioteca | Ndis.lib |
IRQL | <= DISPATCH_LEVEL |