コード例 #1
0
// @pymethod |PyIOleClientSite|GetMoniker|Description of GetMoniker.
PyObject *PyIOleClientSite::GetMoniker(PyObject *self, PyObject *args)
{
	IOleClientSite *pIOCS = GetI(self);
	if ( pIOCS == NULL )
		return NULL;
	// @pyparm int|dwAssign||Description for dwAssign
	// @pyparm int|dwWhichMoniker||Description for dwWhichMoniker
	DWORD dwAssign;
	DWORD dwWhichMoniker;
	IMoniker * ppmk;
	if ( !PyArg_ParseTuple(args, "ii:GetMoniker", &dwAssign, &dwWhichMoniker) )
		return NULL;
	HRESULT hr;
	PY_INTERFACE_PRECALL;
	hr = pIOCS->GetMoniker( dwAssign, dwWhichMoniker, &ppmk );
	PY_INTERFACE_POSTCALL;

	if ( FAILED(hr) )
		return OleSetOleError(hr);
	PyObject *obppmk;

	obppmk = PyCom_PyObjectFromIUnknown(ppmk, IID_IMoniker, FALSE);
	PyObject *pyretval = Py_BuildValue("O", obppmk);
	Py_XDECREF(obppmk);
	return pyretval;
}