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


Команды (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 Инициирует запись по-прежнему изображения функциональным объектом.

 

Справочник по программированию