Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Die StorageLayout-Struktur beschreibt einen einzelnen Datenblock, einschließlich Name, Speicherort und Länge. Um eine Verbunddatei zu optimieren, übergibt eine Anwendung oder ein Layouttool ein Array von StorageLayout-Strukturen in einem Aufruf von ILayoutStorage::LayoutScript.
Syntax
typedef struct tagStorageLayout {
DWORD LayoutType;
OLECHAR *pwcsElementName;
LARGE_INTEGER cOffset;
LARGE_INTEGER cBytes;
} StorageLayout;
Member
LayoutType
Der Typ des zu schreibenden Elements. Werte werden aus der STGTY-Enumeration übernommen. STGTY_STREAM bedeutet, dass der Datenblock mit dem Namen pwcsElementName gelesen wird. STGTY_STORAGE bedeutet, dass der in pwcsElementName angegebene Speicher geöffnet wird. STGTY_REPEAT wird in Multimediaanwendungen verwendet, um Audio, Video, Text und andere Elemente zu integrieren. Ein öffnender STGTY_REPEAT Wert bedeutet, dass die folgenden Elemente mehrmals wiederholt werden. Der Wert für den schließenden STGTY_REPEAT markiert das Ende der Elemente, die wiederholt werden sollen. Geschachtelte STGTY_REPEAT Wertpaare sind zulässig.
pwcsElementName
Der Name der Unicode-Zeichenfolge, die mit NULL beendet wurde, des Speichers oder Streams. Wenn es sich bei dem Element um einen Unterspeicher oder ein eingebettetes Objekt handelt, muss der vollqualifizierte Speicherpfad angegeben werden. Beispiel: "RootStorageName\SubStorageName\Substream".
cOffset
Wenn der Wert des LayoutType-ElementsSTGTY_STREAM ist, gibt dieses Flag den Anfangsoffset in den Dampf an, der im pwscElementName-Element benannt ist.
Wenn LayoutTypeSTGTY_STORAGE ist, sollte dieses Flag auf 0 festgelegt werden.
Wenn LayoutTypeSTGTY_REPEAT ist, sollte dieses Flag auf 0 festgelegt werden.
cBytes
Länge des Datenblocks mit dem Namen in pwcsElementName in Byte.
Wenn LayoutTypeSTGTY_STREAM ist, gibt cBytes die Anzahl der Bytes an, die bei cOffset aus dem Stream mit dem Namen in pwcsElementName gelesen werden sollen.
Wenn LayoutTypeSTGTY_STORAGE ist, wird dieses Flag ignoriert.
Wenn LayoutTypeSTGTY_REPEAT ist, gibt ein positives cBytes den Anfang eines Wiederholungsblocks an. STGTY_REPEAT mit null CBytes markiert das Ende eines Wiederholungsblocks .
Der Anfangsblockwert STG_TOEND gibt an, dass Elemente in einem folgenden Block wiederholt werden sollen, nachdem jeder Stream vollständig gelesen wurde.
Hinweise
Ein Array von StorageLayout-Strukturen kann wie folgt angezeigt werden.
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}}
};
Anforderungen
| Anforderung | Wert |
|---|---|
| Unterstützte Mindestversion (Client) | Windows 2000 Professional [Desktop-Apps | UWP-Apps] |
| Unterstützte Mindestversion (Server) | Windows 2000 Server [Desktop-Apps | UWP-Apps] |
| Kopfzeile | objidl.h |