CAtlTransactionManager 클래스
CAtlTransactionManager 클래스는 KTM(커널 트랜잭션 관리자) 함수에 래퍼를 제공합니다.
Important
이 클래스와 해당 멤버는 Windows 런타임에서 실행되는 애플리케이션에서 사용할 수 없습니다.
구문
class CAtlTransactionManager;
멤버
공용 생성자
속성 | 설명 |
---|---|
~CAtlTransactionManager | CAtlTransactionManager 소멸자입니다. |
CAtlTransactionManager | CAtlTransactionManager 생성자입니다. |
공용 메서드
이름 | 설명 |
---|---|
닫기 | 트랜잭션 핸들을 닫습니다. |
Commit | 트랜잭션을 커밋할 것을 요청합니다. |
만들기 | 트랜잭션 핸들을 만듭니다. |
CreateFile | 트랜잭션 작업으로 파일, 파일 스트림 또는 디렉터리를 만들거나 엽니다. |
DeleteFile | 트랜잭션 작업으로 기존 파일을 삭제합니다. |
FindFirstFile | 디렉터리에서 파일 또는 하위 디렉터리를 트랜잭션 작업으로 검색합니다. |
GetFileAttributes | 트랜잭션 작업으로 지정된 파일 또는 디렉터리의 파일 시스템 특성을 검색합니다. |
GetFileAttributesEx | 트랜잭션 작업으로 지정된 파일 또는 디렉터리의 파일 시스템 특성을 검색합니다. |
GetHandle | 트랜잭션 핸들을 반환합니다. |
IsFallback | 대체 호출을 사용할 수 있는지 여부를 결정합니다. |
MoveFile | 트랜잭션 작업으로 자식을 포함한 기존 파일 또는 디렉터리를 이동합니다. |
RegCreateKeyEx | 지정된 레지스트리 키를 만들어 트랜잭션에 연결합니다. 키가 이미 있는 경우 함수가 키를 엽니다. |
RegDeleteKey | 레지스트리의 지정된 플랫폼별 보기에서 하위 키와 해당 값을 트랜잭션 작업으로 삭제합니다. |
RegOpenKeyEx | 지정된 레지스트리 키를 열고 트랜잭션과 연결합니다. |
롤백 | 트랜잭션을 롤백할 것을 요청합니다. |
SetFileAttributes | 트랜잭션 작업으로 파일 또는 디렉터리의 특성을 설정합니다. |
보호된 데이터 멤버
속성 | 설명 |
---|---|
m_bFallback | 대체가 지원되는 경우 TRUE입니다. 그렇지 않으면 FALSE입니다. |
m_hTransaction | 트랜잭션 핸들입니다. |
설명
상속 계층 구조
요구 사항
헤더: atltransactionmanager.h
~CAtlTransactionManager
CAtlTransactionManager 소멸자입니다.
virtual ~CAtlTransactionManager();
설명
정상적인 처리에서는 트랜잭션이 자동으로 커밋되고 닫힙니다. 예외 해제 중에 소멸자가 호출되면 트랜잭션이 롤백되고 닫힙니다.
CAtlTransactionManager
CAtlTransactionManager 생성자입니다.
CAtlTransactionManager(BOOL bFallback = TRUE, BOOL bAutoCreateTransaction = TRUE);
매개 변수
bFallback
TRUE는 지원 대체를 나타냅니다. 트랜잭션된 함수가 실패하면 클래스는 자동으로 "비트랜잭션" 함수를 호출합니다. FALSE는 "대체" 호출이 없음을 나타냅니다.
bAutoCreateTransaction
TRUE는 트랜잭션 처리기가 생성자에서 자동으로 생성됨을 나타냅니다. FALSE는 그렇지 않음을 나타냅니다.
설명
닫기
트랜잭션 핸들을 닫습니다.
inline BOOL Close();
Return Value
성공하면 TRUE이고, 실패하면 FALSE입니다.
설명
이 래퍼는 함수를 호출합니다 CloseHandle
. 소멸자에서 메서드가 자동으로 호출됩니다.
Commit
트랜잭션을 커밋할 것을 요청합니다.
inline BOOL Commit();
Return Value
성공하면 TRUE이고, 실패하면 FALSE입니다.
설명
이 래퍼는 함수를 호출합니다 CommitTransaction
. 소멸자에서 메서드가 자동으로 호출됩니다.
만들기
트랜잭션 핸들을 만듭니다.
inline BOOL Create();
Return Value
성공하면 TRUE이고, 실패하면 FALSE입니다.
설명
이 래퍼는 함수를 호출합니다 CreateTransaction
. 다음을 확인합니다.
CreateFile을 사용하면
트랜잭션 작업으로 파일, 파일 스트림 또는 디렉터리를 만들거나 엽니다.
inline HANDLE CreateFile(
LPCTSTR lpFileName,
DWORD dwDesiredAccess,
DWORD dwShareMode,
LPSECURITY_ATTRIBUTES lpSecurityAttributes,
DWORD dwCreationDisposition,
DWORD dwFlagsAndAttributes,
HANDLE hTemplateFile);
매개 변수
lpFileName
만들거나 열 개체의 이름입니다.
dwDesiredAccess
읽기, 쓰기, 둘 다 또는 둘 다(0)로 요약할 수 있는 개체에 대한 액세스입니다. 가장 일반적으로 사용되는 값은 다음과 GENERIC_WRITE
GENERIC_READ | GENERIC_WRITE
같습니다GENERIC_READ
.
dwShareMode
개체의 공유 모드로, 0, FILE_SHARE_DELETE, FILE_SHARE_READ, FILE_SHARE_WRITE 읽거나, 쓰고, 모두 삭제하거나, 모두 삭제할 수 있습니다.
lpSecurityAttributes
선택적 보안 설명자를 포함하고 반환된 핸들을 자식 프로세스에서 상속할 수 있는지 여부를 결정하는 SECURITY_ATTRIBUTES 구조체에 대한 포인터입니다. 매개 변수는 NULL일 수 있습니다.
dwCreationDisposition
존재하고 존재하지 않는 파일에 대해 수행할 작업입니다. 이 매개 변수는 CREATE_ALWAYS, CREATE_NEW, OPEN_ALWAYS, OPEN_EXISTING 또는 TRUNCATE_EXISTING 결합할 수 없는 값 중 하나여야 합니다.
dwFlagsAndAttributes
파일 특성 및 플래그입니다. 이 매개 변수는 사용 가능한 파일 특성(FILE_ATTRIBUTE_*)의 조합을 포함할 수 있습니다. 다른 모든 파일 특성은 FILE_ATTRIBUTE_NORMAL 재정의합니다. 이 매개 변수는 버퍼링 동작, 액세스 모드 및 기타 특수 용도 플래그를 제어하기 위한 플래그(FILE_FLAG_*)의 조합을 포함할 수도 있습니다. 이러한 값은 모든 FILE_ATTRIBUTE_* 값과 결합됩니다.
hTemplateFile
GENERIC_READ 액세스 권한이 있는 템플릿 파일에 대한 유효한 핸들입니다. 템플릿 파일은 생성되는 파일에 대한 파일 특성 및 확장 특성을 제공합니다. 이 매개 변수는 NULL일 수 있습니다.
Return Value
개체에 액세스하는 데 사용할 수 있는 핸들을 반환합니다.
설명
이 래퍼는 함수를 호출합니다 CreateFileTransacted
.
DeleteFile
트랜잭션 작업으로 기존 파일을 삭제합니다.
inline BOOL DeleteFile(LPCTSTR lpFileName);
매개 변수
lpFileName
삭제할 파일의 이름입니다.
설명
이 래퍼는 함수를 호출합니다 DeleteFileTransacted
.
FindFirstFile
디렉터리에서 파일 또는 하위 디렉터리를 트랜잭션 작업으로 검색합니다.
inline HANDLE FindFirstFile(
LPCTSTR lpFileName,
WIN32_FIND_DATA* pNextInfo);
매개 변수
lpFileName
검색할 디렉터리 또는 경로 및 파일 이름입니다. 이 매개 변수에는 별표(*) 또는 물음표()와 같은 와일드카드 문자가 포함될 수 있습니다.
pNextInfo
찾은 파일 또는 하위 디렉터리에 대한 정보를 수신하는 WIN32_FIND_DATA 구조체에 대한 포인터입니다.
Return Value
함수가 성공하면 반환 값은 후속 호출 FindNextFile
에 사용되는 검색 핸들입니다 FindClose
. 함수가 lpFileName 매개 변수의 검색 문자열에서 파일을 찾지 못하거나 실패하면 반환 값이 INVALID_HANDLE_VALUE.
설명
이 래퍼는 함수를 호출합니다 FindFirstFileTransacted
.
GetFileAttributes
트랜잭션 작업으로 지정된 파일 또는 디렉터리의 파일 시스템 특성을 검색합니다.
inline DWORD GetFileAttributes(LPCTSTR lpFileName);
매개 변수
lpFileName
파일 또는 디렉터리의 이름입니다.
설명
이 래퍼는 함수를 호출합니다 GetFileAttributesTransacted
.
GetFileAttributesEx
트랜잭션 작업으로 지정된 파일 또는 디렉터리의 파일 시스템 특성을 검색합니다.
inline BOOL GetFileAttributesEx(
LPCTSTR lpFileName,
GET_FILEEX_INFO_LEVELS fInfoLevelId,
LPVOID lpFileInformation);
매개 변수
lpFileName
파일 또는 디렉터리의 이름입니다.
fInfoLevelId
검색할 특성 정보의 수준입니다.
lpFileInformation
특성 정보를 받는 버퍼에 대한 포인터입니다. 이 버퍼에 저장된 특성 정보의 형식은 fInfoLevelId 값 에 따라 결정됩니다. fInfoLevelId 매개 변수가 GetFileExInfoStandard인 경우 이 매개 변수는 WIN32_FILE_ATTRIBUTE_DATA 구조를 가리킵니다.
설명
이 래퍼는 함수를 호출합니다 GetFileAttributesTransacted
.
GetHandle
트랜잭션 핸들을 반환합니다.
HANDLE GetHandle() const;
Return Value
클래스에 대한 트랜잭션 핸들을 반환합니다. 핸들에 CAtlTransactionManager
연결되지 않은 경우 NULL을 반환합니다.
설명
IsFallback
대체 호출을 사용할 수 있는지 여부를 결정합니다.
BOOL IsFallback() const;
Return Value
반환 TRUE는 대체 호출을 지원하는 클래스입니다. 그렇지 않으면 FALSE입니다.
설명
m_bFallback
대체가 지원되는 경우 TRUE입니다. 그렇지 않으면 FALSE입니다.
BOOL m_bFallback;
설명
m_hTransaction
트랜잭션 핸들입니다.
HANDLE m_hTransaction;
설명
MoveFile
트랜잭션 작업으로 자식을 포함한 기존 파일 또는 디렉터리를 이동합니다.
inline BOOL MoveFile(LPCTSTR lpOldFileName, LPCTSTR lpNewFileName);
매개 변수
lpOldFileName
로컬 컴퓨터에 있는 기존 파일 또는 디렉터리의 현재 이름입니다.
lpNewFileName
파일 또는 디렉터리의 새 이름입니다. 이 이름은 아직 존재하지 않아야 합니다. 새 파일이 다른 파일 시스템 또는 드라이브에 있을 수 있습니다. 새 디렉터리가 동일한 드라이브에 있어야 합니다.
설명
이 래퍼는 함수를 호출합니다 MoveFileTransacted
.
RegCreateKeyEx
지정된 레지스트리 키를 만들어 트랜잭션에 연결합니다. 키가 이미 있는 경우 함수가 키를 엽니다.
inline LSTATUS RegCreateKeyEx(
HKEY hKey,
LPCTSTR lpSubKey,
DWORD dwReserved,
LPTSTR lpClass,
DWORD dwOptions,
REGSAM samDesired,
CONST LPSECURITY_ATTRIBUTES lpSecurityAttributes,
PHKEY phkResult,
LPDWORD lpdwDisposition);
매개 변수
hKey
열린 레지스트리 키에 대한 핸들입니다.
lpSubKey
이 함수가 열거나 만드는 하위 키의 이름입니다.
dwReserved
이 매개 변수는 예약되어 있으며 0이어야 합니다.
lpClass
이 키의 사용자 정의 클래스입니다. 이 매개 변수는 무시될 수 있습니다. 이 매개 변수는 NULL일 수 있습니다.
dwOptions
이 매개 변수는 REG_OPTION_BACKUP_RESTORE, REG_OPTION_NON_VOLATILE 또는 REG_OPTION_VOLATILE 값 중 하나일 수 있습니다.
samDesired
키에 대한 액세스 권한을 지정하는 마스크입니다.
lpSecurityAttributes
반환된 핸들이 자식 프로세스에 의해 상속되는지 여부를 결정하는 SECURITY_ATTRIBUTES 구조에 대한 포인터입니다. lpSecurityAttributes가 NULL이면 핸들을 상속할 수 없습니다.
phkResult
열려 있거나 만든 키에 대한 핸들을 받는 변수에 대한 포인터입니다. 키가 미리 정의된 레지스트리 키 중 하나가 아닌 경우 핸들 사용을 마친 후 함수를 호출 RegCloseKey
합니다.
lpdwDisposition
처리 값 REG_CREATED_NEW_KEY 또는 REG_OPENED_EXISTING_KEY 중 하나를 수신하는 변수에 대한 포인터입니다.
Return Value
함수가 성공하면 반환 값이 ERROR_SUCCESS. 함수가 실패하면 반환 값은 Winerror.h에 정의된 0이 아닌 오류 코드입니다.
설명
이 래퍼는 함수를 호출합니다 RegCreateKeyTransacted
.
RegDeleteKey
레지스트리의 지정된 플랫폼별 보기에서 하위 키와 해당 값을 트랜잭션 작업으로 삭제합니다.
inline LSTATUS RegDeleteKeyEx(HKEY hKey, LPCTSTR lpSubKey);
매개 변수
hKey
열린 레지스트리 키에 대한 핸들입니다.
lpSubKey
삭제할 키의 이름입니다.
Return Value
함수가 성공하면 반환 값이 ERROR_SUCCESS. 함수가 실패하면 반환 값은 Winerror.h에 정의된 0이 아닌 오류 코드입니다.
설명
이 래퍼는 함수를 호출합니다 RegDeleteKeyTransacted
.
RegOpenKeyEx
지정된 레지스트리 키를 열고 트랜잭션과 연결합니다.
inline LSTATUS RegOpenKeyEx(
HKEY hKey,
LPCTSTR lpSubKey,
DWORD ulOptions,
REGSAM samDesired,
PHKEY phkResult);
매개 변수
hKey
열린 레지스트리 키에 대한 핸들입니다.
lpSubKey
열 레지스트리 하위 키의 이름입니다.
ulOptions
이 매개 변수는 예약되어 있으며 0이어야 합니다.
samDesired
키에 대한 액세스 권한을 지정하는 마스크입니다.
phkResult
열려 있거나 만든 키에 대한 핸들을 받는 변수에 대한 포인터입니다. 키가 미리 정의된 레지스트리 키 중 하나가 아닌 경우 핸들 사용을 마친 후 함수를 호출 RegCloseKey
합니다.
Return Value
함수가 성공하면 반환 값이 ERROR_SUCCESS. 함수가 실패하면 반환 값은 Winerror.h에 정의된 0이 아닌 오류 코드입니다.
설명
이 래퍼는 함수를 호출합니다 RegOpenKeyTransacted
.
롤백
트랜잭션을 롤백할 것을 요청합니다.
inline BOOL Rollback();
Return Value
성공하면 TRUE이고, 실패하면 FALSE입니다.
설명
이 래퍼는 함수를 호출합니다 RollbackTransaction
.
SetFileAttributes
트랜잭션 작업으로 파일 또는 디렉터리의 특성을 설정합니다.
inline BOOL SetFileAttributes(LPCTSTR lpFileName, DWORD dwAttributes);
매개 변수
lpFileName
파일 또는 디렉터리의 이름입니다.
dwAttributes
파일에 대해 설정할 파일 특성입니다. 자세한 내용은 SetFileAttributesTransacted를 참조하세요.
설명
이 래퍼는 함수를 호출합니다 SetFileAttributesTransacted
.