функция обратного вызова NDK_FN_READ (ndkpi.h)
Функция NdkRead (NDK_FN_READ) публикует запрос на чтение в паре очередей NDK (QP).
Синтаксис
NDK_FN_READ NdkFnRead;
NTSTATUS NdkFnRead(
[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_ADAPTER_FLAG_RDMA_READ_LOCAL_INVALIDATE_SUPPORTED в структуре NDK_ADAPTER_INFO, успешное завершение функции NdkRead означает, что первый буфер, указанный в параметре pSgl, является недействительным. Неудачное завершение оставляет буфер и маркер в неопределенном состоянии. Этот флаг игнорируется, если поставщик не сообщает о возможности адаптера NDK_ADAPTER_FLAG_RDMA_READ_LOCAL_INVALIDATE_SUPPORTED в структуре NDK_ADAPTER_INFO.
Примечание Этот флаг поддерживается только в NDKPI 1.2 (Windows Server 2012 R2) и более поздних версиях. |
|
Указывает поставщику NDK, что он может отложить запрос на оборудование для обработки. Дополнительные сведения об этом флаге см. в схемы отложенной обработки NDKPI.
Примечание Этот флаг поддерживается только в NDKPI 1.2 (Windows Server 2012 R2) и более поздних версиях. |
Возвращаемое значение
Функция NdkRead возвращает один из следующих кодов NTSTATUS.
Возвращаемый код | Описание |
---|---|
|
Запрос был успешно размещен. Запись завершения будет помещена в очередь в CQ после завершения рабочего запроса. |
|
QP не подключен. |
|
Запрос пытался прочитать за пределами удаленной памяти. |
|
Произошла ошибка. |
Замечания
NdkRead отправляет запрос на чтение в паре очередей (QP).
Требования
Требование | Ценность |
---|---|
минимальные поддерживаемые клиентские | Не поддерживается, поддерживается в NDIS 6.30 и более поздних версиях. |
минимальный поддерживаемый сервер | Windows Server 2012 |
целевая платформа | Виндоус |
заголовка | ndkpi.h (include Ndkpi.h) |
IRQL | <=DISPATCH_LEVEL |
См. также
схеме отложенной обработки NDKPI