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