IWDFIoRequest::GetOutputMemory 方法 (wudfddi.h)
[警告: UMDF 2 是最新版本的 UMDF,取代了 UMDF 1。 所有新的 UMDF 驱动程序都应使用 UMDF 2 编写。 未向 UMDF 1 添加新功能,并且较新版本的 Windows 10 上对 UMDF 1 的支持有限。 通用 Windows 驱动程序必须使用 UMDF 2。 有关详细信息,请参阅使用 UMDF 入门。]
GetOutputMemory 方法检索表示 I/O 请求的输出缓冲区的内存对象。
语法
void GetOutputMemory(
[out] IWDFMemory **ppWdfMemory
);
参数
[out] ppWdfMemory
指向变量的指针,该变量接收指向内存对象的引用计数 IWDFMemory 接口的指针。 请注意,返回 NULL 有效;在这种情况下,没有与 I/O 请求关联的输出内存。
返回值
无
备注
使用 缓冲 I/O 访问方法的驱动程序可以调用 GetOutputMemory 来获取 I/O 请求的输出缓冲区。
在驱动程序完成 I/O 请求之前,驱动程序必须为内存对象调用 IWDFMemory::Release 方法。 请求完成后,将释放基础内存对象。
与 I/O 请求关联的输出缓冲区包含 (的信息,例如,驱动程序向请求发起方提供的磁盘) 数据。 驱动程序可以调用 GetOutputMemory 来获取读取请求或设备 I/O 控制请求的输出缓冲区,但不能为写入请求 (获取输出缓冲区,因为写入请求不提供输出数据) 。 若要访问输出缓冲区,驱动程序必须调用 IWDFMemory::GetDataBuffer 方法。
UMDF 在收到 I/O 请求时,在将 I/O 请求添加到驱动程序的 I/O 队列之前创建 I/O 请求的内存对象。 如果 UMDF 无法为内存对象分配内存,它将以失败返回状态完成 I/O 请求,并且不会将 I/O 请求传递给驱动程序。
有关访问 I/O 请求的数据缓冲区的详细信息,请参阅 访问 UMDF-Based 驱动程序中的数据缓冲区。
示例
有关如何使用 GetOutputMemory 方法的代码示例,请参阅 IWDFIoQueue::RetrieveNextRequest。
要求
要求 | 值 |
---|---|
结束支持 | 在 UMDF 2.0 及更高版本中不可用。 |
目标平台 | 桌面 |
最低 UMDF 版本 | 1.5 |
标头 | wudfddi.h (包括 Wudfddi.h) |
DLL | WUDFx.dll |