Команды (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

Get-Help Описание
WPD_COMMAND_COMMON_RESET_DEVICE Сбрасывает устройство.

 

Категория WPD_CATEGORY_DEVICE_HINTS

Get-Help Описание
WPD_COMMAND_DEVICE_HINTS_GET_CONTENT_LOCATION Извлекает идентификаторы объектов папок, которые могут содержать объект указанного типа.

 

Категория WPD_CATEGORY_STORAGE

Get-Help Описание
WPD_COMMAND_STORAGE_EJECT Извлекает носитель хранилища, который может быть удален драйвером.
WPD_COMMAND_STORAGE_FORMAT Форматирует функциональный объект хранилища на устройстве.

 

Категория WPD_CATEGORY_SMS

Get-Help Описание
WPD_COMMAND_SMS_SEND Инициирует отправку SMS-сообщения функциональным объектом SMS.

 

Категория WPD_CATEGORY_STILL_IMAGE_CAPTURE

Get-Help Описание
WPD_COMMAND_STILL_IMAGE_CAPTURE_INITIATE Инициирует захват неподвижного изображения функциональным объектом неподвижного изображения.

 

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