SHWriteDataBlockList (SHLWAPI.17)
HRESULT SHWriteDataBlockList ( IStream* lpStream, LPDBLIST lpList )
Write a DataBlock list to an IStream object.
lpStream | [In] | IStream object to write the list to. |
lpList | [In] | List of items to write. |
Success: S_OK. The object is written to the stream.
Failure: An HRESULT error code.
Ordinals 17,18,19,20,21 and 22 are related and together provide a compact list structure (a "DataBlock List"), which may be stored and retrieved from an IStream object.
The exposed Api consists of:
- SHWriteDataBlockList - Write a DataBlock list to a stream,
- SHReadDataBlockList - Read and create a list from a stream,
- SHFreeDataBlockList - Free a list,
- SHAddDataBlock - Insert a new item into a list,
- SHRemoveDataBlock - Remove an item from a list,
- SHFindDataBlock - Find an item in a list.
The DataBlock list is stored packed into a memory array. Each element has a size and an associated ID. Elements must be less than 64k if the list is to be subsequently read from a stream.
Elements are aligned on DWORD boundaries. If an elements data size is not a DWORD size multiple, the element is wrapped by inserting a surrounding element with an Id of 0xFFFFFFFF, and size sufficient to pad to a DWORD boundary.
These functions are slow for large objects and long lists.
Exported by ordinal only. Use GetProcAddress to obtain a pointer to the function.
Implemented in "dlls/shlwapi/clist.c". gitlab.winehq.org/wine/wine/blob/master/dlls/shlwapi/clist.c
Debug channel "shell".
Copyright © 2024 The Wine Project. All trademarks are the property of their respective owners. Visit WineHQ for license details. Generated Dec 2024.