コード例 #1
0
// @pymethod |PyIOleClientSite|GetContainer|Description of GetContainer.
PyObject *PyIOleClientSite::GetContainer(PyObject *self, PyObject *args)
{
	IOleClientSite *pIOCS = GetI(self);
	if ( pIOCS == NULL )
		return NULL;
	IOleContainer * ppContainer;
	if ( !PyArg_ParseTuple(args, ":GetContainer") )
		return NULL;
	HRESULT hr;
	PY_INTERFACE_PRECALL;
	hr = pIOCS->GetContainer( &ppContainer );
	PY_INTERFACE_POSTCALL;

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

	obppContainer = PyCom_PyObjectFromIUnknown(ppContainer, IID_IOleContainer, FALSE);
	PyObject *pyretval = Py_BuildValue("O", obppContainer);
	Py_XDECREF(obppContainer);
	return pyretval;
}