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

Функция NdkWrite (NDK_FN_WRITE) отправляет запрос на запись в пару очередей NDK (QP).

Синтаксис

NDK_FN_WRITE NdkFnWrite;

NTSTATUS NdkFnWrite(
  [in]           NDK_QP *pNdkQp,
  [in, optional] PVOID RequestContext,
                 const NDK_SGE *pSgl,
  [in]           ULONG nSge,
  [in]           UINT64 RemoteAddress,
  [in]           UINT32 RemoteToken,
  [in]           ULONG Flags
)
{...}

Параметры

[in] pNdkQp

Указатель на объект пары очередей NDK (QP) (NDK_QP).

[in, optional] RequestContext

Значение контекста, возвращаемое в элементе RequestContextструктуры NDK_RESULT для этого запроса.

pSgl

Массив структур SGE (NDK_SGE), представляющих буферы, вмедующие данные для записи.

[in] nSge

Количество структур SGE в массиве, указанном в параметре pSgl .

[in] RemoteAddress

Удаленный адрес для записи, указанный в порядке байтов локального узла. Потребитель NDK мог добавить смещение к удаленно предоставленному значению.

[in] RemoteToken

Маркер памяти, предоставленный удаленно, непрозрачный массив байтов от потребителя NDK.

[in] Flags

Побитовое ИЛИ флагов, указывающее разрешенные операции. Поддерживаются следующие флаги:

Значение Значение
NDK_OP_FLAG_SILENT_SUCCESS
0x00000001
Указывает на успешное выполнение этого запроса, но не создает событие завершения в очереди исходящего завершения. Однако запросы, которые завершаются сбоем, создают завершение в очереди завершения.
NDK_OP_FLAG_READ_FENCE
0x00000002
Указывает, что все предыдущие запросы на чтение должны быть выполнены, прежде чем оборудование начнет обрабатывать этот запрос.
NDK_OP_FLAG_DEFER
0x00000200
Указывает поставщику NDK, что он может отложить запрос к оборудованию для обработки. Дополнительные сведения об этом флаге см. в разделе Схема отложенной обработки NDKPI.

Примечание Этот флаг поддерживается только в NDKPI 1.2 (Windows Server 2012 R2) и более поздних версиях.

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

Функция NdkWrite возвращает один из следующих кодов NTSTATUS.

Код возврата Описание
STATUS_SUCCESS
Запрос был успешно отправлен. Запись завершения будет помещена в очередь завершения (CQ) после завершения рабочего запроса.
STATUS_CONNECTION_INVALID
Пара очередей (QP) не подключена.
Другие коды состояния
Произошла ошибка.

Комментарии

NdkWrite отправляет запрос на запись в пару очередей (QP).

Требования

Требование Значение
Минимальная версия клиента Не поддерживается, поддерживается в NDIS 6.30 и более поздних версиях.
Минимальная версия сервера Windows Server 2012
Целевая платформа Windows
Header ndkpi.h (включая Ndkpi.h)
IRQL <=DISPATCH_LEVEL

См. также раздел

Схема отложенной обработки NDKPI

Требования к публикации запросов на работу NDKPI

NDK_QP

NDK_RESULT

NDK_SGE