// @pymethod |PyIShellLibrary|LoadLibraryFromItem|Loads an existing library file PyObject *PyIShellLibrary::LoadLibraryFromItem(PyObject *self, PyObject *args) { IShellLibrary *pISL = GetI(self); if ( pISL == NULL ) return NULL; IShellItem *Library; PyObject *obLibrary; DWORD Mode; // @pyparm <o PyIShellItem>|Library||Shell item interface representing the library file // @pyparm int|Mode||Access mode, combination of storagecon.STGM_* flags if ( !PyArg_ParseTuple(args, "Ok:LoadLibraryFromItem", &obLibrary, &Mode) ) return NULL; if (!PyCom_InterfaceFromPyObject(obLibrary, IID_IShellItem, (void **)&Library, FALSE)) return NULL; HRESULT hr; PY_INTERFACE_PRECALL; hr = pISL->LoadLibraryFromItem(Library, Mode); Library->Release(); PY_INTERFACE_POSTCALL; if ( FAILED(hr) ) return PyCom_BuildPyException(hr, pISL, IID_IShellLibrary ); Py_INCREF(Py_None); return Py_None; }