Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Wiele metod interfejsu API automatyzacji interfejsu firmy Microsoft przyjmuje argumenty nazywane bezpiecznymi tablicami SAFEARRAY typu danych. W tym temacie opisano najlepsze praktyki dotyczące używania bezpiecznych tablic w aplikacjach UI Automation.
Klienci
Wszystkie bezpieczne tablice, które są używane z API klienta automatyzacji interfejsu użytkownika, to jednowymiarowe tablice o zerowym indeksie. Aby utworzyć bezpieczną tablicę dla metody klienta automatyzacji interfejsu użytkownika, użyj funkcji SafeArrayCreateVector, a do odczytu i zapisu w bezpiecznej tablicy, użyj funkcji SafeArrayGetElement i SafeArrayPutElement. Po zakończeniu korzystania z bezpiecznej tablicy zawsze należy ją zniszczyć przy użyciu funkcji SafeArrayDestroy, niezależnie od tego, czy utworzono bezpieczną tablicę, czy odebrano ją z metody klienta automatyzacji interfejsu użytkownika.
Kilka metod automatyzacji interfejsu użytkownika, w tym metod pobierania właściwości, takich jak GetCurrentPropertyValue, pobierają struktury VARIANT, które mogą zawierać struktury POINT lub UiaRect. POINT jest pakowany w VARIANT jako bezpieczna tablica liczb podwójnej precyzji (VT_R8), z elementem składowym x na indeksie 0, a elementem składowym y na indeksie 1. Podobnie, UiaRect jest zapakowany w VARIANT jako bezpieczna tablica elementów typu double z członami left, top, widthi height, znajdującymi się odpowiednio na indeksach od 0 do 3. W przypadku tablicy struktur UiaRect, bezpieczna tablica zawiera sekwencyjną tablicę czterech liczb zmiennoprzecinkowych dla każdej struktury UiaRect. Lewa , górna , szerokość oraz wysokość składowych pierwszego UiaRect zajmują indeksy od 0 do 3, składowe drugiego prostokąta zajmują indeksy od 4 do 7 itd.
Interfejs IUIAutomation zawiera następujące metody umożliwiające konwersję między a różnymi innymi typami danych.
| Metoda | Opis |
|---|---|
| IUIAutomation::IntNativeArrayToSafeArray | Konwertuje tablicę liczb całkowitych na SAFEARRAY. |
| IUIAutomation::IntSafeArrayToNativeArray | Konwertuje SAFEARRAY liczb całkowitych na tablicę. |
| IUIAutomation::SafeArrayToRectNativeArray | Konwertuje SAFEARRAY, która zawiera współrzędne prostokąta, na tablicę typu RECT. |
Dostawców
Dostawca musi zaimplementować wiele metod interfejsu, które usługa Automatyzacja interfejsu użytkownika wywołuje w celu pobrania informacji od dostawcy. Wiele razy te informacje składają się z tablicy wartości. Aby zwrócić tablicę z powrotem do automatyzacji interfejsu użytkownika, dostawca musi spakować tablicę w strukturę SAFEARRAY. Elementy tablicy muszą mieć oczekiwany typ danych i muszą być wyświetlane w oczekiwanej kolejności.
Tematy pokrewne