37{
39 PROPVARIANT pv;
44
46 if (!pItem)
47 {
48 skip(
"Unable to create IShellItem2 from %ls\n",
szPath);
49 return;
50 }
51
52
54
55 #define TestFailedDefVal(method, param, expected) \
56 { \
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"); \
60 }
67 #undef TestFailedDefVal
68
69 pv.lVal = -1;
71 ok(
hr ==
S_OK && pv.ulVal ==
fd.nFileSizeLow &&
fd.nFileSizeLow,
"Size UInt32\n");
72 pv.lVal = -1;
74 ok(
hr ==
S_OK && pv.ulVal ==
fd.nFileSizeLow &&
fd.nFileSizeLow,
"Size Int32\n");
75 pv.lVal = -1;
76 hr = pItem->GetUInt64(
PKEY_Size, &pv.uhVal.QuadPart);
77 ok(
hr ==
S_OK && pv.uhVal.LowPart ==
fd.nFileSizeLow &&
fd.nFileSizeLow,
"Size UInt64\n");
78
79 pv.lVal = -1;
81 ok(
hr ==
S_OK && pv.filetime.dwHighDateTime ==
fd.ftLastWriteTime.dwHighDateTime,
"MDate\n");
82}
#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)
#define TestFailedDefVal(method, param, expected)
static const PROPERTYKEY PKEY_Size
static const PROPERTYKEY PKEY_DateModified
static IShellItem2 * CreateItem2(PCWSTR pszPath)
#define GetModuleFileName