Enumerando filtros de recebimento em uma porta virtual
Depois que uma VPort (porta virtual) é criada no comutador NIC do adaptador de rede, drivers e aplicativos de usuário excessivamente podem fazer o seguinte:
Enumerar os parâmetros para filtros de recebimento em um VPort.
Para obter mais informações, consulte Enumerando filtros de recebimento.
Consulte os parâmetros para um filtro de recebimento específico.
Para obter mais informações, consulte Consultando um filtro de recebimento específico.
Para obter mais informações sobre como criar um VPort, consulte Criando uma porta virtual.
Enumerando filtros de recebimento
Para obter uma lista de todos os filtros de recebimento definidos em uma VPort (porta virtual) de um comutador NIC, drivers e aplicativos sobrepostos podem emitir solicitações de método OID (identificador de objeto) de OID_RECEIVE_FILTER_ENUM_FILTERS.
O membro InformationBuffer da estrutura NDIS_OID_REQUEST inicialmente contém um ponteiro para uma estrutura NDIS_RECEIVE_FILTER_INFO_ARRAY .
Antes que o driver ou aplicativo de usuário excessivamente emita essa solicitação de método OID, ele deve inicializar uma estrutura NDIS_RECEIVE_FILTER_INFO_ARRAY e definir os membros dessa estrutura da seguinte maneira:
O membro QueueId deve ser definido como NDIS_DEFAULT_RECEIVE_QUEUE_ID.
O membro VPortId deve ser definido como o identificador associado ao VPort. O driver de sobreposição obtém o identificador VPort por meio de uma das seguintes maneiras:
De uma solicitação de método OID anterior de OID_NIC_SWITCH_CREATE_VPORT.
De uma solicitação de método OID anterior de OID_NIC_SWITCH_ENUM_VPORTS.
Nota Esse membro só será válido se o driver ou aplicativo definir o sinalizador NDIS_RECEIVE_FILTER_INFO_ARRAY_VPORT_ID_SPECIFIED no membro Flags . Se esse sinalizador não estiver definido, serão retornados filtros de recebimento que foram definidos em cada VPort na opção NIC.
Após um retorno bem-sucedido da 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 de NDIS_RECEIVE_FILTER_INFO_ARRAY atualizada seguida por uma ou mais estruturas NDIS_RECEIVE_FILTER_INFO . Cada estrutura NDIS_RECEIVE_FILTER_INFO especifica o identificador exclusivo para o filtro de recebimento definido no VPort especificado.
Consultando um filtro de recebimento específico
Drivers ou aplicativos sobrepostos podem emitir uma solicitação de método OID de OID_RECEIVE_FILTER_PARAMETERS para obter os parâmetros de um filtro específico em um VPort.
O membro InformationBuffer da estrutura NDIS_OID_REQUEST inicialmente contém um ponteiro para uma estrutura NDIS_RECEIVE_FILTER_PARAMETERS .
Antes que o driver ou aplicativo de usuário excessivamente emita essa solicitação de método OID, ele deve inicializar uma estrutura NDIS_RECEIVE_FILTER_PARAMETERS e definir os membros dessa estrutura da seguinte maneira:
O membro FilterId deve ser definido como o valor do identificador diferente de zero do filtro cujos parâmetros devem ser retornados.
Nota O driver sobreposto obteve o identificador de filtro de uma solicitação de método OID anterior de OID_RECEIVE_FILTER_SET_FILTER ou OID_RECEIVE_FILTER_ENUM_FILTERS. O aplicativo pode obter o identificador de filtro somente de uma solicitação de método OID anterior de OID_RECEIVE_FILTER_ENUM_FILTERS.
O membro QueueId deve ser definido como NDIS_DEFAULT_RECEIVE_QUEUE_ID.
O membro VPortId deve ser definido como o identificador associado ao VPort. O driver de sobreposição obtém o identificador VPort por meio de uma das seguintes maneiras:
De uma solicitação de método OID anterior de OID_NIC_SWITCH_CREATE_VPORT.
De uma solicitação de método OID anterior de OID_NIC_SWITCH_ENUM_VPORTS.
O NDIS manipula as solicitações OID do método OID_RECEIVE_FILTER_ENUM_FILTERS e OID_RECEIVE_FILTER_PARAMETERS para drivers de miniporta. O NDIS obteve as informações de um cache interno dos dados recebidos do OID_RECEIVE_FILTER_SET_FILTER solicitação OID.