Respondendo a conjuntos e consultas em um driver intermediário
Como um driver intermediário do NDIS está associado a um driver NDIS sobressociente, ele também pode receber consultas e conjuntos de sua função MiniportOidRequest . Em alguns casos, o driver intermediário apenas passa essas solicitações para o driver de miniporto subjacente. Caso contrário, ele pode responder a essas consultas e define conforme apropriado para o meio que exporta em sua borda superior. Observe que um driver intermediário sempre deve passar por qualquer solicitação OID_PNP_Xxx que recebe de um driver NDIS sobreposto para o driver de miniporto subjacente. Os drivers intermediários do NDIS 6.0 também podem cancelar solicitações de OID.
Para encaminhar uma solicitação para os drivers subjacentes, um driver intermediário do NDIS chama NdisAllocateCloneOidRequest para alocar uma estrutura de NDIS_OID_REQUEST clonada. O driver chama a função NdisOidRequest para enviar a solicitação. Quando a solicitação for concluída, o driver deverá chamar a função NdisFreeCloneOidRequest para liberar a estrutura NDIS_OID_REQUEST.
Para cancelar uma solicitação OID, chame a função NdisCancelOidRequest .
Normalmente, os OIDs gerais que um driver intermediário recebe são iguais ou semelhantes aos que o driver intermediário envia para o driver de miniporto subjacente. Os OIDs específicos médios que um driver intermediário recebe são o tipo do meio que o driver sobressociável requer.
Se um driver intermediário processar a configuração de um OID em vez de passar a solicitação definida para um miniporto subjacente, ele deverá validar o valor a ser definido. Se o driver intermediário determinar que o valor a ser definido está fora dos limites, ele deverá falhar na solicitação definida.
Nota Se um driver intermediário modificar o conteúdo dos dados de rede TCP que ele encaminha para um driver de miniporto subjacente, de modo que as funções de descarregamento TCP não possam ser executadas nos dados de rede, o driver intermediário deverá responder a consultas OID_TCP_OFFLOAD_CURRENT_CONFIG com um status de NDIS_STATUS_NOT_SUPPORTED em vez de passar a solicitação para o miniporto subjacente.
Para obter informações adicionais sobre como responder a conjuntos e consultas em um driver intermediário, consulte Obtendo e definindo informações de driver de miniporto e suporte de NDIS para WMI.