Comandos (API do WPD)
O aplicativo cliente e o driver se comunicam por meio de comandos enviados do cliente (por meio da API de Dispositivo Portátil do Windows) para o driver (por meio do User-Mode Driver Framework). Um comando pode ou não incluir um parâmetro e pode ou não retornar um resultado. Um cliente pode enviar um comando explicitamente, chamando o método IPortableDevice::SendCommand ou o método IPortableDeviceService:SendCommand ou implicitamente, chamando qualquer um dos métodos das interfaces do cliente. Alguns comandos só podem ser enviados explicitamente; eles são observados na documentação do comando. As páginas de referência de comando descrevem a finalidade de um comando, bem como quais parâmetros ele espera receber e quais parâmetros ele deve retornar.
Um comando é identificado por uma estrutura de PROPERTYKEY. Isso é composto por duas partes: uma parte GUID (membro do fmtid) e uma parte DWORD (membro do pid). A parte GUID é usada para indicar a categoria à qual o comando pertence (os comandos relacionados pertencem à mesma categoria e, portanto, terão a mesma fmtid). A parte DWORD indica a ID de comando e é usada para distinguir os comandos individuais dentro de uma categoria de comando (os valores pid para comandos na mesma categoria serão diferentes).
A tabela a seguir lista as categorias de comandos que os Dispositivos Portáteis do Windows definem. Os fabricantes de dispositivos podem definir seus próprios comandos criando suas próprias categorias de comando e IDs de comando. No entanto, um fabricante não deve adicionar comandos às categorias listadas abaixo, pois elas são reservadas pela Microsoft.
categorias de comando
Categoria de comando | Descrição |
---|---|
WPD_CATEGORY_COMMON | Comandos comuns a todos os objetos e dispositivos. |
WPD_CATEGORY_DEVICE_HINTS | Comandos usados para recuperar informações opcionais do dispositivo que podem ser usadas para melhorar a experiência do usuário final. |
WPD_CATEGORY_SMS | Comandos usados para dispositivos que dão suporte à funcionalidade de SMS (serviço de mensagens curtas), que normalmente é exposto em telefones celulares. |
WPD_CATEGORY_STILL_IMAGE_CAPTURE | Comandos usados para dispositivos que dão suporte à captura de imagem ainda. |
WPD_CATEGORY_STORAGE | Comandos usados para objetos funcionais de armazenamento. |
Os comandos específicos definidos para cada um desses tipos são fornecidos nas tabelas a seguir, organizadas por tipo de comando.
WPD_CATEGORY_COMMON de categoria
Comando | Descrição |
---|---|
WPD_COMMAND_COMMON_RESET_DEVICE | Redefine o dispositivo. |
de categoria de WPD_CATEGORY_DEVICE_HINTS
Comando | Descrição |
---|---|
WPD_COMMAND_DEVICE_HINTS_GET_CONTENT_LOCATION | Recupera as IDs de objeto de pastas que podem conter um objeto de um tipo especificado. |
WPD_CATEGORY_STORAGE categoria
Comando | Descrição |
---|---|
WPD_COMMAND_STORAGE_EJECT | Ejeta um meio de armazenamento que pode ser ejetado remotamente pelo driver. |
WPD_COMMAND_STORAGE_FORMAT | Formata um objeto funcional de armazenamento no dispositivo. |
de categoria de WPD_CATEGORY_SMS
Comando | Descrição |
---|---|
WPD_COMMAND_SMS_SEND | Inicia o envio de uma mensagem SMS por um objeto funcional SMS. |
de categoria WPD_CATEGORY_STILL_IMAGE_CAPTURE
Comando | Descrição |
---|---|
WPD_COMMAND_STILL_IMAGE_CAPTURE_INITIATE | Inicia uma captura de imagem parada por um objeto funcional de imagem ainda. |
Tópicos relacionados