Condividi tramite


Funzioni globali Registry e TypeLib

Queste funzioni forniscono il supporto per il caricamento e la registrazione di una libreria dei tipi.

Importante

Le funzioni elencate nelle tabelle seguenti non possono essere usate nelle applicazioni eseguite in Windows Runtime.

Nome Descrizione
AfxRegCreateKey Crea la chiave del Registro di sistema specificata.
AfxRegDeleteKey Elimina la chiave del Registro di sistema specificata.
AfxRegisterPreviewHandler Helper per registrare un gestore di anteprima.
AfxUnregisterPreviewHandler Helper per annullare la registrazione di un gestore di anteprima.
AtlRegisterTypeLib Questa funzione viene chiamata per registrare una libreria dei tipi.
AtlUnRegisterTypeLib Questa funzione viene chiamata per annullare la registrazione di una libreria dei tipi
AfxRegOpenKey Apre la chiave del Registro di sistema specificata.
AfxRegOpenKeyEx Apre la chiave del Registro di sistema specificata.
AtlLoadTypeLib Questa funzione viene chiamata per caricare una libreria dei tipi.
AtlUpdateRegistryFromResourceD Questa funzione viene chiamata per aggiornare il Registro di sistema dalla risorsa specificata.
RegistryDataExchange Questa funzione viene chiamata per leggere o scrivere nel Registro di sistema. Chiamato dalle macro di Scambio dati del Registro di sistema.

Queste funzioni controllano il nodo del Registro di sistema usato dal programma per archiviare le informazioni.

Nome Descrizione
AtlGetPerUserRegistration Recupera un valore che indica se l'applicazione reindirizza l'accesso del Registro di sistema al nodo HKEY_CURRENT_USER ( HKCU).
AtlSetPerUserRegistration Imposta un valore che indica se l'applicazione reindirizza l'accesso al Registro di sistema al nodo HKEY_CURRENT_USER ( HKCU).

Requisiti

Intestazione: atlbase.h

AtlGetPerUserRegistration

Usare questa funzione per determinare se l'applicazione reindirizza l'accesso del Registro di sistema al nodo HKEY_CURRENT_USER (HKCU).

Sintassi

ATLINLINE ATLAPI AtlGetPerUserRegistration(bool* pEnabled);

Parametri

pEnabled
[out] TRUE indica che le informazioni del Registro di sistema sono indirizzate al nodo HKCU ; FALSE indica che l'applicazione scrive le informazioni del Registro di sistema nel nodo predefinito. Il nodo predefinito è HKEY_CLASSES_ROOT (HKCR).

Valore restituito

S_OK se il metodo ha esito positivo; in caso contrario, se si verifica un errore, il codice di errore HRESULT.

Osservazioni:

Il reindirizzamento del Registro di sistema non è abilitato per impostazione predefinita. Se si abilita questa opzione, l'accesso al Registro di sistema viene reindirizzato a HKEY_CURRENT_USER\Software\Classes.

Il reindirizzamento non è globale. Solo i framework MFC e ATL sono interessati da questo reindirizzamento del Registro di sistema.

Requisiti

Intestazione: atlbase.h

AfxRegCreateKey

Crea la chiave del Registro di sistema specificata.

Sintassi

LONG AFXAPI AfxRegCreateKey(HKEY hKey, LPCTSTR lpSubKey, PHKEY phkResult, CAtlTransactionManager* pTM = NULL);

Parametri

hKey
Handle per una chiave del Registro di sistema aperta.

lpSubKey
Nome di una chiave che questa funzione apre o crea.

phkResult
Puntatore a una variabile che riceve un handle per la chiave aperta o creata.

pTM
Puntatore a un oggetto CAtlTransactionManager.

Valore restituito

Se la funzione ha esito positivo, il valore restituito è ERROR_SUCCESS. Se la funzione ha esito negativo, il valore restituito è un codice di errore diverso da zero definito in Winerror.h.

Requisiti

Intestazione: afxpriv.h

AfxRegDeleteKey

Elimina la chiave del Registro di sistema specificata.

Sintassi

LONG AFXAPI AfxRegDeleteKey(HKEY hKey, LPCTSTR lpSubKey, CAtlTransactionManager* pTM = NULL);

Parametri

hKey
Handle per una chiave del Registro di sistema aperta.

lpSubKey
Nome della chiave da eliminare.

pTM
Puntatore a un oggetto CAtlTransactionManager.

Valore restituito

Se la funzione ha esito positivo, il valore restituito è ERROR_SUCCESS. Se la funzione ha esito negativo, il valore restituito è un codice di errore diverso da zero definito in Winerror.h.

Requisiti

Intestazione: afxpriv.h

Helper per registrare un gestore di anteprima.

Sintassi

BOOL AFXAPI AfxRegisterPreviewHandler(LPCTSTR lpszCLSID, LPCTSTR lpszShortTypeName, LPCTSTR lpszFilterExt);

Parametri

lpszCLSID
Specifica il CLSID del gestore.

lpszShortTypeName
Specifica il ProgID del gestore.

lpszFilterExt
Specifica l'estensione di file registrata con questo gestore.

Requisiti

Intestazione: afxdisp.h

AtlRegisterTypeLib

Questa funzione viene chiamata per registrare una libreria dei tipi.

ATLAPI AtlRegisterTypeLib(HINSTANCE hInstTypeLib, LPCOLESTR lpszIndex);

Parametri

hInstTypeLib
Handle per l'istanza del modulo.

lpszIndex
Stringa nel formato "\\N", dove N è l'indice intero della risorsa libreria dei tipi. Può essere NULL se non è necessario alcun indice.

Valore restituito

Restituisce S_OK in caso di esito positivo o errore HRESULT in caso di errore.

Osservazioni:

Questa funzione helper viene utilizzata da AtlComModuleUnregisterServer e CAtlComModule::RegisterTypeLib.

Requisiti

Intestazione: atlbase.h

AfxRegOpenKey

Apre la chiave del Registro di sistema specificata.

Sintassi

LONG AFXAPI AfxRegOpenKey(HKEY hKey, LPCTSTR lpSubKey, PHKEY phkResult, CAtlTransactionManager* pTM = NULL);

Parametri

hKey
Handle per una chiave del Registro di sistema aperta.

lpSubKey
Nome di una chiave che questa funzione apre o crea.

phkResult
Puntatore a una variabile che riceve un handle per la chiave creata.

pTM
Puntatore a un oggetto CAtlTransactionManager.

Valore restituito

Se la funzione ha esito positivo, il valore restituito è ERROR_SUCCESS. Se la funzione ha esito negativo, il valore restituito è un codice di errore diverso da zero definito in Winerror.h.

Requisiti

Intestazione: afxpriv.h

AfxRegOpenKeyEx

Apre la chiave del Registro di sistema specificata.

Sintassi

LONG AFXAPI AfxRegOpenKeyEx(HKEY hKey, LPCTSTR lpSubKey, DWORD ulOptions, REGSAM samDesired, PHKEY phkResult, CAtlTransactionManager* pTM = NULL);

Parametri

hKey
Handle per una chiave del Registro di sistema aperta.

lpSubKey
Nome di una chiave che questa funzione apre o crea.

ulOptions
Questo parametro è riservato e deve essere zero.

samDesired
Maschera che specifica i diritti di accesso desiderati per la chiave.

phkResult
Puntatore a una variabile che riceve un handle per la chiave aperta.

pTM
Puntatore a un oggetto CAtlTransactionManager.

Valore restituito

Se la funzione ha esito positivo, il valore restituito è ERROR_SUCCESS. Se la funzione ha esito negativo, il valore restituito è un codice di errore diverso da zero definito in Winerror.h.

Requisiti

Intestazione: afxpriv.h

AfxUnregisterPreviewHandler

Helper per annullare la registrazione di un gestore di anteprima.

Sintassi

BOOL AFXAPI AfxUnRegisterPreviewHandler(LPCTSTR lpszCLSID);

Parametri

lpszCLSID
Specifica il CLSID del gestore da annullare la registrazione.

Requisiti

Intestazione: afxdisp.h

AtlSetPerUserRegistration

Imposta un valore che indica se l'applicazione reindirizza l'accesso del Registro di sistema al nodo HKEY_CURRENT_USER (HKCU).

Sintassi

ATLINLINE ATLAPI AtlSetPerUserRegistration(bool bEnable);

Parametri

bEnable
[in] TRUE indica che le informazioni del Registro di sistema sono indirizzate al nodo HKCU ; FALSE indica che l'applicazione scrive le informazioni del Registro di sistema nel nodo predefinito. Il nodo predefinito è HKEY_CLASSES_ROOT (HKCR).

Valore restituito

S_OK se il metodo ha esito positivo; in caso contrario, se si verifica un errore, il codice di errore HRESULT.

Osservazioni:

Il reindirizzamento del Registro di sistema non è abilitato per impostazione predefinita. Se si abilita questa opzione, l'accesso al Registro di sistema viene reindirizzato a HKEY_CURRENT_USER\Software\Classes.

Il reindirizzamento non è globale. Solo i framework MFC e ATL sono interessati da questo reindirizzamento del Registro di sistema.

Requisiti

Intestazione: atlbase.h

AtlUnRegisterTypeLib

Questa funzione viene chiamata per annullare la registrazione di una libreria dei tipi.

Sintassi

ATLAPI AtlUnRegisterTypeLib(
    HINSTANCE hInstTypeLib,
    LPCOLESTR lpszIndex);

Parametri

hInstTypeLib
Handle per l'istanza del modulo.

lpszIndex
Stringa nel formato "\\N", dove N è l'indice intero della risorsa libreria dei tipi. Può essere NULL se non è necessario alcun indice.

Valore restituito

Restituisce S_OK in caso di esito positivo o errore HRESULT in caso di errore.

Osservazioni:

Questa funzione helper viene utilizzata da CAtlComModule::UnRegisterTypeLib e AtlComModuleUnregisterServer.

Requisiti

Intestazione: atlbase.h

AtlLoadTypeLib

Questa funzione viene chiamata per caricare una libreria dei tipi.

Sintassi

ATLINLINE ATLAPI AtlLoadTypeLib(
    HINSTANCE hInstTypeLib,
    LPCOLESTR lpszIndex,
    BSTR* pbstrPath,
    ITypeLib** ppTypeLib);

Parametri

hInstTypeLib
Handle per il modulo associato alla libreria dei tipi.

lpszIndex
Stringa nel formato "\\N", dove N è l'indice intero della risorsa libreria dei tipi. Può essere NULL se non è necessario alcun indice.

pbstrPath
In caso di esito positivo, contiene il percorso completo del modulo associato alla libreria dei tipi.

ppTypeLib
In caso di esito positivo, contiene un puntatore a un puntatore alla libreria dei tipi caricata.

Valore restituito

Restituisce S_OK in caso di esito positivo o errore HRESULT in caso di errore.

Osservazioni:

Questa funzione helper viene utilizzata da AtlRegisterTypeLib e AtlUnRegisterTypeLib.

AtlUpdateRegistryFromResourceD

Questa funzione è stata deprecata in Visual Studio 2013 ed è stata rimossa in Visual Studio 2015.

<removed>

RegistryDataExchange

Questa funzione viene chiamata per leggere o scrivere nel Registro di sistema.

Sintassi

HRESULT RegistryDataExchange(
    T* pT,
    enum RDXOperations rdxOp,
    void* pItem = NULL);

Parametri

Pt
Puntatore all'oggetto corrente.

rdxOp
Valore enumerazione che indica quale operazione deve essere eseguita dalla funzione. Per i valori consentiti, vedere la tabella nella sezione Osservazioni.

pItem
Puntatore ai dati da cui leggere o scrivere nel Registro di sistema. I dati possono anche rappresentare una chiave da eliminare dal Registro di sistema. Il valore predefinito è NULL.

Valore restituito

Restituisce S_OK in caso di esito positivo o errore HRESULT in caso di errore.

Osservazioni:

Le macro BEGIN_RDX_MAP e END_RDX_MAP espandere a una funzione che chiama RegistryDataExchange.

I possibili valori di enumerazione che indicano l'operazione che la funzione deve eseguire sono illustrati nella tabella seguente:

Valore enumerazione Operazione
eReadFromReg Legge i dati dal Registro di sistema.
eWriteToReg Scrivere dati nel Registro di sistema.
eDeleteFromReg Eliminare la chiave dal Registro di sistema.

Requisiti

Intestazione: atlbase.h

Vedi anche

Funzioni
Macro di scambio dati del Registro di sistema