Команды (API WPD)
Клиентское приложение и драйвер взаимодействуют с помощью команд, отправляемых клиентом (через API переносимых устройств Windows) драйверу (через платформу User-Mode Driver Framework). Команда может или не включать параметр, и может или не возвращать результат. Клиент может явно отправлять команду, вызывая метод IPortableDevice::SendCommand или метод IPortableDeviceService:SendCommand или неявно, вызывая любой из методов клиентских интерфейсов. Несколько команд можно отправлять только явным образом; Они отмечены в документации команды. Справочные страницы команд описывают назначение команды, а также параметры, которые он ожидает получать, и какие параметры, как ожидается, будут возвращены.
Команда определяется структурой PROPERTYKEY. Это состоит из двух частей: часть GUID (элемент fmtid) и часть DWORD (элемент pid). Часть GUID используется для указания категории, к которой принадлежит команда (связанные команды относятся к той же категории и поэтому будут иметь те же fmtid). Часть DWORD указывает идентификатор команды и используется для различения отдельных команд в категории команд (значения pid для команд в той же категории будут отличаться).
В следующей таблице перечислены категории команд, которые определяют переносные устройства Windows. Производители устройств могут определять собственные команды, создавая собственные категории команд и идентификаторы команд. Однако производитель не должен добавлять команды в категории, перечисленные ниже, так как они зарезервированы корпорацией Майкрософт.
категории команд
Категория команд | Описание |
---|---|
WPD_CATEGORY_COMMON | Команды, которые являются общими для всех объектов и устройств. |
WPD_CATEGORY_DEVICE_HINTS | Команды, используемые для получения дополнительных сведений об устройстве, которые можно использовать для улучшения взаимодействия с конечным пользователем. |
WPD_CATEGORY_SMS | Команды, используемые для устройств, поддерживающих функции службы коротких сообщений (SMS), которые обычно предоставляются на мобильных телефонах. |
WPD_CATEGORY_STILL_IMAGE_CAPTURE | Команды, используемые для устройств, поддерживающих запись изображений. |
WPD_CATEGORY_STORAGE | Команды, используемые для функциональных объектов хранилища. |
Определенные команды, определенные для каждого из этих типов, приведены в следующих таблицах, упорядоченных по типу команды.
WPD_CATEGORY_COMMON категории
Команда | Описание |
---|---|
WPD_COMMAND_COMMON_RESET_DEVICE | Сбрасывает устройство. |
WPD_CATEGORY_DEVICE_HINTS категории
Команда | Описание |
---|---|
WPD_COMMAND_DEVICE_HINTS_GET_CONTENT_LOCATION | Извлекает идентификаторы объектов папок, которые могут содержать объект указанного типа. |
WPD_CATEGORY_STORAGE категории
Команда | Описание |
---|---|
WPD_COMMAND_STORAGE_EJECT | Извлекает носитель хранилища, который может быть удален драйвером удаленно. |
WPD_COMMAND_STORAGE_FORMAT | Форматирует функциональный объект хранилища на устройстве. |
WPD_CATEGORY_SMS категории
Команда | Описание |
---|---|
WPD_COMMAND_SMS_SEND | Инициирует отправку SMS-сообщения функциональным объектом SMS. |
категории WPD_CATEGORY_STILL_IMAGE_CAPTURE
Команда | Описание |
---|---|
WPD_COMMAND_STILL_IMAGE_CAPTURE_INITIATE | Инициирует запись по-прежнему изображения функциональным объектом. |
Связанные разделы