Метод 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
Код элемента управления вводом-выводом для операции.
[in] inputBuffer
Необязательный входной буфер для операции.
[in] inputBufferSize
Размер входного буфера в байтах.
[out] outputBuffer
Рабочий выходной буфер для операции.
[in] outputBufferSize
Размер выходного буфера в байтах.
[in] requestCompletionCallback
Интерфейс обратного вызова, в котором вызывается метод RequestCompletion , если операция успешно отправлена.
[out] cancelContext
Необязательный указатель, получающий контекст отмены, который может быть передан методу CancelOperation для отмены невыполненных запросов.
Возвращаемое значение
Если этот метод завершается успешно, он возвращает S_OK. В противном случае возвращается код ошибки HRESULT .
Комментарии
Если запрос успешно отправлен (то есть вызов этой функции не возвращает ошибку), результат операции будет доступен в обратном вызове RequestCompletion предоставленного интерфейса IDeviceRequestCompletionCallback .
Операция, которая завершается сбоем системы (операционной системы или драйвера устройства), не приводит к обратному вызову. Это означает, что вызывающий объект получает обратный вызов только в том случае, если эта функция возвращает S_OK.
Требования
Требование | Значение |
---|---|
Целевая платформа | Windows |
Header | deviceaccess.h |
Библиотека | Deviceaccess.lib |