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 |
---|---|
|
A operação de solicitação foi concluída com êxito. |
|
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. |
|
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. |
|
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. |
|
Os dados fornecidos em do InformationBuffer na estrutura de NDIS_OID_REQUEST fornecida eram inválidos para o código deXXX de OID_ fornecido. |
|
O driver cliente 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 teve êxito, mas não indica necessariamente que a mesma solicitação, se enviada posteriormente, falhará pelo mesmo motivo. |
|
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. |
|
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) |