#include "objects.h"
#include <strsafe.h>
#include <wine/debug.h>
Go to the source code of this file.
|
| WINE_DEFAULT_DEBUG_CHANNEL (shdocvw) |
|
static INT_PTR | GetMenuItemIdByPos (HMENU hMenu, UINT Pos) |
|
static BOOL | IsMenuSeparator (HMENU hMenu, UINT Pos) |
|
EXTERN_C HRESULT | SHELL_GetIDListFromObject (IUnknown *punk, PIDLIST_ABSOLUTE *ppidl) |
|
static HRESULT | SHELL_CompareAbsoluteIDs (LPARAM lParam, PCIDLIST_ABSOLUTE a, PCIDLIST_ABSOLUTE b) |
|
EXTERN_C BOOL | SHELL_IsEqualAbsoluteID (PCIDLIST_ABSOLUTE a, PCIDLIST_ABSOLUTE b) |
|
EXTERN_C BOOL | SHELL_IsVerb (IContextMenu *pcm, UINT_PTR idCmd, LPCWSTR Verb) |
|
static int | SHELL_FindVerbPos (IContextMenu *pcm, UINT idCmdFirst, HMENU hMenu, LPCWSTR Verb) |
|
EXTERN_C VOID | SHELL_RemoveVerb (IContextMenu *pcm, UINT idCmdFirst, HMENU hMenu, LPCWSTR Verb) |
|
EXTERN_C BOOL | _ILIsDesktop (LPCITEMIDLIST pidl) |
|
EXTERN_C BOOL WINAPI | IEILIsEqual (_In_ LPCITEMIDLIST pidl1, _In_ LPCITEMIDLIST pidl2, _In_ BOOL bUnknown) |
|
static VOID | SHDOCVW_PathDeleteInvalidChars (LPWSTR pszDisplayName) |
|
static HRESULT | SHDOCVW_CreateShortcut (_In_ LPCWSTR pszLnkFileName, _In_ PCIDLIST_ABSOLUTE pidlTarget, _In_opt_ LPCWSTR pszDescription) |
|
EXTERN_C HRESULT WINAPI | AddUrlToFavorites (_In_ HWND hwnd, _In_ LPCWSTR pszUrlW, _In_opt_ LPCWSTR pszTitleW, _In_ BOOL fDisplayUI) |
|
◆ PATH_VALID_ELEMENT
Value: ( \
)
#define PATH_CHAR_CLASS_OTHER_VALID
#define PATH_CHAR_CLASS_SPACE
#define PATH_CHAR_CLASS_SEMICOLON
#define PATH_CHAR_CLASS_COMMA
#define PATH_CHAR_CLASS_DOT
◆ _ILIsDesktop()
Definition at line 123 of file utility.cpp.
124{
125 return (pidl ==
NULL || pidl->mkid.cb == 0);
126}
◆ AddUrlToFavorites()
Definition at line 192 of file utility.cpp.
197{
199
200 if (fDisplayUI)
201 FIXME(
"fDisplayUI\n");
202
204 FIXME(
"Internet Shortcut\n");
205
206 CComHeapPtr<ITEMIDLIST> pidl;
210
211
213 if (pszTitleW)
215 else
217
218
220
221
227
229}
#define FAILED_UNEXPECTEDLY(hr)
static HRESULT SHDOCVW_CreateShortcut(_In_ LPCWSTR pszLnkFileName, _In_ PCIDLIST_ABSOLUTE pidlTarget, _In_opt_ LPCWSTR pszDescription)
static VOID SHDOCVW_PathDeleteInvalidChars(LPWSTR pszDisplayName)
BOOL WINAPI SHGetSpecialFolderPathW(HWND hwndOwner, LPWSTR szPath, int nFolder, BOOL bCreate)
BOOL WINAPI PathIsURLW(LPCWSTR lpstrPath)
TCHAR szTitle[MAX_LOADSTRING]
#define PathAddExtensionW
HRESULT WINAPI SHParseDisplayName(LPCWSTR pszName, IBindCtx *pbc, LPITEMIDLIST *ppidl, SFGAOF sfgaoIn, SFGAOF *psfgaoOut)
BOOL WINAPI ILGetDisplayNameEx(LPSHELLFOLDER psf, LPCITEMIDLIST pidl, LPVOID path, DWORD type)
STRSAFEAPI StringCchCopyW(STRSAFE_LPWSTR pszDest, size_t cchDest, STRSAFE_LPCWSTR pszSrc)
Referenced by CShellBrowser::OnAddToFavorites().
◆ GetMenuItemIdByPos()
Definition at line 16 of file utility.cpp.
17{
23}
#define FIELD_OFFSET(t, f)
BOOL WINAPI GetMenuItemInfoW(_In_ HMENU, _In_ UINT, _In_ BOOL, _Inout_ LPMENUITEMINFOW)
Referenced by SHELL_FindVerbPos().
◆ IEILIsEqual()
Definition at line 132 of file utility.cpp.
136{
138 if (cb1 == cb2 &&
memcmp(pidl1, pidl2, cb1) == 0)
140
141 FIXME(
"%p, %p\n", pidl1, pidl2);
143}
int memcmp(void *Buffer1, void *Buffer2, ACPI_SIZE Count)
Referenced by CMruBase::_IsEqual().
◆ IsMenuSeparator()
◆ SHDOCVW_CreateShortcut()
Definition at line 162 of file utility.cpp.
166{
168
169 CComPtr<IShellLink> psl;
174
175 psl->SetIDList(pidlTarget);
176
177 if (pszDescription)
178 psl->SetDescription(pszDescription);
179
180 CComPtr<IPersistFile> ppf;
184
185 return ppf->Save(pszLnkFileName,
TRUE);
186}
HRESULT WINAPI DECLSPEC_HOTPATCH CoCreateInstance(REFCLSID rclsid, LPUNKNOWN pUnkOuter, DWORD dwClsContext, REFIID iid, LPVOID *ppv)
HRESULT QueryInterface([in] REFIID riid, [out, iid_is(riid)] void **ppvObject)
#define IID_PPV_ARG(Itype, ppType)
Referenced by AddUrlToFavorites().
◆ SHDOCVW_PathDeleteInvalidChars()
static VOID SHDOCVW_PathDeleteInvalidChars |
( |
LPWSTR |
pszDisplayName | ) |
|
|
static |
Definition at line 146 of file utility.cpp.
147{
148#define PATH_VALID_ELEMENT ( \
149 PATH_CHAR_CLASS_DOT | PATH_CHAR_CLASS_SEMICOLON | PATH_CHAR_CLASS_COMMA | \
150 PATH_CHAR_CLASS_SPACE | PATH_CHAR_CLASS_OTHER_VALID \
151)
153 for (
pch = pchSrc = pszDisplayName; *pchSrc; ++pchSrc)
154 {
157 }
159}
#define PATH_VALID_ELEMENT
BOOL WINAPI PathIsValidCharW(WCHAR c, DWORD class)
Referenced by AddUrlToFavorites().
◆ SHELL_CompareAbsoluteIDs()
Definition at line 58 of file utility.cpp.
59{
67}
HRESULT WINAPI SHGetDesktopFolder(IShellFolder **psf)
GLboolean GLboolean GLboolean b
GLboolean GLboolean GLboolean GLboolean a
HRESULT CompareIDs([in] LPARAM lParam, [in] PCUIDLIST_RELATIVE pidl1, [in] PCUIDLIST_RELATIVE pidl2)
Referenced by SHELL_IsEqualAbsoluteID().
◆ SHELL_FindVerbPos()
Definition at line 93 of file utility.cpp.
94{
96 {
100 }
101 return -1;
102}
static INT_PTR GetMenuItemIdByPos(HMENU hMenu, UINT Pos)
EXTERN_C BOOL SHELL_IsVerb(IContextMenu *pcm, UINT_PTR idCmd, LPCWSTR Verb)
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
int WINAPI GetMenuItemCount(_In_opt_ HMENU)
Referenced by SHELL_RemoveVerb().
◆ SHELL_GetIDListFromObject()
Definition at line 36 of file utility.cpp.
37{
38#if DLL_EXPORT_VERSION >= _WIN32_WINNT_VISTA && 0
40#else
44 {
47 }
50 {
53 }
55#endif
56}
HRESULT GetCurFolder([out] PIDLIST_ABSOLUTE *ppidl)
HRESULT GetIDList([out] PIDLIST_ABSOLUTE *ppidl)
HRESULT WINAPI SHGetIDListFromObject(IUnknown *punk, PIDLIST_ABSOLUTE *ppidl)
Referenced by SHDOCVW_GetCurrentLocationFromView().
◆ SHELL_IsEqualAbsoluteID()
Definition at line 70 of file utility.cpp.
71{
73}
#define SHCIDS_CANONICALONLY
static HRESULT SHELL_CompareAbsoluteIDs(LPARAM lParam, PCIDLIST_ABSOLUTE a, PCIDLIST_ABSOLUTE b)
◆ SHELL_IsVerb()
Definition at line 76 of file utility.cpp.
77{
82
85 {
88 }
90}
int WINAPI lstrcmpiW(LPCWSTR str1, LPCWSTR str2)
int WINAPI lstrcmpiA(LPCSTR str1, LPCSTR str2)
INT WINAPI SHUnicodeToAnsi(LPCWSTR lpSrcStr, LPSTR lpDstStr, INT iLen)
GLenum GLuint GLenum GLsizei const GLchar * buf
static UINT WPARAM LPARAM BOOL ansi
Referenced by SHELL_FindVerbPos().
◆ SHELL_RemoveVerb()
Definition at line 105 of file utility.cpp.
106{
108 if (nPos < 0)
109 return;
114 {
115 if ((bSepBefore && bSepAfter) || (bSepAfter && nPos == 0))
117 else if (bSepBefore && nPos + 1 == nCount)
119 }
120}
static BOOL IsMenuSeparator(HMENU hMenu, UINT Pos)
static int SHELL_FindVerbPos(IContextMenu *pcm, UINT idCmdFirst, HMENU hMenu, LPCWSTR Verb)
BOOL WINAPI DeleteMenu(_In_ HMENU, _In_ UINT, _In_ UINT)
◆ WINE_DEFAULT_DEBUG_CHANNEL()
WINE_DEFAULT_DEBUG_CHANNEL |
( |
shdocvw |
| ) |
|