From e595cd5c9dea06723be09035e932b929741c18b2 Mon Sep 17 00:00:00 2001 From: Alex Ionescu Date: Sat, 5 Nov 2005 06:44:03 +0000 Subject: [PATCH] - Move some NDK definitions (Cm Callbacks) to the DDK since they are actually public. - Fix strange/incorrect hack which disabled DPRINT in msvc - Move UNIMPLEMENTED to the proper DBG block - Fix rtltypes.h compatibility with the PSDK/DDK I hope this doesn't break anything, my tree is quite off-sync. svn path=/trunk/; revision=19009 --- reactos/include/ndk/cmtypes.h | 110 ---------------------------- reactos/include/ndk/rtltypes.h | 35 +++++---- reactos/include/reactos/debug.h | 12 ++- reactos/w32api/include/ddk/winddk.h | 106 +++++++++++++++++++++++++++ reactos/w32api/include/windef.h | 1 + 5 files changed, 131 insertions(+), 133 deletions(-) diff --git a/reactos/include/ndk/cmtypes.h b/reactos/include/ndk/cmtypes.h index 3c9475250b5..8a4a721a72f 100644 --- a/reactos/include/ndk/cmtypes.h +++ b/reactos/include/ndk/cmtypes.h @@ -175,116 +175,6 @@ typedef struct _KEY_BASIC_INFORMATION WCHAR Name[1]; } KEY_BASIC_INFORMATION, *PKEY_BASIC_INFORMATION; -#else - -typedef struct _REG_DELETE_KEY_INFORMATION -{ - PVOID Object; -} REG_DELETE_KEY_INFORMATION, *PREG_DELETE_KEY_INFORMATION; - -typedef struct _REG_SET_VALUE_KEY_INFORMATION -{ - PVOID Object; - PUNICODE_STRING ValueName; - ULONG TitleIndex; - ULONG Type; - PVOID Data; - ULONG DataSize; -} REG_SET_VALUE_KEY_INFORMATION, *PREG_SET_VALUE_KEY_INFORMATION; - -typedef struct _REG_DELETE_VALUE_KEY_INFORMATION -{ - PVOID Object; - PUNICODE_STRING ValueName; -} REG_DELETE_VALUE_KEY_INFORMATION, *PREG_DELETE_VALUE_KEY_INFORMATION; - -typedef struct _REG_SET_INFORMATION_KEY_INFORMATION -{ - PVOID Object; - KEY_SET_INFORMATION_CLASS KeySetInformationClass; - PVOID KeySetInformation; - ULONG KeySetInformationLength; -} REG_SET_INFORMATION_KEY_INFORMATION, *PREG_SET_INFORMATION_KEY_INFORMATION; - -typedef struct _REG_ENUMERATE_KEY_INFORMATION -{ - PVOID Object; - ULONG Index; - KEY_INFORMATION_CLASS KeyInformationClass; - PVOID KeyInformation; - ULONG Length; - PULONG ResultLength; -} REG_ENUMERATE_KEY_INFORMATION, *PREG_ENUMERATE_KEY_INFORMATION; - -typedef struct _REG_ENUMERATE_VALUE_KEY_INFORMATION -{ - PVOID Object; - ULONG Index; - KEY_VALUE_INFORMATION_CLASS KeyValueInformationClass; - PVOID KeyValueInformation; - ULONG Length; - PULONG ResultLength; -} REG_ENUMERATE_VALUE_KEY_INFORMATION, *PREG_ENUMERATE_VALUE_KEY_INFORMATION; - -typedef struct _REG_QUERY_KEY_INFORMATION -{ - PVOID Object; - KEY_INFORMATION_CLASS KeyInformationClass; - PVOID KeyInformation; - ULONG Length; - PULONG ResultLength; -} REG_QUERY_KEY_INFORMATION, *PREG_QUERY_KEY_INFORMATION; - -typedef struct _REG_QUERY_VALUE_KEY_INFORMATION -{ - PVOID Object; - PUNICODE_STRING ValueName; - KEY_VALUE_INFORMATION_CLASS KeyValueInformationClass; - PVOID KeyValueInformation; - ULONG Length; - PULONG ResultLength; -} REG_QUERY_VALUE_KEY_INFORMATION, *PREG_QUERY_VALUE_KEY_INFORMATION; - -typedef struct _REG_QUERY_MULTIPLE_VALUE_KEY_INFORMATION -{ - PVOID Object; - PKEY_VALUE_ENTRY ValueEntries; - ULONG EntryCount; - PVOID ValueBuffer; - PULONG BufferLength; - PULONG RequiredBufferLength; -} REG_QUERY_MULTIPLE_VALUE_KEY_INFORMATION, *PREG_QUERY_MULTIPLE_VALUE_KEY_INFORMATION; - -typedef struct _REG_PRE_CREATE_KEY_INFORMATION -{ - PUNICODE_STRING CompleteName; -} REG_PRE_CREATE_KEY_INFORMATION, *PREG_PRE_CREATE_KEY_INFORMATION; - -typedef struct _REG_POST_CREATE_KEY_INFORMATION -{ - PUNICODE_STRING CompleteName; - PVOID Object; - NTSTATUS Status; -} REG_POST_CREATE_KEY_INFORMATION, *PREG_POST_CREATE_KEY_INFORMATION; - -typedef struct _REG_PRE_OPEN_KEY_INFORMATION -{ - PUNICODE_STRING CompleteName; -} REG_PRE_OPEN_KEY_INFORMATION, *PREG_PRE_OPEN_KEY_INFORMATION; - -typedef struct _REG_POST_OPEN_KEY_INFORMATION -{ - PUNICODE_STRING CompleteName; - PVOID Object; - NTSTATUS Status; -} REG_POST_OPEN_KEY_INFORMATION, *PREG_POST_OPEN_KEY_INFORMATION; - -typedef struct _REG_POST_OPERATION_INFORMATION -{ - PVOID Object; - NTSTATUS Status; -} REG_POST_OPERATION_INFORMATION,*PREG_POST_OPERATION_INFORMATION; - #endif typedef struct _PLUGPLAY_EVENT_BLOCK diff --git a/reactos/include/ndk/rtltypes.h b/reactos/include/ndk/rtltypes.h index 3abcd3b66e0..d0f08087edb 100644 --- a/reactos/include/ndk/rtltypes.h +++ b/reactos/include/ndk/rtltypes.h @@ -282,6 +282,17 @@ typedef enum /* FUNCTION TYPES ************************************************************/ #ifndef NTOS_MODE_USER typedef VOID (NTAPI *WAITORTIMERCALLBACKFUNC)(PVOID, BOOLEAN); + +#else + +typedef EXCEPTION_DISPOSITION +(NTAPI *PEXCEPTION_ROUTINE)( + IN struct _EXCEPTION_RECORD *ExceptionRecord, + IN PVOID EstablisherFrame, + IN OUT struct _CONTEXT *ContextRecord, + IN OUT PVOID DispatcherContext +); + #endif struct _RTL_AVL_TABLE; @@ -294,14 +305,6 @@ typedef NTSTATUS IN PVOID UserParam ); -typedef EXCEPTION_DISPOSITION -(NTAPI *PEXCEPTION_ROUTINE)( - IN struct _EXCEPTION_RECORD *ExceptionRecord, - IN PVOID EstablisherFrame, - IN OUT struct _CONTEXT *ContextRecord, - IN OUT PVOID DispatcherContext -); - typedef LONG (NTAPI *PVECTORED_EXCEPTION_HANDLER)( PEXCEPTION_POINTERS ExceptionPointers ); @@ -394,14 +397,6 @@ typedef LPOSVERSIONINFOW PRTL_OSVERSIONINFOW; typedef OSVERSIONINFOEXW RTL_OSVERSIONINFOEXW; typedef LPOSVERSIONINFOEXW PRTL_OSVERSIONINFOEXW; -typedef EXCEPTION_DISPOSITION -(*PEXCEPTION_HANDLER)( - struct _EXCEPTION_RECORD*, - PVOID, - struct _CONTEXT*, - PVOID -); - typedef struct _RTL_HEAP_PARAMETERS { ULONG Length; @@ -540,6 +535,14 @@ typedef struct _TIME_FIELDS } TIME_FIELDS, *PTIME_FIELDS; #endif +typedef EXCEPTION_DISPOSITION +(*PEXCEPTION_HANDLER)( + struct _EXCEPTION_RECORD*, + PVOID, + struct _CONTEXT*, + PVOID +); + typedef struct _ACE { ACE_HEADER Header; diff --git a/reactos/include/reactos/debug.h b/reactos/include/reactos/debug.h index 9dc594e3f9e..9de4900cb18 100644 --- a/reactos/include/reactos/debug.h +++ b/reactos/include/reactos/debug.h @@ -16,8 +16,6 @@ #ifndef __INTERNAL_DEBUG #define __INTERNAL_DEBUG -#define UNIMPLEMENTED DbgPrint("WARNING: %s at %s:%d is UNIMPLEMENTED!\n",__FUNCTION__,__FILE__,__LINE__); - /* FIXME: should probably remove this later */ #if !defined(CHECKED) && !defined(NDEBUG) #define CHECKED @@ -61,22 +59,22 @@ #define CHECKPOINT do { DbgPrint("%s:%d\n",__FILE__,__LINE__); } while(0); #else - #if defined (__STDC__) - #define DPRINT(...) do { if(0) { DbgPrint(__VA_ARGS__); } } while(0) - #endif + #define DPRINT(...) do { if(0) { DbgPrint(__VA_ARGS__); } } while(0) #define CHECKPOINT #endif + #define UNIMPLEMENTED \ + DbgPrint("WARNING: %s at %s:%d is UNIMPLEMENTED!\n",__FUNCTION__,__FILE__,__LINE__); + #else /* On non-debug builds, we never show these */ - #if defined (__STDC__) #define DPRINT1(...) do { if(0) { DbgPrint(__VA_ARGS__); } } while(0) #define DPRINT(...) do { if(0) { DbgPrint(__VA_ARGS__); } } while(0) - #endif #define CHECKPOINT1 #define CHECKPOINT + #define UNIMPLEMENTED #endif /* diff --git a/reactos/w32api/include/ddk/winddk.h b/reactos/w32api/include/ddk/winddk.h index 9d017d33795..490b464c392 100644 --- a/reactos/w32api/include/ddk/winddk.h +++ b/reactos/w32api/include/ddk/winddk.h @@ -4574,7 +4574,113 @@ typedef NTSTATUS IN REG_NOTIFY_CLASS Argument1, IN PVOID Argument2); +typedef struct _REG_DELETE_KEY_INFORMATION +{ + PVOID Object; +} REG_DELETE_KEY_INFORMATION, *PREG_DELETE_KEY_INFORMATION; +typedef struct _REG_SET_VALUE_KEY_INFORMATION +{ + PVOID Object; + PUNICODE_STRING ValueName; + ULONG TitleIndex; + ULONG Type; + PVOID Data; + ULONG DataSize; +} REG_SET_VALUE_KEY_INFORMATION, *PREG_SET_VALUE_KEY_INFORMATION; + +typedef struct _REG_DELETE_VALUE_KEY_INFORMATION +{ + PVOID Object; + PUNICODE_STRING ValueName; +} REG_DELETE_VALUE_KEY_INFORMATION, *PREG_DELETE_VALUE_KEY_INFORMATION; + +typedef struct _REG_SET_INFORMATION_KEY_INFORMATION +{ + PVOID Object; + KEY_SET_INFORMATION_CLASS KeySetInformationClass; + PVOID KeySetInformation; + ULONG KeySetInformationLength; +} REG_SET_INFORMATION_KEY_INFORMATION, *PREG_SET_INFORMATION_KEY_INFORMATION; + +typedef struct _REG_ENUMERATE_KEY_INFORMATION +{ + PVOID Object; + ULONG Index; + KEY_INFORMATION_CLASS KeyInformationClass; + PVOID KeyInformation; + ULONG Length; + PULONG ResultLength; +} REG_ENUMERATE_KEY_INFORMATION, *PREG_ENUMERATE_KEY_INFORMATION; + +typedef struct _REG_ENUMERATE_VALUE_KEY_INFORMATION +{ + PVOID Object; + ULONG Index; + KEY_VALUE_INFORMATION_CLASS KeyValueInformationClass; + PVOID KeyValueInformation; + ULONG Length; + PULONG ResultLength; +} REG_ENUMERATE_VALUE_KEY_INFORMATION, *PREG_ENUMERATE_VALUE_KEY_INFORMATION; + +typedef struct _REG_QUERY_KEY_INFORMATION +{ + PVOID Object; + KEY_INFORMATION_CLASS KeyInformationClass; + PVOID KeyInformation; + ULONG Length; + PULONG ResultLength; +} REG_QUERY_KEY_INFORMATION, *PREG_QUERY_KEY_INFORMATION; + +typedef struct _REG_QUERY_VALUE_KEY_INFORMATION +{ + PVOID Object; + PUNICODE_STRING ValueName; + KEY_VALUE_INFORMATION_CLASS KeyValueInformationClass; + PVOID KeyValueInformation; + ULONG Length; + PULONG ResultLength; +} REG_QUERY_VALUE_KEY_INFORMATION, *PREG_QUERY_VALUE_KEY_INFORMATION; + +typedef struct _REG_QUERY_MULTIPLE_VALUE_KEY_INFORMATION +{ + PVOID Object; + PKEY_VALUE_ENTRY ValueEntries; + ULONG EntryCount; + PVOID ValueBuffer; + PULONG BufferLength; + PULONG RequiredBufferLength; +} REG_QUERY_MULTIPLE_VALUE_KEY_INFORMATION, *PREG_QUERY_MULTIPLE_VALUE_KEY_INFORMATION; + +typedef struct _REG_PRE_CREATE_KEY_INFORMATION +{ + PUNICODE_STRING CompleteName; +} REG_PRE_CREATE_KEY_INFORMATION, *PREG_PRE_CREATE_KEY_INFORMATION; + +typedef struct _REG_POST_CREATE_KEY_INFORMATION +{ + PUNICODE_STRING CompleteName; + PVOID Object; + NTSTATUS Status; +} REG_POST_CREATE_KEY_INFORMATION, *PREG_POST_CREATE_KEY_INFORMATION; + +typedef struct _REG_PRE_OPEN_KEY_INFORMATION +{ + PUNICODE_STRING CompleteName; +} REG_PRE_OPEN_KEY_INFORMATION, *PREG_PRE_OPEN_KEY_INFORMATION; + +typedef struct _REG_POST_OPEN_KEY_INFORMATION +{ + PUNICODE_STRING CompleteName; + PVOID Object; + NTSTATUS Status; +} REG_POST_OPEN_KEY_INFORMATION, *PREG_POST_OPEN_KEY_INFORMATION; + +typedef struct _REG_POST_OPERATION_INFORMATION +{ + PVOID Object; + NTSTATUS Status; +} REG_POST_OPERATION_INFORMATION,*PREG_POST_OPERATION_INFORMATION; /* ** Storage structures diff --git a/reactos/w32api/include/windef.h b/reactos/w32api/include/windef.h index c22beffa55a..3cdde6ed38c 100644 --- a/reactos/w32api/include/windef.h +++ b/reactos/w32api/include/windef.h @@ -281,6 +281,7 @@ DECLARE_HANDLE(HKEY); /* FIXME: How to handle these. SM_CMONITORS etc in winuser.h also. */ /* #if (WINVER >= 0x0500) */ DECLARE_HANDLE(HMONITOR); +DECLARE_HANDLE(HUMPD); #define HMONITOR_DECLARED 1 DECLARE_HANDLE(HTERMINAL); DECLARE_HANDLE(HWINEVENTHOOK);