// @pymethod |PyIShellView|SelectItem|Description of SelectItem. PyObject *PyIShellView::SelectItem(PyObject *self, PyObject *args) { IShellView *pISV = GetI(self); if ( pISV == NULL ) return NULL; // @pyparm <o PyIDL>|pidlItem||Description for pidlItem // @pyparm int|uFlags||Description for uFlags PyObject *obpidlItem; INT iuFlags; LPITEMIDLIST pidlItem; SVSIF uFlags; if ( !PyArg_ParseTuple(args, "Oi:SelectItem", &obpidlItem, &iuFlags) ) return NULL; BOOL bPythonIsHappy = TRUE; if (bPythonIsHappy && !PyObject_AsPIDL(obpidlItem, &pidlItem, TRUE)) bPythonIsHappy = FALSE; uFlags = iuFlags; if (!bPythonIsHappy) return NULL; HRESULT hr; PY_INTERFACE_PRECALL; hr = pISV->SelectItem( pidlItem, uFlags ); PyObject_FreePIDL(pidlItem); PY_INTERFACE_POSTCALL; if ( FAILED(hr) ) return PyCom_BuildPyException(hr, pISV, IID_IShellView ); Py_INCREF(Py_None); return Py_None; }
// @pymethod <o PyIKnownFolder>|PyIKnownFolderManager|FindFolderFromIDList|Retrieves a known folder using its item id list. PyObject *PyIKnownFolderManager::FindFolderFromIDList(PyObject *self, PyObject *args) { IKnownFolderManager *pIKFM = GetI(self); if ( pIKFM == NULL ) return NULL; IKnownFolder *ret; PIDLIST_ABSOLUTE pidl; PyObject *obpidl; // @pyparm <o PyIDL>|pidl||Item id list of the folder if ( !PyArg_ParseTuple(args, "O:FindFolderFromIDList", &obpidl)) return NULL; if (!PyObject_AsPIDL(obpidl, &pidl, FALSE)) return NULL; HRESULT hr; PY_INTERFACE_PRECALL; hr = pIKFM->FindFolderFromIDList(pidl, &ret); PY_INTERFACE_POSTCALL; PyObject_FreePIDL(pidl); if ( FAILED(hr) ) return PyCom_BuildPyException(hr, pIKFM, IID_IKnownFolderManager ); return PyCom_PyObjectFromIUnknown(ret, IID_IKnownFolder, FALSE); }
// @pymethod |PyIShellLink|SetIDList|Sets the target of the link using an item id list PyObject *PyIShellLink::SetIDList(PyObject *self, PyObject *args) { IShellLink *pISL = GetI(self); if ( pISL == NULL ) return NULL; LPITEMIDLIST pidl; PyObject *obpidl; // @pyparm <o PyIDL>|pidl||Absolute item id list that identifies the target if ( !PyArg_ParseTuple(args, "O:SetIDList", &obpidl) ) return NULL; if (!PyObject_AsPIDL( obpidl, &pidl )) return NULL; HRESULT hr; PY_INTERFACE_PRECALL; hr = pISL->SetIDList( pidl ); PY_INTERFACE_POSTCALL; PyObject_FreePIDL(pidl); if ( FAILED(hr) ) return OleSetOleError(hr); Py_INCREF(Py_None); return Py_None; }
// @pymethod |PyIShellLink|SetIDList|Sets the list of item identifiers for a shell link object. PyObject *PyIShellLink::SetIDList(PyObject *self, PyObject *args) { IShellLink *pISL = GetI(self); if ( pISL == NULL ) return NULL; LPITEMIDLIST pidl; PyObject *obpidl; if ( !PyArg_ParseTuple(args, "O:SetIDList", &obpidl) ) return NULL; BOOL bPythonIsHappy = TRUE; if (bPythonIsHappy && !PyObject_AsPIDL( obpidl, &pidl )) bPythonIsHappy = FALSE; if (!bPythonIsHappy) return NULL; HRESULT hr; PY_INTERFACE_PRECALL; hr = pISL->SetIDList( pidl ); PY_INTERFACE_POSTCALL; PyObject_FreePIDL(pidl); if ( FAILED(hr) ) return OleSetOleError(hr); Py_INCREF(Py_None); return Py_None; }
// @pymethod |PyIShellBrowser|BrowseObject|Navigates to a different location PyObject *PyIShellBrowser::BrowseObject(PyObject *self, PyObject *args) { IShellBrowser *pISB = GetI(self); if ( pISB == NULL ) return NULL; PyObject *obpidl; LPITEMIDLIST pidl; UINT wFlags; if ( !PyArg_ParseTuple(args, "OI:BrowseObject", &obpidl, // @pyparm <o PyIDL>|pidl||Item id list that specifies the new browse location, can be None &wFlags)) // @pyparm int|wFlags||Combination of shellcon.SBSP_* flags return NULL; if (!PyObject_AsPIDL(obpidl, &pidl, TRUE)) return NULL; HRESULT hr; PY_INTERFACE_PRECALL; hr = pISB->BrowseObject( pidl, wFlags ); PyObject_FreePIDL(pidl); PY_INTERFACE_POSTCALL; if ( FAILED(hr) ) return PyCom_BuildPyException(hr, pISB, IID_IShellBrowser ); Py_INCREF(Py_None); return Py_None; }