IStream::Commit 메서드(objidl.h)
Commit 메서드를 사용하면 트랜잭션 모드에서 열린 스트림 개체에 대한 모든 변경 내용이 부모 스토리지에 반영됩니다. 스트림 개체가 직접 모드로 열려 있는 경우 IStream::Commit 은 모든 메모리 버퍼를 다음 수준 스토리지 개체로 플러시하는 것 외에는 아무런 효과가 없습니다. 스트림의 COM 복합 파일 구현은 트랜잭션 모드에서 스트림 열기를 지원하지 않습니다.
구문
HRESULT Commit(
[in] DWORD grfCommitFlags
);
매개 변수
[in] grfCommitFlags
스트림 개체에 대한 변경 사항이 커밋되는 방법을 제어합니다. 이러한 값의 정의는 STGC 열거형을 참조하세요.
반환 값
이 메서드는 이러한 값 중 하나를 반환할 수 있습니다.
반환 코드 | 설명 |
---|---|
S_OK | 스트림 개체에 대한 변경 내용이 부모 수준으로 성공적으로 커밋되었습니다. |
E_PENDING | 비동기 스토리지만 해당: 스트림 데이터의 일부 또는 전체를 현재 사용할 수 없습니다. |
STG_E_MEDIUMFULL | 스토리지 디바이스의 공간이 부족하여 커밋 작업이 실패했습니다. |
STG_E_REVERTED | 개체가 트랜잭션 트리에서 위의 되돌리기 작업에 의해 무효화되었습니다. |
설명
Commit 메서드는 트랜잭션 모드에서 열린 스트림 개체의 변경 내용이 부모 스토리지에 반영되도록 합니다. 스트림이 열렸거나 마지막으로 커밋된 이후의 변경 내용은 부모 스토리지 개체에 반영됩니다. 부모가 거래 모드로 열리면 나중에 부모가 되돌리기 이 스트림 개체에 대한 변경 내용을 롤백할 수 있습니다. 복합 파일 구현은 트랜잭션 모드에서 스트림 열기를 지원하지 않으므로 이 메서드는 메모리 버퍼를 플러시하는 것 외에는 거의 효과가 없습니다. 자세한 내용은 IStream - 복합 파일 구현을 참조하세요.
스트림이 직접 모드로 열려 있는 경우 이 메서드는 모든 메모리 버퍼가 기본 스토리지 개체로 플러시되었는지 확인합니다. 이는 기존 파일 시스템의 플러시와 비슷합니다.
IStream::Commit 메서드는 IStream 인터페이스의 구현이 기본 파일 시스템 API에 대한 래퍼인 경우 직접 모드 스트림에서 유용합니다. 이 경우 IStream::Commit 이 파일 시스템의 플러시 호출에 연결됩니다.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows 2000 Professional [데스크톱 앱 | UWP 앱] |
지원되는 최소 서버 | Windows 2000 Server [데스크톱 앱 | UWP 앱] |
대상 플랫폼 | Windows |
헤더 | objidl.h |
라이브러리 | Uuid.lib |
DLL | Ole32.dll |