Procedure consigliate per l'uso di matrici sicure
Molti metodi di interfaccia dell'API microsoft Automazione interfaccia utente accettano argomenti denominati matrici sicure, del tipo di dati SAFEARRAY. In questo argomento vengono descritte le procedure consigliate per l'uso di matrici sicure in una Automazione interfaccia utente applicazioni.
Client
Tutte le matrici sicure usate con i metodi api client Automazione interfaccia utente sono matrici unidimensionali basate su zero. Per creare una matrice sicura per un metodo client Automazione interfaccia utente, usare la funzione SafeArrayCreateVector e per leggere e scrivere in una matrice sicura, usare le funzioni SafeArrayGetElement e SafeArrayPutElement. Al termine dell'uso di una matrice sicura, eliminarlo sempre usando la funzione SafeArrayDestroy, indipendentemente dal fatto che sia stata creata o ricevuta da un metodo client di Automazione interfaccia utente.
Diversi metodi Automazione interfaccia utente, inclusi i metodi di recupero delle proprietà, ad esempio GetCurrentPropertyValue, recuperano variantche possono contenere strutture POINT o UiaRect. Un point viene compresso in un valore VARIANT come matrice sicura di double (VT_R8) con il membro x in corrispondenza dell'indice 0 e il membro y in corrispondenza dell'indice 1. Analogamente, un oggetto UiaRect viene compresso in un valore VARIANT come matrice sicura di double con i membri sinistro, superiore, larghezza e altezza rispettivamente in corrispondenza degli indici da 0 a 3. Per una matrice di strutture UiaRect , la matrice sicura contiene una matrice sequenziale di quattro valori double per ogni uiaRect. I membri sinistro, superiore, larghezza e altezza del primo uiaRect occupano l'indice da 0 a 3, i membri del secondo rettangolo occupano l'indice da 4 a 7 e così via.
L'interfaccia IUIAutomation include i metodi seguenti per la conversione tra SAFEARRAY e vari altri tipi di dati.
Metodo | Descrizione |
---|---|
IUIAutomation::IntNativeArrayToSafeArray | Converte una matrice di numeri interi in safearray. |
IUIAutomation::IntSafeArrayToNativeArray | Converte un SAFEARRAY di numeri interi in una matrice. |
IUIAutomation::SafeArrayToRectNativeArray | Converte un oggetto SAFEARRAY che contiene coordinate rettangolo in una matrice di tipo RECT. |
Provider
Un provider deve implementare diversi metodi di interfaccia che Automazione interfaccia utente chiamate per recuperare informazioni dal provider. Molte volte, queste informazioni sono costituite da una matrice di valori. Per restituire una matrice a Automazione interfaccia utente, il provider deve comprimere la matrice in una struttura SAFEARRAY. Gli elementi della matrice devono essere del tipo di dati previsto e devono essere visualizzati nell'ordine previsto.
Argomenti correlati
-
Informazioni concettuali
-
Cenni preliminari sulle proprietà di automazione interfaccia utente