функция обратного вызова NDIS_PD_ALLOCATE_QUEUE (ndis.h)

Платформа PacketDirect (PD) вызывает функцию NdisPDAllocateQueue драйвера miniport с поддержкой PD для выделения очереди.

Примечание Функцию необходимо объявить с помощью типа NDIS_PD_ALLOCATE_QUEUE . Дополнительные сведения см. в следующем разделе Примеры.

 

Синтаксис

NDIS_PD_ALLOCATE_QUEUE NdisPdAllocateQueue;

NTSTATUS() NdisPdAllocateQueue(
  [in] NDIS_PD_PROVIDER_HANDLE ProviderHandle,
  [in] const NDIS_PD_QUEUE_PARAMETERS *QueueParameters,
       NDIS_PD_QUEUE **NdisPDQueue
)
{...}

Параметры

[in] ProviderHandle

Дескриптор поставщика, идентифицирующий объект поставщика драйвера мини-порта с поддержкой PD.

[in] QueueParameters

Все параметры, связанные с очередью. Дополнительные сведения см. в разделе структура NDIS_PD_QUEUE_PARAMETERS .

NdisPDQueue

Указатель на очередь, которая должна быть выделена. Дополнительные сведения см. в статье Структура NDIS_PD_QUEUE .

Возвращаемое значение

Эта функция возвращает STATUS_SUCCESS после успешного завершения, в противном случае возвращает соответствующий код ошибки.

Комментарии

Примеры

Чтобы определить функцию NdisPDAllocateQueue , необходимо сначала предоставить объявление функции, определяющее тип определяемой функции. Windows предоставляет набор типов функций для драйверов. Объявление функции с помощью типов функций помогает анализу кода для драйверов, средству проверки статических драйверов (SDV) и другим средствам проверки находить ошибки, и это требование для написания драйверов для операционной системы Windows.

Например, чтобы определить функцию NdisPDAllocateQueue с именем MyPDAllocateQueue, используйте тип NDIS_PD_ALLOCATE_QUEUE , как показано в этом примере кода:

NDIS_PD_ALLOCATE_QUEUE MyPDAllocateQueue;

Затем реализуйте функцию следующим образом:

_Use_decl_annotations_
NTSTATUS
 MyPDAllocateQueue(
    NDIS_PD_PROVIDER_HANDLE  ProviderHandle,
    CONST NDIS_PD_QUEUE_PARAMETERS*  QueueParameters,
    NDIS_PD_QUEUE**  NdisPDQueue
    )
  {...}

Тип функции NDIS_PD_ALLOCATE_QUEUE определен в файле заголовка Ntddndis.h. Чтобы более точно определить ошибки при запуске средств анализа кода, обязательно добавьте заметку Use_decl_annotations в определение функции. Заметка Use_decl_annotations гарантирует использование заметок, которые применяются к типу функции NDIS_PD_ALLOCATE_QUEUE в файле заголовка. Дополнительные сведения о требованиях к объявлениям функций см. в разделе Объявление функций с помощью типов ролей функций для драйверов NDIS.

Сведения о Use_decl_annotations см. в статье О поведении функции.

Требования

Требование Значение
Минимальная версия клиента Windows 10
Минимальная версия сервера Windows Server 2016
Целевая платформа Windows
Header ndis.h
IRQL PASSIVE_LEVEL