Comandi (API WPD)
L'applicazione client e il driver comunicano tramite comandi inviati dal client (tramite l'API dispositivo portatile Windows) al driver (tramite il User-Mode Driver Framework). Un comando può o non includere un parametro e potrebbe o non restituire un risultato. Un client può inviare un comando in modo esplicito chiamando il metodo IPortableDevice::SendCommand o il metodo IPortableDeviceService:SendCommand o in modo implicito chiamando uno dei metodi delle interfacce client. Alcuni comandi possono essere inviati solo in modo esplicito; questi sono annotati nella documentazione del comando. Le pagine di riferimento del comando descrivono lo scopo di un comando, nonché i parametri previsti per la ricezione e i parametri previsti per la restituzione dei parametri.
Un comando viene identificato da una struttura PROPERTYKEY . Si tratta di due parti: una parte GUID (membro fmtid ) e una parte DWORD (membro pid ). La parte GUID viene usata per indicare la categoria a cui appartiene il comando (i comandi correlati appartengono alla stessa categoria e quindi avranno lo stesso fmtid). La parte DWORD indica l'ID comando e viene usata per distinguere i singoli comandi all'interno di una categoria di comandi (i valori pid per i comandi nella stessa categoria saranno diversi).
Nella tabella seguente sono elencate le categorie di comandi definiti dai dispositivi portatili Windows. I produttori di dispositivi possono definire i propri comandi creando categorie di comandi e ID comando personalizzati. Tuttavia, un produttore non deve aggiungere comandi alle categorie elencate di seguito, poiché queste sono riservate da Microsoft.
Categorie di comandi
Categoria | Descrizione |
---|---|
WPD_CATEGORY_COMMON | Comandi comuni a tutti gli oggetti e i dispositivi. |
WPD_CATEGORY_DEVICE_HINTS | Comandi usati per recuperare informazioni facoltative sul dispositivo che possono essere usate per migliorare l'esperienza utente finale. |
WPD_CATEGORY_SMS | Comandi usati per i dispositivi che supportano la funzionalità SMS (Short Message Service), che in genere è esposta nei telefoni cellulari. |
WPD_CATEGORY_STILL_IMAGE_CAPTURE | Comandi usati per i dispositivi che supportano l'acquisizione di immagini ancora. |
WPD_CATEGORY_STORAGE | Comandi usati per gli oggetti funzionali di archiviazione. |
I comandi specifici definiti per ognuno di questi tipi vengono forniti nelle tabelle seguenti, organizzati per tipo di comando.
categoria WPD_CATEGORY_COMMON
Comando | Descrizione |
---|---|
WPD_COMMAND_COMMON_RESET_DEVICE | Reimposta il dispositivo. |
categoria WPD_CATEGORY_DEVICE_HINTS
Comando | Descrizione |
---|---|
WPD_COMMAND_DEVICE_HINTS_GET_CONTENT_LOCATION | Recupera gli ID oggetto delle cartelle che possono contenere un oggetto di un tipo specificato. |
categoria WPD_CATEGORY_STORAGE
Comando | Descrizione |
---|---|
WPD_COMMAND_STORAGE_EJECT | Esegge un supporto di archiviazione che può essere inserito in remoto dal driver. |
WPD_COMMAND_STORAGE_FORMAT | Formatta un oggetto funzionale di archiviazione nel dispositivo. |
categoria WPD_CATEGORY_SMS
Comando | Descrizione |
---|---|
WPD_COMMAND_SMS_SEND | Avvia l'invio di un messaggio SMS da un oggetto funzionale SMS. |
categoria WPD_CATEGORY_STILL_IMAGE_CAPTURE
Comando | Descrizione |
---|---|
WPD_COMMAND_STILL_IMAGE_CAPTURE_INITIATE | Avvia un'acquisizione di immagini ancora da un oggetto funzionale dell'immagine ancora. |