# 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.

See Also

IPropertyStorage::ReadPropertyNames