119{
121 PROPVARIANT pv;
126
128 if (!pItem)
129 {
131 skip(
"Unable to create IShellItem2 from %ls\n",
szPath);
132 else
133 skip(
"IShellItem2 not supported\n");
134 return;
135 }
136
137
139
140 #define TestFailedDefVal(method, param, expected) \
141 { \
142 pv.uhVal.QuadPart = (expected), pv.ulVal = ~(UINT)(expected); \
143 hr = pItem->method(PKEY_DoesNotExist, param); \
144 ok(FAILED(hr) && pv.uhVal.QuadPart == (expected), #method " failure value\n"); \
145 }
152 #undef TestFailedDefVal
153
154 pv.lVal = -1;
156 ok(
hr ==
S_OK && pv.ulVal ==
fd.nFileSizeLow &&
fd.nFileSizeLow,
"Size UInt32\n");
157 pv.lVal = -1;
159 ok(
hr ==
S_OK && pv.ulVal ==
fd.nFileSizeLow &&
fd.nFileSizeLow,
"Size Int32\n");
160 pv.lVal = -1;
161 hr = pItem->GetUInt64(
PKEY_Size, &pv.uhVal.QuadPart);
162 ok(
hr ==
S_OK && pv.uhVal.LowPart ==
fd.nFileSizeLow &&
fd.nFileSizeLow,
"Size UInt64\n");
163
164 pv.lVal = -1;
166 ok(
hr ==
S_OK && pv.filetime.dwHighDateTime ==
fd.ftLastWriteTime.dwHighDateTime,
"MDate\n");
167}
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=NULL)