12static const PROPERTYKEY
PKEY_DoesNotExist = { { 0x071ED77F,0x6DEE,0x4800,0x94,0xE7,0x1F,0xDD,0x89,0x6B,0x43,0x66 }, 42 };
48 skip(
"Unable to create IShellItem2 from %ls\n",
szPath);
55 #define TestFailedDefVal(method, param, expected) \
57 pv.uhVal.QuadPart = (expected), pv.ulVal = ~(UINT)(expected); \
58 hr = pItem->method(PKEY_DoesNotExist, param); \
59 ok(FAILED(hr) && pv.uhVal.QuadPart == (expected), #method " failure value\n"); \
67 #undef TestFailedDefVal
71 ok(
hr ==
S_OK && pv.ulVal ==
fd.nFileSizeLow &&
fd.nFileSizeLow,
"Size UInt32\n");
74 ok(
hr ==
S_OK && pv.ulVal ==
fd.nFileSizeLow &&
fd.nFileSizeLow,
"Size Int32\n");
76 hr = pItem->GetUInt64(
PKEY_Size, &pv.uhVal.QuadPart);
77 ok(
hr ==
S_OK && pv.uhVal.LowPart ==
fd.nFileSizeLow &&
fd.nFileSizeLow,
"Size UInt64\n");
81 ok(
hr ==
S_OK && pv.filetime.dwHighDateTime ==
fd.ftLastWriteTime.dwHighDateTime,
"MDate\n");
#define ok_hr(status, expected)
static HRESULT GetString(ASSOCSTR Str, UINT Flags, LPCWSTR pszAssoc, LPCWSTR pszExtra, PWSTR Out, HKEY hProgId=NULL)
BOOL WINAPI GetFileTime(IN HANDLE hFile, OUT LPFILETIME lpCreationTime OPTIONAL, OUT LPFILETIME lpLastAccessTime OPTIONAL, OUT LPFILETIME lpLastWriteTime OPTIONAL)
HANDLE WINAPI FindFirstFileW(IN LPCWSTR lpFileName, OUT LPWIN32_FIND_DATAW lpFindFileData)
BOOL WINAPI FindClose(HANDLE hFindFile)
HRESULT WINAPI SHCreateShellItem(PCIDLIST_ABSOLUTE pidlParent, IShellFolder *psfParent, PCUITEMID_CHILD pidl, IShellItem **ppsi)
HRESULT QueryInterface([in] REFIID riid, [out, iid_is(riid)] void **ppvObject)
static IShellItem * CreateItem(PCWSTR pszPath)
static void TestShellItemPropSys()
#define TestFailedDefVal(method, param, expected)
static const PROPERTYKEY PKEY_Size
static const PROPERTYKEY PKEY_DateModified
static const PROPERTYKEY PKEY_DoesNotExist
static IShellItem2 * CreateItem2(PCWSTR pszPath)
#define PID_STG_WRITETIME
void WINAPI ILFree(LPITEMIDLIST pidl)
HRESULT WINAPI SHParseDisplayName(LPCWSTR pszName, IBindCtx *pbc, LPITEMIDLIST *ppidl, SFGAOF sfgaoIn, SFGAOF *psfgaoOut)
#define GetModuleFileName