Поделиться через


Получение и обновление параметров очереди виртуальной машины

Слишком большой драйвер может задать параметры конфигурации очереди виртуальных машин после ее выделения. Кроме того, драйвер или приложение может получить текущие параметры для очереди и параметры для фильтров, заданных в очереди.

Чтобы изменить текущие параметры конфигурации очереди, драйверы с избыточной конфигурацией могут использовать OID_RECEIVE_FILTER_QUEUE_PARAMETERS задать запрос OID. Драйвер overlying предоставляет указатель на структуру NDIS_RECEIVE_QUEUE_PARAMETERS в элементе InformationBufferструктуры NDIS_OID_REQUEST .

Структура NDIS_RECEIVE_QUEUE_PARAMETERS используется в OID OID_RECEIVE_FILTER_ALLOCATE_QUEUE и OID OID_RECEIVE_FILTER_QUEUE_PARAMETERS . Дополнительные сведения о выделении очередей см. в статье Выделение очереди виртуальной машины.

Чтобы получить текущие параметры конфигурации очереди, драйверы с избыточной конфигурацией могут использовать запрос OID метода OID_RECEIVE_FILTER_QUEUE_PARAMETERS. Элемент InformationBuffer структуры NDIS_OID_REQUEST изначально содержит указатель на структуру NDIS_RECEIVE_QUEUE_PARAMETERS с идентификатором очереди типа NDIS_RECEIVE_QUEUE_ID. После успешного возврата из запроса метода OID элемент InformationBuffer структуры NDIS_OID_REQUEST содержит указатель на NDIS_RECEIVE_QUEUE_PARAMETERS структуру.

NDIS обрабатывает запрос метода для драйверов мини-порта. Таким образом, запрос OID метода OID_RECEIVE_FILTER_QUEUE_PARAMETERS не запрашивается для драйверов мини-порта. NDIS получил информацию из внутреннего кэша данных, полученных из OID_RECEIVE_FILTER_ALLOCATE_QUEUE и OID_RECEIVE_FILTER_QUEUE_PARAMETERS запросов OID.

Чтобы получить текущие параметры конфигурации фильтра в очереди получения, драйверы с избыточной конфигурацией могут использовать запрос OID метода OID_RECEIVE_FILTER_PARAMETERS . Элемент InformationBuffer структуры NDIS_OID_REQUEST изначально содержит указатель на структуру NDIS_RECEIVE_FILTER_PARAMETERS . NDIS использует элемент FilterId во входной структуре для идентификации фильтра. После успешного возврата из запроса метода элемент InformationBuffer структуры NDIS_OID_REQUEST содержит указатель на обновленную NDIS_RECEIVE_FILTER_PARAMETERS структуру.

NDIS обрабатывает запрос OID метода OID_RECEIVE_FILTER_PARAMETERS для драйверов мини-порта. NDIS получил информацию из внутреннего кэша данных, полученных из запроса OID OID_RECEIVE_FILTER_SET_FILTER .

Переопределяющие драйверы могут использовать запрос OID метода OID_RECEIVE_FILTER_PARAMETERS для получения параметров конфигурации для фильтра в очереди получения.

Драйвер overlying получил идентификатор фильтра из предыдущего запроса OID метода OID_RECEIVE_FILTER_SET_FILTER или из запроса OID OID_RECEIVE_FILTER_ENUM_FILTERS . Только драйверы могут использовать запрос OID_RECEIVE_FILTER_SET_FILTER.

Приложение получило идентификатор фильтра из запроса OID OID_RECEIVE_FILTER_ENUM_FILTERS .