IPropertyStorage::DeletePropertyNames

Deletes specified string names from the current property set.

HRESULT DeletePropertyNames(
  ULONG cpropid,           //Size of the rgpropid array
  PROPID const rgpropid[]  //Property identifiers for which string 
                           //names are to be deleted
);
 

Parameters

cpropid
[in] The size on input of the array rgpropid. If 0, no property names are deleted.
rgpropid[]
[in] Property identifiers for which string names are to be deleted.

Return Values

This method supports the standard return value E_UNEXPECTED, as well as the following:

S_OK
Success. The names of all of the indicated properties that exist in this set have been deleted.
STG_E_ACCESSDENIED
The requested access to the property storage object has been denied. No property names were deleted.
STG_E_INSUFFICIENTMEMORY
There is not sufficient memory to perform this operation. Some property names may not have been deleted.
STG_E_INVALIDPARAMETER
At least one of the parameters is invalid. Some property names may not have been deleted.

Remarks

For each property identifier in rgpropid, IPropertyStorage::DeletePropertyNames removes the corresponding name-to-property identifier mapping, if any. An attempt to delete the name of a property that either does not exist or does not presently have a string name associated with it is silently ignored. This method has no effect on the properties themselves.

Note  All the stored string property names can be deleted by deleting property identifier zero, but cpropid must be equal to 1 for this to not be an invalid parameter error.

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.

See Also

IPropertyStorage::ReadPropertyNames