static void create_xml_file(LPCSTR filename)
{
DWORD dwNumberOfBytesWritten;
- HANDLE hf = CreateFile(filename, GENERIC_WRITE, 0, NULL,
- CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL);
+ HANDLE hf = CreateFileA(filename, GENERIC_WRITE, 0, NULL,
+ CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL);
static const char data[] =
"<?xml version=\"1.0\" ?>\n"
HRESULT hr;
DWORD file_size, read;
- hfile = CreateFile(path, GENERIC_READ, FILE_SHARE_READ, NULL,
- OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
+ hfile = CreateFileA(path, GENERIC_READ, FILE_SHARE_READ, NULL,
+ OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
ok(hfile != INVALID_HANDLE_VALUE, "Expected a valid file handle\n");
file_size = GetFileSize(hfile, NULL);
WCHAR path[MAX_PATH];
LONG length, type;
ULONG num_vars;
- VARIANT var, vIndex, vName;
+ VARIANT var, dummy, vIndex, vName;
BSTR url, str;
static const CHAR szBankXML[] = "bank.xml";
static const WCHAR szNumber[] = {'N','U','M','B','E','R',0};
ok(hr == S_OK, "Expected S_OK, got %08x\n", hr);
ok(unk != NULL, "Expected non-NULL unk\n");
+ enumVar = (void *)0xdeadbeef;
+ hr = IUnknown_QueryInterface(unk, &IID_IXMLElementCollection, (LPVOID *)&enumVar);
+ ok(hr == E_NOINTERFACE, "Expected E_NOINTERFACE, got %08x\n", hr);
+ ok(enumVar == NULL || broken(enumVar == (void *)0xdeadbeef) /* XP */, "Expected NULL, got %p\n", enumVar);
+
hr = IUnknown_QueryInterface(unk, &IID_IEnumVARIANT, (LPVOID *)&enumVar);
ok(hr == S_OK, "Expected S_OK, got %08x\n", hr);
ok(enumVar != NULL, "Expected non-NULL enumVar\n");
ok(num_vars == 1, "Expected 1, got %d\n", num_vars);
/* try advance further, no children left */
- hr = IEnumVARIANT_Next(enumVar, 1, &var, &num_vars);
+ V_VT(&dummy) = VT_I4;
+ hr = IEnumVARIANT_Next(enumVar, 1, &dummy, &num_vars);
ok(hr == S_FALSE, "Expected S_FALSE, got %08x\n", hr);
- ok(V_VT(&var) == 0, "Expected 0, got %d\n", V_VT(&var));
+ ok(V_VT(&dummy) == VT_EMPTY, "Expected 0, got %d\n", V_VT(&dummy));
ok(num_vars == 0, "Expected 0, got %d\n", num_vars);
- hr = IEnumVARIANT_Next(enumVar, 1, &var, NULL);
+ V_VT(&dummy) = VT_I4;
+ hr = IEnumVARIANT_Next(enumVar, 1, &dummy, NULL);
ok(hr == S_FALSE, "Expected S_FALSE, got %08x\n", hr);
- ok(V_VT(&var) == 0, "Expected 0, got %d\n", V_VT(&var));
+ ok(V_VT(&dummy) == VT_EMPTY, "Expected 0, got %d\n", V_VT(&dummy));
hr = IDispatch_QueryInterface(V_DISPATCH(&var), &IID_IXMLElement, (LPVOID *)&child);
ok(hr == S_OK, "Expected S_OK, got %08x\n", hr);
hr = IXMLElement_get_tagName(element, &str);
EXPECT_HR(hr, S_OK);
- ok(lstrlenW(str) == 0, "Expected empty tag name\n");
+ ok(!str, "Expected empty tag name, got %s\n", wine_dbgstr_w(str));
SysFreeString(str);
parent = (IXMLElement *)0xdeadbeef;