IQueueCallbackRead::OnRead 方法 (wudfddi.h)

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

当应用程序通过 Microsoft Win32 ReadFile 或 ReadFileEx 函数从设备读取信息时,将调用 OnRead 方法来处理读取请求

语法

void OnRead(
  [in] IWDFIoQueue   *pWdfQueue,
  [in] IWDFIoRequest *pWdfRequest,
  [in] SIZE_T        NumOfBytesToRead
);

参数

[in] pWdfQueue

指向请求从中到达的 I/O 队列对象的 IWDFIoQueue 接口的指针。

[in] pWdfRequest

指向表示框架请求对象的 IWDFIoRequest 接口的指针。

[in] NumOfBytesToRead

请求的读取缓冲区的大小(以字节为单位)。

返回值

备注

当驱动程序调用 IWDFDevice::CreateIoQueue 方法创建 I/O 队列或配置默认 I/O 队列时,驱动程序将注册 IQueueCallbackRead 接口。

驱动程序可以为所有 I/O 队列实现单个 OnRead 方法,也可以为每个 I/O 队列实现单独的 OnRead 方法。

OnRead 方法从队列接收每个读取请求类型。 (读取请求类型由 request 的WDF_REQUEST_TYPE枚举类型的 WdfRequestRead 值标识。) OnRead 方法必须处理收到的每个读取请求。 有关 UMDF 驱动程序如何处理 I/O 请求的详细信息,请参阅 处理 I/O 请求

驱动程序可以调用 IWDFIoRequest::GetReadParametersIWDFIoRequest::GetOutputMemory 方法来检索有关请求和读取缓冲区的信息。

要求

要求
目标平台 Windows
标头 wudfddi.h (包括 Wudfddi.h)

另请参阅

IQueueCallbackRead

IWDFDevice::CreateIoQueue

IWDFIoQueue

IWDFIoRequest

WDF_REQUEST_TYPE