컨테이너: 복합 파일
이 문서에서는 구성 요소 및 구현 복합 파일 및 장점 및 단점의 OLE 응용 프로그램에서 복합 파일을 사용 하 여 설명 합니다.
복합 파일 OLE에서 필수적인 부분입니다.이러한 데이터 전송과 OLE 문서 저장을 용이 하 게 하는 데 사용 됩니다.복합 파일은 액티브 구조적된 저장소 모델의 구현입니다.일관 된 인터페이스를 해당 지원 serialization 저장소, 스트림 또는 파일 개체에 존재합니다.복합 파일 지원 Microsoft Foundation 클래스 라이브러리의 클래스에서 COleStreamFile 및 COleDocument.
[!참고]
복합 파일을 사용 하 여 정보 또는 복합 문서 OLE 문서 된다는 의미 하지 않습니다.복합 파일을 복합 문서, OLE 문서 및 기타 데이터를 저장 하는 방법 중 하나일 뿐입니다.
복합 파일의 구성 요소
세 개체 형식을 OLE 복합 파일 구현을 사용: 스트림 개체, 저장소 개체 및 ILockBytes 개체입니다.이러한 개체는 다음과 같은 점에서 표준 파일 시스템의 구성 요소를 유사합니다.
Stream 개체 파일과 마찬가지로 모든 형식의 데이터를 저장합니다.
저장소 개체는 디렉터리와 마찬가지로 다른 저장소와 스트림 개체를 포함할 수 있습니다.
LockBytes 저장소 객체와 실제 하드웨어 간의 인터페이스를 나타내는 개체입니다.어떻게 실제 바이트 어떤 저장 장치에 쓰여집니다을 결정은 LockBytes 개체에는 액세스, 하드 드라이브 또는 전역 메모리 영역 등.에 대 한 자세한 내용은 LockBytes 개체와 ILockBytes 인터페이스를 참조 하십시오은 OLE 프로그래머용 참조.
복합 파일의 장점 및 단점
복합 파일 이전 파일 저장 방법으로 혜택을 사용할 수 없습니다를 제공합니다.다음과 같은 이점이 제공됩니다.
증분 파일 액세스
파일 액세스 모드입니다.
파일 구조의 표준화 합니다.
복합 파일의 잠재적인 단점은-플로피 디스크 저장과 관련 된 큰 크기와 성능 문제-해야 수 고려해 야 결정 여부를 응용 프로그램에서 사용 합니다.
증분 파일 액세스
증분 파일 액세스 복합 파일을 사용 하는 자동 이점이 있습니다.복합 파일 "파일 내의 파일 시스템"으로 볼 수 있기 때문에 전체 파일을 로드 하지 않고도 스트림이나 저장소와 같은 개별 객체 유형에 액세스할 수 있습니다.이 응용 프로그램은 사용자가 편집을 위해 새 개체에 액세스 해야 하는 시간 대폭 줄일 수 있습니다.비슷한 이점을 동일한 개념에 기반한 증분 업데이트 합니다.단지 하나의 개체에 변경 내용을 저장 하려면 전체 파일을 저장 하는 대신 OLE 사용자가 편집한 스트림 개체나 저장소 개체만을 저장 됩니다.
파일 액세스 모드
개체의 복합 파일 변경 내용을 디스크로 커밋하는 경우 확인할 수 있게 복합 파일을 사용 하는 또 다른 이점은입니다.변경 내용이 커밋될 때에 파일, 트랜잭션 또는 직접 액세스 하는 모드를 결정 합니다.
2 단계 커밋 작업 트랜잭션된 모드를 사용 하 여 복합 파일에 저장 하거나 변경 내용을 취소할 사용자를 선택할 때까지 기존 및 트 랜를 유지 함으로써 개체를 변경 합니다.
직접 모드를 나중에 실행 취소할 수 없이 만들어진 문서의 변경 내용을 포함 합니다.
액세스 모드에 대 한 자세한 내용은 OLE 프로그래머용 참조.
표준화
복합 파일 구조의 표준화 된 OLE 응용 프로그램의 실제 파일을 만든 응용 프로그램에서 전혀 모르는 만든 복합 파일을 탐색 하 여 다른 OLE 응용 프로그램을 수 있습니다.
크기 및 성능 고려 사항
복합 파일 저장소 구조 및 점진적으로 데이터를 저장 하는 기능이 복잡 하기 때문에이 형식을 사용 하 여 파일을 다른 파일 보다 클 수 경향이 구조화 되지 않은 사용 하거나 저장소 "플랫 파일".복합 파일을 사용 하 여 응용 프로그램이 자주 로드 하 고 파일을 저장 하는 경우 파일 크기를 늘리려면 noncompound 파일 보다 훨씬 빠르게 발생할 수 있습니다.복합 파일이 커질 수 있기 때문에 플로피 디스크에서 로드 하 고 저장 된 파일에 대 한 액세스 시간 또한, 느려질 파일로 인해 달라질 수 있습니다.
성능에 영향을 미치는 또 다른 문제는 복합 파일 조각화 라고 합니다.복합 파일의 크기는 사용 하 여 파일의 첫 번째 및 마지막 디스크 섹터의 차이로 결정 됩니다.조각난된 파일 데이터를 포함 하지 않지만 크기를 계산할 때 계산 되는 많은 빈 공간 영역을 포함할 수 있습니다.복합 파일의 사용 기간 동안 이러한 영역 삽입 또는 삭제 개체 저장소에 만들어집니다.
복합 파일 형식에 대 한 데이터를 사용 하 여
문서에서 파생 된 클래스는 응용 프로그램을 성공적으로 만들기 후 COleDocument, 주 문서 생성자를 호출 하도록 EnableCompoundFile.응용 프로그램 마법사는 OLE 컨테이너 응용 프로그램을 만들면이 호출이 삽입 됩니다.
에 OLE 프로그래머용 참조를 참조 하십시오 IStream, IStorage, 및 ILockBytes.