[NDK][NTOS]
[reactos.git] / reactos / include / ndk / kefuncs.h
index 1c65e27..a1e379f 100644 (file)
@@ -56,7 +56,11 @@ VOID
 NTAPI
 KiDeliverApc(
     _In_ KPROCESSOR_MODE PreviousMode,
+#ifdef _M_AMD64
     _In_ PKEXCEPTION_FRAME ExceptionFrame,
+#else
+    _Reserved_ PKEXCEPTION_FRAME ExceptionFrame,
+#endif
     _In_ PKTRAP_FRAME TrapFrame
 );
 
@@ -205,7 +209,11 @@ BOOLEAN
 NTAPI
 KiIpiServiceRoutine(
     _In_ PKTRAP_FRAME TrapFrame,
+#ifdef _M_AMD64
     _In_ PKEXCEPTION_FRAME ExceptionFrame
+#else
+    _Reserved_ PKEXCEPTION_FRAME ExceptionFrame
+#endif
 );
 
 //
@@ -277,6 +285,19 @@ KeSetGdtSelector(
     _In_ ULONG Value2
 );
 
+VOID
+NTAPI
+KeProfileInterrupt(
+    _In_ PKTRAP_FRAME TrapFrame
+);
+
+VOID
+NTAPI
+KeProfileInterruptWithSource(
+    _In_ PKTRAP_FRAME TrapFrame,
+    _In_ KPROFILE_SOURCE Source
+);
+
 VOID
 NTAPI
 KeSetProfileIrql(
@@ -304,9 +325,9 @@ NTSTATUS
 NTAPI
 KeUserModeCallback(
     _In_ ULONG FunctionID,
-    _In_ PVOID InputBuffer,
+    _In_reads_opt_(InputLength) PVOID InputBuffer,
     _In_ ULONG InputLength,
-    _Out_ PVOID *OutputBuffer,
+    _Outptr_result_buffer_(*OutputLength) PVOID *OutputBuffer,
     _Out_ PULONG OutputLength
 );
 
@@ -345,7 +366,7 @@ NtCreateProfile(
     _Out_ PHANDLE ProfileHandle,
     _In_ HANDLE ProcessHandle,
     _In_ PVOID ImageBase,
-    _In_ ULONG ImageSize,
+    _In_ SIZE_T ImageSize,
     _In_ ULONG Granularity,
     _Out_ PVOID Buffer,
     _In_ ULONG ProfilingSize,
@@ -353,6 +374,22 @@ NtCreateProfile(
     _In_ KAFFINITY ProcessorMask
 );
 
+NTSYSCALLAPI
+NTSTATUS
+NTAPI
+NtCreateProfileEx(
+    _Out_ PHANDLE ProfileHandle,
+    _In_ HANDLE ProcessHandle,
+    _In_ PVOID ImageBase,
+    _In_ SIZE_T ImageSize,
+    _In_ ULONG Granularity,
+    _Out_ PVOID Buffer,
+    _In_ ULONG ProfilingSize,
+    _In_ KPROFILE_SOURCE Source,
+    _In_ USHORT GroupCount,
+    _In_reads_(GroupCount) PGROUP_AFFINITY Affinity
+);
+
 NTSYSCALLAPI
 NTSTATUS
 NTAPI
@@ -403,8 +440,8 @@ NTSYSCALLAPI
 NTSTATUS
 NTAPI
 NtQueryPerformanceCounter(
-    _In_ PLARGE_INTEGER Counter,
-    _In_ PLARGE_INTEGER Frequency
+    _Out_ PLARGE_INTEGER Counter,
+    _Out_opt_ PLARGE_INTEGER Frequency
 );
 
 NTSYSCALLAPI
@@ -429,9 +466,9 @@ NTAPI
 NtQueueApcThread(
     _In_ HANDLE ThreadHandle,
     _In_ PKNORMAL_ROUTINE ApcRoutine,
-    _In_ PVOID NormalContext,
-    _In_ PVOID SystemArgument1,
-    _In_ PVOID SystemArgument2
+    _In_opt_ PVOID NormalContext,
+    _In_opt_ PVOID SystemArgument1,
+    _In_opt_ PVOID SystemArgument2
 );
 
 NTSYSCALLAPI
@@ -609,8 +646,8 @@ NTSYSAPI
 NTSTATUS
 NTAPI
 ZwQueryPerformanceCounter(
-    _In_ PLARGE_INTEGER Counter,
-    _In_ PLARGE_INTEGER Frequency
+    _Out_ PLARGE_INTEGER Counter,
+    _Out_opt_ PLARGE_INTEGER Frequency
 );
 
 NTSYSAPI
@@ -635,9 +672,9 @@ NTAPI
 ZwQueueApcThread(
     _In_ HANDLE ThreadHandle,
     _In_ PKNORMAL_ROUTINE ApcRoutine,
-    _In_ PVOID NormalContext,
-    _In_ PVOID SystemArgument1,
-    _In_ PVOID SystemArgument2
+    _In_opt_ PVOID NormalContext,
+    _In_opt_ PVOID SystemArgument1,
+    _In_opt_ PVOID SystemArgument2
 );
 
 NTSYSAPI