244 if (!pInfo->pidlPath)
264 TRACE(
"CmdLine Parser: Parsed %S flag. dwFlags=%08lx\n", strField, pInfo->dwFlags);
269 TRACE(
"CmdLine Parser: Parsed %S flag. dwFlags=%08lx\n", strField, pInfo->dwFlags);
274 TRACE(
"CmdLine Parser: Parsed %S flag. dwFlags=%08lx\n", strField, pInfo->dwFlags);
276 else if (!
StrCmpIW(strField,
L"/SELECT"))
279 TRACE(
"CmdLine Parser: Parsed %S flag. dwFlags=%08lx\n", strField, pInfo->dwFlags);
284 TRACE(
"CmdLine Parser: Parsed %S flag. dwFlags=%08lx\n", strField, pInfo->dwFlags);
286 else if (!
StrCmpIW(strField,
L"-embedding"))
289 TRACE(
"CmdLine Parser: Parsed %S flag. dwFlags=%08lx\n", strField, pInfo->dwFlags);
291 else if (!
StrCmpIW(strField,
L"/SEPARATE"))
294 TRACE(
"CmdLine Parser: Parsed %S flag. dwFlags=%08lx\n", strField, pInfo->dwFlags);
296 else if (!
StrCmpIW(strField,
L"/INPROC"))
300 TRACE(
"CmdLine Parser: Found %S flag\n", strField);
312 TRACE(
"CmdLine Parser: Parsed /INPROC flag. dwFlags=%08lx, guidInproc=%S\n", pInfo->dwFlags, strField);
320 TRACE(
"CmdLine Parser: Found %S flag\n", strField);
322 if (!pInfo->pidlPath)
345 pInfo->pidlRoot = pidlRoot;
351 pInfo->pidlRoot =
NULL;
356 TRACE(
"CmdLine Parser: Parsed /ROOT flag. dwFlags=%08lx, pidlRoot=%p\n", pInfo->dwFlags, pInfo->pidlRoot);
361 TRACE(
"CmdLine Parser: Found target path %S\n", strField);
378 pInfo->pidlPath = pidlArg;
380 TRACE(
"CmdLine Parser: Parsed target path. dwFlags=%08lx, pidlPath=%p\n", pInfo->dwFlags, pInfo->pidlPath);
397 pInfo->pidlPath = pidlPath;
402 TRACE(
"CmdLine Parser: Parsed target path. dwFlags=%08lx, pidlPath=%p\n", pInfo->dwFlags, pInfo->pidlPath);
410 pInfo->strPath =
field;
414 TRACE(
"CmdLine Parser: Parsed target path. dwFlags=%08lx, strPath=%S\n", pInfo->dwFlags,
field);
#define SH_EXPLORER_CMDLINE_FLAG_S
BOOL WINAPI PathIsDirectoryW(LPCWSTR lpszPath)
static PCWSTR _FindFirstField(PCWSTR strFieldSource)
void WINAPI ILFree(LPITEMIDLIST pidl)
static BOOL _ReadNextArg(PCWSTR *pstrFieldSource, PWSTR strField, size_t cchField)
#define SH_EXPLORER_CMDLINE_FLAG_ONE
DWORD WINAPI GetFullPathNameW(IN LPCWSTR lpFileName, IN DWORD nBufferLength, OUT LPWSTR lpBuffer, OUT LPWSTR *lpFilePart)
#define SH_EXPLORER_CMDLINE_FLAG_IDLIST
LPWSTR WINAPI StrDupW(LPCWSTR lpszStr)
#define SH_EXPLORER_CMDLINE_FLAG_INPROC
UINT WINAPI GetWindowsDirectoryW(OUT LPWSTR lpBuffer, IN UINT uSize)
BOOL WINAPI PathStripToRootW(LPWSTR lpszPath)
LPWSTR WINAPI GetCommandLineW(VOID)
STRSAFEAPI StringCchCopyW(STRSAFE_LPWSTR pszDest, size_t cchDest, STRSAFE_LPCWSTR pszSrc)
#define SH_EXPLORER_CMDLINE_FLAG_E
BOOL WINAPI GUIDFromStringW(_In_ PCWSTR psz, _Out_ LPGUID pguid)
BOOL WINAPI PathFileExistsW(LPCWSTR lpszPath)
#define SH_EXPLORER_CMDLINE_FLAG_N
HRESULT WINAPI SHGetSpecialFolderLocation(HWND hwndOwner, INT nFolder, LPITEMIDLIST *ppidl)
unsigned __int3264 UINT_PTR
static HRESULT _ParsePathToPidl(PWSTR strPath, LPITEMIDLIST *pidl)
#define SH_EXPLORER_CMDLINE_FLAG_EMBED
#define SH_EXPLORER_CMDLINE_FLAG_NOUI
#define SH_EXPLORER_CMDLINE_FLAG_STRING
LPWSTR WINAPI PathGetArgsW(LPCWSTR lpszPath)
static LPITEMIDLIST _GetDocumentsPidl()
static LPITEMIDLIST _ILReadFromSharedMemory(PCWSTR strField)
LPITEMIDLIST WINAPI ILCreateFromPathW(LPCWSTR path)
ITEMIDLIST UNALIGNED * LPITEMIDLIST
#define SH_EXPLORER_CMDLINE_FLAG_SEPARATE
int WINAPI StrCmpIW(LPCWSTR lpszStr, LPCWSTR lpszComp)
#define SH_EXPLORER_CMDLINE_FLAG_SELECT