本文整理汇总了C++中IPropertyStorage::DeletePropertyNames方法的典型用法代码示例。如果您正苦于以下问题:C++ IPropertyStorage::DeletePropertyNames方法的具体用法?C++ IPropertyStorage::DeletePropertyNames怎么用?C++ IPropertyStorage::DeletePropertyNames使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类IPropertyStorage
的用法示例。
在下文中一共展示了IPropertyStorage::DeletePropertyNames方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: PyCom_BuildPyException
// @pymethod |PyIPropertyStorage|DeletePropertyNames|Removes property names from specified properties.
PyObject *PyIPropertyStorage::DeletePropertyNames(PyObject *self, PyObject *args)
{
IPropertyStorage *pIPS = GetI(self);
if ( pIPS == NULL )
return NULL;
PyObject *obProps;
// @pyparm (int, ...)|props||Sequence of ints containing property IDs.
if ( !PyArg_ParseTuple(args, "O:DeletePropertyNames", &obProps))
return NULL;
ULONG cProps;
PROPID *pProps;
if (!PyObject_AsPROPIDs( obProps, &pProps, &cProps))
return NULL;
HRESULT hr;
PY_INTERFACE_PRECALL;
hr = pIPS->DeletePropertyNames( cProps, pProps );
PY_INTERFACE_POSTCALL;
PyObject_FreePROPIDs(pProps, cProps);
if ( FAILED(hr) )
return PyCom_BuildPyException(hr, pIPS, IID_IPropertyStorage);
Py_INCREF(Py_None);
return Py_None;
}
示例2: DeleteProperty
void OleProperties::DeleteProperty(unsigned long id)
{
IPropertySetStoragePtr spPropertySetStorage(m_pStorage.GetInternalObject());
IPropertyStorage* pPropertyStorage = 0;
HRESULT hr = spPropertySetStorage->Open(FMTID_UserDefinedProperties, STGM_READWRITE | STGM_SHARE_EXCLUSIVE, &pPropertyStorage);
if(STG_E_FILENOTFOUND == hr)
return;
IPropertyStoragePtr spPropertyStorage(pPropertyStorage, false);
PROPSPEC propSpec;
ZeroMemory(&propSpec, sizeof(PROPSPEC));
propSpec.ulKind = PRSPEC_PROPID;
propSpec.propid = id;
hr = pPropertyStorage->DeleteMultiple(1, &propSpec);
if(FAILED(hr))
ThrowComException(L"Failed to delete the property values", hr);
hr = pPropertyStorage->DeletePropertyNames(1, &propSpec.propid);
if(FAILED(hr))
ThrowComException(L"Failed to delete the property name", hr);
hr = spPropertyStorage->Commit(STGC_OVERWRITE);
if(FAILED(hr))
ThrowComException(L"Failed to persist the changes", hr);
}