[NTDLL/ADVAPI] some stubs + DbgPrintEx

Raphael fenix at club-internet.fr
Wed Apr 7 02:54:21 CDT 2004


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hi,

 Changelog:
  - add some stubs to advapi 
  - fix DbgPrint and implement DbgPrintEx into ntdll
  - stub for NtImpersonateAnonymousToken 
  - define some defs and proto into winternl.h

Regards,
Raphael
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.4 (GNU/Linux)

iD8DBQFAc7Owp7NA3AmQTU4RAk6VAJ9zrdhLkUQNdFB3Tjgv+tHogE/UiACdHo+V
V2iwcELU718f9pWGnthD7bI=
=XNin
-----END PGP SIGNATURE-----
-------------- next part --------------
Index: advapi32.spec
===================================================================
RCS file: /home/wine/wine/dlls/advapi32/advapi32.spec,v
retrieving revision 1.46
diff -u -r1.46 advapi32.spec
--- advapi32.spec	22 Mar 2004 21:31:26 -0000	1.46
+++ advapi32.spec	7 Apr 2004 07:50:14 -0000
@@ -309,6 +309,21 @@
 @ stub SystemFunction028
 @ stub SystemFunction029
 @ stub SystemFunction030
+@ stub SystemFunction031
+@ stub SystemFunction032
+@ stub SystemFunction033
+@ stub SystemFunction034
+@ stub SystemFunction035
+@ stub SystemFunction036
+@ stub SystemFunction040
+@ stub SystemFunction041
+@ stub TraceEvent
+@ stub TraceEventInstance
+@ stub TraceMessage
+@ stub TraceMessageVa
+@ stub UnregisterTraceGuids
+@ stub UpdateTraceA
+@ stub UpdateTraceW
 @ stub LsaQueryInfoTrustedDomain
 @ stub LsaQuerySecret
 @ stub LsaCreateSecret
@@ -339,12 +354,12 @@
 @ stdcall SynchronizeWindows31FilesAndWindowsNTRegistry(long long long long)
 @ stdcall QueryWindows31FilesMigration(long)
 @ stub LsaICLookupSids
-@ stub SystemFunction031
 @ stub I_ScSetServiceBitsA
 @ stub EnumServiceGroupA
 @ stub EnumServiceGroupW
 @ stdcall CheckTokenMembership(long ptr ptr)
+@ stub WdmWmiServiceMain
+@ stub WmiCloseBlock
+@ stub WmiOpenBlock
 @ stub WmiQuerySingleInstanceW
 @ stub WmiSetSingleInstanceW
-@ stub WmiOpenBlock
-@ stub WmiCloseBlock
-------------- next part --------------
Index: rtl.c
===================================================================
RCS file: /home/wine/wine/dlls/ntdll/rtl.c,v
retrieving revision 1.67
diff -u -r1.67 rtl.c
--- rtl.c	4 Dec 2003 05:51:01 -0000	1.67
+++ rtl.c	7 Apr 2004 07:51:30 -0000
@@ -294,17 +294,41 @@
 /******************************************************************************
  *	DbgPrint	[NTDLL.@]
  */
-void WINAPIV DbgPrint(LPCSTR fmt, ...)
+NTSTATUS WINAPIV DbgPrint(LPCSTR fmt, ...)
 {
-       char buf[512];
-       va_list args;
+  char buf[512];
+  va_list args;
 
-       va_start(args, fmt);
-       vsprintf(buf,fmt, args);
-       va_end(args);
+  va_start(args, fmt);
+  vsprintf(buf,fmt, args);
+  va_end(args);
 
-	MESSAGE("DbgPrint says: %s",buf);
-	/* hmm, raise exception? */
+  MESSAGE("DbgPrint says: %s",buf);
+  /* hmm, raise exception? */
+  return STATUS_SUCCESS;
+}
+
+
+/******************************************************************************
+ *	DbgPrint	[NTDLL.@]
+ */
+NTSTATUS WINAPIV DbgPrintEx(ULONG iComponentId, ULONG Level, LPCSTR fmt, ...)
+{
+  char buf[1024];
+  va_list args;
+
+  va_start(args, fmt);
+  vsprintf(buf, fmt, args);
+  va_end(args);
+
+  switch (Level & DPFLTR_MASK) {
+  case DPFLTR_ERROR_LEVEL:   ERR("%lx: %s", iComponentId, buf); break;
+  case DPFLTR_WARNING_LEVEL: WARN("%lx: %s", iComponentId, buf); break;
+  case DPFLTR_TRACE_LEVEL: 
+  case DPFLTR_INFO_LEVEL: 
+  default:                   TRACE("%lx: %s", iComponentId, buf); break;
+  }
+  return STATUS_SUCCESS;
 }
 
 /******************************************************************************
Index: ntdll.spec
===================================================================
RCS file: /home/wine/wine/dlls/ntdll/ntdll.spec,v
retrieving revision 1.147
diff -u -r1.147 ntdll.spec
--- ntdll.spec	1 Apr 2004 02:12:41 -0000	1.147
+++ ntdll.spec	7 Apr 2004 07:51:31 -0000
@@ -23,6 +23,7 @@
 @ stub CsrpProcessCallbackRequest
 @ stdcall DbgBreakPoint()
 @ varargs DbgPrint(str)
+@ varargs DbgPrintEx(long long str)
 @ stub DbgPrompt
 @ stub DbgSsHandleKmApiMsg
 @ stub DbgSsInitialize
@@ -123,6 +124,7 @@
 @ stdcall NtGetContextThread(long ptr)
 @ stub NtGetPlugPlayEvent
 @ stub NtGetTickCount
+@ stub NtImpersonateAnonymousToken
 @ stub NtImpersonateClientOfPort
 @ stub NtImpersonateThread
 @ stub NtInitializeRegistry
Index: include/winternl.h
===================================================================
RCS file: /home/wine/wine/include/winternl.h,v
retrieving revision 1.71
diff -u -r1.71 winternl.h
--- include/winternl.h	5 Apr 2004 20:21:16 -0000	1.71
+++ include/winternl.h	7 Apr 2004 07:51:38 -0000
@@ -1011,6 +1011,15 @@
   ULONG  NumberOfExclusiveWaiters;
 } DEBUG_LOCK_INFORMATION, *PDEBUG_LOCK_INFORMATION;
 
+typedef struct _PORT_MESSAGE_HEADER {
+  USHORT DataSize;
+  USHORT MessageSize;
+  USHORT MessageType;
+  USHORT VirtualRangesOffset;
+  CLIENT_ID ClientId;
+  ULONG MessageId;
+  ULONG SectionSize;
+} PORT_MESSAGE_HEADER, *PPORT_MESSAGE_HEADER, PORT_MESSAGE, *PPORT_MESSAGE;
 
 /***********************************************************************
  * Defines
@@ -1100,7 +1109,8 @@
 void WINAPI DbgBreakPoint(void);
 void WINAPI DbgUserBreakPoint(void);
 #endif  /* __i386__ && __GNUC__ */
-void WINAPIV DbgPrint(LPCSTR fmt, ...);
+NTSTATUS WINAPIV DbgPrint(LPCSTR fmt, ...);
+NTSTATUS WINAPIV DbgPrintEx(ULONG iComponentId, ULONG Level, LPCSTR fmt, ...);
 
 NTSTATUS  WINAPI LdrAccessResource(HMODULE,const IMAGE_RESOURCE_DATA_ENTRY*,void**,PULONG);
 NTSTATUS  WINAPI LdrFindResourceDirectory_U(HMODULE,const LDR_RESOURCE_INFO*,ULONG,const IMAGE_RESOURCE_DIRECTORY**);
@@ -1135,6 +1145,9 @@
 NTSTATUS  WINAPI NtFlushVirtualMemory(HANDLE,LPCVOID*,ULONG*,ULONG);
 NTSTATUS  WINAPI NtFreeVirtualMemory(HANDLE,PVOID*,ULONG*,ULONG);
 NTSTATUS  WINAPI NtGetContextThread(HANDLE,CONTEXT*);
+NTSTATUS  WINAPI NtImpersonateAnonymousToken(HANDLE ThreadHandle);
+NTSTATUS  WINAPI NtImpersonateClientOfPort(HANDLE PortHandle, PPORT_MESSAGE Message);
+NTSTATUS  WINAPI NtImpersonateThread(HANDLE ThreadHandle, HANDLE TargetThreadHandle, PSECURITY_QUALITY_OF_SERVICE SecurityQos);
 NTSTATUS  WINAPI NtLoadKey(const OBJECT_ATTRIBUTES *,const OBJECT_ATTRIBUTES *);
 NTSTATUS  WINAPI NtLockFile(HANDLE,HANDLE,PIO_APC_ROUTINE,void*,PIO_STATUS_BLOCK,PLARGE_INTEGER,PLARGE_INTEGER,ULONG*,BOOLEAN,BOOLEAN);
 NTSTATUS  WINAPI NtLockVirtualMemory(HANDLE,PVOID*,ULONG*,ULONG);
@@ -1150,6 +1163,8 @@
 NTSTATUS  WINAPI NtOpenTimer(HANDLE*, ACCESS_MASK, const OBJECT_ATTRIBUTES*);
 NTSTATUS  WINAPI NtProtectVirtualMemory(HANDLE,PVOID*,ULONG*,ULONG,ULONG*);
 NTSTATUS  WINAPI NtPulseEvent(HANDLE,PULONG);
+NTSTATUS  WINAPI NtResetEvent(HANDLE, PULONG);
+NTSTATUS  WINAPI NtSetEvent(HANDLE, PULONG);
 NTSTATUS  WINAPI NtQueueApcThread(HANDLE,PNTAPCFUNC,ULONG_PTR,ULONG_PTR,ULONG_PTR);
 NTSTATUS  WINAPI NtQueryDefaultLocale(BOOLEAN,LCID*);
 NTSTATUS  WINAPI NtQueryDirectoryFile(HANDLE,HANDLE,PIO_APC_ROUTINE,PVOID,PIO_STATUS_BLOCK,PVOID,ULONG,FILE_INFORMATION_CLASS,BOOLEAN,PUNICODE_STRING,BOOLEAN);
@@ -1619,6 +1634,20 @@
     if (e != le) e->Flink = e->Blink = NULL;
     return e;
 }
+
+
+/** 
+ * DbgPrintEx 
+ */
+
+/** */
+
+/** default levels */
+#define   DPFLTR_ERROR_LEVEL     0
+#define   DPFLTR_WARNING_LEVEL   1
+#define   DPFLTR_TRACE_LEVEL     2
+#define   DPFLTR_INFO_LEVEL      3
+#define   DPFLTR_MASK    0x8000000
 
 #ifdef __cplusplus
 } /* extern "C" */


More information about the wine-patches mailing list