IPropertyStorage::DeletePropertyNames  458K_YC

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