OID_RECEIVE_FILTER_QUEUE_ALLOCATION_COMPLETE
Драйверы протокола NDIS выдают запросы метода идентификатора объекта (OID) OID_RECEIVE_FILTER_QUEUE_ALLOCATION_COMPLETE, чтобы уведомить драйвер мини-порта о завершении выделения для текущего пакета очередей получения.
Элемент InformationBuffer структуры NDIS_OID_REQUEST содержит указатель на структуру NDIS_RECEIVE_QUEUE_ALLOCATION_COMPLETE_ARRAY , за которой следует структура NDIS_RECEIVE_QUEUE_ALLOCATION_COMPLETE_PARAMETERS для каждой очереди. После успешного возврата из запроса метода OID элемент InformationBufferструктуры NDIS_OID_REQUEST содержит указатель на тот же массив структур, а элемент CompletionStatus каждой NDIS_RECEIVE_QUEUE_ALLOCATION_COMPLETE_PARAMETERS структуры содержит состояние завершения для каждой очереди.
Комментарии
Запрос метода OID для OID_RECEIVE_FILTER_QUEUE_ALLOCATION_COMPLETE является необязательным для драйверов NDIS 6.20 и более поздних версий. Он является обязательным для драйверов мини-портов, поддерживающих интерфейс очереди виртуальных машин (VMQ).
После выделения одной или нескольких очередей получения и при необходимости настройки начальных фильтров драйвер протокола должен выдать запрос метода OID OID_RECEIVE_FILTER_QUEUE_ALLOCATION_COMPLETE, чтобы уведомить драйвер miniport о том, что выделение завершено для текущего пакета очередей получения. Это позволяет драйверу мини-порта распределять аппаратные ресурсы между несколькими очередями получения; При необходимости он может выделить ресурсы, например общую память, для очередей получения.
После того как драйвер мини-порта получит запрос OID_RECEIVE_FILTER_QUEUE_ALLOCATION_COMPLETE и у него есть фильтры, заданные в очереди, очередь находится в состоянии Выполняется. В этом состоянии драйвер мини-порта может запускать указания пакетов в очереди, вызвав NdisMIndicateReceiveNetBufferLists.
Коды состояния возврата
Драйвер мини-порта возвращает один из следующих кодов состояния для запроса метода OID OID_RECEIVE_FILTER_QUEUE_ALLOCATION_COMPLETE.
Код состояния | Описание |
---|---|
NDIS_STATUS_SUCCESS |
Выделение очереди завершено. Информационный буфер содержит обновленную структуру NDIS_RECEIVE_QUEUE_ALLOCATION_COMPLETE_ARRAY и структуры параметров с состоянием завершения для выделения очереди. |
NDIS_STATUS_PENDING |
Запрос ожидает завершения. Окончательный код состояния и результаты будут переданы обработчику завершения запроса OID вызывающего объекта. |
NDIS_STATUS_INVALID_PARAMETER |
Один или несколько параметров, предоставленных драйвером overlying, были недопустимыми. |
NDIS_STATUS_INVALID_LENGTH |
Буфер сведений был слишком коротким. NDIS задает значение DATA. METHOD_INFORMATION. Элемент BytesNeeded в NDIS_OID_REQUEST структуру до минимального требуемого размера буфера. |
NDIS_STATUS_NOT_SUPPORTED |
Версия NDIS драйвера мини-порта более ранняя, чем версия 6.20. |
NDIS_STATUS_FAILURE |
Сбой запроса по другим причинам. |
Требования
Версия |
Поддерживается в NDIS 6.20 и более поздних версиях. |
Заголовок |
Ntddndis.h (включая Ndis.h) |
См. также раздел
NdisMIndicateReceiveNetBufferLists