Classe CAtlTransactionManager
La classe CAtlTransactionManager fornisce un wrapper alle funzioni KTM (Kernel Transaction Manager).
Importante
Questa classe e i relativi membri non possono essere usati nelle applicazioni eseguite in Windows Runtime.
Sintassi
class CAtlTransactionManager;
Membri
Costruttori pubblici
Nome | Descrizione |
---|---|
~CAtlTransactionManager | Distruttore CAtlTransactionManager. |
CAtlTransactionManager | Costruttore CAtlTransactionManager. |
Metodi pubblici
Nome | Descrizione |
---|---|
Chiudi | Chiude un handle di transazione. |
Eseguire il commit | Richiede il commit della transazione. |
Crea | Crea l'handle di transazione. |
CreateFile | Crea o apre un file, un flusso di file o una directory come operazione transazionata. |
DeleteFile | Elimina un file esistente come operazione transazionata. |
FindFirstFile | Cerca in una directory un file o una sottodirectory come operazione transazionata. |
GetFileAttributes | Recupera gli attributi del file system per un file o una directory specificata come operazione transazionata. |
GetFileAttributesEx | Recupera gli attributi del file system per un file o una directory specificata come operazione transazionata. |
GetHandle | Restituisce l'handle di transazione. |
IsFallback | Determina se le chiamate di fallback sono abilitate. |
MoveFile | Sposta un file esistente o una directory, inclusi i relativi elementi figlio, come operazione transazionata. |
RegCreateKeyEx | Crea la chiave del Registro di sistema specificata e la associa a una transazione. Se la chiave esiste già, la funzione la apre. |
RegDeleteKey | Elimina una sottochiave e i relativi valori dalla vista specifica della piattaforma specificata del Registro di sistema come operazione transazionata. |
RegOpenKeyEx | Apre la chiave del Registro di sistema specificata e la associa a una transazione. |
Replica | Richiede il rollback della transazione. |
SetFileAttributes | Imposta gli attributi per un file o una directory come operazione transazionata. |
Membri dati protetti
Nome | Descrizione |
---|---|
m_bFallback | TRUE se il fallback è supportato; FALSE in caso contrario. |
m_hTransaction | Handle di transazione. |
Osservazioni:
Gerarchia di ereditarietà
Requisiti
Intestazione: atltransactionmanager.h
~CAtlTransactionManager
Distruttore CAtlTransactionManager.
virtual ~CAtlTransactionManager();
Osservazioni:
Nell'elaborazione normale, viene eseguito automaticamente il commit e la chiusura della transazione. Se il distruttore viene chiamato durante la rimozione di un'eccezione, viene eseguito il rollback e la chiusura della transazione.
CAtlTransactionManager
Costruttore CAtlTransactionManager.
CAtlTransactionManager(BOOL bFallback = TRUE, BOOL bAutoCreateTransaction = TRUE);
Parametri
bFallback
TRUE indica il fallback del supporto. Se la funzione transazionata ha esito negativo, la classe chiama automaticamente la funzione "non transazionata". FALSE indica nessuna chiamata di fallback.
bAutoCreateTransaction
TRUE indica che il gestore delle transazioni viene creato automaticamente nel costruttore. FALSE indica che non lo è.
Osservazioni:
Chiusura
Chiude l'handle della transazione.
inline BOOL Close();
Valore restituito
TRUE se l'operazione riesce; in caso contrario, FALSE.
Osservazioni:
Questo wrapper chiama la CloseHandle
funzione . Il metodo viene chiamato automaticamente nel distruttore.
Eseguire il commit
Richiede il commit della transazione.
inline BOOL Commit();
Valore restituito
TRUE se l'operazione riesce; in caso contrario, FALSE.
Osservazioni:
Questo wrapper chiama la CommitTransaction
funzione . Il metodo viene chiamato automaticamente nel distruttore.
Creazione
Crea l'handle di transazione.
inline BOOL Create();
Valore restituito
TRUE se l'operazione riesce; in caso contrario, FALSE.
Osservazioni:
Questo wrapper chiama la CreateTransaction
funzione . Verificare la presenza di
CreateFile
Crea o apre un file, un flusso di file o una directory come operazione transazionata.
inline HANDLE CreateFile(
LPCTSTR lpFileName,
DWORD dwDesiredAccess,
DWORD dwShareMode,
LPSECURITY_ATTRIBUTES lpSecurityAttributes,
DWORD dwCreationDisposition,
DWORD dwFlagsAndAttributes,
HANDLE hTemplateFile);
Parametri
lpFileName
Nome di un oggetto da creare o aprire.
dwDesiredAccess
Accesso all'oggetto, che può essere riepilogato come lettura, scrittura, entrambe o nessuna delle due (zero). I valori usati più comunemente sono GENERIC_READ
, GENERIC_WRITE
o entrambi: GENERIC_READ | GENERIC_WRITE
.
dwShareMode
La modalità di condivisione di un oggetto, che può essere letta, scritta, entrambe, eliminate, tutte queste o nessuna: 0, FILE_SHARE_DELETE, FILE_SHARE_READ, FILE_SHARE_WRITE.
lpSecurityAttributes
Puntatore a una struttura SECURITY_ATTRIBUTES che contiene un descrittore di sicurezza facoltativo e determina anche se l'handle restituito può essere ereditato dai processi figlio. Il parametro può essere NULL.
dwCreationDisposition
Azione da intraprendere sui file esistenti e non esistenti. Questo parametro deve essere uno dei valori seguenti, che non può essere combinato: CREATE_ALWAYS, CREATE_NEW, OPEN_ALWAYS, OPEN_EXISTING o TRUNCATE_EXISTING.
dwFlagsAndAttributes
Attributi e flag del file. Questo parametro può includere qualsiasi combinazione degli attributi di file disponibili (FILE_ATTRIBUTE_*). Tutti gli altri attributi di file sostituiscono FILE_ATTRIBUTE_NORMAL. Questo parametro può contenere anche combinazioni di flag (FILE_FLAG_*) per il controllo del comportamento di buffering, delle modalità di accesso e di altri flag speciali. Questi valori vengono combinati con qualsiasi valore FILE_ATTRIBUTE_*.
hTemplateFile
Handle valido per un file modello con il diritto di accesso GENERIC_READ. Il file modello fornisce attributi di file e attributi estesi per il file in fase di creazione. Questo parametro può essere NULL.
Valore restituito
Restituisce un handle che può essere utilizzato per accedere all'oggetto .
Osservazioni:
Questo wrapper chiama la CreateFileTransacted
funzione .
DeleteFile
Elimina un file esistente come operazione transazionata.
inline BOOL DeleteFile(LPCTSTR lpFileName);
Parametri
lpFileName
Nome del file da eliminare.
Osservazioni:
Questo wrapper chiama la DeleteFileTransacted
funzione .
FindFirstFile
Cerca in una directory un file o una sottodirectory come operazione transazionata.
inline HANDLE FindFirstFile(
LPCTSTR lpFileName,
WIN32_FIND_DATA* pNextInfo);
Parametri
lpFileName
La directory o il percorso e il nome del file da cercare. Questo parametro può includere caratteri jolly, ad esempio un asterisco (*) o un punto interrogativo ().
pNextInfo
Puntatore alla struttura WIN32_FIND_DATA che riceve informazioni su un file trovato o una sottodirectory.
Valore restituito
Se la funzione ha esito positivo, il valore restituito è un handle di ricerca usato in una chiamata successiva a FindNextFile
o FindClose
. Se la funzione ha esito negativo o non riesce a individuare i file dalla stringa di ricerca nel parametro lpFileName , il valore restituito viene INVALID_HANDLE_VALUE.
Osservazioni:
Questo wrapper chiama la FindFirstFileTransacted
funzione .
GetFileAttributes
Recupera gli attributi del file system per un file o una directory specificata come operazione transazionata.
inline DWORD GetFileAttributes(LPCTSTR lpFileName);
Parametri
lpFileName
Nome del file o della directory.
Osservazioni:
Questo wrapper chiama la GetFileAttributesTransacted
funzione .
GetFileAttributesEx
Recupera gli attributi del file system per un file o una directory specificata come operazione transazionata.
inline BOOL GetFileAttributesEx(
LPCTSTR lpFileName,
GET_FILEEX_INFO_LEVELS fInfoLevelId,
LPVOID lpFileInformation);
Parametri
lpFileName
Nome del file o della directory.
fInfoLevelId
Livello di informazioni sugli attributi da recuperare.
lpFileInformation
Puntatore a un buffer che riceve le informazioni sull'attributo. Il tipo di informazioni sugli attributi archiviate in questo buffer è determinato dal valore di fInfoLevelId. Se il parametro fInfoLevelId è GetFileExInfoStandard, questo parametro punta a una struttura WIN32_FILE_ATTRIBUTE_DATA.
Osservazioni:
Questo wrapper chiama la GetFileAttributesTransacted
funzione .
GetHandle
Restituisce l'handle di transazione.
HANDLE GetHandle() const;
Valore restituito
Restituisce l'handle di transazione per una classe. Restituisce NULL se l'oggetto CAtlTransactionManager
non è associato a un handle.
Osservazioni:
IsFallback
Determina se le chiamate di fallback sono abilitate.
BOOL IsFallback() const;
Valore restituito
Restituisce TRUE è la classe che supporta le chiamate di fallback. FALSE in caso contrario.
Osservazioni:
m_bFallback
TRUE se il fallback è supportato; FALSE in caso contrario.
BOOL m_bFallback;
Osservazioni:
m_hTransaction
Handle di transazione.
HANDLE m_hTransaction;
Osservazioni:
MoveFile
Sposta un file esistente o una directory, inclusi i relativi elementi figlio, come operazione transazionata.
inline BOOL MoveFile(LPCTSTR lpOldFileName, LPCTSTR lpNewFileName);
Parametri
lpOldFileName
Nome corrente del file o della directory esistente nel computer locale.
lpNewFileName
Nuovo nome per il file o la directory. Questo nome non deve esistere già. Un nuovo file può trovarsi in un file system o in un'unità diversa. Una nuova directory deve trovarsi nella stessa unità.
Osservazioni:
Questo wrapper chiama la MoveFileTransacted
funzione .
RegCreateKeyEx
Crea la chiave del Registro di sistema specificata e la associa a una transazione. Se la chiave esiste già, la funzione la apre.
inline LSTATUS RegCreateKeyEx(
HKEY hKey,
LPCTSTR lpSubKey,
DWORD dwReserved,
LPTSTR lpClass,
DWORD dwOptions,
REGSAM samDesired,
CONST LPSECURITY_ATTRIBUTES lpSecurityAttributes,
PHKEY phkResult,
LPDWORD lpdwDisposition);
Parametri
hKey
Handle per una chiave del Registro di sistema aperta.
lpSubKey
Nome di una sottochiave aperta o creata da questa funzione.
dwReserved
Questo parametro è riservato e deve essere zero.
lpClass
Classe definita dall'utente di questa chiave. Questo parametro può essere ignorato. Questo parametro può essere NULL.
dwOptions
Questo parametro può essere uno dei valori seguenti: REG_OPTION_BACKUP_RESTORE, REG_OPTION_NON_VOLATILE o REG_OPTION_VOLATILE.
samDesired
Maschera che specifica i diritti di accesso per la chiave.
lpSecurityAttributes
Puntatore a una struttura SECURITY_ATTRIBUTES che determina se l'handle restituito può essere ereditato dai processi figlio. Se lpSecurityAttributes è NULL, l'handle non può essere ereditato.
phkResult
Puntatore a una variabile che riceve un handle per la chiave aperta o creata. Se la chiave non è una delle chiavi del Registro di sistema predefinite, chiamare la RegCloseKey
funzione al termine dell'uso dell'handle.
lpdwDisposition
Puntatore a una variabile che riceve uno dei valori di eliminazione seguenti: REG_CREATED_NEW_KEY o REG_OPENED_EXISTING_KEY.
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.
Osservazioni:
Questo wrapper chiama la RegCreateKeyTransacted
funzione .
RegDeleteKey
Elimina una sottochiave e i relativi valori dalla vista specifica della piattaforma specificata del Registro di sistema come operazione transazionata.
inline LSTATUS RegDeleteKeyEx(HKEY hKey, LPCTSTR lpSubKey);
Parametri
hKey
Handle per una chiave del Registro di sistema aperta.
lpSubKey
Nome della chiave da eliminare.
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.
Osservazioni:
Questo wrapper chiama la RegDeleteKeyTransacted
funzione .
RegOpenKeyEx
Apre la chiave del Registro di sistema specificata e la associa a una transazione.
inline LSTATUS RegOpenKeyEx(
HKEY hKey,
LPCTSTR lpSubKey,
DWORD ulOptions,
REGSAM samDesired,
PHKEY phkResult);
Parametri
hKey
Handle per una chiave del Registro di sistema aperta.
lpSubKey
Nome della sottochiave del Registro di sistema da aprire.
ulOptions
Questo parametro è riservato e deve essere zero.
samDesired
Maschera che specifica i diritti di accesso per la chiave.
phkResult
Puntatore a una variabile che riceve un handle per la chiave aperta o creata. Se la chiave non è una delle chiavi del Registro di sistema predefinite, chiamare la RegCloseKey
funzione al termine dell'uso dell'handle.
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
Osservazioni:
Questo wrapper chiama la RegOpenKeyTransacted
funzione .
Rollback
Richiede il rollback della transazione.
inline BOOL Rollback();
Valore restituito
TRUE se l'operazione riesce; in caso contrario, FALSE.
Osservazioni:
Questo wrapper chiama la RollbackTransaction
funzione .
SetFileAttributes
Imposta gli attributi per un file o una directory come operazione transazionata.
inline BOOL SetFileAttributes(LPCTSTR lpFileName, DWORD dwAttributes);
Parametri
lpFileName
Nome del file o della directory.
dwAttributes
Attributi di file da impostare per il file. Per altre informazioni, vedere SetFileAttributesTransacted.
Osservazioni:
Questo wrapper chiama la SetFileAttributesTransacted
funzione .