22.2.1 Oggetti gestori del registro

Questo oggetto incapsula un oggetto Windows HKEY, chiudendolo in automatico quando questo viene distrutto. Per garantire la pulizia, è possibile chiamare sia il metodo Close() dell'oggetto che la funzione CloseKey().

Tutte le funzioni relative al registro di questo modulo restituiscono uno di questi oggetti.

Tutte le funzioni relative al registro di questo modulo che accettano un oggetto gestore, accettano anche un intero; comunque, l'utilizzo dell'oggetto gestore è incoraggiato.

L'oggetto gestore fornisce una semantica per __nonzero__(), così:

    if handle:
        print "Sì"
restituirà se il gestore è valido (non è stato chiuso o staccato).

Questo oggetto supporta anche la semantica del confronto, così gli oggetti gestori verranno valutati come uguali se si riferiscono al medesimo valore sottostante del gestore Windows.

Gli oggetti gestori possono essere convertiti in un intero (per esempio, utilizzando la funzione builtin int(), nel qual caso verrà restituito il valore sottostante del gestore di Windows. É possibile usare anche il metodo Detach() che restituirà l'intero gestore, e disconnetterà anche il gestore di Windows dall'oggetto gestore.

Close( )
Chiude il gestore di Windows sottostante.

Se il gestore è già chiuso, non viene sollevato alcun errore.

Detach( )
Stacca il gestore di Windows dall'oggetto gestore.

Il risultato è un intero (o un long su Windows a 64 bit) the contiene il valore del gestore prima che sia staccato. Se il gestore è già staccato o chiuso, il valore restituito sarà zero.

Dopo la chiamata a questa funzione, il gestore verrà effettivamente invalidato, ma il gestore non verrà chiuso. Si vorrà utilizzare questa funzione quando si ha la necessità che il gestore Win32 sottostante esista oltre la vita dell'oggetto gestore.

Vedete Circa questo documento... per informazioni su modifiche e suggerimenti.