return STATUS_SUCCESS;
}
+#if (NTDDI_VERSION >= NTDDI_WIN7)
+FORCEINLINE
+ULONG
+KeGetCurrentProcessorIndex(VOID)
+{
+ return __readgsdword(0x1a4);
+}
+#endif
+
/* VOID
* KeFlushIoBuffers(
* IN PMDL Mdl,
return (PKPCR)__readgsqword(FIELD_OFFSET(KPCR, Self));
}
+#if (NTDDI_VERSION >= NTDDI_WIN7)
+_CRT_DEPRECATE_TEXT("KeGetCurrentProcessorNumber is deprecated. Use KeGetCurrentProcessorNumberEx or KeGetCurrentProcessorIndex instead.")
+#endif
FORCEINLINE
ULONG
KeGetCurrentProcessorNumber(VOID)
{
- return (ULONG)__readgsword(0x184);
+ return __readgsbyte(0x184);
}
$endif /* _NTDDK_ */
_In_ PVOID BaseAddress,
_In_ ULONG Length);
$endif (_NTDDK_)
-$if (_NTIFS_)
-
-NTSTATUS
-NTAPI
-KeGetProcessorNumberFromIndex(
- _In_ ULONG ProcIndex,
- _Out_ PPROCESSOR_NUMBER ProcNumber);
-
-ULONG
-NTAPI
-KeGetProcessorIndexFromNumber(
- _In_ PPROCESSOR_NUMBER ProcNumber);
-$endif (_NTIFS_)
#if (NTDDI_VERSION >= NTDDI_WIN2K)
KeRestoreFloatingPointState(
_In_ PKFLOATING_SAVE FloatSave);
+#if (NTDDI_VERSION >= NTDDI_WIN7)
+FORCEINLINE
+ULONG
+NTAPI
+KeGetCurrentProcessorIndex(VOID)
+{
+ return __readfsbyte(0x51);
+}
+#endif
+
/* VOID
* KeFlushIoBuffers(
* IN PMDL Mdl,
ULONG HalReserved[16];
} KPCR, *PKPCR;
+#if (NTDDI_VERSION >= NTDDI_WIN7)
+_CRT_DEPRECATE_TEXT("KeGetCurrentProcessorNumber is deprecated. Use KeGetCurrentProcessorNumberEx or KeGetCurrentProcessorIndex instead.")
+#endif
FORCEINLINE
ULONG
KeGetCurrentProcessorNumber(VOID)