Compartilhar via


Função NdisMCmOidRequest (ndis.h)

A função NdisMCmOidRequest envia uma solicitação OID de um driver mcm (gerenciador de chamadas de miniporto) para um cliente CoNDIS.

Sintaxe

NDIS_STATUS NdisMCmOidRequest(
  [in]           NDIS_HANDLE       NdisAfHandle,
  [in, optional] NDIS_HANDLE       NdisVcHandle,
  [in, optional] NDIS_HANDLE       NdisPartyHandle,
                 PNDIS_OID_REQUEST NdisOidRequest
);

Parâmetros

[in] NdisAfHandle

Um identificador que identifica a AF (família de endereços) e implicitamente o cliente para o qual a solicitação OID é direcionada. O driver MCM obteve originalmente esse identificador como um parâmetro de entrada para sua função de ProtocolCmOpenAf.

[in, optional] NdisVcHandle

Um identificador que identifica a VC (conexão virtual) para a qual o chamador está solicitando ou definindo informações, se a solicitação for específica de VC. Caso contrário, se essa solicitação não for específica de VC, esse parâmetro será NULL. Para qualquer solicitação específica de VC, o chamador originalmente obteve esse identificador quando criou a VC com a função NdisMCmCreateVc ou como um parâmetro de entrada para sua função ProtocolCoCreateVc.

[in, optional] NdisPartyHandle

Um identificador que identifica a parte em uma VC de vários pontos para a qual o chamador está solicitando ou definindo informações, se a solicitação for específica à parte. Caso contrário, se essa solicitação não for específica à parte, esse parâmetro será NULL. Para qualquer solicitação específica de parte, o driver MCM originalmente obteve esse identificador como um parâmetro de entrada para sua função ProtocolCmAddParty.

NdisOidRequest

Um ponteiro para um buffer alocado pelo chamador que contém uma estrutura NDIS_OID_REQUEST.

Valor de retorno

NdisMCmOidRequest retorna 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_PENDING
A solicitação está sendo tratada de forma assíncrona e o NDIS chamará o chamador função ProtocolCoOidRequestComplete quando a solicitação é concluída.
NDIS_STATUS_INVALID_OID
O códigoXXX OID_ especificado no Oid membro da estrutura NDIS_OID_REQUEST no parâmetro OidRequest é inválido ou sem suporte pelo driver subjacente.
NDIS_STATUS_INVALID_LENGTH ou NDIS_STATUS_BUFFER_TOO_SHORT
O valor especificado no InformationBufferLength membro da estrutura NDIS_OID_REQUEST em OidRequest não corresponde aos requisitos para o código deXXX de OID_ fornecido. Se o buffer de informações for muito pequeno, o membro BytesNeeded do NDIS_OID_REQUEST conterá o valor correto para InformationBufferLength, quando NdisMCmOidRequest retorna.
NDIS_STATUS_INVALID_DATA
Os dados fornecidos em do InformationBuffer na estrutura de NDIS_OID_REQUEST fornecida eram inválidos para o código deXXX de OID_ fornecido.
NDIS_STATUS_NOT_SUPPORTED ou NDIS_STATUS_NOT_RECOGNIZED
O driver cliente 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, se enviada posteriormente, falhará pelo mesmo motivo.
NDIS_STATUS_FAILURE
Esse valor normalmente é um padrão não específico que é retornado quando nenhum dos códigos de status deXXX NDIS_STATUS_ mais específicos se aplica.
NDIS_STATUS_REQUEST_ABORTED
O driver de destino parou de processar a solicitação.

Observações

Para iniciar solicitações OID para clientes CoNDIS, os drivers MCM chamam a função NdisMCmOidRequest. Antes que um driver MCM chame NdisMCmOidRequest, o driver aloca memória para sua solicitação e inicializa uma estrutura NDIS_OID_REQUEST. O MCM define o Oid membro da estrutura NDIS_OID_REQUEST com um código OID do CoNDIS.

Um driver MCM pode chamar NdisMCmOidRequest para comunicar informações orientadas à conexão, como uma alteração nos endereços para o cliente identificado pelo parâmetro NdisAfHandle.

Depois que o MCM chama NdisMCmOidRequest, o NDIS chama a função ProtocolCoOidRequest do cliente.

Se a solicitação do driver MCM for específica de VC ou específica da parte, o driver MCM também passará um valorNULL não no parâmetro NdisVcHandle ou NdisPartyHandle, respectivamente.

Se NdisMCmOidRequest retornar NDIS_STATUS_PENDING, a solicitação será tratada de forma assíncrona e o NDIS chamará o MCM's função ProtocolCoOidRequestComplete quando a solicitação é concluída. Se NdisMCmOidRequest retornar qualquer outro status, a solicitação será concluída quando NdisMCmOidRequest retornar e o NDIS não chamar ProtocolCoOidRequestComplete.

Para obter mais informações sobre os OIDs definidos para usar com NdisMCmOidRequest, consulte OIDs do NDIS.

Requisitos

Requisito Valor
de cliente com suporte mínimo Com suporte no NDIS 6.0 e posterior.
da Plataforma de Destino Área de trabalho
cabeçalho ndis.h (inclua Ndis.h)
biblioteca Ndis.lib
IRQL <= DISPATCH_LEVEL
regras de conformidade de DDI Irql_MCM_Function(ndis)

Consulte também

NDIS_OID_REQUEST

NdisMCmCreateVc

ProtocolCmAddParty

ProtocolCmOpenAf

ProtocolCoCreateVc

ProtocolCoOidRequest

ProtocolCoOidRequestComplete