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 |