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 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 da 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 obteve originalmente 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 .
Retornar valor
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ódigo OID_XXX especificado no membro Oid da estrutura NDIS_OID_REQUEST no parâmetro OidRequest é inválido ou sem suporte pelo driver subjacente. |
|
O valor especificado no membro InformationBufferLength da estrutura NDIS_OID_REQUEST em OidRequest não corresponde aos requisitos do código OID_XXX fornecido. Se o buffer de informações for muito pequeno, o membro BytesNeeded de NDIS_OID_REQUEST conterá o valor correto para InformationBufferLength, quando NdisMCmOidRequest retornar. |
|
Os dados fornecidos no InformationBuffer na estrutura de NDIS_OID_REQUEST fornecida eram inválidos para o código OID_XXX 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 foi bem-sucedida, 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 NDIS_STATUS_XXX mais específicos se aplica. |
|
O driver de destino parou de processar a solicitação. |
Comentários
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 de NDIS_OID_REQUEST . O MCM define o membro Oid 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 que o parâmetro NdisAfHandle identifica.
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 valor não NULL no parâmetro NdisVcHandle ou NdisPartyHandle , respectivamente.
Se NdisMCmOidRequest retornar NDIS_STATUS_PENDING, a solicitação está sendo 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 outra 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 |
---|---|
Cliente mínimo com suporte | Com suporte no NDIS 6.0 e posterior. |
Plataforma de Destino | Área de Trabalho |
Cabeçalho | ndis.h (inclua Ndis.h) |
Biblioteca | Ndis.lib |
IRQL | <= DISPATCH_LEVEL |
Regras de conformidade da DDI | Irql_MCM_Function(ndis) |