[ntdll] More descriptive info class stubs
Felix Nawothnig
felix.nawothnig at t-online.de
Sat Jul 2 12:16:37 CDT 2005
ChangeLog:
Replace stubs for information classes in NtQueryVirtualMemory and
NtQueryInformationProcess by more descriptive messages.
-------------- next part --------------
Index: virtual.c
===================================================================
RCS file: /home/wine/wine/dlls/ntdll/virtual.c,v
retrieving revision 1.55
diff -u -r1.55 virtual.c
--- virtual.c 25 Jun 2005 18:00:57 -0000 1.55
+++ virtual.c 2 Jul 2005 17:15:13 -0000
@@ -1403,6 +1403,10 @@
return status;
}
+#define UNIMPLEMENTED_INFO_CLASS(c) \
+ case c: \
+ FIXME("(process=%p,addr=%p) Unimplemented information class: " #c "\n", process, addr); \
+ return STATUS_INVALID_INFO_CLASS; \
/***********************************************************************
* NtQueryVirtualMemory (NTDLL.@)
@@ -1420,9 +1424,17 @@
if (info_class != MemoryBasicInformation)
{
- FIXME("(%p, %p, %d, %p, %ld, %p) Unimplemented information class\n", process, addr,
- info_class, buffer, len, res_len);
- return STATUS_INVALID_INFO_CLASS;
+ switch(info_class)
+ {
+ UNIMPLEMENTED_INFO_CLASS(MemoryWorkingSetList)
+ UNIMPLEMENTED_INFO_CLASS(MemorySectionName)
+ UNIMPLEMENTED_INFO_CLASS(MemoryBasicVlmInformation)
+
+ default:
+ FIXME("(%p,%p,info_class=%d,%p,%ld,%p) Unknown information class\n",
+ process, addr, info_class, buffer, len, res_len);
+ return STATUS_INVALID_INFO_CLASS;
+ }
}
if (ADDRESS_SPACE_LIMIT && addr >= ADDRESS_SPACE_LIMIT)
return STATUS_WORKING_SET_LIMIT_RANGE;
Index: process.c
===================================================================
RCS file: /home/wine/wine/dlls/ntdll/process.c,v
retrieving revision 1.9
diff -u -r1.9 process.c
--- process.c 27 Jun 2005 11:12:11 -0000 1.9
+++ process.c 2 Jul 2005 17:15:14 -0000
@@ -60,6 +60,12 @@
return ret;
}
+#define UNIMPLEMENTED_INFO_CLASS(c) \
+ case c: \
+ FIXME("(process=%p) Unimplemented information class: " #c "\n", ProcessHandle); \
+ ret = STATUS_INVALID_INFO_CLASS; \
+ break;
+
/******************************************************************************
* NtQueryInformationProcess [NTDLL.@]
* ZwQueryInformationProcess [NTDLL.@]
@@ -82,6 +88,34 @@
switch (ProcessInformationClass)
{
+
+ UNIMPLEMENTED_INFO_CLASS(ProcessQuotaLimits)
+ UNIMPLEMENTED_INFO_CLASS(ProcessBasePriority)
+ UNIMPLEMENTED_INFO_CLASS(ProcessRaisePriority)
+ UNIMPLEMENTED_INFO_CLASS(ProcessExceptionPort)
+ UNIMPLEMENTED_INFO_CLASS(ProcessAccessToken)
+ UNIMPLEMENTED_INFO_CLASS(ProcessLdtInformation)
+ UNIMPLEMENTED_INFO_CLASS(ProcessLdtSize)
+ UNIMPLEMENTED_INFO_CLASS(ProcessDefaultHardErrorMode)
+ UNIMPLEMENTED_INFO_CLASS(ProcessIoPortHandlers)
+ UNIMPLEMENTED_INFO_CLASS(ProcessPooledUsageAndLimits)
+ UNIMPLEMENTED_INFO_CLASS(ProcessWorkingSetWatch)
+ UNIMPLEMENTED_INFO_CLASS(ProcessUserModeIOPL)
+ UNIMPLEMENTED_INFO_CLASS(ProcessEnableAlignmentFaultFixup)
+ UNIMPLEMENTED_INFO_CLASS(ProcessPriorityClass)
+ UNIMPLEMENTED_INFO_CLASS(ProcessWx86Information)
+ UNIMPLEMENTED_INFO_CLASS(ProcessAffinityMask)
+ UNIMPLEMENTED_INFO_CLASS(ProcessPriorityBoost)
+ UNIMPLEMENTED_INFO_CLASS(ProcessDeviceMap)
+ UNIMPLEMENTED_INFO_CLASS(ProcessSessionInformation)
+ UNIMPLEMENTED_INFO_CLASS(ProcessForegroundInformation)
+ UNIMPLEMENTED_INFO_CLASS(ProcessImageFileName)
+ UNIMPLEMENTED_INFO_CLASS(ProcessLUIDDeviceMapsEnabled)
+ UNIMPLEMENTED_INFO_CLASS(ProcessBreakOnTermination)
+ UNIMPLEMENTED_INFO_CLASS(ProcessDebugObjectHandle)
+ UNIMPLEMENTED_INFO_CLASS(ProcessDebugFlags)
+ UNIMPLEMENTED_INFO_CLASS(ProcessHandleTracing)
+
case ProcessBasicInformation:
{
PROCESS_BASIC_INFORMATION pbi;
@@ -237,7 +271,7 @@
else ret = STATUS_INFO_LENGTH_MISMATCH;
break;
default:
- FIXME("(%p,0x%08x,%p,0x%08lx,%p),stub!\n",
+ FIXME("(%p,info_class=%d,%p,0x%08lx,%p) Unknown information class\n",
ProcessHandle,ProcessInformationClass,
ProcessInformation,ProcessInformationLength,
ReturnLength);
More information about the wine-patches
mailing list