Advertisement
MagicAndre1981

ntddk.h updates in Windows 10 WDK (Build 10586)

Nov 8th, 2015
687
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. C:\Program Files (x86)\Windows Kits\10\Include\10.0.10586.0\km\ntddk.h got some updates:
  2.  
  3.  
  4. typedef struct _SE_ADT_PARAMETER_ARRAY_EX {
  5.  
  6.     ULONG CategoryId;
  7.     ULONG AuditId;
  8.     ULONG Version;
  9.     ULONG ParameterCount;
  10.     ULONG Length;
  11.     USHORT FlatSubCategoryId;
  12.     USHORT Type;
  13.     ULONG Flags;
  14.     SE_ADT_PARAMETER_ARRAY_ENTRY Parameters[ SE_MAX_AUDIT_PARAMETERS ];
  15.  
  16. } SE_ADT_PARAMETER_ARRAY_EX, *PSE_ADT_PARAMETER_ARRAY_EX;
  17.  
  18. /////
  19.  
  20. not sure why this was added now here:
  21.  
  22.  
  23. //
  24. // Page/memory priorities.
  25. //
  26.  
  27. #define MEMORY_PRIORITY_LOWEST           0
  28. #define MEMORY_PRIORITY_VERY_LOW         1
  29. #define MEMORY_PRIORITY_LOW              2
  30. #define MEMORY_PRIORITY_MEDIUM           3
  31. #define MEMORY_PRIORITY_BELOW_NORMAL     4
  32. #define MEMORY_PRIORITY_NORMAL           5
  33.  
  34. /////////////
  35.  
  36.  
  37. //
  38. // Process mitigation policy information
  39. //  NtSetInformationProcess using ProcessMitigationPolicy
  40. //
  41.  
  42.  
  43. typedef enum _PROCESS_MITIGATION_POLICY {
  44.     ProcessControlFlowGuardPolicy,
  45.     ProcessImageLoadPolicy
  46. } PROCESS_MITIGATION_POLICY, *PPROCESS_MITIGATION_POLICY;
  47.  
  48. ////////
  49.  
  50. //
  51. // Known extended CPU state feature BITs
  52. //
  53.  
  54. // 8    IPT                                 Supervisor
  55.  
  56. #define XSTATE_IPT                          (8)
  57.  
  58. #define XSTATE_MASK_IPT                     (1ui64 << (XSTATE_IPT))
  59.  
  60. //
  61. // Define legal values for the SystemCall member.
  62. //
  63.  
  64. #define SYSTEM_CALL_SYSCALL 0
  65. #define SYSTEM_CALL_INT_2E  1
  66.  
  67. //////
  68.  
  69.  
  70. //
  71. // On AMD64, this value is initialized to a nonzero value if the system
  72. // operates with an altered view of the system service call mechanism.
  73. //
  74.  
  75. ULONG SystemCall;
  76.  
  77. //
  78. // Reserved, available for reuse.
  79. //
  80.  
  81. ULONG SystemCallPad0;
  82. ULONGLONG SystemCallPad[2];
  83.  
  84. //
  85.     // A bitmask of enclave features supported on this system.
  86.     //
  87.    
  88.     ULONG EnclaveFeatureMask[4];
  89.  
  90. //
  91. // Assembler logic assumes a zero value for syscall and a nonzero value for
  92. // int 2e, and that no other values exist presently for the SystemCall field.
  93. //
  94.  
  95. C_ASSERT(SYSTEM_CALL_SYSCALL == 0);
  96. C_ASSERT(SYSTEM_CALL_INT_2E == 1);
  97.  
  98.  
  99. C_ASSERT(FIELD_OFFSET(KUSER_SHARED_DATA, SystemCall) == 0x308);
  100. C_ASSERT(FIELD_OFFSET(KUSER_SHARED_DATA, SystemCallPad0) == 0x30c);
  101. C_ASSERT(FIELD_OFFSET(KUSER_SHARED_DATA, SystemCallPad) == 0x310);
  102.  
  103. C_ASSERT(FIELD_OFFSET(KUSER_SHARED_DATA, EnclaveFeatureMask) == 0x36c);
  104. C_ASSERT(FIELD_OFFSET(KUSER_SHARED_DATA, Reserved8) == 0x37c);
  105.  
  106.  
  107. Silo functions now at DISPATCH_LEVEL not APC_LEVEL:
  108.  
  109. _IRQL_requires_max_(DISPATCH_LEVEL)
  110. NTKERNELAPI
  111. PESILO
  112. PsGetCurrentServerSilo(
  113.     VOID
  114.     );
  115.  
  116. /////////
  117.  
  118. #if (NTDDI_VERSION >= NTDDI_WIN10)
  119. NTKERNELAPI
  120. NTSTATUS
  121. IoVolumeDeviceNameToGuid(
  122.     _In_  PUNICODE_STRING VolumeDeviceName,
  123.     _Out_ GUID            *Guid
  124.     );
  125. #endif
  126.  
  127. #if (NTDDI_VERSION >= NTDDI_WIN10)
  128. _Must_inspect_result_
  129. NTKERNELAPI
  130. NTSTATUS
  131. IoVolumeDeviceNameToGuidPath(
  132.     _In_  PUNICODE_STRING VolumeDeviceName,
  133.     _Out_ _At_(GuidPath->Buffer,
  134.             __drv_allocatesMem(Mem)
  135.             _Post_notnull_)
  136.           PUNICODE_STRING GuidPath
  137.     );
  138. #endif
  139.  
  140. ////
  141.  
  142. typedef struct _IO_FOEXT_SILO_PARAMETERS {
  143.  
  144.     ULONG Length;
  145.     PESILO SiloContext;
  146.  
  147. } IO_FOEXT_SILO_PARAMETERS, *PIO_FOEXT_SILO_PARAMETERS;
  148.  
  149. #if (NTDDI_VERSION >= NTDDI_WINTHRESHOLD)
  150. PIO_FOEXT_SILO_PARAMETERS
  151. IoGetSiloParameters (
  152.     _In_ PFILE_OBJECT FileObject
  153.     );
  154. #endif
  155.  
  156. //////////
  157.  
  158. typedef enum _HAL_SET_INFORMATION_CLASS {
  159. HalSetResetParkDisposition,        // Set whether to park processors on reset (LOGICAL)
  160. } HAL_SET_INFORMATION_CLASS, *PHAL_SET_INFORMATION_CLASS;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement