Partilhar via


Gerar solicitações de OID a partir de um driver de filtro NDIS

Um driver de filtro pode originar consultas ou definir pedidos OID para drivers subjacentes chamando a função NdisFOidRequest.

A figura a seguir ilustra uma solicitação OID originada por um driver de filtro.

Diagrama ilustrando uma solicitação OID originada por um driver de filtro NDIS.

Depois que um driver de filtro chama a função NdisFOidRequest, o NDIS chama a função de pedido do próximo driver subjacente. Para obter mais informações sobre como um driver de miniporta lida com solicitações OID, consulte Solicitações OID para um adaptador.

Para concluir de forma síncrona, NdisFOidRequest retorna NDIS_STATUS_SUCCESS ou um status de erro. Para concluir de forma assíncrona, NdisFOidRequest retorna NDIS_STATUS_PENDING.

Para determinar quais informações foram tratadas com sucesso por um driver subjacente, os drivers de filtro que emitem solicitações de OID devem verificar o valor no membro SupportedRevision na estrutura NDIS_OID_REQUEST após o retorno da solicitação de OID. Para obter mais informações sobre a versão do NDIS, consulte Especificando informações de versão do NDIS.

Se NdisFOidRequest retornar NDIS_STATUS_PENDING, o NDIS chamará a função FilterOidRequestComplete depois de os drivers subjacentes concluírem os pedidos OID. Nesse caso, o NDIS passa os resultados da solicitação no parâmetro OidRequest de FilterOidRequestComplete. O NDIS passa o estado final da solicitação no parâmetro Status de FilterOidRequestComplete.

Se NdisFOidRequest retornar NDIS_STATUS_SUCCESS, retornará os resultados de um pedido de consulta na estrutura NDIS_OID_REQUEST no parâmetro OidRequest. Nesse caso, o NDIS não chama a função FilterOidRequestComplete.

Um driver pode chamar NdisFOidRequest quando estiver no estado Reiniciando, Executando, Pausando ou Pausado.

Observação um driver de filtro deve acompanhar as solicitações OID que ele origina e assegurar-se de que ele não chama a função NdisFOidRequestComplete quando essas solicitações forem concluídas.