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� S� 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.