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


функция обратного вызова 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
целевая платформа Виндоус
заголовка ndkpi.h (include Ndkpi.h)
IRQL <=DISPATCH_LEVEL

См. также

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

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

NDK_QP

NDK_RESULT

NDK_SGE