Structure StorageLayout (objidl.h)
La structure StorageLayout décrit un seul bloc de données, y compris son nom, son emplacement et sa longueur. Pour optimiser un fichier composé, une application ou un outil de disposition transmet un tableau de structures StorageLayout dans un appel à ILayoutStorage ::LayoutScript.
Syntaxe
typedef struct tagStorageLayout {
DWORD LayoutType;
OLECHAR *pwcsElementName;
LARGE_INTEGER cOffset;
LARGE_INTEGER cBytes;
} StorageLayout;
Membres
LayoutType
Type d’élément à écrire. Les valeurs sont extraites de l’énumération STGTY . STGTY_STREAM signifie lire le bloc de données nommé par pwcsElementName. STGTY_STORAGE signifie ouvrir le stockage spécifié dans pwcsElementName. STGTY_REPEAT est utilisé dans les applications multimédias pour interfacer l’audio, la vidéo, le texte et d’autres éléments. Une valeur de STGTY_REPEAT ouvrante signifie que les éléments qui suivent doivent être répétés un nombre spécifié de fois. La valeur STGTY_REPEAT fermante marque la fin des éléments qui doivent être répétés. Les paires STGTY_REPEAT valeur imbriquées sont autorisées.
pwcsElementName
Nom de chaîne Unicode terminé par null du stockage ou du flux. Si l’élément est un sous-stockage ou un objet incorporé, le chemin de stockage complet doit être spécifié ; par exemple, « RootStorageName\SubStorageName\Substream ».
cOffset
Lorsque la valeur du membre LayoutType est STGTY_STREAM, cet indicateur spécifie le décalage de début dans la vapeur nommée dans le membre pwscElementName .
Lorsque LayoutType est STGTY_STORAGE, cet indicateur doit être défini sur zéro.
Lorsque LayoutType est STGTY_REPEAT, cet indicateur doit être défini sur zéro.
cBytes
Longueur, en octets, du bloc de données nommé dans pwcsElementName.
Lorsque LayoutType est STGTY_STREAM, cBytes spécifie le nombre d’octets à lire dans cOffset à partir du flux nommé dans pwcsElementName.
Lorsque LayoutType est STGTY_STORAGE, cet indicateur est ignoré.
Lorsque LayoutType est STGTY_REPEAT, un cBytes positif spécifie le début d’un bloc de répétition. STGTY_REPEAT avec zéro octets marque la fin d’un bloc de répétition.
Une valeur de bloc de début de STG_TOEND spécifie que les éléments d’un bloc suivant doivent être répétés une fois que chaque flux a été entièrement lu.
Remarques
Un tableau de structures StorageLayout peut apparaître comme suit.
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}}
};
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows 2000 Professionnel [applications de bureau | Applications UWP] |
Serveur minimal pris en charge | Windows 2000 Server [applications de bureau | Applications UWP] |
En-tête | objidl.h |
Voir aussi
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour