IDeviceIoControl::D eviceIoControlAsync 方法 (deviceaccess.h)

DeviceIoControlAsync 方法将异步设备输入/输出 (I/O) 控制请求发送到对 CreateDeviceAccessInstance 函数的调用指定的设备接口。

语法

HRESULT DeviceIoControlAsync(
  [in]  DWORD                            ioControlCode,
  [in]  UCHAR                            *inputBuffer,
  [in]  DWORD                            inputBufferSize,
  [out] UCHAR                            *outputBuffer,
  [in]  DWORD                            outputBufferSize,
  [in]  IDeviceRequestCompletionCallback *requestCompletionCallback,
  [out] ULONG_PTR                        *cancelContext
);

参数

[in] ioControlCode

操作的 I/O 控制代码。

[in] inputBuffer

操作的可选输入缓冲区。

[in] inputBufferSize

输入缓冲区的大小(以字节为单位)。

[out] outputBuffer

操作的操作输出缓冲区。

[in] outputBufferSize

输出缓冲区的大小(以字节为单位)。

[in] requestCompletionCallback

如果成功提交操作,则调用 RequestCompletion 方法的回调接口。

[out] cancelContext

一个可选指针,用于接收取消上下文,该上下文可传递给 CancelOperation 方法以取消未完成的请求。

返回值

如果该方法成功,则返回 S_OK。 否则,将返回 HRESULT 错误代码。

注解

如果请求 (成功提交,则调用此函数不会立即返回错误) ,则操作的结果在提供的 IDeviceRequestCompletionCallback 接口的 RequestCompletion 回调中可用。

系统 (操作系统或设备驱动程序) 立即失败的操作不会导致回调。这意味着,仅当此函数返回 S_OK时,调用方才会接收回调。

要求

要求
目标平台 Windows
标头 deviceaccess.h
Library Deviceaccess.lib

另请参阅

IDeviceIoControl