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
pSgl 参数中指定的数组中的 SGE 结构数。
[in] RemoteAddress
要写入的远程地址,按本地主机的字节顺序提供。 NDK 使用者可能已向远程提供的值添加了偏移量。
[in] RemoteToken
远程提供的内存令牌,这是 NDK 使用者中字节的不透明数组。
[in] Flags
指定允许的作的按位 OR 标志。 支持以下标志:
价值 | 意义 |
---|---|
|
指示此请求成功完成,但不会在出站完成队列中生成完成事件。 但是,失败的请求会在完成队列中生成完成。 |
|
指示在硬件开始处理此请求之前,必须先完成所有以前的读取请求。 |
|
向 NDK 提供程序指示它可能会延迟向硬件请求进行处理。 有关此标志的详细信息,请参阅 NDKPI 延迟处理方案。
注意 此标志仅在 NDKPI 1.2(Windows Server 2012 R2)及更高版本中受支持。 |
返回值
NdkWrite 函数返回以下 NTSTATUS 代码之一。
返回代码 | 描述 |
---|---|
|
请求已成功发布。 完成工作请求完成后,完成项将排入完成队列(CQ)。 |
|
队列对(QP)未连接。 |
|
发生错误。 |
言论
NdkWrite 在队列对(QP)上发布写入请求。
要求
要求 | 价值 |
---|---|
最低支持的客户端 | NDIS 6.30 及更高版本不支持。 |
支持的最低服务器 | Windows Server 2012 |
目标平台 | 窗户 |
标头 | ndkpi.h (包括 Ndkpi.h) |
IRQL | <=DISPATCH_LEVEL |