Sdílet prostřednictvím


Osvědčené postupy pro používání bezpečných polí

Mnoho metod rozhraní api služby Microsoft UI Automation používá argumenty označované jako bezpečná pole SAFEARRAY datového typu. Toto téma popisuje osvědčené postupy pro používání bezpečných polí v aplikacích automatizace uživatelského rozhraní.

Klienti

Všechna bezpečná pole, která se používají s metodami rozhraní API pro automatizaci uživatelského rozhraní, jsou jednorozměrná pole založená na nule. Chcete-li vytvořit bezpečné pole pro metodu klienta automatizace uživatelského rozhraní, použijte funkci SafeArrayCreateVector a ke čtení z a zápisu do bezpečného pole použijte SafeArrayGetElement a SafeArrayPutElement funkce. Jakmile dokončíte použití bezpečného pole, vždy ho zničíte pomocí funkce SafeArrayDestroy bez ohledu na to, jestli jste vytvořili bezpečné pole nebo ho získali z metody klienta automatizace uživatelského rozhraní.

Několik metod automatizace uživatelského rozhraní, včetně metod získávání vlastností, jako jsou GetCurrentPropertyValue, získá VARIANT, které mohou obsahovat struktury POINT nebo UiaRect. POINT se zabalí do VARIANT jako bezpečné pole hodnot double (VT_R8) s členem x na indexu 0 a s členem y na indexu 1. Podobně se UiaRect zabalí do VARIANT jako bezpečné pole hodnot typu double s vlevo, nahoře, šířkya výšky, na indexech 0 až 3 se nacházejí členy. Pro pole struktur UiaRect obsahuje bezpečné pole sekvenční pole čtyř hodnot typu 'double' pro každou UiaRect. vlevo, nahoře, šířkaa výška jsou členy prvního UiaRect a zabírají indexy 0 až 3, členy druhého obdélníku pak zabírají indexy 4 až 7 atd.

Rozhraní IUIAutomation zahrnuje následující metody pro převod mezi SAFEARRAY a různými dalšími datovými typy.

Metoda Popis
IUIAutomation::IntNativeArrayToSafeArray Převede pole celých čísel na SAFEARRAY.
IUIAutomation::IntSafeArrayToNativeArray Převede SAFEARRAY celých čísel na pole.
IUIAutomation::SafeArrayToRectNativeArray Převede SAFEARRAY, který obsahuje souřadnice obdélníku na pole typu RECT.

 

Poskytovatelé

Zprostředkovatel musí implementovat řadu metod rozhraní, které automatizace uživatelského rozhraní volá za účelem načtení informací od zprostředkovatele. Tyto informace se často skládají z pole hodnot. Aby zprostředkovatel mohl vrátit pole do automatizace uživatelského rozhraní, musí toto pole zabalit do struktury SAFEARRAY. Prvky pole musí být očekávaného datového typu a musí se zobrazit v očekávaném pořadí.

koncepční

Přehled vlastností automatizace uživatelského rozhraní

základy automatizace uživatelského rozhraní