// @pymethod |PyICreateTypeInfo|AddVarDesc|Description of AddVarDesc. PyObject *PyICreateTypeInfo::AddVarDesc(PyObject *self, PyObject *args) { ICreateTypeInfo *pICTI = GetI(self); if ( pICTI == NULL ) return NULL; // @pyparm int|index||Description for index VARDESC *pVarDesc; PyObject *obpVarDesc; UINT index; if ( !PyArg_ParseTuple(args, "iO:AddVarDesc", &index, &obpVarDesc) ) return NULL; BOOL bPythonIsHappy = TRUE; if (bPythonIsHappy && !PyObject_AsVARDESC( obpVarDesc, &pVarDesc )) bPythonIsHappy = FALSE; if (!bPythonIsHappy) return NULL; HRESULT hr; PY_INTERFACE_PRECALL; hr = pICTI->AddVarDesc( index, pVarDesc ); PY_INTERFACE_POSTCALL; PyObject_FreeVARDESC(pVarDesc); if ( FAILED(hr) ) return PyCom_BuildPyException(hr, pICTI, IID_ICreateTypeInfo); Py_INCREF(Py_None); return Py_None; }
BOOL PyObject_AsVARDESC(PyObject *ob, VARDESC **pp) { *pp = (VARDESC *)AllocateMoreBuffer(sizeof(VARDESC)); if (*pp==NULL) return FALSE; BOOL rc = PyObject_AsVARDESC(ob, *pp, *pp); if (!rc) FreeMoreBuffer(*pp); return rc; }