// --------------------------------------------------- // // Gateway Implementation STDMETHODIMP PyGPropertyStoreCapabilities::IsPropertyWritable(REFPROPERTYKEY key) { PY_GATEWAY_METHOD; PyObject *obkey = PyWinObject_FromPROPERTYKEY(key); if (obkey==NULL) return MAKE_PYCOM_GATEWAY_FAILURE_CODE("IsPropertyWritable"); HRESULT hr=InvokeViaPolicy("IsPropertyWritable", NULL, "(O)", obkey); Py_DECREF(obkey); return hr; }
// @pymethod <o PyPROPERTYKEY>|PyIObjectWithPropertyKey|GetPropertyKey|Returns the property id PyObject *PyIObjectWithPropertyKey::GetPropertyKey(PyObject *self, PyObject *args) { IObjectWithPropertyKey *pIOWPK = GetI(self); if ( pIOWPK == NULL ) return NULL; PROPERTYKEY key; HRESULT hr; PY_INTERFACE_PRECALL; hr = pIOWPK->GetPropertyKey(&key); PY_INTERFACE_POSTCALL; if ( FAILED(hr) ) return PyCom_BuildPyException(hr, pIOWPK, IID_IObjectWithPropertyKey ); return PyWinObject_FromPROPERTYKEY(key); }
// @pymethod <o PyPROPERTYKEY>|propsys|PSGetPropertyKeyFromName|Retrieves the property key by canonical name PyObject *PyPSGetPropertyKeyFromName(PyObject *self, PyObject *args) { PROPERTYKEY key; TmpWCHAR name; PyObject *obname; // @pyparm str|Name||The canonical name of a property (eg System.Author) if (!PyArg_ParseTuple(args, "O:PSGetPropertyKeyFromName", &obname)) return NULL; if (!PyWinObject_AsWCHAR(obname, &name, FALSE)) return NULL; HRESULT hr; PY_INTERFACE_PRECALL; hr = PSGetPropertyKeyFromName(name, &key); PY_INTERFACE_POSTCALL; if ( FAILED(hr) ) return PyCom_BuildPyException(hr); return PyWinObject_FromPROPERTYKEY(key); }