Consultando filtros de recebimento de agrupamento de pacotes
Os drivers e aplicativos em excesso podem consultar filtros de recebimento de pacotes que foram baixados em um driver de miniporte fazendo o seguinte:
Solicite uma lista enumerada dos filtros de recebimento no driver de miniporte emitindo uma solicitação de método OID de OID_RECEIVE_FILTER_ENUM_FILTERS. Para obter mais informações, consulte Enumerando os filtros de recebimento em um driver de miniporto.
Solicite os parâmetros de critério de teste para um filtro de recebimento no driver de miniporte emitindo uma solicitação de método OID de OID_RECEIVE_FILTER_PARAMETERS. Para obter mais informações, consulte Consultando os filtros de recebimento em um driver de miniporte
O NDIS manipula as solicitações OID do método OID_RECEIVE_FILTER_ENUM_FILTERS e OID_RECEIVE_FILTER_PARAMETERS para drivers de miniport. O NDIS obteve as informações de um cache interno dos dados que recebeu do OID_RECEIVE_FILTER_SET_FILTER solicitação OID.
Enumerando os filtros de recebimento em um driver de miniporte
Para obter uma lista de todos os filtros de recebimento de agrupamento de pacotes que foram baixados em um driver de miniporto, drivers e aplicativos sobrepostos emitem uma solicitação de método OID de OID_RECEIVE_FILTER_ENUM_FILTERS. O membro InformationBuffer da estrutura NDIS_OID_REQUEST contém um ponteiro para uma estrutura NDIS_RECEIVE_FILTER_INFO_ARRAY .
Nota Quando o driver ou aplicativo sobreposto inicializa a estrutura NDIS_RECEIVE_FILTER_INFO_ARRAY , ele deve definir o membro QueueId como NDIS_DEFAULT_RECEIVE_QUEUE_ID.
Após um retorno bem-sucedido da solicitação de método OID, o membro InformationBuffer da estrutura NDIS_OID_REQUEST contém um ponteiro para um buffer. Esse buffer é formatado para conter o seguinte:
Uma estrutura NDIS_RECEIVE_FILTER_INFO_ARRAY que especifica uma lista de filtros de recebimento configurados atualmente em um driver de miniporto.
Uma matriz de estruturas de NDIS_RECEIVE_FILTER_INFO sobre um filtro de recebimento que está atualmente configurado em um driver de miniporte.
Consultando os parâmetros de um filtro de recebimento em um driver de miniporte
Para obter os parâmetros de um filtro de recebimento de pacote específico que foi baixado para o driver de miniporto, drivers ou aplicativos sobrepostos emitem uma solicitação de método OID de OID_RECEIVE_FILTER_PARAMETERS. O membro InformationBuffer da estrutura NDIS_OID_REQUEST contém um ponteiro para uma estrutura NDIS_RECEIVE_FILTER_PARAMETERS . O driver ou aplicativo sobreposto inicializa a estrutura NDIS_RECEIVE_FILTER_PARAMETERS definindo o membro FilterId como o valor de ID diferente de zero do filtro cujos parâmetros devem ser retornados.
Nota O driver sobreposto obteve a ID do filtro de uma solicitação de método OID anterior de OID_RECEIVE_FILTER_SET_FILTER ou OID_RECEIVE_FILTER_ENUM_FILTERS. O aplicativo só pode obter a ID do filtro de uma solicitação de método OID anterior de OID_RECEIVE_FILTER_ENUM_FILTERS.
Após um retorno bem-sucedido da solicitação de método OID, o membro InformationBuffer da estrutura NDIS_OID_REQUEST contém um ponteiro para um buffer. Esse buffer é formatado para conter o seguinte:
Uma estrutura NDIS_RECEIVE_FILTER_PARAMETERS que especifica os parâmetros para um filtro de recebimento de NDIS.
Uma matriz de estruturas de NDIS_RECEIVE_FILTER_FIELD_PARAMETERS que especifica o critério de teste de filtro para um campo em um cabeçalho de pacote de rede.