Condividi tramite


Modalità di utilizzo degli ID figlio nei parametri

Questo argomento descrive i parametri di input, i parametri di output e i casi speciali per interpretare gli ID figlio restituiti dai metodi IAccessi .

Parametri di input

Molte delle funzioni di Accessibilità attiva Microsoft e la maggior parte delle proprietà IAccessi accettano una struttura VARIANT come parametro di input. Per la maggior parte delle proprietà IAccessi , questo parametro consente agli sviluppatori client di specificare se vogliono informazioni sull'oggetto stesso o su uno degli elementi semplici dell'oggetto.

L'accessibilità attiva Microsoft fornisce la costante CHILDID_SELF per indicare che sono necessarie informazioni sull'oggetto stesso. Per ottenere informazioni su un elemento semplice, gli sviluppatori client specificano l'ID figlio nel parametro VARIANT .

Quando si inizializza un parametro VARIANT , assicurarsi di specificare VT_I4 nel membro vt oltre a specificare il valore ID figlio (o CHILDID_SELF) nel membro lVal .

Ad esempio, per ottenere il nome di un oggetto e non uno degli elementi figlio dell'oggetto, inizializzare VARIANT per il primo parametro di IAccess::get_accName ( CHILDID_SELF nel membro lVal e VT_I4 nel membro vt ) e quindi chiamare IAccess::get_accName.

Parametri di output

Diverse funzioni e metodi IAccessi hanno un parametro di output VARIANT* che contiene un ID figlio o un puntatore dell'interfaccia IDispatch a un oggetto figlio. Esistono passaggi diversi che un client deve eseguire a seconda che ricevano un ID figlio VT_I4 (elemento semplice) o un puntatore dell'interfaccia IDispatch con CHILDID_SELF (oggetto completo). Seguendo questa procedura verrà fornito un puntatore dell'interfaccia IAccessibile e un ID figlio che consente ai client di usare i metodi e le proprietà IAccessi . Questi passaggi si applicano ai metodi IAccess::accHitTest, get_accFocus e get_accSelection . Si applicano anche alle funzioni client AccessibleObjectFromEvent, AccessibleObjectFromPoint e AccessibleObjectFromWindow.

Nella tabella seguente sono elencati i possibili risultati restituiti e i passaggi di post-elaborazione necessari in modo che i client dispongano di un puntatore dell'interfaccia IAccessibile e dell'ID figlio.

Risultato restituito Post-elaborazione per il valore restituito
Puntatore dell'interfaccia IDispatch Si tratta di un oggetto completo. Chiamare QueryInterface per accedere al puntatore dell'interfaccia IAccessibile .
Usare il puntatore dell'interfaccia IAccessibile con CHILDID_SELF per accedere ai metodi e alle proprietà IAccessi .
VT_I4 ID figlio Chiamare IAccess::get_accChild usando l'ID figlio per verificare se si dispone di un puntatore dell'interfaccia IDispatch . Se si ottiene un puntatore dell'interfaccia IDispatch , usarlo con CHILDID_SELF per accedere ai metodi e alle proprietà dell'interfaccia IAccessibile .
Se la chiamata a get_accChild ha esito negativo, si dispone di un elemento semplice. Usare il puntatore dell'interfaccia IAccess originale (quello usato nella chiamata al metodo o alla funzione menzionato in precedenza) con l'ID figlio VT_I4 restituito dalla chiamata.

Prima di poter usare un parametro VARIANT , è necessario inizializzarlo chiamando la funzione VariantInit Component Object Model (COM). Al termine della struttura, chiamare VariantClear per liberare la memoria riservata per tale VARIANT.

Casi speciali

Esistono eccezioni alle linee guida della tabella precedente, ad esempio quando viene restituito un ID figlio dal metodo IAccess::accHitTest . I server devono restituire un'interfaccia IDispatch se il figlio è un oggetto accessibile. Se un ID figlio viene restituito da IAccess::accHitTest, il figlio è un elemento semplice.

Inoltre, ci sono casi speciali per accNavigate. Per altre informazioni, vedere IAccess::accNavigate e Spostamento spaziale e logico.

Informazioni concettuali

Interfaccia IDispatch

Struttura VARIANT