функция обратного вызова NDIS_PD_QUERY_QUEUE_DEPTH (ndis.h)
Платформа PacketDirect (PD) вызывает функцию PDQueryQueueDepth драйвера минипорта с поддержкой PD, чтобы вернуть количество необработанных PD_BUFFER структур, которые передаются в очередь.
Синтаксис
NDIS_PD_QUERY_QUEUE_DEPTH NdisPdQueryQueueDepth;
VOID() NdisPdQueryQueueDepth(
[in] const NDIS_PD_QUEUE *Queue,
[out] ULONG64 *Depth
)
{...}
Параметры
[in] Queue
Указатель на очередь передачи или получения.
[out] Depth
В очереди получения это количество PD_BUFFER структур, доступных для размещения входящих пакетов. Например, если было размещено 10 буферов, а 3 из 10 уже были отправлены поставщиком для размещения входящих пакетов, это значение должно быть равно 7. В очереди передачи это количество PD_BUFFER структур, которые поставщик еще не извлек из очереди для передачи.
Возвращаемое значение
Эта функция обратного вызова не возвращает значение.
Комментарии
Примеры
Чтобы определить функцию PDQueryQueueDepth , необходимо сначала предоставить объявление функции, определяющее тип определяемой функции. Windows предоставляет набор типов функций для драйверов. Объявление функции с помощью типов функций помогает анализу кода для драйверов, средству проверки статических драйверов (SDV) и другим средствам проверки находить ошибки, и это требование для написания драйверов для операционной системы Windows.Например, чтобы определить функцию PDQueryQueueDepth с именем MyPDQueryQueueDepth, используйте тип NDIS_PD_QUERY_QUEUE_DEPTH , как показано в следующем примере кода:
NDIS_PD_QUERY_QUEUE_DEPTH MyPDQueryQueueDepth;
Затем реализуйте функцию следующим образом:
_Use_decl_annotations_
VOID
MyPDQueryQueueDepth(
CONST NDIS_PD_QUEUE* Queue,
ULONG64* Depth
)
{...}
Тип функции NDIS_PD_QUERY_QUEUE_DEPTH определен в файле заголовка Ntddndis.h. Чтобы более точно определить ошибки при запуске средств анализа кода, не забудьте добавить заметку Use_decl_annotations в определение функции. Заметка Use_decl_annotations гарантирует использование заметок, которые применяются к типу функции NDIS_PD_QUERY_QUEUE_DEPTH в файле заголовка. Дополнительные сведения о требованиях к объявлениям функций см. в статье Объявление функций с помощью типов ролей функций для драйверов NDIS.
Сведения о Use_decl_annotations см. в статье Поведение функции с заметками.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows 10 |
Минимальная версия сервера | Windows Server 2016 |
Целевая платформа | Windows |
Header | ndis.h |
IRQL | <= DISPATCH_LEVEL |