LoadDLLfunc (QueryInterruptTimePrecise, 4, KernelBase)
LoadDLLfunc (QueryUnbiasedInterruptTime, 4, KernelBase)
LoadDLLfunc (QueryUnbiasedInterruptTimePrecise, 4, KernelBase)
+LoadDLLfunc (VirtualAlloc2, 28, kernelbase)
+
+LoadDLLfunc (NtMapViewOfSectionEx, 36, ntdll)
/* ldap functions are cdecl! */
#pragma push_macro ("mangle")
NTSTATUS NTAPI NtMapViewOfSection (HANDLE, HANDLE, PVOID *, ULONG_PTR, SIZE_T,
PLARGE_INTEGER, PSIZE_T, SECTION_INHERIT,
ULONG, ULONG);
+ NTSTATUS NTAPI NtMapViewOfSectionEx (HANDLE, HANDLE, PVOID *, PLARGE_INTEGER,
+ PSIZE_T, ULONG, ULONG,
+ PMEM_EXTENDED_PARAMETER, ULONG);
NTSTATUS NTAPI NtNotifyChangeDirectoryFile (HANDLE, HANDLE, PIO_APC_ROUTINE,
PVOID, PIO_STATUS_BLOCK,
PFILE_NOTIFY_INFORMATION, ULONG,
has_con_broken_csi3j:false,
has_con_broken_il_dl:false,
has_con_esc_rep:false,
+ has_extended_mem_api:false,
},
};
has_con_broken_csi3j:false,
has_con_broken_il_dl:false,
has_con_esc_rep:false,
+ has_extended_mem_api:false,
},
};
has_con_broken_csi3j:false,
has_con_broken_il_dl:false,
has_con_esc_rep:false,
+ has_extended_mem_api:false,
},
};
has_con_broken_csi3j:false,
has_con_broken_il_dl:false,
has_con_esc_rep:false,
+ has_extended_mem_api:false,
},
};
has_con_broken_csi3j:false,
has_con_broken_il_dl:false,
has_con_esc_rep:false,
+ has_extended_mem_api:false,
},
};
has_con_broken_csi3j:false,
has_con_broken_il_dl:false,
has_con_esc_rep:false,
+ has_extended_mem_api:false,
},
};
has_con_broken_csi3j:false,
has_con_broken_il_dl:false,
has_con_esc_rep:false,
+ has_extended_mem_api:false,
},
};
has_con_broken_csi3j:false,
has_con_broken_il_dl:false,
has_con_esc_rep:false,
+ has_extended_mem_api:true,
},
};
has_con_broken_csi3j:true,
has_con_broken_il_dl:false,
has_con_esc_rep:false,
+ has_extended_mem_api:true,
},
};
has_con_broken_csi3j:false,
has_con_broken_il_dl:true,
has_con_esc_rep:true,
+ has_extended_mem_api:true,
},
};
unsigned has_con_broken_csi3j : 1;
unsigned has_con_broken_il_dl : 1;
unsigned has_con_esc_rep : 1;
+ unsigned has_extended_mem_api : 1;
};
};
bool IMPLEMENT (has_con_broken_csi3j)
bool IMPLEMENT (has_con_broken_il_dl)
bool IMPLEMENT (has_con_esc_rep)
+ bool IMPLEMENT (has_extended_mem_api)
void disable_case_sensitive_dirs ()
{
#define GetWindowsDirectoryW dont_use_GetWindowsDirectory
#define GetWindowsDirectoryA dont_use_GetWindowsDirectory
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Define extended memory API here as long as not available from mingw-w64. */
+
+typedef struct _MEM_ADDRESS_REQUIREMENTS
+{
+ PVOID LowestStartingAddress;
+ PVOID HighestEndingAddress;
+ SIZE_T Alignment;
+} MEM_ADDRESS_REQUIREMENTS, *PMEM_ADDRESS_REQUIREMENTS;
+
+typedef enum MEM_EXTENDED_PARAMETER_TYPE
+{
+ MemExtendedParameterInvalidType = 0,
+ MemExtendedParameterAddressRequirements,
+ MemExtendedParameterNumaNode,
+ MemExtendedParameterPartitionHandle,
+ MemExtendedParameterUserPhysicalHandle,
+ MemExtendedParameterAttributeFlags,
+ MemExtendedParameterMax
+} MEM_EXTENDED_PARAMETER_TYPE, *PMEM_EXTENDED_PARAMETER_TYPE;
+
+#define MEM_EXTENDED_PARAMETER_TYPE_BITS 8
+
+typedef struct DECLSPEC_ALIGN(8) MEM_EXTENDED_PARAMETER
+{
+ struct
+ {
+ DWORD64 Type : MEM_EXTENDED_PARAMETER_TYPE_BITS;
+ DWORD64 Reserved : 64 - MEM_EXTENDED_PARAMETER_TYPE_BITS;
+ };
+ union
+ {
+ DWORD64 ULong64;
+ PVOID Pointer;
+ SIZE_T Size;
+ HANDLE Handle;
+ DWORD ULong;
+ };
+} MEM_EXTENDED_PARAMETER, *PMEM_EXTENDED_PARAMETER;
+
+PVOID VirtualAlloc2 (HANDLE, PVOID, SIZE_T, ULONG, ULONG,
+ PMEM_EXTENDED_PARAMETER, ULONG);
+
+#ifdef __cplusplus
+}
+#endif
+
#endif /*_WINLEAN_H*/