From: Akihiro Sagawa Subject: advapi32: Don't fill the class buffer in RegQueryInfoKeyA for Win9x compatibility. Message-Id: <20160312170720.EF41.375B48EC@gmail.com> Date: Sat, 12 Mar 2016 17:07:23 +0900 Fixes https://bugs.winehq.org/show_bug.cgi?id=40201 . Signed-off-by: Akihiro Sagawa --- dlls/advapi32/registry.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/dlls/advapi32/registry.c b/dlls/advapi32/registry.c index aa451b1..6885dd8 100644 --- a/dlls/advapi32/registry.c +++ b/dlls/advapi32/registry.c @@ -1142,7 +1142,12 @@ LSTATUS WINAPI RegQueryInfoKeyA( HKEY hkey, LPSTR class, LPDWORD class_len, LPDW status = NtQueryKey( hkey, KeyFullInformation, buffer, sizeof(buffer), &total_size ); if (status && status != STATUS_BUFFER_OVERFLOW) goto done; - if (class || class_len) + if (!is_version_nt()) + { + if (class_len) *class_len = 0; + status = STATUS_SUCCESS; + } + else if (class || class_len) { /* retry with a dynamically allocated buffer */ while (status == STATUS_BUFFER_OVERFLOW)