#ifndef _BRUTIL_H_ #define _BRUTIL_H_ STDAPI_(BOOL) IsBrowseNewProcess(); STDAPI_(BOOL) IsBrowseNewProcessAndExplorer(); STDAPI IENavigateIEProcess(LPCTSTR pszPath, BOOL fIsInternetShortcut); STDAPI NavFrameWithFile(LPCTSTR pszPath, IUnknown *punk); STDAPI GetPathForItem(IShellFolder *psf, LPCITEMIDLIST pidl, LPTSTR pszPath, DWORD *pdwAttrib); STDAPI EditBox_TranslateAcceleratorST(LPMSG lpmsg); STDAPI _CLSIDFromExtension(LPCTSTR pszExt, CLSID *pclsid); STDAPI GetLinkTargetIDList(LPCTSTR pszPath, LPTSTR pszTarget, DWORD cchTarget, LPITEMIDLIST *ppidl); STDAPI_(void) PathToDisplayNameW(LPCTSTR pszPath, LPTSTR pszDisplayName, UINT cchDisplayName); STDAPI_(void) PathToDisplayNameA(LPSTR pszPathA, LPSTR pszDisplayNameA, int cchDisplayName); STDAPI DataObj_GetNameFromFileDescriptor(IDataObject *pdtobj, LPWSTR pszDisplayName, UINT cch); STDAPI SHPidlFromDataObject2(IDataObject *pdtobj, LPITEMIDLIST * ppidl); STDAPI SHPidlFromDataObject(IDataObject *pdtobj, LPITEMIDLIST *ppidl, LPWSTR pszDisplayNameW, DWORD cchDisplayName); STDAPI_(LRESULT) SendShellIEBroadcastMessage(UINT uMsg, WPARAM wParam, LPARAM lParam, UINT uTimeout); STDAPI IEBindToParentFolder(LPCITEMIDLIST pidl, IShellFolder** ppsfParent, LPCITEMIDLIST *ppidlChild); STDAPI GetDataObjectForPidl(LPCITEMIDLIST pidl, IDataObject ** ppdtobj); STDAPI_(BOOL) ILIsFileSysFolder(LPCITEMIDLIST pidl); STDAPI SHTitleFromPidl(LPCITEMIDLIST pidl, LPTSTR psz, DWORD cch, BOOL fFullPath); STDAPI_(BOOL) IsBrowserFrameOptionsSet(IN IShellFolder * psf, IN BROWSERFRAMEOPTIONS dwMask); STDAPI_(BOOL) IsBrowserFrameOptionsPidlSet(IN LPCITEMIDLIST pidl, IN BROWSERFRAMEOPTIONS dwMask); STDAPI GetBrowserFrameOptions(IUnknown *punkFolder, IN BROWSERFRAMEOPTIONS dwMask, OUT BROWSERFRAMEOPTIONS * pdwOptions); STDAPI GetBrowserFrameOptionsPidl(IN LPCITEMIDLIST pidl, IN BROWSERFRAMEOPTIONS dwMask, OUT BROWSERFRAMEOPTIONS * pdwOptions); STDAPI_(BOOL) IsFTPFolder(IShellFolder * psf); // non-munging menu operations to work around the menu munging code // in the shlwapi wrappers. for more info see the comment in the brutil.cpp. STDAPI_(HMENU) LoadMenu_PrivateNoMungeW(HINSTANCE hInstance, LPCWSTR lpMenuName); STDAPI_(BOOL) InsertMenu_PrivateNoMungeW(HMENU hMenu, UINT uPosition, UINT uFlags, UINT_PTR uIDNewItem, LPCWSTR lpNewItem); STDAPI_(HMENU) LoadMenuPopup_PrivateNoMungeW(UINT id); //encode any incoming %1 so that people can't spoof our domain security code HRESULT WrapSpecialUrl(BSTR * pbstrUrl); HRESULT WrapSpecialUrlFlat(LPWSTR pszUrl, DWORD cchUrl); BOOL IsSpecialUrl(LPCWSTR pchURL); void DrawFocusRectangle (HWND hwnd, HDC hdc); void RenderStringToEditControlW (HWND hwndDlg,LPCWSTR pwsz,WNDPROC wndproc, UINT uID); #endif // _BRUTIL_H_