IWDFIoRequest::GetInputMemory 方法 (wudfddi.h)

[警告: UMDF 2 是最新版本的 UMDF,取代了 UMDF 1。 所有新的 UMDF 驱动程序都应使用 UMDF 2 编写。 没有将新功能添加到 UMDF 1,并且对较新版本的 Windows 10 上的 UMDF 1 的支持有限。 通用 Windows 驱动程序必须使用 UMDF 2。 有关详细信息,请参阅 UMDF入门 。]

GetInputMemory 方法检索表示 I/O 请求中的输入缓冲区的内存对象。

语法

void GetInputMemory(
  [out] IWDFMemory **ppWdfMemory
);

参数

[out] ppWdfMemory

指向一个变量的指针,该变量接收内存对象的引用计数 IWDFMemory 接口的指针。 请注意,返回 NULL 有效;在这种情况下,没有与 I/O 请求关联的输入内存。

返回值

没有

言论

使用 缓冲 I/O 访问方法的驱动程序可以调用 GetInputMemory 以获取 I/O 请求的输入缓冲区。

在驱动程序完成 I/O 请求之前,驱动程序必须调用内存对象的 IWDFMemory::Release 方法。 完成请求后,将释放基础内存对象。

与 I/O 请求关联的输入缓冲区包含要写入到请求发起方的信息(例如,要写入磁盘的数据)。 驱动程序可以调用 GetInputMemory 以获取写入请求或设备 I/O 控制请求的输入缓冲区,但不能用于读取请求(因为读取请求不提供输入数据)。 若要访问输入缓冲区,驱动程序必须调用 IWDFMemory::GetDataBuffer 方法。

UMDF 在收到 I/O 请求之前,在将 I/O 请求添加到驱动程序的 I/O 队列之前,创建 I/O 请求的内存对象。 如果 UMDF 无法为内存对象分配内存,它将完成 I/O 请求并返回失败状态,并且不会将 I/O 请求传递到驱动程序。

有关访问 I/O 请求的数据缓冲区的详细信息,请参阅 访问 UMDF-Based 驱动程序中的数据缓冲区

例子

有关如何使用 GetInputMemory 方法的代码示例,请参阅 IWDFIoRequest::Complete

要求

要求 价值
终止支持 在 UMDF 2.0 及更高版本中不可用。
目标平台 桌面
最低 UMDF 版本 1.5
标头 wudfddi.h (包括 Wudfddi.h)
DLL WUDFx.dll

另请参阅

IWDFIoRequest

IWDFIoRequest::Complete

IWDFMemory

IWDFMemory::GetDataBuffer