Solicitações OID do MCM do CoNDIS
Assim como outros gerenciadores de chamadas do CoNDIS, os MCMs (gerenciadores de chamadas de miniporto) podem consultar ou definir os parâmetros operacionais dos drivers de cliente CoNDIS. Os drivers de cliente coNDIS podem consultar ou definir os parâmetros do gerenciador de chamadas ou os parâmetros de driver de miniport de um MCM.
Para originar uma solicitação OID para um driver de cliente CoNDIS, um MCM chama a função NdisMCmOidRequest .
A figura a seguir ilustra uma solicitação OID originada por um MCM.
Depois que um driver MCM chama a função NdisMCmOidRequest , o NDIS chama a função ProtocolCoOidRequest do driver cliente.
Para concluir de forma síncrona, NdisMCmOidRequest retorna NDIS_STATUS_SUCCESS ou um erro status. Para concluir de forma assíncrona, NdisMCmOidRequest retorna NDIS_STATUS_PENDING.
Se NdisMCmOidRequest retornar NDIS_STATUS_PENDING, o NDIS chamará a função ProtocolCoOidRequestComplete do MCM depois que os drivers cliente concluirem a solicitação OID chamando a função NdisCoOidRequestComplete . Nesse caso, o NDIS passa os resultados da solicitação no parâmetro OidRequest de ProtocolCoOidRequestComplete. O NDIS passa a status final da solicitação no parâmetro Status de ProtocolCoOidRequestComplete.
Se NdisMCmOidRequest retornar NDIS_STATUS_SUCCESS, ele retornará os resultados de uma solicitação de consulta na estrutura NDIS_OID_REQUEST no parâmetro OidRequest . Nesse caso, o NDIS não chama a função ProtocolCoOidRequestComplete do MCM.
Os drivers de cliente coNDIS podem consultar ou definir os parâmetros operacionais do gerenciador de chamadas ou parâmetros operacionais de miniporte de MCMs. Para originar uma solicitação OID para parâmetros do gerenciador de chamadas MCM, um cliente chama a função NdisCoOidRequest e fornece um identificador AF (família de endereços) válido no parâmetro NdisAfHandle . Para originar uma solicitação OID para parâmetros de miniport mcm, um cliente chama a função NdisCoOidRequest e define o identificador AF como NULL.
Depois que um cliente chama a função NdisCoOidRequest , o NDIS chama a função MiniportCoOidRequest ou a função ProtocolCoOidRequest do driver MCM.
A figura a seguir ilustra uma solicitação OID para os parâmetros de miniporto do MCM.
A figura a seguir ilustra uma solicitação OID para os parâmetros do gerenciador de chamadas do MCM.
Para concluir de forma síncrona, NdisCoOidRequest retorna NDIS_STATUS_SUCCESS ou um erro status. Para concluir de forma assíncrona, ProtocolCoOidRequest ou MiniportCoOidRequest retorna NDIS_STATUS_PENDING.
Se ProtocolCoOidRequest ou MininportCoOidRequest retornar NDIS_STATUS_PENDING, o NDIS chamará a função ProtocolCoOidRequestComplete do cliente depois que o MCM concluir a solicitação OID chamando a função NdisMCoOidRequestComplete ou NdisMCmOidRequestComplete . Nesse caso, o NDIS passa os resultados da solicitação no parâmetro OidRequest de ProtocolCoOidRequestComplete. O NDIS passa a status final da solicitação no parâmetro Status de ProtocolCoOidRequestComplete.
Se NdisCoOidRequest retornar NDIS_STATUS_SUCCESS, ele retornará os resultados de uma solicitação de consulta na estrutura NDIS_OID_REQUEST no parâmetro OidRequest . Nesse caso, o NDIS não chama a função ProtocolCoOidRequestComplete do cliente.