IPropertyStorage::DeleteMultiple
Deletes as many of the indicated properties as exist in this property set.
HRESULT DeleteMultiple(
ULONG cpspec, //Count of properties to be deleted
PROPSPEC const rgpspec[] //Array of properties to be deleted
);
Parameters
-
cpspec
-
[in] Count of properties being deleted. May legally be zero, though this is a no-op, deleting no properties.
-
rgpspec[]
-
[in] Properties to be deleted. A mixture of property identifiers and string-named properties is permitted. There may be duplicates, and there is no requirement that properties be specified in any order.
Return Values
This method supports the standard return value E_UNEXPECTED, as well as the following:
-
S_OK
-
All of the specified properties that exist in the property set have been deleted.
-
STG_E_ACCESSDENIED
-
The requested access to the property storage object has been denied. No properties were deleted.
-
STG_E_INSUFFICIENTMEMORY
-
There is not sufficient memory to perform this operation. Some properties may not have been deleted.
-
STG_E_INVALIDPARAMETER
-
At least one of the parameters is invalid, as when one of the PROPSPECs contains an illegal ulKind value. Some properties may not have been deleted.
-
STG_E_INVALIDPOINTER
-
May be returned when at least one of the pointers passed in is invalid. Some properties may not have been written. More frequently, an invalid pointer will instead result in an access violation.
Remarks
IPropertyStorage::DeleteMultiple must delete as many of the indicated properties as are in the current property set. If a deletion of a stream- or storage-valued property occurs while that property is open, the deletion will succeed and place the previously returned IStream or IStorage pointer in the reverted state.
QuickInfo
Windows NT: Use version 4.0 or later.
Windows: Use Windows 95 or later. Available as a redistributable for Windows 95.
Windows CE: Unsupported.
Header: Declared in objidl.h.