// @pymethod <o PyIShellItem>|PyIShellLibrary|SaveInKnownFolder|Saves the library in a known folder PyObject *PyIShellLibrary::SaveInKnownFolder(PyObject *self, PyObject *args) { IShellLibrary *pISL = GetI(self); if ( pISL == NULL ) return NULL; KNOWNFOLDERID FolderToSaveIn; TmpWCHAR LibraryName; PyObject *obLibraryName; LIBRARYSAVEFLAGS Flags; IShellItem *SavedTo; // @pyparm <o PyIID>|FolderToSaveIn||The destination folder, shell.FOLDERID_* // @pyparm str|LibraryName||Filename for the new library, without file extension // @pyparm int|Flags||Determines behaviour if file already exists, shellcon.LSF_* if (!PyArg_ParseTuple(args, "O&Oi:SaveInKnownFolder", PyWinObject_AsIID, &FolderToSaveIn, &obLibraryName, &Flags)) return NULL; if (!PyWinObject_AsWCHAR(obLibraryName, &LibraryName, FALSE)) return NULL; HRESULT hr; PY_INTERFACE_PRECALL; hr = pISL->SaveInKnownFolder(FolderToSaveIn, LibraryName, Flags, &SavedTo); PY_INTERFACE_POSTCALL; if ( FAILED(hr) ) return PyCom_BuildPyException(hr, pISL, IID_IShellLibrary ); return PyCom_PyObjectFromIUnknown(SavedTo, IID_IShellItem, FALSE); }