StorageLayout 構造体 (objidl.h)
StorageLayout 構造体は、名前、場所、長さを含む 1 つのデータ ブロックを記述します。 複合ファイルを最適化するために、アプリケーションまたはレイアウト ツールは、ILayoutStorage::LayoutScript の呼び出しで StorageLayout 構造体の配列を渡します。
構文
typedef struct tagStorageLayout {
DWORD LayoutType;
OLECHAR *pwcsElementName;
LARGE_INTEGER cOffset;
LARGE_INTEGER cBytes;
} StorageLayout;
メンバー
LayoutType
書き込む要素の型。 値は STGTY 列挙から取得されます。 STGTY_STREAM は、 pwcsElementName という名前のデータ ブロックを読み取るということです。 STGTY_STORAGE は、 pwcsElementName で指定されたストレージを開きます。 STGTY_REPEAT は、オーディオ、ビデオ、テキスト、およびその他の要素をインターフェイスするためにマルチメディア アプリケーションで使用されます。 開始STGTY_REPEAT値は、後続の要素が指定された回数繰り返されることを意味します。 終了 STGTY_REPEAT 値は、繰り返される要素の末尾を示します。 入れ子になった STGTY_REPEAT 値のペアが許可されます。
pwcsElementName
ストレージまたはストリームの null で終わる Unicode 文字列名。 要素がサブストレージまたは埋め込みオブジェクトの場合は、完全修飾ストレージ パスを指定する必要があります。たとえば、"RootStorageName\SubStorageName\Substream" などです。
cOffset
LayoutType メンバーの値がSTGTY_STREAMされている場合、このフラグは pwscElementName メンバーで指定された蒸気への開始オフセットを指定します。
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 アプリ] |
Header | objidl.h |