StorageLayout 구조체(objidl.h)
StorageLayout 구조는 이름, 위치 및 길이를 포함한 단일 데이터 블록을 설명합니다. 복합 파일을 최적화하기 위해 애플리케이션 또는 레이아웃 도구는 ILayoutStorage::LayoutScript 호출에서 StorageLayout 구조의 배열을 전달합니다.
구문
typedef struct tagStorageLayout {
DWORD LayoutType;
OLECHAR *pwcsElementName;
LARGE_INTEGER cOffset;
LARGE_INTEGER cBytes;
} StorageLayout;
멤버
LayoutType
쓸 요소의 형식입니다. 값은 STGTY 열거형에서 가져옵니다. STGTY_STREAMpwcsElementName으로 명명된 데이터 블록을 읽는 것을 의미합니다. STGTY_STORAGEpwcsElementName에 지정된 스토리지를 여는 것을 의미합니다. STGTY_REPEAT 멀티미디어 애플리케이션에서 오디오, 비디오, 텍스트 및 기타 요소를 인터페이스하는 데 사용됩니다. 여는 STGTY_REPEAT 값은 뒤에 있는 요소가 지정된 횟수를 반복해야 한다는 것을 의미합니다. 닫는 STGTY_REPEAT 값은 반복할 요소의 끝을 표시합니다. 중첩된 STGTY_REPEAT 값 쌍이 허용됩니다.
pwcsElementName
스토리지 또는 스트림의 null로 종료된 유니코드 문자열 이름입니다. 요소가 하위 저장소 또는 포함된 개체인 경우 정규화된 스토리지 경로를 지정해야 합니다. 예를 들어 "RootStorageName\SubStorageName\Substream"입니다.
cOffset
LayoutType 멤버의 값이 STGTY_STREAM 경우 이 플래그는 pwscElementName 멤버에 명명된 steam의 시작 오프셋을 지정합니다.
LayoutType이 STGTY_STORAGE 경우 이 플래그를 0으로 설정해야 합니다.
LayoutType이 STGTY_REPEAT 경우 이 플래그를 0으로 설정해야 합니다.
cBytes
pwcsElementName에 명명된 데이터 블록의 길이(바이트)입니다.
LayoutType이 STGTY_STREAM경우 cBytes는 pwcsElementName으로 명명된 스트림에서 cOffset에서 읽을 바이트 수를 지정합니다.
LayoutType이 STGTY_STORAGE 경우 이 플래그는 무시됩니다.
LayoutType이 STGTY_REPEAT 경우 양의 cBytes는 반복 블록의 시작을 지정합니다. cBytes가 0인 STGTY_REPEAT 반복 블록의 끝을 표시합니다.
STG_TOEND 시작 블록 값은 각 스트림을 완전히 읽은 후 다음 블록의 요소를 반복하도록 지정합니다.
설명
StorageLayout 구조의 배열은 다음과 같이 나타날 수 있습니다.
StorageLayout arrScript[]=
// Read first 2k of "WordDocument" stream
{STGTY_STREAM,L"WordDocument",{0,0},{0,2048}},
//Test if "ObjectPool\88112233" storage exists
{STGTY_STORAGE,L"ObjectPool\\88112233",{0,0},{0,0}},
//Read 2k at offset 1048 of "WordDocument" stream
{STGTY_STREAM,L"WordDocument",{0,10480},{0,2048}},
//Interlace "Audio", "Video", and "Caption" streams
{STGTY_REPEAT,NULL,0,STG_TOEND},
{STGTY_STREAM,L"Audio", {0,0},{0,2048}}, // 2k of Audio
{STGTY_STREAM,L"Video", {0,0},{0,65536}}, // 64k of Video
{STGTY_STREAM,L"Caption", {0,0},{0,128}}, // 128b of text
{STGTY_REPEAT,NULL, {0,0},{0,0}}
};
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows 2000 Professional [데스크톱 앱 | UWP 앱] |
지원되는 최소 서버 | Windows 2000 Server [데스크톱 앱 | UWP 앱] |
머리글 | objidl.h |