IPropertyStorage::DeleteMultiple method

The DeleteMultiple method deletes as many of the indicated properties as exist in this property set.


HRESULT DeleteMultiple(
  [in] ULONG          cpspec,
  [inconst PROPSPEC rgpspec[]


cpspec [in]

The numerical count of properties to be deleted. The value of this parameter can legally be set to zero, however that defeats the purpose of the method as no properties are thereby deleted, regardless of the value set in rgpspec.

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 value

This method supports the standard return value E_UNEXPECTED, in addition to the following:


All the specified properties that exist in the property set have been deleted.


The requested access to the property storage object has been denied. No properties were deleted.


There is not enough memory to perform this operation. Some properties may not have been deleted.


At least one of the parameters is not valid, as when one of the PROPSPEC structures contains an illegal value of a ulKind member; for example, if the ulKind member is set to a string name instead of a property set value, some properties may not be deleted.


May be returned when at least one of the pointers passed is not valid. Some properties may not have been written. More frequently, an invalid pointer will result instead in an access violation.


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.


Minimum supported client

Windows 2000 Professional [desktop apps | UWP apps]

Minimum supported server

Windows 2000 Server [desktop apps | UWP apps]


Propidl.h (include Objbase.h)






IID_IPropertyStorage is defined as 00000138-0000-0000-C000-000000000046