[XDK][NTOSKRNL_VISTA] Put NTKRNLVISTAAPI to XDK headers

for vista+ APIs implemented in ntoskrnl_vista.
Now if you statically link ntoskrnl_vista into a driver,
NTKERNELAPI will automatically be removed from an API definition
This commit is contained in:
Victor Perevertkin 2020-09-24 21:51:57 +03:00
parent 7af229f5b5
commit be276dde28
No known key found for this signature in database
GPG key ID: C750B7222E9C7830
10 changed files with 42 additions and 33 deletions

View file

@ -2348,7 +2348,7 @@ IoUninitializeWorkItem(
_Inout_ PIO_WORKITEM IoWorkItem);
_IRQL_requires_max_(DISPATCH_LEVEL)
// NTKERNELAPI // HACK: ntoskrnl_vista functions are statically linked thus don't need DECLSPEC_IMPORT
NTKRNLVISTAAPI
VOID
NTAPI
IoQueueWorkItemEx(
@ -2357,7 +2357,7 @@ IoQueueWorkItemEx(
_In_ WORK_QUEUE_TYPE QueueType,
_In_opt_ __drv_aliasesMem PVOID Context);
// NTKERNELAPI // HACK: ntoskrnl_vista functions are statically linked thus don't need DECLSPEC_IMPORT
NTKRNLVISTAAPI
IO_PRIORITY_HINT
NTAPI
IoGetIoPriorityHint(
@ -2416,7 +2416,7 @@ IoSetDevicePropertyData(
_IRQL_requires_max_(PASSIVE_LEVEL)
_Must_inspect_result_
// NTKERNELAPI // HACK: ntoskrnl_vista functions are statically linked thus don't need DECLSPEC_IMPORT
NTKRNLVISTAAPI
NTSTATUS
NTAPI
IoGetDevicePropertyData(
@ -2475,7 +2475,7 @@ NTAPI
IoClearIrpExtraCreateParameter(
_Inout_ PIRP Irp);
// NTKERNELAPI // HACK: ntoskrnl_vista functions are statically linked thus don't need DECLSPEC_IMPORT
NTKRNLVISTAAPI
NTSTATUS
NTAPI
IoGetIrpExtraCreateParameter(
@ -2602,7 +2602,7 @@ $endif (_NTIFS_)
$if (_WDMDDK_)
_IRQL_requires_max_(PASSIVE_LEVEL)
_Must_inspect_result_
// NTKERNELAPI // HACK: ntoskrnl_vista functions are statically linked thus don't need DECLSPEC_IMPORT
NTKRNLVISTAAPI
NTSTATUS
IoSetDeviceInterfacePropertyData(
_In_ PUNICODE_STRING SymbolicLinkName,
@ -2629,7 +2629,7 @@ IoGetDeviceInterfacePropertyData (
$endif (_WDMDDK_)
$if (_NTDDK_)
// NTKERNELAPI // HACK: ntoskrnl_vista functions are statically linked thus don't need DECLSPEC_IMPORT
NTKRNLVISTAAPI
VOID
IoSetMasterIrpStatus(
_Inout_ PIRP MasterIrp,

View file

@ -1128,7 +1128,7 @@ NTAPI
KeRevertToUserAffinityThreadEx(
_In_ KAFFINITY Affinity);
NTKERNELAPI
NTKRNLVISTAAPI
ULONG
NTAPI
KeQueryActiveProcessorCount(
@ -1140,7 +1140,7 @@ NTAPI
KeQueryMaximumProcessorCount(VOID);
$endif (_WDMDDK_)
$if (_NTDDK_)
NTKERNELAPI
NTKRNLVISTAAPI
ULONG
NTAPI
KeQueryActiveProcessorCount(
@ -1249,12 +1249,12 @@ NTAPI
KeQueryNodeMaximumProcessorCount(
_In_ USHORT NodeNumber);
// NTKERNELAPI // HACK: ntoskrnl_vista functions are statically linked thus don't need DECLSPEC_IMPORT
NTKRNLVISTAAPI
USHORT
NTAPI
KeQueryHighestNodeNumber(VOID);
// NTKERNELAPI // HACK: ntoskrnl_vista functions are statically linked thus don't need DECLSPEC_IMPORT
NTKRNLVISTAAPI
USHORT
NTAPI
KeGetCurrentNodeNumber(VOID);
@ -1316,7 +1316,7 @@ KeRevertToUserGroupAffinityThread(
_In_ PGROUP_AFFINITY PreviousAffinity);
_IRQL_requires_max_(DISPATCH_LEVEL)
// NTKERNELAPI // HACK: ntoskrnl_vista functions are statically linked thus don't need DECLSPEC_IMPORT
NTKRNLVISTAAPI
BOOLEAN
NTAPI
KeSetCoalescableTimer(

View file

@ -112,7 +112,7 @@ PoGetSystemWake(
_In_ struct _IRP *Irp);
_IRQL_requires_max_(APC_LEVEL)
// NTKERNELAPI // HACK: ntoskrnl_vista functions are statically linked thus don't need DECLSPEC_IMPORT
NTKRNLVISTAAPI
NTSTATUS
NTAPI
PoRegisterPowerSettingCallback(
@ -123,7 +123,7 @@ PoRegisterPowerSettingCallback(
_Outptr_opt_ PVOID *Handle);
_IRQL_requires_max_(APC_LEVEL)
// NTKERNELAPI // HACK: ntoskrnl_vista functions are statically linked thus don't need DECLSPEC_IMPORT
NTKRNLVISTAAPI
NTSTATUS
NTAPI
PoUnregisterPowerSettingCallback(
@ -154,7 +154,7 @@ PoEndDeviceBusy(
_Inout_ PULONG IdlePointer);
_IRQL_requires_max_(DISPATCH_LEVEL)
// NTKERNELAPI // HACK: ntoskrnl_vista functions are statically linked thus don't need DECLSPEC_IMPORT
NTKRNLVISTAAPI
BOOLEAN
NTAPI
PoQueryWatchdogTime(

View file

@ -96,6 +96,13 @@ $define(USHORT=USHORT)
#endif
#endif
/* for statically-linked ntoskrnl_vista library */
#if defined(NTKRNLVISTA)
#define NTKRNLVISTAAPI
#else
#define NTKRNLVISTAAPI NTKERNELAPI
#endif
#if defined(_X86_) && !defined(_NTHAL_)
#define _DECL_HAL_KE_IMPORT DECLSPEC_IMPORT
#elif defined(_X86_)

View file

@ -69,7 +69,7 @@ WmiQueryTraceInformation(
_IRQL_requires_max_(PASSIVE_LEVEL)
NTSTATUS
// NTKERNELAPI // HACK: ntoskrnl_vista functions are statically linked thus don't need DECLSPEC_IMPORT
NTKRNLVISTAAPI
NTAPI
EtwRegister(
_In_ LPCGUID ProviderId,
@ -79,7 +79,7 @@ EtwRegister(
_IRQL_requires_max_(PASSIVE_LEVEL)
NTSTATUS
// NTKERNELAPI // HACK: ntoskrnl_vista functions are statically linked thus don't need DECLSPEC_IMPORT
NTKRNLVISTAAPI
NTAPI
EtwUnregister(
_In_ REGHANDLE RegHandle);
@ -112,7 +112,7 @@ EtwActivityIdControl(
_IRQL_requires_max_(HIGH_LEVEL)
NTSTATUS
// NTKERNELAPI // HACK: ntoskrnl_vista functions are statically linked thus don't need DECLSPEC_IMPORT
NTKRNLVISTAAPI
NTAPI
EtwWrite(
_In_ REGHANDLE RegHandle,

View file

@ -13,3 +13,5 @@ list(APPEND SOURCE
add_library(ntoskrnl_vista ${SOURCE})
add_dependencies(ntoskrnl_vista bugcodes xdk)
target_compile_definitions(ntoskrnl_vista PUBLIC NTKRNLVISTA)

View file

@ -10,7 +10,7 @@
_IRQL_requires_max_(HIGH_LEVEL)
NTSTATUS
NTKERNELAPI
NTKRNLVISTAAPI
NTAPI
EtwWrite(
_In_ REGHANDLE RegHandle,
@ -24,7 +24,7 @@ EtwWrite(
_IRQL_requires_max_(PASSIVE_LEVEL)
NTSTATUS
NTKERNELAPI
NTKRNLVISTAAPI
NTAPI
EtwRegister(
_In_ LPCGUID ProviderId,
@ -37,7 +37,7 @@ EtwRegister(
_IRQL_requires_max_(PASSIVE_LEVEL)
NTSTATUS
NTKERNELAPI
NTKRNLVISTAAPI
NTAPI
EtwUnregister(
_In_ REGHANDLE RegHandle)

View file

@ -18,7 +18,7 @@ typedef struct _EX_WORKITEM_CONTEXT
#define TAG_IOWI 'IWOI'
NTKERNELAPI
NTKRNLVISTAAPI
NTSTATUS
NTAPI
IoGetIrpExtraCreateParameter(IN PIRP Irp,
@ -49,7 +49,7 @@ IopWorkItemExCallback(
ExFreePoolWithTag(context, TAG_IOWI);
}
NTKERNELAPI
NTKRNLVISTAAPI
VOID
NTAPI
IoQueueWorkItemEx(
@ -68,7 +68,7 @@ IoQueueWorkItemEx(
_IRQL_requires_max_(PASSIVE_LEVEL)
_Must_inspect_result_
NTKERNELAPI
NTKRNLVISTAAPI
NTSTATUS
NTAPI
IoGetDevicePropertyData(
@ -86,7 +86,7 @@ IoGetDevicePropertyData(
_IRQL_requires_max_(PASSIVE_LEVEL)
_Must_inspect_result_
NTKERNELAPI
NTKRNLVISTAAPI
NTSTATUS
IoSetDeviceInterfacePropertyData(
_In_ PUNICODE_STRING SymbolicLinkName,
@ -100,7 +100,7 @@ IoSetDeviceInterfacePropertyData(
return STATUS_NOT_IMPLEMENTED;
}
NTKERNELAPI
NTKRNLVISTAAPI
IO_PRIORITY_HINT
NTAPI
IoGetIoPriorityHint(
@ -109,7 +109,7 @@ IoGetIoPriorityHint(
return IoPriorityNormal;
}
NTKERNELAPI
NTKRNLVISTAAPI
VOID
IoSetMasterIrpStatus(
_Inout_ PIRP MasterIrp,

View file

@ -9,7 +9,7 @@
#include <ntdef.h>
#include <ntifs.h>
NTKERNELAPI
NTKRNLVISTAAPI
ULONG
NTAPI
KeQueryActiveProcessorCount(OUT PKAFFINITY ActiveProcessors OPTIONAL)
@ -26,7 +26,7 @@ KeQueryActiveProcessorCount(OUT PKAFFINITY ActiveProcessors OPTIONAL)
return RtlNumberOfSetBits(&Bitmap);
}
NTKERNELAPI
NTKRNLVISTAAPI
USHORT
NTAPI
KeQueryHighestNodeNumber()
@ -34,7 +34,7 @@ KeQueryHighestNodeNumber()
return 0;
}
NTKERNELAPI
NTKRNLVISTAAPI
USHORT
NTAPI
KeGetCurrentNodeNumber()
@ -43,7 +43,7 @@ KeGetCurrentNodeNumber()
}
_IRQL_requires_max_(DISPATCH_LEVEL)
NTKERNELAPI
NTKRNLVISTAAPI
BOOLEAN
NTAPI
KeSetCoalescableTimer(

View file

@ -8,7 +8,7 @@
#include <ntdef.h>
#include <ntifs.h>
NTKERNELAPI
NTKRNLVISTAAPI
NTSTATUS
NTAPI
PoRegisterPowerSettingCallback(
@ -22,7 +22,7 @@ PoRegisterPowerSettingCallback(
}
_IRQL_requires_max_(APC_LEVEL)
NTKERNELAPI
NTKRNLVISTAAPI
NTSTATUS
NTAPI
PoUnregisterPowerSettingCallback(
@ -32,7 +32,7 @@ PoUnregisterPowerSettingCallback(
}
_IRQL_requires_max_(DISPATCH_LEVEL)
NTKERNELAPI
NTKRNLVISTAAPI
BOOLEAN
NTAPI
PoQueryWatchdogTime(