Alex Henrie (@alexhenrie) commented about dlls/setupapi/query.c:
return FALSE;
}
+HRESULT WINAPI DriverStoreFindDriverPackageW(WCHAR *path_in, void *unk2, void *unk3, DWORD flags, void *unk5, WCHAR *path_out, DWORD *path_size) +{
- FIXME("%s, %p, %p, %lu, %p, %p, %p, %lu stub!\n", debugstr_w(path_in), unk2, unk3, flags, unk5, path_out, path_size, path_size ? *path_size : 0);
- if (!path_in || !path_out || !path_size)
return E_INVALIDARG;
There should probably be a couple of tests that call this function and check for E_INVALIDARG. The tests would show that we have at least a vague idea of what the parameters do, and they would prove that calling the function with the cleanly-reverse-engineered signature does not crash. I suspect that DriverStoreFindDriverPackageW also returns E_INVALIDARG when *path_in or *path_size is 0, so I think it would be a good idea to check that too.