http://bugs.winehq.org/show_bug.cgi?id=23772
Summary: The bug in NtQueryInformationProcess with ProcessInformationClass = ProcessDebugObjectHandle Product: Wine Version: unspecified Platform: x86 OS/Version: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: ntdll AssignedTo: wine-bugs@winehq.org ReportedBy: info@vmpsoft.com
The file http://source.winehq.org/source/dlls/ntdll/process.c has a bug in NtQueryInformationProcess with ProcessInformationClass = ProcessDebugObjectHandle
112 NTSTATUS ret = STATUS_SUCCESS; 113 ULONG len = 0; ... 319 case ProcessDebugObjectHandle: 320 /* "These are not the debuggers you are looking for." * 321 * set it to 0 aka "no debugger" to satisfy copy protections */ 322 len = sizeof(HANDLE); 323 if (ProcessInformationLength == len) 324 { 325 if (!ProcessInformation) 326 ret = STATUS_ACCESS_VIOLATION; 327 else if (!ProcessHandle) 328 ret = STATUS_INVALID_HANDLE; 329 else 330 memset(ProcessInformation, 0, ProcessInformationLength); 331 } 332 else 333 ret = STATUS_INFO_LENGTH_MISMATCH; 334 break;
In the real Windows system without active debugger the result (the variable "res") of that API is C0000353 but in WINE the result is 00000000.