Comandos (API de WPD)
La aplicación cliente y el controlador se comunican mediante comandos que se envían desde el cliente (a través de la API de dispositivo portátil de Windows) al controlador (a través de User-Mode Driver Framework). Un comando puede incluir o no un parámetro y puede o no devolver un resultado. Un cliente puede enviar un comando explícitamente mediante una llamada al método IPortableDevice::SendCommand o al método IPortableDeviceService:SendCommand o implícitamente mediante una llamada a cualquiera de los métodos de las interfaces de cliente. Algunos comandos solo se pueden enviar explícitamente; se indican en la documentación del comando. Las páginas de referencia de comandos describen el propósito de un comando, así como los parámetros que espera recibir y qué parámetros se espera que devuelva.
Un comando se identifica mediante una estructura PROPERTYKEY. Esto se compone de dos partes: una parte GUID (el miembro fmtid) y una parte DWORD (el miembro pid). La parte GUID se usa para indicar la categoría a la que pertenece el comando (los comandos relacionados pertenecen a la misma categoría y, por tanto, tendrán el mismo fmtid). La parte DWORD indica el identificador de comando y se usa para distinguir los comandos individuales dentro de una categoría de comandos (los valores de pid para los comandos de la misma categoría serán diferentes).
En la tabla siguiente se enumeran las categorías de comandos que definen los dispositivos portátiles de Windows. Los fabricantes de dispositivos pueden definir sus propios comandos creando sus propias categorías de comandos e identificadores de comandos. Sin embargo, un fabricante no debe agregar comandos a las categorías que se enumeran a continuación, ya que están reservadas por Microsoft.
categorías de comandos
Categoría de comandos | Descripción |
---|---|
WPD_CATEGORY_COMMON | Comandos comunes a todos los objetos y dispositivos. |
WPD_CATEGORY_DEVICE_HINTS | Comandos que se usan para recuperar información de dispositivo opcional que se puede usar para mejorar la experiencia del usuario final. |
WPD_CATEGORY_SMS | Comandos que se usan para dispositivos que admiten la funcionalidad de servicio de mensajes cortos (SMS), que normalmente se expone en teléfonos móviles. |
WPD_CATEGORY_STILL_IMAGE_CAPTURE | Comandos que se usan para dispositivos que admiten la captura de imágenes. |
WPD_CATEGORY_STORAGE | Comandos que se usan para objetos funcionales de almacenamiento. |
Los comandos específicos definidos para cada uno de estos tipos se proporcionan en las tablas siguientes, organizadas por tipo de comando.
WPD_CATEGORY_COMMON categoría
Mandar | Descripción |
---|---|
WPD_COMMAND_COMMON_RESET_DEVICE | Restablece el dispositivo. |
categoría de WPD_CATEGORY_DEVICE_HINTS
Mandar | Descripción |
---|---|
WPD_COMMAND_DEVICE_HINTS_GET_CONTENT_LOCATION | Recupera los identificadores de objeto de carpetas que pueden contener un objeto de un tipo especificado. |
WPD_CATEGORY_STORAGE categoría
Mandar | Descripción |
---|---|
WPD_COMMAND_STORAGE_EJECT | Expulsa un medio de almacenamiento que el controlador puede expulsar de forma remota. |
WPD_COMMAND_STORAGE_FORMAT | Da formato a un objeto funcional de almacenamiento en el dispositivo. |
categoría de WPD_CATEGORY_SMS
Mandar | Descripción |
---|---|
WPD_COMMAND_SMS_SEND | Inicia el envío de un mensaje SMS mediante un objeto funcional de SMS. |
categoría de WPD_CATEGORY_STILL_IMAGE_CAPTURE
Mandar | Descripción |
---|---|
WPD_COMMAND_STILL_IMAGE_CAPTURE_INITIATE | Inicia una captura de imagen fija mediante un objeto funcional de imagen todavía. |
Temas relacionados