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


Коды пользовательских элементов управления

Поставщики могут определять пользовательские коды элементов управления, начиная с 0x800.

Чтобы определить коды управления вводом-выводом для конкретных поставщиков, используйте предоставленный системой макрос CTL_CODE со следующими аргументами:

#define IOCTL_BIOMETRIC_Device_Function CTL_CODE(FILE_DEVICE_BIOMETRIC, Function, METHOD_BUFFERED, FILE_ANY_ACCESS)

Все входные и выходные параметры определяются поставщиком. Для элемента Status задано одно из значений в следующей таблице:

Значение состояния Описание
S_OK, STATUS_SUCCESS Операция выполнена успешно. Если размер возвращаемых данных — DWORD, полезные данные содержат размер буфера, необходимый для вызова. В противном случае полезные данные содержат полный выходной буфер.
E_INVALIDARG Параметры указаны неправильно.

Определяемые поставщиком ioCTL можно использовать для любых операций, относящихся к конкретному поставщику. Эти вызовы поступают через биометрическую службу Windows, которая имеет монопольный контроль над устройством. Ниже приведены некоторые примеры того, как поставщики могут использовать ioCTL конкретного поставщика:

  • Настройте защищаемые безопасные сеансы между приложением или компонентом и устройством.
  • Интерфейс с возможностями сопоставления и хранения на устройстве из подсистемы WinBio или подключаемого модуля базы данных.
  • Использование операций ввода-вывода для событий конкретного поставщика устройства.
  • Управление сеансами для конкретных поставщиков.

Эта функция доступна в Windows 7 и более поздних версиях Windows.