ILayoutStorage::LayoutScript
Provides
explicit directions for reordering the storages, streams, and controls in a
compound file to match the order in which they are accessed during the
download.
HRESULT LayoutScript(
StorageLayout *pStorageLayout |
// Pointer to first element in an array of
structures. |
DWORD nEntries |
// Number of elements in the array |
DWORD glfInterleavedFlag |
// Reserved for future use |
); |
|
Parameters
pStorageLayout
[in] Pointer
to an array of StorageLayout
nEntries
[in] Number
of entries in the array of StorageLayout structures.
glfInterleavedFlag
[in] Reserved
for future use.
Return Values
This function
supports the standard return values E_OUTOFMEMORY, E_UNEXPECTED, E_INVALIDARG,
and E_FAIL, as well as the following:
STG_E_INVALIDPOINTER
The storage
layout pointer is invalid.
STG_E_INVALIDFLAG
The value of glfInterleavedFlag
is invalid.
STG_E_PATHNOTFOUND
The new
docfile name specified is invalid.
STG_E_INSUFFICIENTMEMORY
There is
insufficient memory to complete the operation.
STG_E_INVALIDPARAMETER
One of the
parameters is invalid.
STG_E_INUSE
BeginMonitor
was called while ILayoutStorage was already monitoring.
Remarks
To provide
explicit layout instructions, the application calls ILayoutStorage::LayoutScript,
passing an array of StorageLayout
An
application can combine scripted layout with monitoring, as the structure of a
particular compound file may dictate.
When the
optimal data-layout pattern of an entire compound file has been determined, the
application calls ILayoutStorage::ReLayoutDocfile
See Also