The definition of NtCreatePartition in ntmmapi.h is :
NTSYSCALLAPI
NTSTATUS
NTAPI
NtCreatePartition(
_Out_ PHANDLE PartitionHandle,
_In_ ACCESS_MASK DesiredAccess,
_In_opt_ POBJECT_ATTRIBUTES ObjectAttributes,
_In_ ULONG PreferredNode
);
but Geoff Chappell shows the definition of that function, in 1511 or higher, to be :
NTSTATUS
NtCreatePartition (
HANDLE ParentPartitionHandle,
HANDLE *PartitionHandle,
ULONG DesiredAccess,
POBJECT_ATTRIBUTES ObjectAttributes);
and
NTSTATUS
NtCreatePartition (
HANDLE ParentPartitionHandle,
HANDLE *PartitionHandle,
ULONG DesiredAccess,
POBJECT_ATTRIBUTES ObjectAttributes,
ULONG Node);
for the initial release.
Both of the definitions he gives are different than the one in ntmmapi.h. In both, the first parameter is a ParentPartitionHandle and, there is reason to believe his definitions are correct because he states
it is declared in the ZWAPI.H file from an Enterprise edition of the Windows Driver Kit (WDK) for the 1511 release of Windows 10.
which leads one to believe he's seen the MS definitions.
The link to Geoff Chappell's page is :
https://www.geoffchappell.com/studies/w ... create.htm
Also, there is a similar situation with the NtManagePartition. His definition doesn't match PH's and there is reason to believe his is correct.
The link to that page is :
https://www.geoffchappell.com/studies/w ... manage.htm
Comments welcome.