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