Поделиться через


Метод 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

См. также раздел

IDeviceIoControl