ReactOS 0.4.15-dev-7788-g1ad9096
winternl.h File Reference
#include <ntdef.h>
#include <windef.h>
Include dependency graph for winternl.h:

Go to the source code of this file.

Classes

struct  _STRING
 
struct  _UNICODE_STRING
 
struct  _FILETIME
 
struct  _TIME_FIELDS
 
struct  _RTL_TIME_ZONE_INFORMATION
 
struct  _RTL_TIME_DYNAMIC_ZONE_INFORMATION
 
struct  _CLIENT_ID
 
struct  _CURDIR
 
struct  RTL_DRIVE_LETTER_CURDIR
 
struct  tagRTL_BITMAP
 
struct  tagRTL_BITMAP_RUN
 
struct  _RTL_USER_PROCESS_PARAMETERS
 
struct  _PEB_LDR_DATA
 
struct  _GDI_TEB_BATCH
 
struct  _RTL_ACTIVATION_CONTEXT_STACK_FRAME
 
struct  _ACTIVATION_CONTEXT_STACK
 
struct  _TEB_ACTIVE_FRAME_CONTEXT
 
struct  _TEB_ACTIVE_FRAME_CONTEXT_EX
 
struct  _TEB_ACTIVE_FRAME
 
struct  _TEB_ACTIVE_FRAME_EX
 
struct  _PEB
 
struct  _TEB
 
struct  _FILE_DIRECTORY_INFORMATION
 
struct  _FILE_FULL_DIRECTORY_INFORMATION
 
struct  _FILE_ID_FULL_DIRECTORY_INFORMATION
 
struct  _FILE_BOTH_DIRECTORY_INFORMATION
 
struct  _FILE_ID_BOTH_DIRECTORY_INFORMATION
 
struct  _FILE_ID_GLOBAL_TX_DIR_INFORMATION
 
struct  _FILE_BASIC_INFORMATION
 
struct  _FILE_STANDARD_INFORMATION
 
struct  _FILE_INTERNAL_INFORMATION
 
struct  _FILE_ID_128
 
struct  _FILE_ID_INFORMATION
 
struct  _FILE_EA_INFORMATION
 
struct  _FILE_ACCESS_INFORMATION
 
struct  _FILE_NAME_INFORMATION
 
struct  _FILE_RENAME_INFORMATION
 
struct  _FILE_LINK_INFORMATION
 
struct  _FILE_NAMES_INFORMATION
 
struct  _FILE_DISPOSITION_INFORMATION
 
struct  _FILE_POSITION_INFORMATION
 
struct  _FILE_ALIGNMENT_INFORMATION
 
struct  _FILE_ALLOCATION_INFORMATION
 
struct  _FILE_END_OF_FILE_INFORMATION
 
struct  _FILE_NETWORK_OPEN_INFORMATION
 
struct  _FILE_FULL_EA_INFORMATION
 
struct  _FILE_MODE_INFORMATION
 
struct  _FILE_STREAM_INFORMATION
 
struct  _FILE_ATTRIBUTE_TAG_INFORMATION
 
struct  _FILE_MAILSLOT_QUERY_INFORMATION
 
struct  _FILE_MAILSLOT_SET_INFORMATION
 
struct  _FILE_PIPE_INFORMATION
 
struct  _FILE_PIPE_LOCAL_INFORMATION
 
struct  _FILE_OBJECTID_INFORMATION
 
struct  _FILE_QUOTA_INFORMATION
 
struct  _FILE_REPARSE_POINT_INFORMATION
 
struct  _FILE_ALL_INFORMATION
 
struct  _FILE_IO_COMPLETION_NOTIFICATION_INFORMATION
 
struct  _THREAD_BASIC_INFORMATION
 
struct  _THREAD_DESCRIPTOR_INFORMATION
 
struct  _KERNEL_USER_TIMES
 
struct  _MEMORY_SECTION_NAME
 
struct  _MUTANT_BASIC_INFORMATION
 
struct  _TIMER_BASIC_INFORMATION
 
struct  _SYSTEM_THREAD_INFORMATION
 
struct  _IO_STATUS_BLOCK
 
struct  _KEY_BASIC_INFORMATION
 
struct  _KEY_NODE_INFORMATION
 
struct  _KEY_FULL_INFORMATION
 
struct  _KEY_NAME_INFORMATION
 
struct  _KEY_CACHED_INFORMATION
 
struct  _KEY_VALUE_ENTRY
 
struct  _KEY_VALUE_BASIC_INFORMATION
 
struct  _KEY_VALUE_FULL_INFORMATION
 
struct  _KEY_VALUE_PARTIAL_INFORMATION
 
struct  _OBJECT_ATTRIBUTES
 
struct  _OBJECT_DATA_INFORMATION
 
struct  _OBJECT_BASIC_INFORMATION
 
struct  _OBJECT_NAME_INFORMATION
 
struct  __OBJECT_TYPE_INFORMATION
 
struct  _OBJECT_TYPES_INFORMATION
 
struct  _PROCESS_BASIC_INFORMATION
 
struct  _PROCESS_PRIORITY_CLASS
 
struct  _RTL_HEAP_DEFINITION
 
struct  _RTL_RWLOCK
 
struct  _SYSTEM_BASIC_INFORMATION
 
struct  _SYSTEM_CPU_INFORMATION
 
struct  _SYSTEM_PERFORMANCE_INFORMATION
 
struct  _SYSTEM_TIMEOFDAY_INFORMATION
 
struct  _SYSTEM_PROCESSOR_PERFORMANCE_INFORMATION
 
struct  _SYSTEM_DRIVER_INFORMATION
 
struct  _SYSTEM_HANDLE_ENTRY
 
struct  _SYSTEM_HANDLE_INFORMATION
 
struct  _SYSTEM_HANDLE_TABLE_ENTRY_INFO_EX
 
struct  _SYSTEM_HANDLE_INFORMATION_EX
 
struct  _SYSTEM_CACHE_INFORMATION
 
struct  _SYSTEM_INTERRUPT_INFORMATION
 
struct  _SYSTEM_CONFIGURATION_INFO
 
struct  _SYSTEM_EXCEPTION_INFORMATION
 
struct  _SYSTEM_LOOKASIDE_INFORMATION
 
struct  _SYSTEM_KERNEL_DEBUGGER_INFORMATION
 
struct  _VM_COUNTERS_
 
struct  _SYSTEM_PROCESS_INFORMATION
 
struct  _SYSTEM_REGISTRY_QUOTA_INFORMATION
 
struct  _SYSTEM_TIME_ADJUSTMENT
 
struct  _WINSTATIONINFORMATIONW
 
struct  _LDR_RESOURCE_INFO
 
struct  _DEBUG_BUFFER
 
struct  _DEBUG_MODULE_INFORMATION
 
struct  _DEBUG_HEAP_INFORMATION
 
struct  _DEBUG_LOCK_INFORMATION
 
struct  _PORT_MESSAGE_HEADER
 
struct  _ATOM_BASIC_INFORMATION
 
struct  _RTL_HANDLE
 
struct  _RTL_HANDLE_TABLE
 
struct  _RTL_QUERY_REGISTRY_TABLE
 
struct  _KEY_MULTIPLE_VALUE_INFORMATION
 
struct  _EVENT_BASIC_INFORMATION
 
struct  _SEMAPHORE_BASIC_INFORMATION
 
struct  _SECTION_BASIC_INFORMATION
 
struct  _SECTION_IMAGE_INFORMATION
 
struct  _LPC_SECTION_WRITE
 
struct  _LPC_SECTION_READ
 
struct  _LPC_MESSAGE
 
struct  _RTL_USER_PROCESS_INFORMATION
 
struct  _DIRECTORY_BASIC_INFORMATION
 
struct  _INITIAL_TEB
 
struct  _FILE_COMPLETION_INFORMATION
 
struct  _LDR_MODULE
 
struct  _LDR_DLL_LOADED_NOTIFICATION_DATA
 
struct  _LDR_DLL_UNLOADED_NOTIFICATION_DATA
 
union  _LDR_DLL_NOTIFICATION_DATA
 
struct  _SYSTEM_MODULE
 
struct  _SYSTEM_MODULE_INFORMATION
 

Macros

#define WINE_NTSTATUS_DECLARED
 
#define __STRING_DEFINED__
 
#define __UNICODE_STRING_DEFINED__
 
#define _FILETIME_
 
#define PROCESS_PARAMS_FLAG_NORMALIZED   1
 
#define TEB_ACTIVE_FRAME_CONTEXT_FLAG_EXTENDED   0x00000001
 
#define TEB_ACTIVE_FRAME_FLAG_EXTENDED   0x00000001
 
#define FILE_PIPE_DISCONNECTED_STATE   0x01
 
#define FILE_PIPE_LISTENING_STATE   0x02
 
#define FILE_PIPE_CONNECTED_STATE   0x03
 
#define FILE_PIPE_CLOSING_STATE   0x04
 
#define FILE_SKIP_COMPLETION_PORT_ON_SUCCESS   0x1
 
#define FILE_SKIP_SET_EVENT_ON_HANDLE   0x2
 
#define FILE_SKIP_SET_USER_EVENT_ON_FAST_IO   0x4
 
#define MEM_EXECUTE_OPTION_DISABLE   0x01
 
#define MEM_EXECUTE_OPTION_ENABLE   0x02
 
#define MEM_EXECUTE_OPTION_DISABLE_THUNK_EMULATION   0x04
 
#define MEM_EXECUTE_OPTION_PERMANENT   0x08
 
#define __OBJECT_ATTRIBUTES_DEFINED__
 
#define PROCESS_PRIOCLASS_IDLE   1
 
#define PROCESS_PRIOCLASS_NORMAL   2
 
#define PROCESS_PRIOCLASS_HIGH   3
 
#define PROCESS_PRIOCLASS_REALTIME   4
 
#define PROCESS_PRIOCLASS_BELOW_NORMAL   5
 
#define PROCESS_PRIOCLASS_ABOVE_NORMAL   6
 
#define CPU_FEATURE_VME   0x00000005 /* Virtual 86 Mode Extensions */
 
#define CPU_FEATURE_TSC   0x00000002 /* Time Stamp Counter available */
 
#define CPU_FEATURE_CMOV   0x00000008 /* Conditional Move instruction*/
 
#define CPU_FEATURE_PGE   0x00000014 /* Page table Entry Global bit */
 
#define CPU_FEATURE_PSE   0x00000024 /* Page Size Extension */
 
#define CPU_FEATURE_MTRR   0x00000040 /* Memory Type Range Registers */
 
#define CPU_FEATURE_CX8   0x00000080 /* Compare and eXchange 8 byte instr. */
 
#define CPU_FEATURE_MMX   0x00000100 /* Multi Media eXtensions */
 
#define CPU_FEATURE_X86   0x00000200 /* seems to be always ON, on the '86 */
 
#define CPU_FEATURE_PAT   0x00000400 /* Page Attribute Table */
 
#define CPU_FEATURE_FXSR   0x00000800 /* FXSAVE and FXSTORE instructions */
 
#define CPU_FEATURE_SEP   0x00001000 /* SYSENTER and SYSEXIT instructions */
 
#define CPU_FEATURE_SSE   0x00002000 /* SSE extensions (ext. MMX) */
 
#define CPU_FEATURE_3DNOW   0x00004000 /* 3DNOW instructions available */
 
#define CPU_FEATURE_SSE2   0x00010000 /* SSE2 extensions (XMMI64) */
 
#define CPU_FEATURE_DS   0x00020000 /* Debug Store */
 
#define CPU_FEATURE_HTT   0x00040000 /* Hyper Threading Technology */
 
#define PDI_MODULES   0x01
 
#define PDI_BACKTRACE   0x02
 
#define PDI_HEAPS   0x04
 
#define PDI_HEAP_TAGS   0x08
 
#define PDI_HEAP_BLOCKS   0x10
 
#define PDI_LOCKS   0x20
 
#define FILE_DIRECTORY_FILE   0x00000001
 
#define FILE_WRITE_THROUGH   0x00000002
 
#define FILE_SEQUENTIAL_ONLY   0x00000004
 
#define FILE_NO_INTERMEDIATE_BUFFERING   0x00000008
 
#define FILE_SYNCHRONOUS_IO_ALERT   0x00000010
 
#define FILE_SYNCHRONOUS_IO_NONALERT   0x00000020
 
#define FILE_NON_DIRECTORY_FILE   0x00000040
 
#define FILE_CREATE_TREE_CONNECTION   0x00000080
 
#define FILE_COMPLETE_IF_OPLOCKED   0x00000100
 
#define FILE_NO_EA_KNOWLEDGE   0x00000200
 
#define FILE_OPEN_FOR_RECOVERY   0x00000400
 
#define FILE_RANDOM_ACCESS   0x00000800
 
#define FILE_DELETE_ON_CLOSE   0x00001000
 
#define FILE_OPEN_BY_FILE_ID   0x00002000
 
#define FILE_OPEN_FOR_BACKUP_INTENT   0x00004000
 
#define FILE_NO_COMPRESSION   0x00008000
 
#define FILE_RESERVE_OPFILTER   0x00100000
 
#define FILE_TRANSACTED_MODE   0x00200000
 
#define FILE_OPEN_OFFLINE_FILE   0x00400000
 
#define FILE_OPEN_FOR_FREE_SPACE_QUERY   0x00800000
 
#define FILE_ATTRIBUTE_VALID_FLAGS   0x00007fb7
 
#define FILE_ATTRIBUTE_VALID_SET_FLAGS   0x000031a7
 
#define FILE_SUPERSEDED   0
 
#define FILE_OPENED   1
 
#define FILE_CREATED   2
 
#define FILE_OVERWRITTEN   3
 
#define FILE_EXISTS   4
 
#define FILE_DOES_NOT_EXIST   5
 
#define FILE_SUPERSEDE   0
 
#define FILE_OPEN   1
 
#define FILE_CREATE   2
 
#define FILE_OPEN_IF   3
 
#define FILE_OVERWRITE   4
 
#define FILE_OVERWRITE_IF   5
 
#define FILE_MAXIMUM_DISPOSITION   5
 
#define FILE_REMOVABLE_MEDIA   0x00000001
 
#define FILE_READ_ONLY_DEVICE   0x00000002
 
#define FILE_FLOPPY_DISKETTE   0x00000004
 
#define FILE_WRITE_ONE_MEDIA   0x00000008
 
#define FILE_REMOTE_DEVICE   0x00000010
 
#define FILE_DEVICE_IS_MOUNTED   0x00000020
 
#define FILE_VIRTUAL_VOLUME   0x00000040
 
#define FILE_AUTOGENERATED_DEVICE_NAME   0x00000080
 
#define FILE_DEVICE_SECURE_OPEN   0x00000100
 
#define FILE_CHARACTERISTIC_PNP_DEVICE   0x00000800
 
#define FILE_CHARACTERISTIC_TS_DEVICE   0x00001000
 
#define FILE_CHARACTERISTIC_WEBDAV_DEVICE   0x00002000
 
#define FILE_CHARACTERISTIC_CSV   0x00010000
 
#define FILE_DEVICE_ALLOW_APPCONTAINER_TRAVERSAL   0x00020000
 
#define FILE_PORTABLE_DEVICE   0x00040000
 
#define FILE_PIPE_INBOUND   0x00000000
 
#define FILE_PIPE_OUTBOUND   0x00000001
 
#define FILE_PIPE_FULL_DUPLEX   0x00000002
 
#define FILE_PIPE_TYPE_MESSAGE   0x00000001
 
#define FILE_PIPE_TYPE_BYTE   0x00000000
 
#define FILE_PIPE_MESSAGE_MODE   0x00000001
 
#define FILE_PIPE_BYTE_STREAM_MODE   0x00000000
 
#define FILE_PIPE_COMPLETE_OPERATION   0x00000001
 
#define FILE_PIPE_QUEUE_OPERATION   0x00000000
 
#define FILE_PIPE_SERVER_END   0x00000001
 
#define FILE_PIPE_CLIENT_END   0x00000000
 
#define INTERNAL_TS_ACTIVE_CONSOLE_ID   ( *((volatile ULONG*)(0x7ffe02d8)) )
 
#define LOGONID_CURRENT   ((ULONG)-1)
 
#define OBJ_INHERIT   0x00000002
 
#define OBJ_PERMANENT   0x00000010
 
#define OBJ_EXCLUSIVE   0x00000020
 
#define OBJ_CASE_INSENSITIVE   0x00000040
 
#define OBJ_OPENIF   0x00000080
 
#define OBJ_OPENLINK   0x00000100
 
#define OBJ_KERNEL_HANDLE   0x00000200
 
#define OBJ_FORCE_ACCESS_CHECK   0x00000400
 
#define OBJ_VALID_ATTRIBUTES   0x000007F2
 
#define SERVERNAME_CURRENT   ((HANDLE)NULL)
 
#define DPFLTR_ERROR_LEVEL   0
 
#define DPFLTR_WARNING_LEVEL   1
 
#define DPFLTR_TRACE_LEVEL   2
 
#define DPFLTR_INFO_LEVEL   3
 
#define DPFLTR_MASK   0x8000000
 
#define SE_MIN_WELL_KNOWN_PRIVILEGE   2
 
#define SE_CREATE_TOKEN_PRIVILEGE   2
 
#define SE_ASSIGNPRIMARYTOKEN_PRIVILEGE   3
 
#define SE_LOCK_MEMORY_PRIVILEGE   4
 
#define SE_INCREASE_QUOTA_PRIVILEGE   5
 
#define SE_UNSOLICITED_INPUT_PRIVILEGE   6 /* obsolete */
 
#define SE_MACHINE_ACCOUNT_PRIVILEGE   6
 
#define SE_TCB_PRIVILEGE   7
 
#define SE_SECURITY_PRIVILEGE   8
 
#define SE_TAKE_OWNERSHIP_PRIVILEGE   9
 
#define SE_LOAD_DRIVER_PRIVILEGE   10
 
#define SE_SYSTEM_PROFILE_PRIVILEGE   11
 
#define SE_SYSTEMTIME_PRIVILEGE   12
 
#define SE_PROF_SINGLE_PROCESS_PRIVILEGE   13
 
#define SE_INC_BASE_PRIORITY_PRIVILEGE   14
 
#define SE_CREATE_PAGEFILE_PRIVILEGE   15
 
#define SE_CREATE_PERMANENT_PRIVILEGE   16
 
#define SE_BACKUP_PRIVILEGE   17
 
#define SE_RESTORE_PRIVILEGE   18
 
#define SE_SHUTDOWN_PRIVILEGE   19
 
#define SE_DEBUG_PRIVILEGE   20
 
#define SE_AUDIT_PRIVILEGE   21
 
#define SE_SYSTEM_ENVIRONMENT_PRIVILEGE   22
 
#define SE_CHANGE_NOTIFY_PRIVILEGE   23
 
#define SE_REMOTE_SHUTDOWN_PRIVILEGE   24
 
#define SE_UNDOCK_PRIVILEGE   25
 
#define SE_SYNC_AGENT_PRIVILEGE   26
 
#define SE_ENABLE_DELEGATION_PRIVILEGE   27
 
#define SE_MANAGE_VOLUME_PRIVILEGE   28
 
#define SE_IMPERSONATE_PRIVILEGE   29
 
#define SE_CREATE_GLOBAL_PRIVILEGE   30
 
#define SE_MAX_WELL_KNOWN_PRIVILEGE   SE_CREATE_GLOBAL_PRIVILEGE
 
#define FLG_STOP_ON_EXCEPTION   0x00000001
 
#define FLG_SHOW_LDR_SNAPS   0x00000002
 
#define FLG_DEBUG_INITIAL_COMMAND   0x00000004
 
#define FLG_STOP_ON_HUNG_GUI   0x00000008
 
#define FLG_HEAP_ENABLE_TAIL_CHECK   0x00000010
 
#define FLG_HEAP_ENABLE_FREE_CHECK   0x00000020
 
#define FLG_HEAP_VALIDATE_PARAMETERS   0x00000040
 
#define FLG_HEAP_VALIDATE_ALL   0x00000080
 
#define FLG_APPLICATION_VERIFIER   0x00000100
 
#define FLG_POOL_ENABLE_TAGGING   0x00000400
 
#define FLG_HEAP_ENABLE_TAGGING   0x00000800
 
#define FLG_USER_STACK_TRACE_DB   0x00001000
 
#define FLG_KERNEL_STACK_TRACE_DB   0x00002000
 
#define FLG_MAINTAIN_OBJECT_TYPELIST   0x00004000
 
#define FLG_HEAP_ENABLE_TAG_BY_DLL   0x00008000
 
#define FLG_DISABLE_STACK_EXTENSION   0x00010000
 
#define FLG_ENABLE_CSRDEBUG   0x00020000
 
#define FLG_ENABLE_KDEBUG_SYMBOL_LOAD   0x00040000
 
#define FLG_DISABLE_PAGE_KERNEL_STACKS   0x00080000
 
#define FLG_ENABLE_SYSTEM_CRIT_BREAKS   0x00100000
 
#define FLG_HEAP_DISABLE_COALESCING   0x00200000
 
#define FLG_ENABLE_CLOSE_EXCEPTIONS   0x00400000
 
#define FLG_ENABLE_EXCEPTION_LOGGING   0x00800000
 
#define FLG_ENABLE_HANDLE_TYPE_TAGGING   0x01000000
 
#define FLG_HEAP_PAGE_ALLOCS   0x02000000
 
#define FLG_DEBUG_INITIAL_COMMAND_EX   0x04000000
 
#define FLG_DISABLE_DBGPRINT   0x08000000
 
#define FLG_CRITSEC_EVENT_CREATION   0x10000000
 
#define FLG_LDR_TOP_DOWN   0x20000000
 
#define FLG_ENABLE_HANDLE_EXCEPTIONS   0x40000000
 
#define FLG_DISABLE_PROTDLLS   0x80000000
 
#define RTL_REGISTRY_ABSOLUTE   0
 
#define RTL_REGISTRY_SERVICES   1
 
#define RTL_REGISTRY_CONTROL   2
 
#define RTL_REGISTRY_WINDOWS_NT   3
 
#define RTL_REGISTRY_DEVICEMAP   4
 
#define RTL_REGISTRY_USER   5
 
#define RTL_REGISTRY_HANDLE   0x40000000
 
#define RTL_REGISTRY_OPTIONAL   0x80000000
 
#define RTL_QUERY_REGISTRY_SUBKEY   0x00000001
 
#define RTL_QUERY_REGISTRY_TOPKEY   0x00000002
 
#define RTL_QUERY_REGISTRY_REQUIRED   0x00000004
 
#define RTL_QUERY_REGISTRY_NOVALUE   0x00000008
 
#define RTL_QUERY_REGISTRY_NOEXPAND   0x00000010
 
#define RTL_QUERY_REGISTRY_DIRECT   0x00000020
 
#define RTL_QUERY_REGISTRY_DELETE   0x00000040
 
#define IO_COMPLETION_QUERY_STATE   0x0001
 
#define IO_COMPLETION_MODIFY_STATE   0x0002
 
#define IO_COMPLETION_ALL_ACCESS   (STANDARD_RIGHTS_REQUIRED|SYNCHRONIZE|0x3)
 
#define LDR_IMAGE_IS_DLL   0x00000004
 
#define LDR_LOAD_IN_PROGRESS   0x00001000
 
#define LDR_UNLOAD_IN_PROGRESS   0x00002000
 
#define LDR_NO_DLL_CALLS   0x00040000
 
#define LDR_PROCESS_ATTACHED   0x00080000
 
#define LDR_MODULE_REBASED   0x00200000
 
#define LDR_DONT_RESOLVE_REFS   0x40000000
 
#define LDR_WINE_INTERNAL   0x80000000
 
#define LDR_ADDREF_DLL_PIN   0x00000001
 
#define MAXIMUM_FILENAME_LENGTH   256
 
#define LDR_DLL_NOTIFICATION_REASON_LOADED   1
 
#define LDR_DLL_NOTIFICATION_REASON_UNLOADED   2
 
#define THREAD_CREATE_FLAGS_CREATE_SUSPENDED   0x00000001
 
#define THREAD_CREATE_FLAGS_SKIP_THREAD_ATTACH   0x00000002
 
#define THREAD_CREATE_FLAGS_HIDE_FROM_DEBUGGER   0x00000004
 
#define THREAD_CREATE_FLAGS_HAS_SECURITY_DESCRIPTOR   0x00000010
 
#define THREAD_CREATE_FLAGS_ACCESS_CHECK_IN_TARGET   0x00000020
 
#define THREAD_CREATE_FLAGS_INITIAL_THREAD   0x00000080
 
#define InitializeObjectAttributes(p, n, a, r, s)
 
#define NtCurrentProcess()   ((HANDLE)-1)
 
#define RtlFillMemory(Destination, Length, Fill)   memset((Destination),(Fill),(Length))
 
#define RtlMoveMemory(Destination, Source, Length)   memmove((Destination),(Source),(Length))
 
#define RtlStoreUlong(p, v)   do { ULONG _v = (v); memcpy((p), &_v, sizeof(_v)); } while (0)
 
#define RtlStoreUlonglong(p, v)   do { ULONGLONG _v = (v); memcpy((p), &_v, sizeof(_v)); } while (0)
 
#define RtlRetrieveUlong(p, s)   memcpy((p), (s), sizeof(ULONG))
 
#define RtlRetrieveUlonglong(p, s)   memcpy((p), (s), sizeof(ULONGLONG))
 
#define RtlZeroMemory(Destination, Length)   memset((Destination),0,(Length))
 
#define InitializeListHead(le)   (void)((le)->Flink = (le)->Blink = (le))
 
#define InsertHeadList(le, e)   do { PLIST_ENTRY f = (le)->Flink; (e)->Flink = f; (e)->Blink = (le); f->Blink = (e); (le)->Flink = (e); } while (0)
 
#define InsertTailList(le, e)   do { PLIST_ENTRY b = (le)->Blink; (e)->Flink = (le); (e)->Blink = b; b->Flink = (e); (le)->Blink = (e); } while (0)
 
#define IsListEmpty(le)   ((le)->Flink == (le))
 
#define RemoveEntryList(e)   do { PLIST_ENTRY f = (e)->Flink, b = (e)->Blink; f->Blink = b; b->Flink = f; (e)->Flink = (e)->Blink = NULL; } while (0)
 

Typedefs

typedef LONG NTSTATUS
 
typedef const charPCSZ
 
typedef short CSHORT
 
typedef CSHORTPCSHORT
 
typedef struct _STRING STRING
 
typedef struct _STRINGPSTRING
 
typedef STRING ANSI_STRING
 
typedef PSTRING PANSI_STRING
 
typedef const STRINGPCANSI_STRING
 
typedef STRING OEM_STRING
 
typedef PSTRING POEM_STRING
 
typedef const STRINGPCOEM_STRING
 
typedef struct _UNICODE_STRING UNICODE_STRING
 
typedef struct _UNICODE_STRINGPUNICODE_STRING
 
typedef const UNICODE_STRINGPCUNICODE_STRING
 
typedef struct _FILETIME FILETIME
 
typedef struct _FILETIMEPFILETIME
 
typedef struct _FILETIMELPFILETIME
 
typedef struct _TIME_FIELDS TIME_FIELDS
 
typedef struct _TIME_FIELDSPTIME_FIELDS
 
typedef struct _RTL_TIME_ZONE_INFORMATION RTL_TIME_ZONE_INFORMATION
 
typedef struct _RTL_TIME_ZONE_INFORMATIONPRTL_TIME_ZONE_INFORMATION
 
typedef struct _RTL_TIME_DYNAMIC_ZONE_INFORMATION RTL_DYNAMIC_TIME_ZONE_INFORMATION
 
typedef struct _RTL_TIME_DYNAMIC_ZONE_INFORMATIONPRTL_DYNAMIC_TIME_ZONE_INFORMATION
 
typedef struct _CLIENT_ID CLIENT_ID
 
typedef struct _CLIENT_IDPCLIENT_ID
 
typedef struct _CURDIR CURDIR
 
typedef struct _CURDIRPCURDIR
 
typedef struct RTL_DRIVE_LETTER_CURDIR RTL_DRIVE_LETTER_CURDIR
 
typedef struct RTL_DRIVE_LETTER_CURDIRPRTL_DRIVE_LETTER_CURDIR
 
typedef struct tagRTL_BITMAP RTL_BITMAP
 
typedef struct tagRTL_BITMAPPRTL_BITMAP
 
typedef const RTL_BITMAPPCRTL_BITMAP
 
typedef struct tagRTL_BITMAP_RUN RTL_BITMAP_RUN
 
typedef struct tagRTL_BITMAP_RUNPRTL_BITMAP_RUN
 
typedef const RTL_BITMAP_RUNPCRTL_BITMAP_RUN
 
typedef struct _RTL_USER_PROCESS_PARAMETERS RTL_USER_PROCESS_PARAMETERS
 
typedef struct _RTL_USER_PROCESS_PARAMETERSPRTL_USER_PROCESS_PARAMETERS
 
typedef struct _PEB_LDR_DATA PEB_LDR_DATA
 
typedef struct _PEB_LDR_DATAPPEB_LDR_DATA
 
typedef struct _GDI_TEB_BATCH GDI_TEB_BATCH
 
typedef struct _RTL_ACTIVATION_CONTEXT_STACK_FRAME RTL_ACTIVATION_CONTEXT_STACK_FRAME
 
typedef struct _RTL_ACTIVATION_CONTEXT_STACK_FRAMEPRTL_ACTIVATION_CONTEXT_STACK_FRAME
 
typedef struct _ACTIVATION_CONTEXT_STACK ACTIVATION_CONTEXT_STACK
 
typedef struct _ACTIVATION_CONTEXT_STACKPACTIVATION_CONTEXT_STACK
 
typedef struct _TEB_ACTIVE_FRAME_CONTEXT TEB_ACTIVE_FRAME_CONTEXT
 
typedef struct _TEB_ACTIVE_FRAME_CONTEXTPTEB_ACTIVE_FRAME_CONTEXT
 
typedef struct _TEB_ACTIVE_FRAME_CONTEXT_EX TEB_ACTIVE_FRAME_CONTEXT_EX
 
typedef struct _TEB_ACTIVE_FRAME_CONTEXT_EXPTEB_ACTIVE_FRAME_CONTEXT_EX
 
typedef struct _TEB_ACTIVE_FRAME TEB_ACTIVE_FRAME
 
typedef struct _TEB_ACTIVE_FRAMEPTEB_ACTIVE_FRAME
 
typedef struct _TEB_ACTIVE_FRAME_EX TEB_ACTIVE_FRAME_EX
 
typedef struct _TEB_ACTIVE_FRAME_EXPTEB_ACTIVE_FRAME_EX
 
typedef struct _PEB PEB
 
typedef struct _PEBPPEB
 
typedef struct _TEB TEB
 
typedef struct _TEBPTEB
 
typedef enum _FILE_INFORMATION_CLASS FILE_INFORMATION_CLASS
 
typedef enum _FILE_INFORMATION_CLASSPFILE_INFORMATION_CLASS
 
typedef struct _FILE_DIRECTORY_INFORMATION FILE_DIRECTORY_INFORMATION
 
typedef struct _FILE_DIRECTORY_INFORMATIONPFILE_DIRECTORY_INFORMATION
 
typedef struct _FILE_FULL_DIRECTORY_INFORMATION FILE_FULL_DIRECTORY_INFORMATION
 
typedef struct _FILE_FULL_DIRECTORY_INFORMATIONPFILE_FULL_DIRECTORY_INFORMATION
 
typedef struct _FILE_FULL_DIRECTORY_INFORMATION FILE_FULL_DIR_INFORMATION
 
typedef struct _FILE_FULL_DIRECTORY_INFORMATIONPFILE_FULL_DIR_INFORMATION
 
typedef struct _FILE_ID_FULL_DIRECTORY_INFORMATION FILE_ID_FULL_DIRECTORY_INFORMATION
 
typedef struct _FILE_ID_FULL_DIRECTORY_INFORMATIONPFILE_ID_FULL_DIRECTORY_INFORMATION
 
typedef struct _FILE_BOTH_DIRECTORY_INFORMATION FILE_BOTH_DIRECTORY_INFORMATION
 
typedef struct _FILE_BOTH_DIRECTORY_INFORMATIONPFILE_BOTH_DIRECTORY_INFORMATION
 
typedef struct _FILE_BOTH_DIRECTORY_INFORMATION FILE_BOTH_DIR_INFORMATION
 
typedef struct _FILE_BOTH_DIRECTORY_INFORMATIONPFILE_BOTH_DIR_INFORMATION
 
typedef struct _FILE_ID_BOTH_DIRECTORY_INFORMATION FILE_ID_BOTH_DIRECTORY_INFORMATION
 
typedef struct _FILE_ID_BOTH_DIRECTORY_INFORMATIONPFILE_ID_BOTH_DIRECTORY_INFORMATION
 
typedef struct _FILE_ID_GLOBAL_TX_DIR_INFORMATION FILE_ID_GLOBAL_TX_DIR_INFORMATION
 
typedef struct _FILE_ID_GLOBAL_TX_DIR_INFORMATIONPFILE_ID_GLOBAL_TX_DIR_INFORMATION
 
typedef struct _FILE_BASIC_INFORMATION FILE_BASIC_INFORMATION
 
typedef struct _FILE_BASIC_INFORMATIONPFILE_BASIC_INFORMATION
 
typedef struct _FILE_STANDARD_INFORMATION FILE_STANDARD_INFORMATION
 
typedef struct _FILE_STANDARD_INFORMATIONPFILE_STANDARD_INFORMATION
 
typedef struct _FILE_INTERNAL_INFORMATION FILE_INTERNAL_INFORMATION
 
typedef struct _FILE_INTERNAL_INFORMATIONPFILE_INTERNAL_INFORMATION
 
typedef struct _FILE_ID_128 FILE_ID_128
 
typedef struct _FILE_ID_128PFILE_ID_128
 
typedef struct _FILE_ID_INFORMATION FILE_ID_INFORMATION
 
typedef struct _FILE_ID_INFORMATIONPFILE_ID_INFORMATION
 
typedef struct _FILE_EA_INFORMATION FILE_EA_INFORMATION
 
typedef struct _FILE_EA_INFORMATIONPFILE_EA_INFORMATION
 
typedef struct _FILE_ACCESS_INFORMATION FILE_ACCESS_INFORMATION
 
typedef struct _FILE_ACCESS_INFORMATIONPFILE_ACCESS_INFORMATION
 
typedef struct _FILE_NAME_INFORMATION FILE_NAME_INFORMATION
 
typedef struct _FILE_NAME_INFORMATIONPFILE_NAME_INFORMATION
 
typedef struct _FILE_RENAME_INFORMATION FILE_RENAME_INFORMATION
 
typedef struct _FILE_RENAME_INFORMATIONPFILE_RENAME_INFORMATION
 
typedef struct _FILE_LINK_INFORMATION FILE_LINK_INFORMATION
 
typedef struct _FILE_LINK_INFORMATIONPFILE_LINK_INFORMATION
 
typedef struct _FILE_NAMES_INFORMATION FILE_NAMES_INFORMATION
 
typedef struct _FILE_NAMES_INFORMATIONPFILE_NAMES_INFORMATION
 
typedef struct _FILE_DISPOSITION_INFORMATION FILE_DISPOSITION_INFORMATION
 
typedef struct _FILE_DISPOSITION_INFORMATIONPFILE_DISPOSITION_INFORMATION
 
typedef struct _FILE_POSITION_INFORMATION FILE_POSITION_INFORMATION
 
typedef struct _FILE_POSITION_INFORMATIONPFILE_POSITION_INFORMATION
 
typedef struct _FILE_ALIGNMENT_INFORMATION FILE_ALIGNMENT_INFORMATION
 
typedef struct _FILE_ALIGNMENT_INFORMATIONPFILE_ALIGNMENT_INFORMATION
 
typedef struct _FILE_ALLOCATION_INFORMATION FILE_ALLOCATION_INFORMATION
 
typedef struct _FILE_ALLOCATION_INFORMATIONPFILE_ALLOCATION_INFORMATION
 
typedef struct _FILE_END_OF_FILE_INFORMATION FILE_END_OF_FILE_INFORMATION
 
typedef struct _FILE_END_OF_FILE_INFORMATIONPFILE_END_OF_FILE_INFORMATION
 
typedef struct _FILE_NETWORK_OPEN_INFORMATION FILE_NETWORK_OPEN_INFORMATION
 
typedef struct _FILE_NETWORK_OPEN_INFORMATIONPFILE_NETWORK_OPEN_INFORMATION
 
typedef struct _FILE_FULL_EA_INFORMATION FILE_FULL_EA_INFORMATION
 
typedef struct _FILE_FULL_EA_INFORMATIONPFILE_FULL_EA_INFORMATION
 
typedef struct _FILE_MODE_INFORMATION FILE_MODE_INFORMATION
 
typedef struct _FILE_MODE_INFORMATIONPFILE_MODE_INFORMATION
 
typedef struct _FILE_STREAM_INFORMATION FILE_STREAM_INFORMATION
 
typedef struct _FILE_STREAM_INFORMATIONPFILE_STREAM_INFORMATION
 
typedef struct _FILE_ATTRIBUTE_TAG_INFORMATION FILE_ATTRIBUTE_TAG_INFORMATION
 
typedef struct _FILE_ATTRIBUTE_TAG_INFORMATIONPFILE_ATTRIBUTE_TAG_INFORMATION
 
typedef struct _FILE_MAILSLOT_QUERY_INFORMATION FILE_MAILSLOT_QUERY_INFORMATION
 
typedef struct _FILE_MAILSLOT_QUERY_INFORMATIONPFILE_MAILSLOT_QUERY_INFORMATION
 
typedef struct _FILE_MAILSLOT_SET_INFORMATION FILE_MAILSLOT_SET_INFORMATION
 
typedef struct _FILE_MAILSLOT_SET_INFORMATIONPFILE_MAILSLOT_SET_INFORMATION
 
typedef struct _FILE_PIPE_INFORMATION FILE_PIPE_INFORMATION
 
typedef struct _FILE_PIPE_INFORMATIONPFILE_PIPE_INFORMATION
 
typedef struct _FILE_PIPE_LOCAL_INFORMATION FILE_PIPE_LOCAL_INFORMATION
 
typedef struct _FILE_PIPE_LOCAL_INFORMATIONPFILE_PIPE_LOCAL_INFORMATION
 
typedef struct _FILE_OBJECTID_INFORMATION FILE_OBJECTID_INFORMATION
 
typedef struct _FILE_OBJECTID_INFORMATIONPFILE_OBJECTID_INFORMATION
 
typedef struct _FILE_QUOTA_INFORMATION FILE_QUOTA_INFORMATION
 
typedef struct _FILE_QUOTA_INFORMATIONPFILE_QUOTA_INFORMATION
 
typedef struct _FILE_REPARSE_POINT_INFORMATION FILE_REPARSE_POINT_INFORMATION
 
typedef struct _FILE_REPARSE_POINT_INFORMATIONPFILE_REPARSE_POINT_INFORMATION
 
typedef struct _FILE_ALL_INFORMATION FILE_ALL_INFORMATION
 
typedef struct _FILE_ALL_INFORMATIONPFILE_ALL_INFORMATION
 
typedef struct _FILE_IO_COMPLETION_NOTIFICATION_INFORMATION FILE_IO_COMPLETION_NOTIFICATION_INFORMATION
 
typedef struct _FILE_IO_COMPLETION_NOTIFICATION_INFORMATIONPFILE_IO_COMPLETION_NOTIFICATION_INFORMATION
 
typedef enum _FSINFOCLASS FS_INFORMATION_CLASS
 
typedef enum _FSINFOCLASSPFS_INFORMATION_CLASS
 
typedef enum _KEY_INFORMATION_CLASS KEY_INFORMATION_CLASS
 
typedef enum _KEY_VALUE_INFORMATION_CLASS KEY_VALUE_INFORMATION_CLASS
 
typedef enum _OBJECT_INFORMATION_CLASS OBJECT_INFORMATION_CLASS
 
typedef enum _OBJECT_INFORMATION_CLASSPOBJECT_INFORMATION_CLASS
 
typedef enum _PROCESSINFOCLASS PROCESSINFOCLASS
 
typedef enum _PROCESSINFOCLASS PROCESS_INFORMATION_CLASS
 
typedef enum _SECTION_INHERIT SECTION_INHERIT
 
typedef enum _SYSTEM_INFORMATION_CLASS SYSTEM_INFORMATION_CLASS
 
typedef enum _SYSTEM_INFORMATION_CLASSPSYSTEM_INFORMATION_CLASS
 
typedef enum _THREADINFOCLASS THREADINFOCLASS
 
typedef struct _THREAD_BASIC_INFORMATION THREAD_BASIC_INFORMATION
 
typedef struct _THREAD_BASIC_INFORMATIONPTHREAD_BASIC_INFORMATION
 
typedef struct _THREAD_DESCRIPTOR_INFORMATION THREAD_DESCRIPTOR_INFORMATION
 
typedef struct _THREAD_DESCRIPTOR_INFORMATIONPTHREAD_DESCRIPTOR_INFORMATION
 
typedef struct _KERNEL_USER_TIMES KERNEL_USER_TIMES
 
typedef struct _KERNEL_USER_TIMESPKERNEL_USER_TIMES
 
typedef enum _WINSTATIONINFOCLASS WINSTATIONINFOCLASS
 
typedef enum _MEMORY_INFORMATION_CLASS MEMORY_INFORMATION_CLASS
 
typedef struct _MEMORY_SECTION_NAME MEMORY_SECTION_NAME
 
typedef struct _MEMORY_SECTION_NAMEPMEMORY_SECTION_NAME
 
typedef enum _MUTANT_INFORMATION_CLASS MUTANT_INFORMATION_CLASS
 
typedef enum _MUTANT_INFORMATION_CLASSPMUTANT_INFORMATION_CLASS
 
typedef struct _MUTANT_BASIC_INFORMATION MUTANT_BASIC_INFORMATION
 
typedef struct _MUTANT_BASIC_INFORMATIONPMUTANT_BASIC_INFORMATION
 
typedef enum _TIMER_INFORMATION_CLASS TIMER_INFORMATION_CLASS
 
typedef struct _TIMER_BASIC_INFORMATION TIMER_BASIC_INFORMATION
 
typedef struct _TIMER_BASIC_INFORMATIONPTIMER_BASIC_INFORMATION
 
typedef struct _SYSTEM_THREAD_INFORMATION SYSTEM_THREAD_INFORMATION
 
typedef struct _SYSTEM_THREAD_INFORMATIONPSYSTEM_THREAD_INFORMATION
 
typedef struct _IO_STATUS_BLOCK IO_STATUS_BLOCK
 
typedef struct _IO_STATUS_BLOCKPIO_STATUS_BLOCK
 
typedef void(WINAPIPIO_APC_ROUTINE) (PVOID, PIO_STATUS_BLOCK, ULONG)
 
typedef struct _KEY_BASIC_INFORMATION KEY_BASIC_INFORMATION
 
typedef struct _KEY_BASIC_INFORMATIONPKEY_BASIC_INFORMATION
 
typedef struct _KEY_NODE_INFORMATION KEY_NODE_INFORMATION
 
typedef struct _KEY_NODE_INFORMATIONPKEY_NODE_INFORMATION
 
typedef struct _KEY_FULL_INFORMATION KEY_FULL_INFORMATION
 
typedef struct _KEY_FULL_INFORMATIONPKEY_FULL_INFORMATION
 
typedef struct _KEY_NAME_INFORMATION KEY_NAME_INFORMATION
 
typedef struct _KEY_NAME_INFORMATIONPKEY_NAME_INFORMATION
 
typedef struct _KEY_CACHED_INFORMATION KEY_CACHED_INFORMATION
 
typedef struct _KEY_CACHED_INFORMATIONPKEY_CACHED_INFORMATION
 
typedef struct _KEY_VALUE_ENTRY KEY_VALUE_ENTRY
 
typedef struct _KEY_VALUE_ENTRYPKEY_VALUE_ENTRY
 
typedef struct _KEY_VALUE_BASIC_INFORMATION KEY_VALUE_BASIC_INFORMATION
 
typedef struct _KEY_VALUE_BASIC_INFORMATIONPKEY_VALUE_BASIC_INFORMATION
 
typedef struct _KEY_VALUE_FULL_INFORMATION KEY_VALUE_FULL_INFORMATION
 
typedef struct _KEY_VALUE_FULL_INFORMATIONPKEY_VALUE_FULL_INFORMATION
 
typedef struct _KEY_VALUE_PARTIAL_INFORMATION KEY_VALUE_PARTIAL_INFORMATION
 
typedef struct _KEY_VALUE_PARTIAL_INFORMATIONPKEY_VALUE_PARTIAL_INFORMATION
 
typedef struct _OBJECT_ATTRIBUTES OBJECT_ATTRIBUTES
 
typedef struct _OBJECT_ATTRIBUTESPOBJECT_ATTRIBUTES
 
typedef struct _OBJECT_DATA_INFORMATION OBJECT_DATA_INFORMATION
 
typedef struct _OBJECT_DATA_INFORMATIONPOBJECT_DATA_INFORMATION
 
typedef struct _OBJECT_BASIC_INFORMATION OBJECT_BASIC_INFORMATION
 
typedef struct _OBJECT_BASIC_INFORMATIONPOBJECT_BASIC_INFORMATION
 
typedef struct _OBJECT_NAME_INFORMATION OBJECT_NAME_INFORMATION
 
typedef struct _OBJECT_NAME_INFORMATIONPOBJECT_NAME_INFORMATION
 
typedef struct __OBJECT_TYPE_INFORMATION OBJECT_TYPE_INFORMATION
 
typedef struct __OBJECT_TYPE_INFORMATIONPOBJECT_TYPE_INFORMATION
 
typedef struct _OBJECT_TYPES_INFORMATION OBJECT_TYPES_INFORMATION
 
typedef struct _OBJECT_TYPES_INFORMATIONPOBJECT_TYPES_INFORMATION
 
typedef struct _PROCESS_BASIC_INFORMATION PROCESS_BASIC_INFORMATION
 
typedef struct _PROCESS_BASIC_INFORMATIONPPROCESS_BASIC_INFORMATION
 
typedef struct _PROCESS_PRIORITY_CLASS PROCESS_PRIORITY_CLASS
 
typedef struct _PROCESS_PRIORITY_CLASSPPROCESS_PRIORITY_CLASS
 
typedef struct _RTL_HEAP_DEFINITION RTL_HEAP_DEFINITION
 
typedef struct _RTL_HEAP_DEFINITIONPRTL_HEAP_DEFINITION
 
typedef struct _RTL_RWLOCK RTL_RWLOCK
 
typedef struct _RTL_RWLOCKLPRTL_RWLOCK
 
typedef struct _SYSTEM_BASIC_INFORMATION SYSTEM_BASIC_INFORMATION
 
typedef struct _SYSTEM_BASIC_INFORMATIONPSYSTEM_BASIC_INFORMATION
 
typedef struct _SYSTEM_CPU_INFORMATION SYSTEM_CPU_INFORMATION
 
typedef struct _SYSTEM_CPU_INFORMATIONPSYSTEM_CPU_INFORMATION
 
typedef struct _SYSTEM_PERFORMANCE_INFORMATION SYSTEM_PERFORMANCE_INFORMATION
 
typedef struct _SYSTEM_PERFORMANCE_INFORMATIONPSYSTEM_PERFORMANCE_INFORMATION
 
typedef struct _SYSTEM_TIMEOFDAY_INFORMATION SYSTEM_TIMEOFDAY_INFORMATION
 
typedef struct _SYSTEM_TIMEOFDAY_INFORMATIONPSYSTEM_TIMEOFDAY_INFORMATION
 
typedef struct _SYSTEM_PROCESSOR_PERFORMANCE_INFORMATION SYSTEM_PROCESSOR_PERFORMANCE_INFORMATION
 
typedef struct _SYSTEM_PROCESSOR_PERFORMANCE_INFORMATIONPSYSTEM_PROCESSOR_PERFORMANCE_INFORMATION
 
typedef struct _SYSTEM_DRIVER_INFORMATION SYSTEM_DRIVER_INFORMATION
 
typedef struct _SYSTEM_DRIVER_INFORMATIONPSYSTEM_DRIVER_INFORMATION
 
typedef struct _SYSTEM_HANDLE_ENTRY SYSTEM_HANDLE_ENTRY
 
typedef struct _SYSTEM_HANDLE_ENTRYPSYSTEM_HANDLE_ENTRY
 
typedef struct _SYSTEM_HANDLE_INFORMATION SYSTEM_HANDLE_INFORMATION
 
typedef struct _SYSTEM_HANDLE_INFORMATIONPSYSTEM_HANDLE_INFORMATION
 
typedef struct _SYSTEM_HANDLE_TABLE_ENTRY_INFO_EX SYSTEM_HANDLE_TABLE_ENTRY_INFO_EX
 
typedef struct _SYSTEM_HANDLE_TABLE_ENTRY_INFO_EXPSYSTEM_HANDLE_TABLE_ENTRY_INFO_EX
 
typedef struct _SYSTEM_HANDLE_INFORMATION_EX SYSTEM_HANDLE_INFORMATION_EX
 
typedef struct _SYSTEM_HANDLE_INFORMATION_EXPSYSTEM_HANDLE_INFORMATION_EX
 
typedef struct _SYSTEM_CACHE_INFORMATION SYSTEM_CACHE_INFORMATION
 
typedef struct _SYSTEM_CACHE_INFORMATIONPSYSTEM_CACHE_INFORMATION
 
typedef struct _SYSTEM_INTERRUPT_INFORMATION SYSTEM_INTERRUPT_INFORMATION
 
typedef struct _SYSTEM_INTERRUPT_INFORMATIONPSYSTEM_INTERRUPT_INFORMATION
 
typedef struct _SYSTEM_CONFIGURATION_INFO SYSTEM_CONFIGURATION_INFO
 
typedef struct _SYSTEM_CONFIGURATION_INFOPSYSTEM_CONFIGURATION_INFO
 
typedef struct _SYSTEM_EXCEPTION_INFORMATION SYSTEM_EXCEPTION_INFORMATION
 
typedef struct _SYSTEM_EXCEPTION_INFORMATIONPSYSTEM_EXCEPTION_INFORMATION
 
typedef struct _SYSTEM_LOOKASIDE_INFORMATION SYSTEM_LOOKASIDE_INFORMATION
 
typedef struct _SYSTEM_LOOKASIDE_INFORMATIONPSYSTEM_LOOKASIDE_INFORMATION
 
typedef struct _SYSTEM_KERNEL_DEBUGGER_INFORMATION SYSTEM_KERNEL_DEBUGGER_INFORMATION
 
typedef struct _SYSTEM_KERNEL_DEBUGGER_INFORMATIONPSYSTEM_KERNEL_DEBUGGER_INFORMATION
 
typedef struct _VM_COUNTERS_ VM_COUNTERS
 
typedef struct _VM_COUNTERS_PVM_COUNTERS
 
typedef struct _SYSTEM_PROCESS_INFORMATION SYSTEM_PROCESS_INFORMATION
 
typedef struct _SYSTEM_PROCESS_INFORMATIONPSYSTEM_PROCESS_INFORMATION
 
typedef struct _SYSTEM_REGISTRY_QUOTA_INFORMATION SYSTEM_REGISTRY_QUOTA_INFORMATION
 
typedef struct _SYSTEM_REGISTRY_QUOTA_INFORMATIONPSYSTEM_REGISTRY_QUOTA_INFORMATION
 
typedef struct _SYSTEM_TIME_ADJUSTMENT SYSTEM_TIME_ADJUSTMENT
 
typedef struct _SYSTEM_TIME_ADJUSTMENTPSYSTEM_TIME_ADJUSTMENT
 
typedef struct _WINSTATIONINFORMATIONW WINSTATIONINFORMATIONW
 
typedef struct _WINSTATIONINFORMATIONWPWINSTATIONINFORMATIONW
 
typedef BOOLEAN(WINAPIPWINSTATIONQUERYINFORMATIONW) (HANDLE, ULONG, WINSTATIONINFOCLASS, PVOID, ULONG, PULONG)
 
typedef struct _LDR_RESOURCE_INFO LDR_RESOURCE_INFO
 
typedef struct _LDR_RESOURCE_INFOPLDR_RESOURCE_INFO
 
typedef struct _DEBUG_BUFFER DEBUG_BUFFER
 
typedef struct _DEBUG_BUFFERPDEBUG_BUFFER
 
typedef struct _DEBUG_MODULE_INFORMATION DEBUG_MODULE_INFORMATION
 
typedef struct _DEBUG_MODULE_INFORMATIONPDEBUG_MODULE_INFORMATION
 
typedef struct _DEBUG_HEAP_INFORMATION DEBUG_HEAP_INFORMATION
 
typedef struct _DEBUG_HEAP_INFORMATIONPDEBUG_HEAP_INFORMATION
 
typedef struct _DEBUG_LOCK_INFORMATION DEBUG_LOCK_INFORMATION
 
typedef struct _DEBUG_LOCK_INFORMATIONPDEBUG_LOCK_INFORMATION
 
typedef struct _PORT_MESSAGE_HEADER PORT_MESSAGE_HEADER
 
typedef struct _PORT_MESSAGE_HEADERPPORT_MESSAGE_HEADER
 
typedef struct _PORT_MESSAGE_HEADER PORT_MESSAGE
 
typedef struct _PORT_MESSAGE_HEADERPPORT_MESSAGE
 
typedef unsigned short RTL_ATOM
 
typedef unsigned shortPRTL_ATOM
 
typedef struct atom_table * RTL_ATOM_TABLE
 
typedef struct atom_table ** PRTL_ATOM_TABLE
 
typedef enum _ATOM_INFORMATION_CLASS ATOM_INFORMATION_CLASS
 
typedef struct _ATOM_BASIC_INFORMATION ATOM_BASIC_INFORMATION
 
typedef struct _ATOM_BASIC_INFORMATIONPATOM_BASIC_INFORMATION
 
typedef struct _RTL_HANDLE RTL_HANDLE
 
typedef struct _RTL_HANDLE_TABLE RTL_HANDLE_TABLE
 
typedef void(CALLBACKPNTAPCFUNC) (ULONG_PTR, ULONG_PTR, ULONG_PTR)
 
typedef void(CALLBACKPRTL_THREAD_START_ROUTINE) (LPVOID)
 
typedef DWORD(CALLBACKPRTL_WORK_ITEM_ROUTINE) (LPVOID)
 
typedef void(NTAPIRTL_WAITORTIMERCALLBACKFUNC) (PVOID, BOOLEAN)
 
typedef NTSTATUS(WINAPIPRTL_QUERY_REGISTRY_ROUTINE) (PCWSTR ValueName, ULONG ValueType, PVOID ValueData, ULONG ValueLength, PVOID Context, PVOID EntryContext)
 
typedef struct _RTL_QUERY_REGISTRY_TABLE RTL_QUERY_REGISTRY_TABLE
 
typedef struct _RTL_QUERY_REGISTRY_TABLEPRTL_QUERY_REGISTRY_TABLE
 
typedef struct _KEY_MULTIPLE_VALUE_INFORMATION KEY_MULTIPLE_VALUE_INFORMATION
 
typedef struct _KEY_MULTIPLE_VALUE_INFORMATIONPKEY_MULTIPLE_VALUE_INFORMATION
 
typedef VOID(CALLBACKPRTL_OVERLAPPED_COMPLETION_ROUTINE) (DWORD, DWORD, LPVOID)
 
typedef VOID(CALLBACKPTIMER_APC_ROUTINE) (PVOID, ULONG, LONG)
 
typedef enum _EVENT_INFORMATION_CLASS EVENT_INFORMATION_CLASS
 
typedef enum _EVENT_INFORMATION_CLASSPEVENT_INFORMATION_CLASS
 
typedef struct _EVENT_BASIC_INFORMATION EVENT_BASIC_INFORMATION
 
typedef struct _EVENT_BASIC_INFORMATIONPEVENT_BASIC_INFORMATION
 
typedef enum _SEMAPHORE_INFORMATION_CLASS SEMAPHORE_INFORMATION_CLASS
 
typedef enum _SEMAPHORE_INFORMATION_CLASSPSEMAPHORE_INFORMATION_CLASS
 
typedef struct _SEMAPHORE_BASIC_INFORMATION SEMAPHORE_BASIC_INFORMATION
 
typedef struct _SEMAPHORE_BASIC_INFORMATIONPSEMAPHORE_BASIC_INFORMATION
 
typedef enum _SECTION_INFORMATION_CLASS SECTION_INFORMATION_CLASS
 
typedef struct _SECTION_BASIC_INFORMATION SECTION_BASIC_INFORMATION
 
typedef struct _SECTION_BASIC_INFORMATIONPSECTION_BASIC_INFORMATION
 
typedef struct _SECTION_IMAGE_INFORMATION SECTION_IMAGE_INFORMATION
 
typedef struct _SECTION_IMAGE_INFORMATIONPSECTION_IMAGE_INFORMATION
 
typedef struct _LPC_SECTION_WRITE LPC_SECTION_WRITE
 
typedef struct _LPC_SECTION_WRITEPLPC_SECTION_WRITE
 
typedef struct _LPC_SECTION_READ LPC_SECTION_READ
 
typedef struct _LPC_SECTION_READPLPC_SECTION_READ
 
typedef struct _LPC_MESSAGE LPC_MESSAGE
 
typedef struct _LPC_MESSAGEPLPC_MESSAGE
 
typedef struct _RTL_USER_PROCESS_INFORMATION RTL_USER_PROCESS_INFORMATION
 
typedef struct _RTL_USER_PROCESS_INFORMATIONPRTL_USER_PROCESS_INFORMATION
 
typedef enum _SHUTDOWN_ACTION SHUTDOWN_ACTION
 
typedef enum _SHUTDOWN_ACTIONPSHUTDOWN_ACTION
 
typedef enum _KPROFILE_SOURCE KPROFILE_SOURCE
 
typedef enum _KPROFILE_SOURCEPKPROFILE_SOURCE
 
typedef struct _DIRECTORY_BASIC_INFORMATION DIRECTORY_BASIC_INFORMATION
 
typedef struct _DIRECTORY_BASIC_INFORMATIONPDIRECTORY_BASIC_INFORMATION
 
typedef struct _INITIAL_TEB INITIAL_TEB
 
typedef struct _INITIAL_TEBPINITIAL_TEB
 
typedef enum _PORT_INFORMATION_CLASS PORT_INFORMATION_CLASS
 
typedef enum _PORT_INFORMATION_CLASSPPORT_INFORMATION_CLASS
 
typedef enum _IO_COMPLETION_INFORMATION_CLASS IO_COMPLETION_INFORMATION_CLASS
 
typedef enum _IO_COMPLETION_INFORMATION_CLASSPIO_COMPLETION_INFORMATION_CLASS
 
typedef struct _FILE_COMPLETION_INFORMATION FILE_COMPLETION_INFORMATION
 
typedef struct _FILE_COMPLETION_INFORMATIONPFILE_COMPLETION_INFORMATION
 
typedef enum _HARDERROR_RESPONSE_OPTION HARDERROR_RESPONSE_OPTION
 
typedef enum _HARDERROR_RESPONSE_OPTIONPHARDERROR_RESPONSE_OPTION
 
typedef enum _HARDERROR_RESPONSE HARDERROR_RESPONSE
 
typedef enum _HARDERROR_RESPONSEPHARDERROR_RESPONSE
 
typedef enum _SYSDBG_COMMAND SYSDBG_COMMAND
 
typedef enum _SYSDBG_COMMANDPSYSDBG_COMMAND
 
typedef struct _LDR_MODULE LDR_MODULE
 
typedef struct _LDR_MODULEPLDR_MODULE
 
typedef struct _LDR_DLL_LOADED_NOTIFICATION_DATA LDR_DLL_LOADED_NOTIFICATION_DATA
 
typedef struct _LDR_DLL_LOADED_NOTIFICATION_DATAPLDR_DLL_LOADED_NOTIFICATION_DATA
 
typedef struct _LDR_DLL_UNLOADED_NOTIFICATION_DATA LDR_DLL_UNLOADED_NOTIFICATION_DATA
 
typedef struct _LDR_DLL_UNLOADED_NOTIFICATION_DATAPLDR_DLL_UNLOADED_NOTIFICATION_DATA
 
typedef union _LDR_DLL_NOTIFICATION_DATA LDR_DLL_NOTIFICATION_DATA
 
typedef union _LDR_DLL_NOTIFICATION_DATAPLDR_DLL_NOTIFICATION_DATA
 
typedef void(CALLBACKPLDR_DLL_NOTIFICATION_FUNCTION) (ULONG, LDR_DLL_NOTIFICATION_DATA *, void *)
 
typedef struct _SYSTEM_MODULE SYSTEM_MODULE
 
typedef struct _SYSTEM_MODULEPSYSTEM_MODULE
 
typedef struct _SYSTEM_MODULE_INFORMATION SYSTEM_MODULE_INFORMATION
 
typedef struct _SYSTEM_MODULE_INFORMATIONPSYSTEM_MODULE_INFORMATION
 

Enumerations

enum  _FILE_INFORMATION_CLASS {
  FileDirectoryInformation = 1 , FileFullDirectoryInformation , FileBothDirectoryInformation , FileBasicInformation ,
  FileStandardInformation , FileInternalInformation , FileEaInformation , FileAccessInformation ,
  FileNameInformation , FileRenameInformation , FileLinkInformation , FileNamesInformation ,
  FileDispositionInformation , FilePositionInformation , FileFullEaInformation , FileModeInformation ,
  FileAlignmentInformation , FileAllInformation , FileAllocationInformation , FileEndOfFileInformation ,
  FileAlternateNameInformation , FileStreamInformation , FilePipeInformation , FilePipeLocalInformation ,
  FilePipeRemoteInformation , FileMailslotQueryInformation , FileMailslotSetInformation , FileCompressionInformation ,
  FileObjectIdInformation , FileCompletionInformation , FileMoveClusterInformation , FileQuotaInformation ,
  FileReparsePointInformation , FileNetworkOpenInformation , FileAttributeTagInformation , FileTrackingInformation ,
  FileIdBothDirectoryInformation , FileIdFullDirectoryInformation , FileValidDataLengthInformation , FileShortNameInformation ,
  FileIoCompletionNotificationInformation , FileIoStatusBlockRangeInformation , FileIoPriorityHintInformation , FileSfioReserveInformation ,
  FileSfioVolumeInformation , FileHardLinkInformation , FileProcessIdsUsingFileInformation , FileNormalizedNameInformation ,
  FileNetworkPhysicalNameInformation , FileIdGlobalTxDirectoryInformation , FileMaximumInformation , FileDirectoryInformation = 1 ,
  FileFullDirectoryInformation , FileBothDirectoryInformation , FileBasicInformation , FileStandardInformation ,
  FileInternalInformation , FileEaInformation , FileAccessInformation , FileNameInformation ,
  FileRenameInformation , FileLinkInformation , FileNamesInformation , FileDispositionInformation ,
  FilePositionInformation , FileFullEaInformation , FileModeInformation , FileAlignmentInformation ,
  FileAllInformation , FileAllocationInformation , FileEndOfFileInformation , FileAlternateNameInformation ,
  FileStreamInformation , FilePipeInformation , FilePipeLocalInformation , FilePipeRemoteInformation ,
  FileMailslotQueryInformation , FileMailslotSetInformation , FileCompressionInformation , FileCopyOnWriteInformation ,
  FileCompletionInformation , FileMoveClusterInformation , FileOleClassIdInformation , FileOleStateBitsInformation ,
  FileNetworkOpenInformation , FileObjectIdInformation , FileOleAllInformation , FileOleDirectoryInformation ,
  FileContentIndexInformation , FileInheritContentIndexInformation , FileOleInformation , FileMaximumInformation ,
  FileDirectoryInformation = 1 , FileFullDirectoryInformation , FileBothDirectoryInformation , FileBasicInformation ,
  FileStandardInformation , FileInternalInformation , FileEaInformation , FileAccessInformation ,
  FileNameInformation , FileRenameInformation , FileLinkInformation , FileNamesInformation ,
  FileDispositionInformation , FilePositionInformation , FileFullEaInformation , FileModeInformation ,
  FileAlignmentInformation , FileAllInformation , FileAllocationInformation , FileEndOfFileInformation ,
  FileAlternateNameInformation , FileStreamInformation , FilePipeInformation , FilePipeLocalInformation ,
  FilePipeRemoteInformation , FileMailslotQueryInformation , FileMailslotSetInformation , FileCompressionInformation ,
  FileCopyOnWriteInformation , FileCompletionInformation , FileMoveClusterInformation , FileOleClassIdInformation ,
  FileOleStateBitsInformation , FileNetworkOpenInformation , FileObjectIdInformation , FileOleAllInformation ,
  FileOleDirectoryInformation , FileContentIndexInformation , FileInheritContentIndexInformation , FileOleInformation ,
  FileMaximumInformation , FileDirectoryInformation = 1 , FileDirectoryInformation = 1 , FileFullDirectoryInformation ,
  FileBothDirectoryInformation , FileBasicInformation , FileStandardInformation , FileInternalInformation ,
  FileEaInformation , FileAccessInformation , FileNameInformation , FileRenameInformation ,
  FileLinkInformation , FileNamesInformation , FileDispositionInformation , FilePositionInformation ,
  FileFullEaInformation , FileModeInformation , FileAlignmentInformation , FileAllInformation ,
  FileAllocationInformation , FileEndOfFileInformation , FileAlternateNameInformation , FileStreamInformation ,
  FilePipeInformation , FilePipeLocalInformation , FilePipeRemoteInformation , FileMailslotQueryInformation ,
  FileMailslotSetInformation , FileCompressionInformation , FileObjectIdInformation , FileCompletionInformation ,
  FileMoveClusterInformation , FileQuotaInformation , FileReparsePointInformation , FileNetworkOpenInformation ,
  FileAttributeTagInformation , FileTrackingInformation , FileIdBothDirectoryInformation , FileIdFullDirectoryInformation ,
  FileValidDataLengthInformation , FileShortNameInformation , FileIoCompletionNotificationInformation , FileIoStatusBlockRangeInformation ,
  FileIoPriorityHintInformation , FileSfioReserveInformation , FileSfioVolumeInformation , FileHardLinkInformation ,
  FileProcessIdsUsingFileInformation , FileNormalizedNameInformation , FileNetworkPhysicalNameInformation , FileIdGlobalTxDirectoryInformation ,
  FileIsRemoteDeviceInformation , FileAttributeCacheInformation , FileNumaNodeInformation , FileStandardLinkInformation ,
  FileRemoteProtocolInformation , FileRenameInformationBypassAccessCheck , FileLinkInformationBypassAccessCheck , FileVolumeNameInformation ,
  FileIdInformation , FileIdExtdDirectoryInformation , FileReplaceCompletionInformation , FileHardLinkFullIdInformation ,
  FileIdExtdBothDirectoryInformation , FileMaximumInformation , FileDirectoryInformation = 1 , FileFullDirectoryInformation ,
  FileBothDirectoryInformation , FileBasicInformation , FileStandardInformation , FileInternalInformation ,
  FileEaInformation , FileAccessInformation , FileNameInformation , FileRenameInformation ,
  FileLinkInformation , FileNamesInformation , FileDispositionInformation , FilePositionInformation ,
  FileFullEaInformation , FileModeInformation , FileAlignmentInformation , FileAllInformation ,
  FileAllocationInformation , FileEndOfFileInformation , FileAlternateNameInformation , FileStreamInformation ,
  FilePipeInformation , FilePipeLocalInformation , FilePipeRemoteInformation , FileMailslotQueryInformation ,
  FileMailslotSetInformation , FileCompressionInformation , FileObjectIdInformation , FileCompletionInformation ,
  FileMoveClusterInformation , FileQuotaInformation , FileReparsePointInformation , FileNetworkOpenInformation ,
  FileAttributeTagInformation , FileTrackingInformation , FileIdBothDirectoryInformation , FileIdFullDirectoryInformation ,
  FileValidDataLengthInformation , FileShortNameInformation , FileIoCompletionNotificationInformation , FileIoStatusBlockRangeInformation ,
  FileIoPriorityHintInformation , FileSfioReserveInformation , FileSfioVolumeInformation , FileHardLinkInformation ,
  FileProcessIdsUsingFileInformation , FileNormalizedNameInformation , FileNetworkPhysicalNameInformation , FileIdGlobalTxDirectoryInformation ,
  FileIsRemoteDeviceInformation , FileAttributeCacheInformation , FileNumaNodeInformation , FileStandardLinkInformation ,
  FileRemoteProtocolInformation , FileMaximumInformation
}
 
enum  _FSINFOCLASS {
  FileFsVolumeInformation = 1 , FileFsLabelInformation , FileFsSizeInformation , FileFsDeviceInformation ,
  FileFsAttributeInformation , FileFsControlInformation , FileFsFullSizeInformation , FileFsObjectIdInformation ,
  FileFsDriverPathInformation , FileFsVolumeFlagsInformation , FileFsMaximumInformation , FileFsVolumeInformation = 1 ,
  FileFsLabelInformation , FileFsSizeInformation , FileFsDeviceInformation , FileFsAttributeInformation ,
  FileFsControlInformation , FileFsQuotaQueryInformation , FileFsQuotaSetInformation , FileFsMaximumInformation ,
  FileFsVolumeInformation = 1 , FileFsLabelInformation , FileFsSizeInformation , FileFsDeviceInformation ,
  FileFsAttributeInformation , FileFsControlInformation , FileFsFullSizeInformation , FileFsObjectIdInformation ,
  FileFsDriverPathInformation , FileFsMaximumInformation , FileFsVolumeInformation = 1 , FileFsLabelInformation ,
  FileFsSizeInformation , FileFsDeviceInformation , FileFsAttributeInformation , FileFsControlInformation ,
  FileFsFullSizeInformation , FileFsObjectIdInformation , FileFsMaximumInformation , FileFsVolumeInformation = 1 ,
  FileFsLabelInformation , FileFsSizeInformation , FileFsDeviceInformation , FileFsAttributeInformation ,
  FileFsControlInformation , FileFsFullSizeInformation , FileFsObjectIdInformation , FileFsDriverPathInformation ,
  FileFsVolumeFlagsInformation , FileFsMaximumInformation
}
 
enum  _KEY_INFORMATION_CLASS {
  KeyBasicInformation , KeyNodeInformation , KeyFullInformation , KeyBasicInformation ,
  KeyNodeInformation , KeyFullInformation , KeyNameInformation , KeyCachedInformation ,
  KeyFlagsInformation , KeyVirtualizationInformation , KeyHandleTagsInformation , MaxKeyInfoClass ,
  KeyBasicInformation , KeyNodeInformation , KeyFullInformation , KeyNameInformation ,
  KeyCachedInformation , KeyFlagsInformation , KeyVirtualizationInformation , KeyHandleTagsInformation ,
  MaxKeyInfoClass
}
 
enum  _KEY_VALUE_INFORMATION_CLASS {
  KeyValueBasicInformation , KeyValueFullInformation , KeyValuePartialInformation , KeyValueBasicInformation ,
  KeyValueFullInformation , KeyValuePartialInformation , KeyValueFullInformationAlign64 , KeyValuePartialInformationAlign64 ,
  KeyValueBasicInformation , KeyValueFullInformation , KeyValuePartialInformation , KeyValueFullInformationAlign64 ,
  KeyValuePartialInformationAlign64 , KeyValueBasicInformation , KeyValueFullInformation , KeyValuePartialInformation ,
  KeyValueFullInformationAlign64 , KeyValuePartialInformationAlign64
}
 
enum  _OBJECT_INFORMATION_CLASS {
  ObjectBasicInformation , ObjectNameInformation , ObjectTypeInformation , ObjectAllTypesInformation ,
  ObjectHandleInformation , ObjectBasicInformation = 0 , ObjectTypeInformation = 2 , ObjectBasicInformation ,
  ObjectNameInformation , ObjectTypeInformation , ObjectTypesInformation , ObjectDataInformation
}
 
enum  _PROCESSINFOCLASS {
  ProcessBasicInformation = 0 , ProcessDebugPort = 7 , ProcessWow64Information = 26 , ProcessImageFileName = 27 ,
  ProcessBreakOnTermination = 29 , ProcessBasicInformation = 0 , ProcessQuotaLimits = 1 , ProcessIoCounters = 2 ,
  ProcessVmCounters = 3 , ProcessTimes = 4 , ProcessBasePriority = 5 , ProcessRaisePriority = 6 ,
  ProcessDebugPort = 7 , ProcessExceptionPort = 8 , ProcessAccessToken = 9 , ProcessLdtInformation = 10 ,
  ProcessLdtSize = 11 , ProcessDefaultHardErrorMode = 12 , ProcessIoPortHandlers = 13 , ProcessPooledUsageAndLimits = 14 ,
  ProcessWorkingSetWatch = 15 , ProcessUserModeIOPL = 16 , ProcessEnableAlignmentFaultFixup = 17 , ProcessPriorityClass = 18 ,
  ProcessWx86Information = 19 , ProcessHandleCount = 20 , ProcessAffinityMask = 21 , ProcessPriorityBoost = 22 ,
  ProcessDeviceMap = 23 , ProcessSessionInformation = 24 , ProcessForegroundInformation = 25 , ProcessWow64Information = 26 ,
  ProcessImageFileName = 27 , ProcessLUIDDeviceMapsEnabled = 28 , ProcessBreakOnTermination = 29 , ProcessDebugObjectHandle = 30 ,
  ProcessDebugFlags = 31 , ProcessHandleTracing = 32 , ProcessExecuteFlags = 34 , ProcessTlsInformation = 35 ,
  ProcessCookie = 36 , ProcessImageInformation = 37 , ProcessCycleTime = 38 , ProcessPagePriority = 39 ,
  ProcessInstrumentationCallback = 40 , ProcessThreadStackAllocation = 41 , ProcessWorkingSetWatchEx = 42 , ProcessImageFileNameWin32 = 43 ,
  ProcessImageFileMapping = 44 , ProcessAffinityUpdateMode = 45 , ProcessMemoryAllocationMode = 46 , ProcessGroupInformation = 47 ,
  ProcessTokenVirtualizationEnabled = 48 , ProcessConsoleHostProcess = 49 , ProcessWindowInformation = 50 , MaxProcessInfoClass ,
  ProcessBasicInformation , ProcessQuotaLimits , ProcessIoCounters , ProcessVmCounters ,
  ProcessTimes , ProcessBasePriority , ProcessRaisePriority , ProcessDebugPort ,
  ProcessExceptionPort , ProcessAccessToken , ProcessLdtInformation , ProcessLdtSize ,
  ProcessDefaultHardErrorMode , ProcessIoPortHandlers , ProcessPooledUsageAndLimits , ProcessWorkingSetWatch ,
  ProcessUserModeIOPL , ProcessEnableAlignmentFaultFixup , ProcessPriorityClass , ProcessWx86Information ,
  ProcessHandleCount , ProcessAffinityMask , ProcessPriorityBoost , ProcessDeviceMap ,
  ProcessSessionInformation , ProcessForegroundInformation , ProcessWow64Information , ProcessImageFileName ,
  ProcessLUIDDeviceMapsEnabled , ProcessBreakOnTermination , ProcessDebugObjectHandle , ProcessDebugFlags ,
  ProcessHandleTracing , ProcessIoPriority , ProcessExecuteFlags , ProcessTlsInformation ,
  ProcessCookie , ProcessImageInformation , ProcessCycleTime , ProcessPagePriority ,
  ProcessInstrumentationCallback , ProcessThreadStackAllocation , ProcessWorkingSetWatchEx , ProcessImageFileNameWin32 ,
  ProcessImageFileMapping , ProcessAffinityUpdateMode , ProcessMemoryAllocationMode , ProcessGroupInformation ,
  ProcessTokenVirtualizationEnabled , ProcessConsoleHostProcess , ProcessWindowInformation , MaxProcessInfoClass ,
  ProcessBasicInformation = 0 , ProcessDebugPort = 7 , ProcessWow64Information = 26 , ProcessImageFileName = 27 ,
  ProcessBreakOnTermination = 29
}
 
enum  _SECTION_INHERIT {
  ViewShare = 1 , ViewUnmap = 2 , ViewShare = 1 , ViewUnmap = 2 ,
  ViewShare = 1 , ViewUnmap = 2
}
 
enum  _SYSTEM_INFORMATION_CLASS {
  SystemBasicInformation , SystemProcessorInformation , SystemPerformanceInformation , SystemTimeOfDayInformation ,
  SystemPathInformation , SystemProcessInformation , SystemCallCountInformation , SystemDeviceInformation ,
  SystemProcessorPerformanceInformation , SystemFlagsInformation , SystemCallTimeInformation , SystemModuleInformation ,
  SystemLocksInformation , SystemStackTraceInformation , SystemPagedPoolInformation , SystemNonPagedPoolInformation ,
  SystemHandleInformation , SystemObjectInformation , SystemPageFileInformation , SystemVdmInstemulInformation ,
  SystemVdmBopInformation , SystemFileCacheInformation , SystemPoolTagInformation , SystemInterruptInformation ,
  SystemDpcBehaviorInformation , SystemFullMemoryInformation , SystemLoadGdiDriverInformation , SystemUnloadGdiDriverInformation ,
  SystemTimeAdjustmentInformation , SystemSummaryMemoryInformation , SystemNextEventIdInformation , SystemEventIdsInformation ,
  SystemCrashDumpInformation , SystemExceptionInformation , SystemCrashDumpStateInformation , SystemKernelDebuggerInformation ,
  SystemContextSwitchInformation , SystemRegistryQuotaInformation , SystemExtendServiceTableInformation , SystemPrioritySeperation ,
  SystemPlugPlayBusInformation , SystemDockInformation , SystemPowerInformation , SystemProcessorSpeedInformation ,
  SystemCurrentTimeZoneInformation , SystemLookasideInformation , SystemBasicInformation , SystemProcessorInformation ,
  SystemPerformanceInformation , SystemTimeOfDayInformation , SystemPathInformation , SystemProcessInformation ,
  SystemCallCountInformation , SystemDeviceInformation , SystemProcessorPerformanceInformation , SystemFlagsInformation ,
  SystemCallTimeInformation , SystemModuleInformation , SystemLocksInformation , SystemStackTraceInformation ,
  SystemPagedPoolInformation , SystemNonPagedPoolInformation , SystemHandleInformation , SystemObjectInformation ,
  SystemPageFileInformation , SystemVdmInstemulInformation , SystemVdmBopInformation , SystemFileCacheInformation ,
  SystemPoolTagInformation , SystemInterruptInformation , SystemDpcBehaviorInformation , SystemFullMemoryInformation ,
  SystemLoadGdiDriverInformation , SystemUnloadGdiDriverInformation , SystemTimeAdjustmentInformation , SystemSummaryMemoryInformation ,
  SystemNextEventIdInformation , SystemEventIdsInformation , SystemCrashDumpInformation , SystemExceptionInformation ,
  SystemCrashDumpStateInformation , SystemKernelDebuggerInformation , SystemContextSwitchInformation , SystemRegistryQuotaInformation ,
  SystemExtendServiceTableInformation , SystemPrioritySeperation , SystemPlugPlayBusInformation , SystemDockInformation ,
  SystemPowerInformation , SystemProcessorSpeedInformation , SystemCurrentTimeZoneInformation , SystemLookasideInformation ,
  SystemBasicInformation , SystemProcessorInformation , SystemPerformanceInformation , SystemTimeOfDayInformation ,
  SystemPathInformation , SystemProcessInformation , SystemCallCountInformation , SystemDeviceInformation ,
  SystemProcessorPerformanceInformation , SystemFlagsInformation , SystemCallTimeInformation , SystemModuleInformation ,
  SystemLocksInformation , SystemStackTraceInformation , SystemPagedPoolInformation , SystemNonPagedPoolInformation ,
  SystemHandleInformation , SystemObjectInformation , SystemPageFileInformation , SystemVdmInstemulInformation ,
  SystemVdmBopInformation , SystemFileCacheInformation , SystemPoolTagInformation , SystemInterruptInformation ,
  SystemDpcBehaviorInformation , SystemFullMemoryInformation , SystemLoadGdiDriverInformation , SystemUnloadGdiDriverInformation ,
  SystemTimeAdjustmentInformation , SystemSummaryMemoryInformation , SystemMirrorMemoryInformation , SystemPerformanceTraceInformation ,
  SystemObsolete0 , SystemExceptionInformation , SystemCrashDumpStateInformation , SystemKernelDebuggerInformation ,
  SystemContextSwitchInformation , SystemRegistryQuotaInformation , SystemExtendServiceTableInformation , SystemPrioritySeperation ,
  SystemPlugPlayBusInformation , SystemDockInformation , SystemPowerInformationNative , SystemProcessorSpeedInformation ,
  SystemCurrentTimeZoneInformation , SystemLookasideInformation , SystemTimeSlipNotification , SystemSessionCreate ,
  SystemSessionDetach , SystemSessionInformation , SystemRangeStartInformation , SystemVerifierInformation ,
  SystemAddVerifier , SystemSessionProcessesInformation , SystemLoadGdiDriverInSystemSpaceInformation , SystemNumaProcessorMap ,
  SystemPrefetcherInformation , SystemExtendedProcessInformation , SystemRecommendedSharedDataAlignment , SystemComPlusPackage ,
  SystemNumaAvailableMemory , SystemProcessorPowerInformation , SystemEmulationBasicInformation , SystemEmulationProcessorInformation ,
  SystemExtendedHandleInformation , SystemLostDelayedWriteInformation , SystemBigPoolInformation , SystemSessionPoolTagInformation ,
  SystemSessionMappedViewInformation , SystemHotpatchInformation , SystemObjectSecurityMode , SystemWatchDogTimerHandler ,
  SystemWatchDogTimerInformation , SystemLogicalProcessorInformation , SystemWow64SharedInformationObsolete , SystemRegisterFirmwareTableInformationHandler ,
  SystemFirmwareTableInformation , SystemModuleInformationEx , SystemVerifierTriageInformation , SystemSuperfetchInformation ,
  SystemMemoryListInformation , SystemFileCacheInformationEx , SystemThreadPriorityClientIdInformation , SystemProcessorIdleCycleTimeInformation ,
  SystemVerifierCancellationInformation , SystemProcessorPowerInformationEx , SystemRefTraceInformation , SystemSpecialPoolInformation ,
  SystemProcessIdInformation , SystemErrorPortInformation , SystemBootEnvironmentInformation , SystemHypervisorInformation ,
  SystemVerifierInformationEx , SystemTimeZoneInformation , SystemImageFileExecutionOptionsInformation , SystemCoverageInformation ,
  SystemPrefetchPathInformation , SystemVerifierFaultsInformation , MaxSystemInfoClass , SystemBasicInformation = 0 ,
  SystemPerformanceInformation = 2 , SystemTimeOfDayInformation = 3 , SystemProcessInformation = 5 , SystemProcessorPerformanceInformation = 8 ,
  SystemInterruptInformation = 23 , SystemExceptionInformation = 33 , SystemRegistryQuotaInformation = 37 , SystemLookasideInformation = 45 ,
  SystemPolicyInformation = 134 , SystemBasicInformation = 0 , SystemCpuInformation = 1 , SystemPerformanceInformation = 2 ,
  SystemTimeOfDayInformation = 3 , Unknown4 , SystemProcessInformation = 5 , Unknown6 ,
  Unknown7 , SystemProcessorPerformanceInformation = 8 , Unknown9 , Unknown10 ,
  SystemModuleInformation = 11 , Unknown12 , Unknown13 , Unknown14 ,
  Unknown15 , SystemHandleInformation = 16 , Unknown17 , SystemPageFileInformation = 18 ,
  Unknown19 , Unknown20 , SystemCacheInformation = 21 , Unknown22 ,
  SystemInterruptInformation = 23 , SystemDpcBehaviourInformation = 24 , SystemFullMemoryInformation = 25 , SystemNotImplemented6 = 25 ,
  SystemLoadImage = 26 , SystemUnloadImage = 27 , SystemTimeAdjustmentInformation = 28 , SystemTimeAdjustment = 28 ,
  SystemSummaryMemoryInformation = 29 , SystemNotImplemented7 = 29 , SystemNextEventIdInformation = 30 , SystemNotImplemented8 = 30 ,
  SystemEventIdsInformation = 31 , SystemCrashDumpInformation = 32 , SystemExceptionInformation = 33 , SystemCrashDumpStateInformation = 34 ,
  SystemKernelDebuggerInformation = 35 , SystemContextSwitchInformation = 36 , SystemRegistryQuotaInformation = 37 , SystemCurrentTimeZoneInformation = 44 ,
  SystemTimeZoneInformation = 44 , SystemLookasideInformation = 45 , SystemSetTimeSlipEvent = 46 , SystemCreateSession = 47 ,
  SystemDeleteSession = 48 , SystemInvalidInfoClass4 = 49 , SystemRangeStartInformation = 50 , SystemVerifierInformation = 51 ,
  SystemAddVerifier = 52 , SystemSessionProcessesInformation = 53 , SystemLoadGdiDriverInSystemSpace = 54 , SystemNumaProcessorMap = 55 ,
  SystemPrefetcherInformation = 56 , SystemExtendedProcessInformation = 57 , SystemRecommendedSharedDataAlignment = 58 , SystemComPlusPackage = 59 ,
  SystemNumaAvailableMemory = 60 , SystemProcessorPowerInformation = 61 , SystemEmulationBasicInformation = 62 , SystemEmulationProcessorInformation = 63 ,
  SystemExtendedHandleInformation = 64 , SystemLostDelayedWriteInformation = 65 , SystemBigPoolInformation = 66 , SystemSessionPoolTagInformation = 67 ,
  SystemSessionMappedViewInformation = 68 , SystemHotpatchInformation = 69 , SystemObjectSecurityMode = 70 , SystemWatchdogTimerHandler = 71 ,
  SystemWatchdogTimerInformation = 72 , SystemLogicalProcessorInformation = 73 , SystemWow64SharedInformation = 74 , SystemRegisterFirmwareTableInformationHandler = 75 ,
  SystemFirmwareTableInformation = 76 , SystemModuleInformationEx = 77 , SystemVerifierTriageInformation = 78 , SystemSuperfetchInformation = 79 ,
  SystemMemoryListInformation = 80 , SystemFileCacheInformationEx = 81 , SystemLogicalProcessorInformationEx = 107 , SystemInformationClassMax
}
 
enum  _THREADINFOCLASS {
  ThreadBasicInformation , ThreadTimes , ThreadPriority , ThreadBasePriority ,
  ThreadAffinityMask , ThreadImpersonationToken , ThreadDescriptorTableEntry , ThreadEnableAlignmentFaultFixup ,
  ThreadEventPair_Reusable , ThreadQuerySetWin32StartAddress , ThreadZeroTlsCell , ThreadPerformanceCount ,
  ThreadAmILastThread , ThreadIdealProcessor , ThreadPriorityBoost , ThreadSetTlsArrayAddress ,
  ThreadIsIoPending , ThreadHideFromDebugger , ThreadBreakOnTermination , ThreadSwitchLegacyState ,
  ThreadIsTerminated , ThreadLastSystemCall , ThreadIoPriority , ThreadCycleTime ,
  ThreadPagePriority , ThreadActualBasePriority , ThreadTebInformation , ThreadCSwitchMon ,
  ThreadCSwitchPmu , ThreadWow64Context , ThreadGroupInformation , ThreadUmsInformation ,
  ThreadCounterProfiling , ThreadIdealProcessorEx , MaxThreadInfoClass , ThreadIsIoPending = 16 ,
  ThreadBasicInformation , ThreadTimes , ThreadPriority , ThreadBasePriority ,
  ThreadAffinityMask , ThreadImpersonationToken , ThreadDescriptorTableEntry , ThreadEnableAlignmentFaultFixup ,
  ThreadEventPair_Reusable , ThreadQuerySetWin32StartAddress , ThreadZeroTlsCell , ThreadPerformanceCount ,
  ThreadAmILastThread , ThreadIdealProcessor , ThreadPriorityBoost , ThreadSetTlsArrayAddress ,
  ThreadIsIoPending , ThreadHideFromDebugger , ThreadBreakOnTermination , ThreadSwitchLegacyState ,
  ThreadIsTerminated , ThreadLastSystemCall , ThreadIoPriority , ThreadCycleTime ,
  ThreadPagePriority , ThreadActualBasePriority , ThreadTebInformation , ThreadCSwitchMon ,
  ThreadCSwitchPmu , ThreadWow64Context , ThreadGroupInformation , ThreadUmsInformation ,
  ThreadCounterProfiling , ThreadIdealProcessorEx , MaxThreadInfoClass , ThreadBasicInformation ,
  ThreadTimes , ThreadPriority , ThreadBasePriority , ThreadAffinityMask ,
  ThreadImpersonationToken , ThreadDescriptorTableEntry , ThreadEnableAlignmentFaultFixup , ThreadEventPair_Reusable ,
  ThreadQuerySetWin32StartAddress , ThreadZeroTlsCell , ThreadPerformanceCount , ThreadAmILastThread ,
  ThreadIdealProcessor , ThreadPriorityBoost , ThreadSetTlsArrayAddress , ThreadIsIoPending ,
  ThreadHideFromDebugger , ThreadBreakOnTermination , ThreadSwitchLegacyState , ThreadIsTerminated ,
  ThreadLastSystemCall , ThreadIoPriority , ThreadCycleTime , ThreadPagePriority ,
  ThreadActualBasePriority , ThreadTebInformation , ThreadCSwitchMon , ThreadCSwitchPmu ,
  ThreadWow64Context , ThreadGroupInformation , ThreadUmsInformation , ThreadCounterProfiling ,
  ThreadIdealProcessorEx , MaxThreadInfoClass
}
 
enum  _WINSTATIONINFOCLASS { WinStationInformation = 8 , WinStationInformation = 8 }
 
enum  _MEMORY_INFORMATION_CLASS {
  MemoryBasicInformation , MemoryWorkingSetList , MemorySectionName , MemoryBasicVlmInformation ,
  MemoryWorkingSetExList , MemoryBasicInformation , MemoryWorkingSetList , MemorySectionName ,
  MemoryBasicVlmInformation
}
 
enum  _MUTANT_INFORMATION_CLASS { MutantBasicInformation , MutantOwnerInformation , MutantBasicInformation }
 
enum  _TIMER_INFORMATION_CLASS { TimerBasicInformation , TimerBasicInformation = 0 }
 
enum  DOS_PATHNAME_TYPE {
  INVALID_PATH = 0 , UNC_PATH , ABSOLUTE_DRIVE_PATH , RELATIVE_DRIVE_PATH ,
  ABSOLUTE_PATH , RELATIVE_PATH , DEVICE_PATH , UNC_DOT_PATH
}
 
enum  _ATOM_INFORMATION_CLASS { AtomBasicInformation , AtomTableInformation , AtomBasicInformation = 0 , AtomTableInformation = 1 }
 
enum  _EVENT_INFORMATION_CLASS { EventBasicInformation , EventBasicInformation }
 
enum  _SEMAPHORE_INFORMATION_CLASS { SemaphoreBasicInformation , SemaphoreBasicInformation }
 
enum  _SECTION_INFORMATION_CLASS { SectionBasicInformation , SectionImageInformation , SectionBasicInformation , SectionImageInformation }
 
enum  _SHUTDOWN_ACTION {
  ShutdownNoReboot , ShutdownReboot , ShutdownPowerOff , ShutdownNoReboot ,
  ShutdownReboot , ShutdownPowerOff
}
 
enum  _KPROFILE_SOURCE {
  ProfileTime , ProfileAlignmentFixup , ProfileTotalIssues , ProfilePipelineDry ,
  ProfileLoadInstructions , ProfilePipelineFrozen , ProfileBranchInstructions , ProfileTotalNonissues ,
  ProfileDcacheMisses , ProfileIcacheMisses , ProfileCacheMisses , ProfileBranchMispredictions ,
  ProfileStoreInstructions , ProfileFpInstructions , ProfileIntegerInstructions , Profile2Issue ,
  Profile3Issue , Profile4Issue , ProfileSpecialInstructions , ProfileTotalCycles ,
  ProfileIcacheIssues , ProfileDcacheAccesses , ProfileMemoryBarrierCycles , ProfileLoadLinkedIssues ,
  ProfileMaximum , ProfileTime , ProfileAlignmentFixup , ProfileTotalIssues ,
  ProfilePipelineDry , ProfileLoadInstructions , ProfilePipelineFrozen , ProfileBranchInstructions ,
  ProfileTotalNonissues , ProfileDcacheMisses , ProfileIcacheMisses , ProfileCacheMisses ,
  ProfileBranchMispredictions , ProfileStoreInstructions , ProfileFpInstructions , ProfileIntegerInstructions ,
  Profile2Issue , Profile3Issue , Profile4Issue , ProfileSpecialInstructions ,
  ProfileTotalCycles , ProfileIcacheIssues , ProfileDcacheAccesses , ProfileMemoryBarrierCycles ,
  ProfileLoadLinkedIssues , ProfileMaximum
}
 
enum  _PORT_INFORMATION_CLASS { PortNoInformation , PortNoInformation }
 
enum  _IO_COMPLETION_INFORMATION_CLASS { IoCompletionBasicInformation , IoCompletionBasicInformation }
 
enum  _HARDERROR_RESPONSE_OPTION {
  OptionAbortRetryIgnore , OptionOk , OptionOkCancel , OptionRetryCancel ,
  OptionYesNo , OptionYesNoCancel , OptionShutdownSystem , OptionOkNoWait ,
  OptionCancelTryContinue , OptionAbortRetryIgnore , OptionOk , OptionOkCancel ,
  OptionRetryCancel , OptionYesNo , OptionYesNoCancel , OptionShutdownSystem
}
 
enum  _HARDERROR_RESPONSE {
  ResponseReturnToCaller , ResponseNotHandled , ResponseAbort , ResponseCancel ,
  ResponseIgnore , ResponseNo , ResponseOk , ResponseRetry ,
  ResponseYes , ResponseTryAgain , ResponseContinue , ResponseReturnToCaller ,
  ResponseNotHandled , ResponseAbort , ResponseCancel , ResponseIgnore ,
  ResponseNo , ResponseOk , ResponseRetry , ResponseYes
}
 
enum  _SYSDBG_COMMAND {
  SysDbgQueryModuleInformation = 0 , SysDbgQueryTraceInformation = 1 , SysDbgSetTracepoint = 2 , SysDbgSetSpecialCall = 3 ,
  SysDbgClearSpecialCalls = 4 , SysDbgQuerySpecialCalls = 5 , SysDbgBreakPoint = 6 , SysDbgQueryVersion = 7 ,
  SysDbgReadVirtual = 8 , SysDbgWriteVirtual = 9 , SysDbgReadPhysical = 10 , SysDbgWritePhysical = 11 ,
  SysDbgReadControlSpace = 12 , SysDbgWriteControlSpace = 13 , SysDbgReadIoSpace = 14 , SysDbgWriteIoSpace = 15 ,
  SysDbgReadMsr = 16 , SysDbgWriteMsr = 17 , SysDbgReadBusData = 18 , SysDbgWriteBusData = 19 ,
  SysDbgCheckLowMemory = 20 , SysDbgEnableKernelDebugger = 21 , SysDbgDisableKernelDebugger = 22 , SysDbgGetAutoKdEnable = 23 ,
  SysDbgSetAutoKdEnable = 24 , SysDbgGetPrintBufferSize = 25 , SysDbgSetPrintBufferSize = 26 , SysDbgGetKdUmExceptionEnable = 27 ,
  SysDbgSetKdUmExceptionEnable = 28 , SysDbgGetTriageDump = 29 , SysDbgGetKdBlockEnable = 30 , SysDbgSetKdBlockEnable = 31 ,
  SysDbgRegisterForUmBreakInfo = 32 , SysDbgGetUmBreakPid = 33 , SysDbgClearUmBreakPid = 34 , SysDbgGetUmAttachPid = 35 ,
  SysDbgClearUmAttachPid = 36 , SysDbgQueryModuleInformation , SysDbgQueryTraceInformation , SysDbgSetTracepoint ,
  SysDbgSetSpecialCall , SysDbgClearSpecialCalls , SysDbgQuerySpecialCalls , SysDbgBreakPoint ,
  SysDbgQueryVersion , SysDbgReadVirtual , SysDbgWriteVirtual , SysDbgReadPhysical ,
  SysDbgWritePhysical , SysDbgReadControlSpace , SysDbgWriteControlSpace , SysDbgReadIoSpace ,
  SysDbgWriteIoSpace , SysDbgReadMsr , SysDbgWriteMsr , SysDbgReadBusData ,
  SysDbgWriteBusData
}
 

Functions

NTSYSAPI void WINAPI DbgBreakPoint (void)
 
NTSYSAPI void WINAPI DbgUserBreakPoint (void)
 
NTSYSAPI NTSTATUS WINAPIV DbgPrint (LPCSTR fmt,...)
 
NTSYSAPI NTSTATUS WINAPIV DbgPrintEx (ULONG iComponentId, ULONG Level, LPCSTR fmt,...)
 
NTSYSAPI NTSTATUS WINAPI LdrAccessResource (HMODULE, const IMAGE_RESOURCE_DATA_ENTRY *, void **, PULONG)
 
NTSYSAPI NTSTATUS WINAPI LdrAddRefDll (ULONG, HMODULE)
 
NTSYSAPI NTSTATUS WINAPI LdrFindResourceDirectory_U (HMODULE, const LDR_RESOURCE_INFO *, ULONG, const IMAGE_RESOURCE_DIRECTORY **)
 
NTSYSAPI NTSTATUS WINAPI LdrFindResource_U (HMODULE, const LDR_RESOURCE_INFO *, ULONG, const IMAGE_RESOURCE_DATA_ENTRY **)
 
NTSYSAPI NTSTATUS WINAPI LdrDisableThreadCalloutsForDll (HMODULE)
 
NTSYSAPI NTSTATUS WINAPI LdrFindEntryForAddress (const void *, PLDR_MODULE *)
 
NTSYSAPI NTSTATUS WINAPI LdrGetDllHandle (LPCWSTR, ULONG, const UNICODE_STRING *, HMODULE *)
 
NTSYSAPI NTSTATUS WINAPI LdrGetProcedureAddress (HMODULE, const ANSI_STRING *, ULONG, void **)
 
NTSYSAPI void WINAPI LdrInitializeThunk (void *, ULONG_PTR, ULONG_PTR, ULONG_PTR)
 
NTSYSAPI NTSTATUS WINAPI LdrLoadDll (LPCWSTR, DWORD, const UNICODE_STRING *, HMODULE *)
 
NTSYSAPI NTSTATUS WINAPI LdrLockLoaderLock (ULONG, ULONG *, ULONG_PTR *)
 
IMAGE_BASE_RELOCATION *WINAPI LdrProcessRelocationBlock (void *, UINT, USHORT *, INT_PTR)
 
NTSYSAPI NTSTATUS WINAPI LdrQueryImageFileExecutionOptions (const UNICODE_STRING *, LPCWSTR, ULONG, void *, ULONG, ULONG *)
 
NTSYSAPI NTSTATUS WINAPI LdrQueryProcessModuleInformation (SYSTEM_MODULE_INFORMATION *, ULONG, ULONG *)
 
NTSYSAPI void WINAPI LdrShutdownProcess (void)
 
NTSYSAPI void WINAPI LdrShutdownThread (void)
 
NTSYSAPI NTSTATUS WINAPI LdrUnloadDll (HMODULE)
 
NTSYSAPI NTSTATUS WINAPI LdrUnlockLoaderLock (ULONG, ULONG_PTR)
 
NTSYSAPI NTSTATUS WINAPI NtAcceptConnectPort (PHANDLE, ULONG, PLPC_MESSAGE, BOOLEAN, PLPC_SECTION_WRITE, PLPC_SECTION_READ)
 
NTSYSAPI NTSTATUS WINAPI NtAccessCheck (PSECURITY_DESCRIPTOR, HANDLE, ACCESS_MASK, PGENERIC_MAPPING, PPRIVILEGE_SET, PULONG, PULONG, NTSTATUS *)
 
NTSYSAPI NTSTATUS WINAPI NtAccessCheckAndAuditAlarm (PUNICODE_STRING, HANDLE, PUNICODE_STRING, PUNICODE_STRING, PSECURITY_DESCRIPTOR, ACCESS_MASK, PGENERIC_MAPPING, BOOLEAN, PACCESS_MASK, PBOOLEAN, PBOOLEAN)
 
NTSYSAPI NTSTATUS WINAPI NtAddAtom (const WCHAR *, ULONG, RTL_ATOM *)
 
NTSYSAPI NTSTATUS WINAPI NtAdjustGroupsToken (HANDLE, BOOLEAN, PTOKEN_GROUPS, ULONG, PTOKEN_GROUPS, PULONG)
 
NTSYSAPI NTSTATUS WINAPI NtAdjustPrivilegesToken (HANDLE, BOOLEAN, PTOKEN_PRIVILEGES, DWORD, PTOKEN_PRIVILEGES, PDWORD)
 
NTSYSAPI NTSTATUS WINAPI NtAlertResumeThread (HANDLE, PULONG)
 
NTSYSAPI NTSTATUS WINAPI NtAlertThread (HANDLE ThreadHandle)
 
NTSYSAPI NTSTATUS WINAPI NtAllocateLocallyUniqueId (PLUID lpLuid)
 
NTSYSAPI NTSTATUS WINAPI NtAllocateUuids (PULARGE_INTEGER, PULONG, PULONG, PUCHAR)
 
NTSYSAPI NTSTATUS WINAPI NtAllocateVirtualMemory (HANDLE, PVOID *, ULONG, SIZE_T *, ULONG, ULONG)
 
NTSYSAPI NTSTATUS WINAPI NtAreMappedFilesTheSame (PVOID, PVOID)
 
NTSYSAPI NTSTATUS WINAPI NtAssignProcessToJobObject (HANDLE, HANDLE)
 
NTSYSAPI NTSTATUS WINAPI NtCallbackReturn (PVOID, ULONG, NTSTATUS)
 
NTSYSAPI NTSTATUS WINAPI NtCancelIoFile (HANDLE, PIO_STATUS_BLOCK)
 
NTSYSAPI NTSTATUS WINAPI NtCancelIoFileEx (HANDLE, PIO_STATUS_BLOCK, PIO_STATUS_BLOCK)
 
NTSYSAPI NTSTATUS WINAPI NtCancelTimer (HANDLE, BOOLEAN *)
 
NTSYSAPI NTSTATUS WINAPI NtClearEvent (HANDLE)
 
NTSYSAPI NTSTATUS WINAPI NtClose (HANDLE)
 
NTSYSAPI NTSTATUS WINAPI NtCloseObjectAuditAlarm (PUNICODE_STRING, HANDLE, BOOLEAN)
 
NTSYSAPI NTSTATUS WINAPI NtCompleteConnectPort (HANDLE)
 
NTSYSAPI NTSTATUS WINAPI NtConnectPort (PHANDLE, PUNICODE_STRING, PSECURITY_QUALITY_OF_SERVICE, PLPC_SECTION_WRITE, PLPC_SECTION_READ, PULONG, PVOID, PULONG)
 
NTSYSAPI NTSTATUS WINAPI NtContinue (PCONTEXT, BOOLEAN)
 
NTSYSAPI NTSTATUS WINAPI NtCreateDirectoryObject (PHANDLE, ACCESS_MASK, POBJECT_ATTRIBUTES)
 
NTSYSAPI NTSTATUS WINAPI NtCreateEvent (PHANDLE, ACCESS_MASK, const OBJECT_ATTRIBUTES *, EVENT_TYPE, BOOLEAN)
 
NTSYSAPI NTSTATUS WINAPI NtCreateEventPair (PHANDLE, ACCESS_MASK, POBJECT_ATTRIBUTES)
 
NTSYSAPI NTSTATUS WINAPI NtCreateFile (PHANDLE, ACCESS_MASK, POBJECT_ATTRIBUTES, PIO_STATUS_BLOCK, PLARGE_INTEGER, ULONG, ULONG, ULONG, ULONG, PVOID, ULONG)
 
NTSYSAPI NTSTATUS WINAPI NtCreateIoCompletion (PHANDLE, ACCESS_MASK, POBJECT_ATTRIBUTES, ULONG)
 
NTSYSAPI NTSTATUS WINAPI NtCreateJobObject (PHANDLE, ACCESS_MASK, const OBJECT_ATTRIBUTES *)
 
NTSYSAPI NTSTATUS WINAPI NtCreateKey (PHANDLE, ACCESS_MASK, const OBJECT_ATTRIBUTES *, ULONG, const UNICODE_STRING *, ULONG, PULONG)
 
NTSYSAPI NTSTATUS WINAPI NtCreateKeyTransacted (PHANDLE, ACCESS_MASK, const OBJECT_ATTRIBUTES *, ULONG, const UNICODE_STRING *, ULONG, HANDLE, ULONG *)
 
NTSYSAPI NTSTATUS WINAPI NtCreateKeyedEvent (HANDLE *, ACCESS_MASK, const OBJECT_ATTRIBUTES *, ULONG)
 
NTSYSAPI NTSTATUS WINAPI NtCreateMailslotFile (PHANDLE, ACCESS_MASK, POBJECT_ATTRIBUTES, PIO_STATUS_BLOCK, ULONG, ULONG, ULONG, PLARGE_INTEGER)
 
NTSYSAPI NTSTATUS WINAPI NtCreateMutant (HANDLE *, ACCESS_MASK, const OBJECT_ATTRIBUTES *, BOOLEAN)
 
NTSYSAPI NTSTATUS WINAPI NtCreateNamedPipeFile (PHANDLE, ULONG, POBJECT_ATTRIBUTES, PIO_STATUS_BLOCK, ULONG, ULONG, ULONG, ULONG, ULONG, ULONG, ULONG, ULONG, ULONG, PLARGE_INTEGER)
 
NTSYSAPI NTSTATUS WINAPI NtCreatePagingFile (PUNICODE_STRING, PLARGE_INTEGER, PLARGE_INTEGER, PLARGE_INTEGER)
 
NTSYSAPI NTSTATUS WINAPI NtCreatePort (PHANDLE, POBJECT_ATTRIBUTES, ULONG, ULONG, PULONG)
 
NTSYSAPI NTSTATUS WINAPI NtCreateProcess (PHANDLE, ACCESS_MASK, POBJECT_ATTRIBUTES, HANDLE, BOOLEAN, HANDLE, HANDLE, HANDLE)
 
NTSYSAPI NTSTATUS WINAPI NtCreateProfile (PHANDLE, HANDLE, PVOID, ULONG, ULONG, PVOID, ULONG, KPROFILE_SOURCE, KAFFINITY)
 
NTSYSAPI NTSTATUS WINAPI NtCreateSection (HANDLE *, ACCESS_MASK, const OBJECT_ATTRIBUTES *, const LARGE_INTEGER *, ULONG, ULONG, HANDLE)
 
NTSYSAPI NTSTATUS WINAPI NtCreateSemaphore (PHANDLE, ACCESS_MASK, const OBJECT_ATTRIBUTES *, LONG, LONG)
 
NTSYSAPI NTSTATUS WINAPI NtCreateSymbolicLinkObject (PHANDLE, ACCESS_MASK, POBJECT_ATTRIBUTES, PUNICODE_STRING)
 
NTSYSAPI NTSTATUS WINAPI NtCreateThread (PHANDLE, ACCESS_MASK, POBJECT_ATTRIBUTES, HANDLE, PCLIENT_ID, PCONTEXT, PINITIAL_TEB, BOOLEAN)
 
NTSYSAPI NTSTATUS WINAPI NtCreateTimer (HANDLE *, ACCESS_MASK, const OBJECT_ATTRIBUTES *, TIMER_TYPE)
 
NTSYSAPI NTSTATUS WINAPI NtCreateToken (PHANDLE, ACCESS_MASK, POBJECT_ATTRIBUTES, TOKEN_TYPE, PLUID, PLARGE_INTEGER, PTOKEN_USER, PTOKEN_GROUPS, PTOKEN_PRIVILEGES, PTOKEN_OWNER, PTOKEN_PRIMARY_GROUP, PTOKEN_DEFAULT_DACL, PTOKEN_SOURCE)
 
NTSYSAPI NTSTATUS WINAPI NtDelayExecution (BOOLEAN, const LARGE_INTEGER *)
 
NTSYSAPI NTSTATUS WINAPI NtDeleteAtom (RTL_ATOM)
 
NTSYSAPI NTSTATUS WINAPI NtDeleteFile (POBJECT_ATTRIBUTES)
 
NTSYSAPI NTSTATUS WINAPI NtDeleteKey (HANDLE)
 
NTSYSAPI NTSTATUS WINAPI NtDeleteValueKey (HANDLE, const UNICODE_STRING *)
 
NTSYSAPI NTSTATUS WINAPI NtDeviceIoControlFile (HANDLE, HANDLE, PIO_APC_ROUTINE, PVOID, PIO_STATUS_BLOCK, ULONG, PVOID, ULONG, PVOID, ULONG)
 
NTSYSAPI NTSTATUS WINAPI NtDisplayString (PUNICODE_STRING)
 
NTSYSAPI NTSTATUS WINAPI NtDuplicateObject (HANDLE, HANDLE, HANDLE, PHANDLE, ACCESS_MASK, ULONG, ULONG)
 
NTSYSAPI NTSTATUS WINAPI NtDuplicateToken (HANDLE, ACCESS_MASK, POBJECT_ATTRIBUTES, SECURITY_IMPERSONATION_LEVEL, TOKEN_TYPE, PHANDLE)
 
NTSYSAPI NTSTATUS WINAPI NtEnumerateKey (HANDLE, ULONG, KEY_INFORMATION_CLASS, void *, DWORD, DWORD *)
 
NTSYSAPI NTSTATUS WINAPI NtEnumerateValueKey (HANDLE, ULONG, KEY_VALUE_INFORMATION_CLASS, PVOID, ULONG, PULONG)
 
NTSYSAPI NTSTATUS WINAPI NtExtendSection (HANDLE, PLARGE_INTEGER)
 
NTSYSAPI NTSTATUS WINAPI NtFilterToken (HANDLE, ULONG, TOKEN_GROUPS *, TOKEN_PRIVILEGES *, TOKEN_GROUPS *, HANDLE *)
 
NTSYSAPI NTSTATUS WINAPI NtFindAtom (const WCHAR *, ULONG, RTL_ATOM *)
 
NTSYSAPI NTSTATUS WINAPI NtFlushBuffersFile (HANDLE, IO_STATUS_BLOCK *)
 
NTSYSAPI NTSTATUS WINAPI NtFlushInstructionCache (HANDLE, LPCVOID, SIZE_T)
 
NTSYSAPI NTSTATUS WINAPI NtFlushKey (HANDLE)
 
NTSYSAPI NTSTATUS WINAPI NtFlushVirtualMemory (HANDLE, LPCVOID *, SIZE_T *, ULONG)
 
NTSYSAPI NTSTATUS WINAPI NtFlushWriteBuffer (VOID)
 
NTSYSAPI NTSTATUS WINAPI NtFreeVirtualMemory (HANDLE, PVOID *, SIZE_T *, ULONG)
 
NTSYSAPI NTSTATUS WINAPI NtFsControlFile (HANDLE, HANDLE, PIO_APC_ROUTINE, PVOID, PIO_STATUS_BLOCK, ULONG, PVOID, ULONG, PVOID, ULONG)
 
NTSYSAPI NTSTATUS WINAPI NtGetContextThread (HANDLE, CONTEXT *)
 
NTSYSAPI ULONG WINAPI NtGetCurrentProcessorNumber (void)
 
NTSYSAPI NTSTATUS WINAPI NtGetPlugPlayEvent (ULONG, ULONG, PVOID, ULONG)
 
NTSYSAPI ULONG WINAPI NtGetTickCount (VOID)
 
NTSYSAPI NTSTATUS WINAPI NtGetWriteWatch (HANDLE, ULONG, PVOID, SIZE_T, PVOID *, ULONG_PTR *, ULONG *)
 
NTSYSAPI NTSTATUS WINAPI NtImpersonateAnonymousToken (HANDLE)
 
NTSYSAPI NTSTATUS WINAPI NtImpersonateClientOfPort (HANDLE, PPORT_MESSAGE)
 
NTSYSAPI NTSTATUS WINAPI NtImpersonateThread (HANDLE, HANDLE, PSECURITY_QUALITY_OF_SERVICE)
 
NTSYSAPI NTSTATUS WINAPI NtInitializeRegistry (BOOLEAN)
 
NTSYSAPI NTSTATUS WINAPI NtInitiatePowerAction (POWER_ACTION, SYSTEM_POWER_STATE, ULONG, BOOLEAN)
 
NTSYSAPI NTSTATUS WINAPI NtIsProcessInJob (HANDLE, HANDLE)
 
NTSYSAPI NTSTATUS WINAPI NtListenPort (HANDLE, PLPC_MESSAGE)
 
NTSYSAPI NTSTATUS WINAPI NtLoadDriver (const UNICODE_STRING *)
 
NTSYSAPI NTSTATUS WINAPI NtLoadKey (const OBJECT_ATTRIBUTES *, OBJECT_ATTRIBUTES *)
 
NTSYSAPI NTSTATUS WINAPI NtLockFile (HANDLE, HANDLE, PIO_APC_ROUTINE, void *, PIO_STATUS_BLOCK, PLARGE_INTEGER, PLARGE_INTEGER, ULONG *, BOOLEAN, BOOLEAN)
 
NTSYSAPI NTSTATUS WINAPI NtLockVirtualMemory (HANDLE, PVOID *, SIZE_T *, ULONG)
 
NTSYSAPI NTSTATUS WINAPI NtMakeTemporaryObject (HANDLE)
 
NTSYSAPI NTSTATUS WINAPI NtMapViewOfSection (HANDLE, HANDLE, PVOID *, ULONG, SIZE_T, const LARGE_INTEGER *, SIZE_T *, SECTION_INHERIT, ULONG, ULONG)
 
NTSYSAPI NTSTATUS WINAPI NtNotifyChangeDirectoryFile (HANDLE, HANDLE, PIO_APC_ROUTINE, PVOID, PIO_STATUS_BLOCK, PVOID, ULONG, ULONG, BOOLEAN)
 
NTSYSAPI NTSTATUS WINAPI NtNotifyChangeKey (HANDLE, HANDLE, PIO_APC_ROUTINE, PVOID, PIO_STATUS_BLOCK, ULONG, BOOLEAN, PVOID, ULONG, BOOLEAN)
 
NTSYSAPI NTSTATUS WINAPI NtNotifyChangeMultipleKeys (HANDLE, ULONG, OBJECT_ATTRIBUTES *, HANDLE, PIO_APC_ROUTINE, PVOID, PIO_STATUS_BLOCK, ULONG, BOOLEAN, PVOID, ULONG, BOOLEAN)
 
NTSYSAPI NTSTATUS WINAPI NtOpenDirectoryObject (PHANDLE, ACCESS_MASK, const OBJECT_ATTRIBUTES *)
 
NTSYSAPI NTSTATUS WINAPI NtOpenEvent (PHANDLE, ACCESS_MASK, const OBJECT_ATTRIBUTES *)
 
NTSYSAPI NTSTATUS WINAPI NtOpenEventPair (PHANDLE, ACCESS_MASK, const OBJECT_ATTRIBUTES *)
 
NTSYSAPI NTSTATUS WINAPI NtOpenFile (PHANDLE, ACCESS_MASK, POBJECT_ATTRIBUTES, PIO_STATUS_BLOCK, ULONG, ULONG)
 
NTSYSAPI NTSTATUS WINAPI NtOpenIoCompletion (PHANDLE, ACCESS_MASK, const OBJECT_ATTRIBUTES *)
 
NTSYSAPI NTSTATUS WINAPI NtOpenJobObject (PHANDLE, ACCESS_MASK, const OBJECT_ATTRIBUTES *)
 
NTSYSAPI NTSTATUS WINAPI NtOpenKey (PHANDLE, ACCESS_MASK, const OBJECT_ATTRIBUTES *)
 
NTSYSAPI NTSTATUS WINAPI NtOpenKeyEx (PHANDLE, ACCESS_MASK, const OBJECT_ATTRIBUTES *, ULONG)
 
NTSYSAPI NTSTATUS WINAPI NtOpenKeyTransacted (PHANDLE, ACCESS_MASK, const OBJECT_ATTRIBUTES *, HANDLE)
 
NTSYSAPI NTSTATUS WINAPI NtOpenKeyTransactedEx (PHANDLE, ACCESS_MASK, const OBJECT_ATTRIBUTES *, ULONG, HANDLE)
 
NTSYSAPI NTSTATUS WINAPI NtOpenKeyedEvent (HANDLE *, ACCESS_MASK, const OBJECT_ATTRIBUTES *)
 
NTSYSAPI NTSTATUS WINAPI NtOpenMutant (PHANDLE, ACCESS_MASK, const OBJECT_ATTRIBUTES *)
 
NTSYSAPI NTSTATUS WINAPI NtOpenObjectAuditAlarm (PUNICODE_STRING, PHANDLE, PUNICODE_STRING, PUNICODE_STRING, PSECURITY_DESCRIPTOR, HANDLE, ACCESS_MASK, ACCESS_MASK, PPRIVILEGE_SET, BOOLEAN, BOOLEAN, PBOOLEAN)
 
NTSYSAPI NTSTATUS WINAPI NtOpenProcess (PHANDLE, ACCESS_MASK, const OBJECT_ATTRIBUTES *, const CLIENT_ID *)
 
NTSYSAPI NTSTATUS WINAPI NtOpenProcessToken (HANDLE, DWORD, HANDLE *)
 
NTSYSAPI NTSTATUS WINAPI NtOpenProcessTokenEx (HANDLE, DWORD, DWORD, HANDLE *)
 
NTSYSAPI NTSTATUS WINAPI NtOpenSection (HANDLE *, ACCESS_MASK, const OBJECT_ATTRIBUTES *)
 
NTSYSAPI NTSTATUS WINAPI NtOpenSemaphore (PHANDLE, ACCESS_MASK, const OBJECT_ATTRIBUTES *)
 
NTSYSAPI NTSTATUS WINAPI NtOpenSymbolicLinkObject (PHANDLE, ACCESS_MASK, const OBJECT_ATTRIBUTES *)
 
NTSYSAPI NTSTATUS WINAPI NtOpenThread (HANDLE *, ACCESS_MASK, const OBJECT_ATTRIBUTES *, const CLIENT_ID *)
 
NTSYSAPI NTSTATUS WINAPI NtOpenThreadToken (HANDLE, DWORD, BOOLEAN, HANDLE *)
 
NTSYSAPI NTSTATUS WINAPI NtOpenThreadTokenEx (HANDLE, DWORD, BOOLEAN, DWORD, HANDLE *)
 
NTSYSAPI NTSTATUS WINAPI NtOpenTimer (HANDLE *, ACCESS_MASK, const OBJECT_ATTRIBUTES *)
 
NTSYSAPI NTSTATUS WINAPI NtPowerInformation (POWER_INFORMATION_LEVEL, PVOID, ULONG, PVOID, ULONG)
 
NTSYSAPI NTSTATUS WINAPI NtPrivilegeCheck (HANDLE, PPRIVILEGE_SET, PBOOLEAN)
 
NTSYSAPI NTSTATUS WINAPI NtPrivilegeObjectAuditAlarm (PUNICODE_STRING, HANDLE, HANDLE, ULONG, PPRIVILEGE_SET, BOOLEAN)
 
NTSYSAPI NTSTATUS WINAPI NtPrivilegedServiceAuditAlarm (PUNICODE_STRING, PUNICODE_STRING, HANDLE, PPRIVILEGE_SET, BOOLEAN)
 
NTSYSAPI NTSTATUS WINAPI NtProtectVirtualMemory (HANDLE, PVOID *, SIZE_T *, ULONG, ULONG *)
 
NTSYSAPI NTSTATUS WINAPI NtPulseEvent (HANDLE, PULONG)
 
NTSYSAPI NTSTATUS WINAPI NtQueueApcThread (HANDLE, PNTAPCFUNC, ULONG_PTR, ULONG_PTR, ULONG_PTR)
 
NTSYSAPI NTSTATUS WINAPI NtQueryAttributesFile (const OBJECT_ATTRIBUTES *, FILE_BASIC_INFORMATION *)
 
NTSYSAPI NTSTATUS WINAPI NtQueryDefaultLocale (BOOLEAN, LCID *)
 
NTSYSAPI NTSTATUS WINAPI NtQueryDefaultUILanguage (LANGID *)
 
NTSYSAPI NTSTATUS WINAPI NtQueryDirectoryFile (HANDLE, HANDLE, PIO_APC_ROUTINE, PVOID, PIO_STATUS_BLOCK, PVOID, ULONG, FILE_INFORMATION_CLASS, BOOLEAN, PUNICODE_STRING, BOOLEAN)
 
NTSYSAPI NTSTATUS WINAPI NtQueryDirectoryObject (HANDLE, PDIRECTORY_BASIC_INFORMATION, ULONG, BOOLEAN, BOOLEAN, PULONG, PULONG)
 
NTSYSAPI NTSTATUS WINAPI NtQueryEaFile (HANDLE, PIO_STATUS_BLOCK, PVOID, ULONG, BOOLEAN, PVOID, ULONG, PULONG, BOOLEAN)
 
NTSYSAPI NTSTATUS WINAPI NtQueryEvent (HANDLE, EVENT_INFORMATION_CLASS, PVOID, ULONG, PULONG)
 
NTSYSAPI NTSTATUS WINAPI NtQueryFullAttributesFile (const OBJECT_ATTRIBUTES *, FILE_NETWORK_OPEN_INFORMATION *)
 
NTSYSAPI NTSTATUS WINAPI NtQueryInformationAtom (RTL_ATOM, ATOM_INFORMATION_CLASS, PVOID, ULONG, ULONG *)
 
NTSYSAPI NTSTATUS WINAPI NtQueryInformationFile (HANDLE, PIO_STATUS_BLOCK, PVOID, LONG, FILE_INFORMATION_CLASS)
 
NTSYSAPI NTSTATUS WINAPI NtQueryInformationJobObject (HANDLE, JOBOBJECTINFOCLASS, PVOID, ULONG, PULONG)
 
NTSYSAPI NTSTATUS WINAPI NtQueryInformationPort (HANDLE, PORT_INFORMATION_CLASS, PVOID, ULONG, PULONG)
 
NTSYSAPI NTSTATUS WINAPI NtQueryInformationProcess (HANDLE, PROCESSINFOCLASS, PVOID, ULONG, PULONG)
 
NTSYSAPI NTSTATUS WINAPI NtQueryInformationThread (HANDLE, THREADINFOCLASS, PVOID, ULONG, PULONG)
 
NTSYSAPI NTSTATUS WINAPI NtQueryInformationToken (HANDLE, TOKEN_INFORMATION_CLASS, PVOID, ULONG, PULONG)
 
NTSYSAPI NTSTATUS WINAPI NtQueryInstallUILanguage (LANGID *)
 
NTSYSAPI NTSTATUS WINAPI NtQueryIntervalProfile (KPROFILE_SOURCE, PULONG)
 
NTSYSAPI NTSTATUS WINAPI NtQueryIoCompletion (HANDLE, IO_COMPLETION_INFORMATION_CLASS, PVOID, ULONG, PULONG)
 
NTSYSAPI NTSTATUS WINAPI NtQueryKey (HANDLE, KEY_INFORMATION_CLASS, void *, DWORD, DWORD *)
 
NTSYSAPI NTSTATUS WINAPI NtQueryMultipleValueKey (HANDLE, PKEY_MULTIPLE_VALUE_INFORMATION, ULONG, PVOID, ULONG, PULONG)
 
NTSYSAPI NTSTATUS WINAPI NtQueryMutant (HANDLE, MUTANT_INFORMATION_CLASS, PVOID, ULONG, PULONG)
 
NTSYSAPI NTSTATUS WINAPI NtQueryObject (HANDLE, OBJECT_INFORMATION_CLASS, PVOID, ULONG, PULONG)
 
NTSYSAPI NTSTATUS WINAPI NtQueryOpenSubKeys (POBJECT_ATTRIBUTES, PULONG)
 
NTSYSAPI NTSTATUS WINAPI NtQueryPerformanceCounter (PLARGE_INTEGER, PLARGE_INTEGER)
 
NTSYSAPI NTSTATUS WINAPI NtQuerySecurityObject (HANDLE, SECURITY_INFORMATION, PSECURITY_DESCRIPTOR, ULONG, PULONG)
 
NTSYSAPI NTSTATUS WINAPI NtQuerySection (HANDLE, SECTION_INFORMATION_CLASS, PVOID, SIZE_T, SIZE_T *)
 
NTSYSAPI NTSTATUS WINAPI NtQuerySemaphore (HANDLE, SEMAPHORE_INFORMATION_CLASS, PVOID, ULONG, PULONG)
 
NTSYSAPI NTSTATUS WINAPI NtQuerySymbolicLinkObject (HANDLE, PUNICODE_STRING, PULONG)
 
NTSYSAPI NTSTATUS WINAPI NtQuerySystemEnvironmentValue (PUNICODE_STRING, PWCHAR, ULONG, PULONG)
 
NTSYSAPI NTSTATUS WINAPI NtQuerySystemInformation (SYSTEM_INFORMATION_CLASS, PVOID, ULONG, PULONG)
 
NTSYSAPI NTSTATUS WINAPI NtQuerySystemInformationEx (SYSTEM_INFORMATION_CLASS, void *, ULONG, void *, ULONG, ULONG *)
 
NTSYSAPI NTSTATUS WINAPI NtQuerySystemTime (PLARGE_INTEGER)
 
NTSYSAPI NTSTATUS WINAPI NtQueryTimer (HANDLE, TIMER_INFORMATION_CLASS, PVOID, ULONG, PULONG)
 
NTSYSAPI NTSTATUS WINAPI NtQueryTimerResolution (PULONG, PULONG, PULONG)
 
NTSYSAPI NTSTATUS WINAPI NtQueryValueKey (HANDLE, const UNICODE_STRING *, KEY_VALUE_INFORMATION_CLASS, void *, DWORD, DWORD *)
 
NTSYSAPI NTSTATUS WINAPI NtQueryLicenseValue (const UNICODE_STRING *, ULONG *, PVOID, ULONG, ULONG *)
 
NTSYSAPI NTSTATUS WINAPI NtQueryVirtualMemory (HANDLE, LPCVOID, MEMORY_INFORMATION_CLASS, PVOID, SIZE_T, SIZE_T *)
 
NTSYSAPI NTSTATUS WINAPI NtQueryVolumeInformationFile (HANDLE, PIO_STATUS_BLOCK, PVOID, ULONG, FS_INFORMATION_CLASS)
 
NTSYSAPI NTSTATUS WINAPI NtRaiseException (PEXCEPTION_RECORD, PCONTEXT, BOOL)
 
NTSYSAPI NTSTATUS WINAPI NtRaiseHardError (NTSTATUS, ULONG, PUNICODE_STRING, PVOID *, HARDERROR_RESPONSE_OPTION, PHARDERROR_RESPONSE)
 
NTSYSAPI NTSTATUS WINAPI NtReadFile (HANDLE, HANDLE, PIO_APC_ROUTINE, PVOID, PIO_STATUS_BLOCK, PVOID, ULONG, PLARGE_INTEGER, PULONG)
 
NTSYSAPI NTSTATUS WINAPI NtReadFileScatter (HANDLE, HANDLE, PIO_APC_ROUTINE, PVOID, PIO_STATUS_BLOCK, FILE_SEGMENT_ELEMENT *, ULONG, PLARGE_INTEGER, PULONG)
 
NTSYSAPI NTSTATUS WINAPI NtReadRequestData (HANDLE, PLPC_MESSAGE, ULONG, PVOID, ULONG, PULONG)
 
NTSYSAPI NTSTATUS WINAPI NtReadVirtualMemory (HANDLE, const void *, void *, SIZE_T, SIZE_T *)
 
NTSYSAPI NTSTATUS WINAPI NtRegisterThreadTerminatePort (HANDLE)
 
NTSYSAPI NTSTATUS WINAPI NtReleaseKeyedEvent (HANDLE, const void *, BOOLEAN, const LARGE_INTEGER *)
 
NTSYSAPI NTSTATUS WINAPI NtReleaseMutant (HANDLE, PLONG)
 
NTSYSAPI NTSTATUS WINAPI NtReleaseSemaphore (HANDLE, ULONG, PULONG)
 
NTSYSAPI NTSTATUS WINAPI NtRemoveIoCompletion (HANDLE, PULONG_PTR, PULONG_PTR, PIO_STATUS_BLOCK, PLARGE_INTEGER)
 
NTSYSAPI NTSTATUS WINAPI NtRenameKey (HANDLE, UNICODE_STRING *)
 
NTSYSAPI NTSTATUS WINAPI NtReplaceKey (POBJECT_ATTRIBUTES, HANDLE, POBJECT_ATTRIBUTES)
 
NTSYSAPI NTSTATUS WINAPI NtReplyPort (HANDLE, PLPC_MESSAGE)
 
NTSYSAPI NTSTATUS WINAPI NtReplyWaitReceivePort (HANDLE, PULONG, PLPC_MESSAGE, PLPC_MESSAGE)
 
NTSYSAPI NTSTATUS WINAPI NtReplyWaitReceivePortEx (HANDLE, PVOID *, PPORT_MESSAGE, PPORT_MESSAGE, PLARGE_INTEGER)
 
NTSYSAPI NTSTATUS WINAPI NtReplyWaitReplyPort (HANDLE, PLPC_MESSAGE)
 
NTSYSAPI NTSTATUS WINAPI NtRequestPort (HANDLE, PLPC_MESSAGE)
 
NTSYSAPI NTSTATUS WINAPI NtRequestWaitReplyPort (HANDLE, PLPC_MESSAGE, PLPC_MESSAGE)
 
NTSYSAPI NTSTATUS WINAPI NtResetEvent (HANDLE, PULONG)
 
NTSYSAPI NTSTATUS WINAPI NtResetWriteWatch (HANDLE, PVOID, SIZE_T)
 
NTSYSAPI NTSTATUS WINAPI NtRestoreKey (HANDLE, HANDLE, ULONG)
 
NTSYSAPI NTSTATUS WINAPI NtResumeThread (HANDLE, PULONG)
 
NTSYSAPI NTSTATUS WINAPI NtSaveKey (HANDLE, HANDLE)
 
NTSYSAPI NTSTATUS WINAPI NtSecureConnectPort (PHANDLE, PUNICODE_STRING, PSECURITY_QUALITY_OF_SERVICE, PLPC_SECTION_WRITE, PSID, PLPC_SECTION_READ, PULONG, PVOID, PULONG)
 
NTSYSAPI NTSTATUS WINAPI NtSetContextThread (HANDLE, const CONTEXT *)
 
NTSYSAPI NTSTATUS WINAPI NtSetDefaultHardErrorPort (HANDLE)
 
NTSYSAPI NTSTATUS WINAPI NtSetDefaultLocale (BOOLEAN, LCID)
 
NTSYSAPI NTSTATUS WINAPI NtSetDefaultUILanguage (LANGID)
 
NTSYSAPI NTSTATUS WINAPI NtSetEaFile (HANDLE, PIO_STATUS_BLOCK, PVOID, ULONG)
 
NTSYSAPI NTSTATUS WINAPI NtSetEvent (HANDLE, PULONG)
 
NTSYSAPI NTSTATUS WINAPI NtSetHighEventPair (HANDLE)
 
NTSYSAPI NTSTATUS WINAPI NtSetHighWaitLowEventPair (HANDLE)
 
NTSYSAPI NTSTATUS WINAPI NtSetHighWaitLowThread (VOID)
 
NTSYSAPI NTSTATUS WINAPI NtSetInformationFile (HANDLE, PIO_STATUS_BLOCK, PVOID, ULONG, FILE_INFORMATION_CLASS)
 
NTSYSAPI NTSTATUS WINAPI NtSetInformationJobObject (HANDLE, JOBOBJECTINFOCLASS, PVOID, ULONG)
 
NTSYSAPI NTSTATUS WINAPI NtSetInformationKey (HANDLE, const int, PVOID, ULONG)
 
NTSYSAPI NTSTATUS WINAPI NtSetInformationObject (HANDLE, OBJECT_INFORMATION_CLASS, PVOID, ULONG)
 
NTSYSAPI NTSTATUS WINAPI NtSetInformationProcess (HANDLE, PROCESS_INFORMATION_CLASS, PVOID, ULONG)
 
NTSYSAPI NTSTATUS WINAPI NtSetInformationThread (HANDLE, THREADINFOCLASS, LPCVOID, ULONG)
 
NTSYSAPI NTSTATUS WINAPI NtSetInformationToken (HANDLE, TOKEN_INFORMATION_CLASS, PVOID, ULONG)
 
NTSYSAPI NTSTATUS WINAPI NtSetIntervalProfile (ULONG, KPROFILE_SOURCE)
 
NTSYSAPI NTSTATUS WINAPI NtSetIoCompletion (HANDLE, ULONG_PTR, ULONG_PTR, NTSTATUS, SIZE_T)
 
NTSYSAPI NTSTATUS WINAPI NtSetLdtEntries (ULONG, ULONG, ULONG, ULONG, ULONG, ULONG)
 
NTSYSAPI NTSTATUS WINAPI NtSetLowEventPair (HANDLE)
 
NTSYSAPI NTSTATUS WINAPI NtSetLowWaitHighEventPair (HANDLE)
 
NTSYSAPI NTSTATUS WINAPI NtSetLowWaitHighThread (VOID)
 
NTSYSAPI NTSTATUS WINAPI NtSetSecurityObject (HANDLE, SECURITY_INFORMATION, PSECURITY_DESCRIPTOR)
 
NTSYSAPI NTSTATUS WINAPI NtSetSystemEnvironmentValue (PUNICODE_STRING, PUNICODE_STRING)
 
NTSYSAPI NTSTATUS WINAPI NtSetSystemInformation (SYSTEM_INFORMATION_CLASS, PVOID, ULONG)
 
NTSYSAPI NTSTATUS WINAPI NtSetSystemPowerState (POWER_ACTION, SYSTEM_POWER_STATE, ULONG)
 
NTSYSAPI NTSTATUS WINAPI NtSetSystemTime (const LARGE_INTEGER *, LARGE_INTEGER *)
 
NTSYSAPI NTSTATUS WINAPI NtSetTimer (HANDLE, const LARGE_INTEGER *, PTIMER_APC_ROUTINE, PVOID, BOOLEAN, ULONG, BOOLEAN *)
 
NTSYSAPI NTSTATUS WINAPI NtSetTimerResolution (ULONG, BOOLEAN, PULONG)
 
NTSYSAPI NTSTATUS WINAPI NtSetValueKey (HANDLE, const UNICODE_STRING *, ULONG, ULONG, const void *, ULONG)
 
NTSYSAPI NTSTATUS WINAPI NtSetVolumeInformationFile (HANDLE, PIO_STATUS_BLOCK, PVOID, ULONG, FS_INFORMATION_CLASS)
 
NTSYSAPI NTSTATUS WINAPI NtSignalAndWaitForSingleObject (HANDLE, HANDLE, BOOLEAN, const LARGE_INTEGER *)
 
NTSYSAPI NTSTATUS WINAPI NtShutdownSystem (SHUTDOWN_ACTION)
 
NTSYSAPI NTSTATUS WINAPI NtStartProfile (HANDLE)
 
NTSYSAPI NTSTATUS WINAPI NtStopProfile (HANDLE)
 
NTSYSAPI NTSTATUS WINAPI NtSuspendThread (HANDLE, PULONG)
 
NTSYSAPI NTSTATUS WINAPI NtSystemDebugControl (SYSDBG_COMMAND, PVOID, ULONG, PVOID, ULONG, PULONG)
 
NTSYSAPI NTSTATUS WINAPI NtTerminateJobObject (HANDLE, NTSTATUS)
 
NTSYSAPI NTSTATUS WINAPI NtTerminateProcess (HANDLE, LONG)
 
NTSYSAPI NTSTATUS WINAPI NtTerminateThread (HANDLE, LONG)
 
NTSYSAPI NTSTATUS WINAPI NtTestAlert (VOID)
 
NTSYSAPI NTSTATUS WINAPI NtUnloadDriver (const UNICODE_STRING *)
 
NTSYSAPI NTSTATUS WINAPI NtUnloadKey (POBJECT_ATTRIBUTES)
 
NTSYSAPI NTSTATUS WINAPI NtUnloadKeyEx (POBJECT_ATTRIBUTES, HANDLE)
 
NTSYSAPI NTSTATUS WINAPI NtUnlockFile (HANDLE, PIO_STATUS_BLOCK, PLARGE_INTEGER, PLARGE_INTEGER, PULONG)
 
NTSYSAPI NTSTATUS WINAPI NtUnlockVirtualMemory (HANDLE, PVOID *, SIZE_T *, ULONG)
 
NTSYSAPI NTSTATUS WINAPI NtUnmapViewOfSection (HANDLE, PVOID)
 
NTSYSAPI NTSTATUS WINAPI NtVdmControl (ULONG, PVOID)
 
NTSYSAPI NTSTATUS WINAPI NtWaitForKeyedEvent (HANDLE, const void *, BOOLEAN, const LARGE_INTEGER *)
 
NTSYSAPI NTSTATUS WINAPI NtWaitForSingleObject (HANDLE, BOOLEAN, const LARGE_INTEGER *)
 
NTSYSAPI NTSTATUS WINAPI NtWaitForMultipleObjects (ULONG, const HANDLE *, BOOLEAN, BOOLEAN, const LARGE_INTEGER *)
 
NTSYSAPI NTSTATUS WINAPI NtWaitHighEventPair (HANDLE)
 
NTSYSAPI NTSTATUS WINAPI NtWaitLowEventPair (HANDLE)
 
NTSYSAPI NTSTATUS WINAPI NtWriteFile (HANDLE, HANDLE, PIO_APC_ROUTINE, PVOID, PIO_STATUS_BLOCK, const void *, ULONG, PLARGE_INTEGER, PULONG)
 
NTSYSAPI NTSTATUS WINAPI NtWriteFileGather (HANDLE, HANDLE, PIO_APC_ROUTINE, PVOID, PIO_STATUS_BLOCK, FILE_SEGMENT_ELEMENT *, ULONG, PLARGE_INTEGER, PULONG)
 
NTSYSAPI NTSTATUS WINAPI NtWriteRequestData (HANDLE, PLPC_MESSAGE, ULONG, PVOID, ULONG, PULONG)
 
NTSYSAPI NTSTATUS WINAPI NtWriteVirtualMemory (HANDLE, void *, const void *, SIZE_T, SIZE_T *)
 
NTSYSAPI NTSTATUS WINAPI NtYieldExecution (void)
 
NTSYSAPI void WINAPI RtlAcquirePebLock (void)
 
NTSYSAPI BYTE WINAPI RtlAcquireResourceExclusive (LPRTL_RWLOCK, BYTE)
 
NTSYSAPI BYTE WINAPI RtlAcquireResourceShared (LPRTL_RWLOCK, BYTE)
 
NTSYSAPI void WINAPI RtlAcquireSRWLockExclusive (RTL_SRWLOCK *)
 
NTSYSAPI void WINAPI RtlAcquireSRWLockShared (RTL_SRWLOCK *)
 
NTSYSAPI NTSTATUS WINAPI RtlActivateActivationContext (DWORD, HANDLE, ULONG_PTR *)
 
NTSYSAPI NTSTATUS WINAPI RtlAddAce (PACL, DWORD, DWORD, PACE_HEADER, DWORD)
 
NTSYSAPI NTSTATUS WINAPI RtlAddAccessAllowedAce (PACL, DWORD, DWORD, PSID)
 
NTSYSAPI NTSTATUS WINAPI RtlAddAccessAllowedAceEx (PACL, DWORD, DWORD, DWORD, PSID)
 
NTSYSAPI NTSTATUS WINAPI RtlAddAccessAllowedObjectAce (PACL, DWORD, DWORD, DWORD, GUID *, GUID *, PSID)
 
NTSYSAPI NTSTATUS WINAPI RtlAddAccessDeniedAce (PACL, DWORD, DWORD, PSID)
 
NTSYSAPI NTSTATUS WINAPI RtlAddAccessDeniedAceEx (PACL, DWORD, DWORD, DWORD, PSID)
 
NTSYSAPI NTSTATUS WINAPI RtlAddAccessDeniedObjectAce (PACL, DWORD, DWORD, DWORD, GUID *, GUID *, PSID)
 
NTSYSAPI NTSTATUS WINAPI RtlAddAtomToAtomTable (RTL_ATOM_TABLE, const WCHAR *, RTL_ATOM *)
 
NTSYSAPI NTSTATUS WINAPI RtlAddAuditAccessAce (PACL, DWORD, DWORD, PSID, BOOL, BOOL)
 
NTSYSAPI NTSTATUS WINAPI RtlAddAuditAccessAceEx (PACL, DWORD, DWORD, DWORD, PSID, BOOL, BOOL)
 
NTSYSAPI NTSTATUS WINAPI RtlAddAuditAccessObjectAce (PACL, DWORD, DWORD, DWORD, GUID *, GUID *, PSID, BOOL, BOOL)
 
NTSYSAPI NTSTATUS WINAPI RtlAddMandatoryAce (PACL, DWORD, DWORD, DWORD, DWORD, PSID)
 
NTSYSAPI void WINAPI RtlAddRefActivationContext (HANDLE)
 
NTSYSAPI PVOID WINAPI RtlAddVectoredExceptionHandler (ULONG, PVECTORED_EXCEPTION_HANDLER)
 
NTSYSAPI NTSTATUS WINAPI RtlAdjustPrivilege (ULONG, BOOLEAN, BOOLEAN, PBOOLEAN)
 
NTSYSAPI NTSTATUS WINAPI RtlAllocateAndInitializeSid (PSID_IDENTIFIER_AUTHORITY, BYTE, DWORD, DWORD, DWORD, DWORD, DWORD, DWORD, DWORD, DWORD, PSID *)
 
NTSYSAPI RTL_HANDLE *WINAPI RtlAllocateHandle (RTL_HANDLE_TABLE *, ULONG *)
 
NTSYSAPI PVOID WINAPI RtlAllocateHeap (HANDLE, ULONG, SIZE_T) __WINE_ALLOC_SIZE(3)
 
NTSYSAPI WCHAR WINAPI RtlAnsiCharToUnicodeChar (LPSTR *)
 
NTSYSAPI DWORD WINAPI RtlAnsiStringToUnicodeSize (const STRING *)
 
NTSYSAPI NTSTATUS WINAPI RtlAnsiStringToUnicodeString (PUNICODE_STRING, PCANSI_STRING, BOOLEAN)
 
NTSYSAPI NTSTATUS WINAPI RtlAppendAsciizToString (STRING *, LPCSTR)
 
NTSYSAPI NTSTATUS WINAPI RtlAppendStringToString (STRING *, const STRING *)
 
NTSYSAPI NTSTATUS WINAPI RtlAppendUnicodeStringToString (UNICODE_STRING *, const UNICODE_STRING *)
 
NTSYSAPI NTSTATUS WINAPI RtlAppendUnicodeToString (UNICODE_STRING *, LPCWSTR)
 
NTSYSAPI BOOLEAN WINAPI RtlAreAllAccessesGranted (ACCESS_MASK, ACCESS_MASK)
 
NTSYSAPI BOOLEAN WINAPI RtlAreAnyAccessesGranted (ACCESS_MASK, ACCESS_MASK)
 
NTSYSAPI BOOLEAN WINAPI RtlAreBitsSet (PCRTL_BITMAP, ULONG, ULONG)
 
NTSYSAPI BOOLEAN WINAPI RtlAreBitsClear (PCRTL_BITMAP, ULONG, ULONG)
 
NTSYSAPI NTSTATUS WINAPI RtlCharToInteger (PCSZ, ULONG, PULONG)
 
NTSYSAPI NTSTATUS WINAPI RtlCheckRegistryKey (ULONG, PWSTR)
 
NTSYSAPI void WINAPI RtlClearAllBits (PRTL_BITMAP)
 
NTSYSAPI void WINAPI RtlClearBits (PRTL_BITMAP, ULONG, ULONG)
 
NTSYSAPI NTSTATUS WINAPI RtlCreateActivationContext (HANDLE *, const void *)
 
NTSYSAPI PDEBUG_BUFFER WINAPI RtlCreateQueryDebugBuffer (ULONG, BOOLEAN)
 
NTSYSAPI ULONG WINAPI RtlCompactHeap (HANDLE, ULONG)
 
NTSYSAPI LONG WINAPI RtlCompareString (const STRING *, const STRING *, BOOLEAN)
 
NTSYSAPI LONG WINAPI RtlCompareUnicodeString (const UNICODE_STRING *, const UNICODE_STRING *, BOOLEAN)
 
NTSYSAPI LONG WINAPI RtlCompareUnicodeStrings (const WCHAR *, SIZE_T, const WCHAR *, SIZE_T, BOOLEAN)
 
NTSYSAPI NTSTATUS WINAPI RtlCompressBuffer (USHORT, PUCHAR, ULONG, PUCHAR, ULONG, ULONG, PULONG, PVOID)
 
NTSYSAPI DWORD WINAPI RtlComputeCrc32 (DWORD, const BYTE *, INT)
 
NTSYSAPI NTSTATUS WINAPI RtlConvertSidToUnicodeString (PUNICODE_STRING, PSID, BOOLEAN)
 
NTSYSAPI void WINAPI RtlCopyLuid (PLUID, const LUID *)
 
NTSYSAPI void WINAPI RtlCopyLuidAndAttributesArray (ULONG, const LUID_AND_ATTRIBUTES *, PLUID_AND_ATTRIBUTES)
 
NTSYSAPI BOOLEAN WINAPI RtlCopySid (DWORD, PSID, PSID)
 
NTSYSAPI NTSTATUS WINAPI RtlCopySecurityDescriptor (PSECURITY_DESCRIPTOR, PSECURITY_DESCRIPTOR)
 
NTSYSAPI void WINAPI RtlCopyString (STRING *, const STRING *)
 
NTSYSAPI void WINAPI RtlCopyUnicodeString (UNICODE_STRING *, const UNICODE_STRING *)
 
NTSYSAPI NTSTATUS WINAPI RtlCreateAcl (PACL, DWORD, DWORD)
 
NTSYSAPI NTSTATUS WINAPI RtlCreateAtomTable (ULONG, RTL_ATOM_TABLE *)
 
NTSYSAPI NTSTATUS WINAPI RtlCreateEnvironment (BOOLEAN, PWSTR *)
 
NTSYSAPI HANDLE WINAPI RtlCreateHeap (ULONG, PVOID, SIZE_T, SIZE_T, PVOID, PRTL_HEAP_DEFINITION)
 
NTSYSAPI NTSTATUS WINAPI RtlCreateProcessParameters (RTL_USER_PROCESS_PARAMETERS **, const UNICODE_STRING *, const UNICODE_STRING *, const UNICODE_STRING *, const UNICODE_STRING *, PWSTR, const UNICODE_STRING *, const UNICODE_STRING *, const UNICODE_STRING *, const UNICODE_STRING *)
 
NTSYSAPI NTSTATUS WINAPI RtlCreateSecurityDescriptor (PSECURITY_DESCRIPTOR, DWORD)
 
NTSYSAPI NTSTATUS WINAPI RtlCreateTimerQueue (PHANDLE)
 
NTSYSAPI NTSTATUS WINAPI RtlCreateTimer (PHANDLE, HANDLE, RTL_WAITORTIMERCALLBACKFUNC, PVOID, DWORD, DWORD, ULONG)
 
NTSYSAPI BOOLEAN WINAPI RtlCreateUnicodeString (PUNICODE_STRING, LPCWSTR)
 
NTSYSAPI BOOLEAN WINAPI RtlCreateUnicodeStringFromAsciiz (PUNICODE_STRING, LPCSTR)
 
NTSYSAPI NTSTATUS WINAPI RtlCreateUserProcess (UNICODE_STRING *, ULONG, RTL_USER_PROCESS_PARAMETERS *, SECURITY_DESCRIPTOR *, SECURITY_DESCRIPTOR *, HANDLE, BOOLEAN, HANDLE, HANDLE, RTL_USER_PROCESS_INFORMATION *)
 
NTSYSAPI NTSTATUS WINAPI RtlCreateUserThread (HANDLE, const SECURITY_DESCRIPTOR *, BOOLEAN, PVOID, SIZE_T, SIZE_T, PRTL_THREAD_START_ROUTINE, void *, HANDLE *, CLIENT_ID *)
 
NTSYSAPI void WINAPI RtlDeactivateActivationContext (DWORD, ULONG_PTR)
 
NTSYSAPI PVOID WINAPI RtlDecodePointer (PVOID)
 
NTSYSAPI NTSTATUS WINAPI RtlDecompressBuffer (USHORT, PUCHAR, ULONG, PUCHAR, ULONG, PULONG)
 
NTSYSAPI NTSTATUS WINAPI RtlDeleteAce (PACL, DWORD)
 
NTSYSAPI NTSTATUS WINAPI RtlDeleteAtomFromAtomTable (RTL_ATOM_TABLE, RTL_ATOM)
 
NTSYSAPI NTSTATUS WINAPI RtlDeleteCriticalSection (RTL_CRITICAL_SECTION *)
 
NTSYSAPI NTSTATUS WINAPI RtlDeleteRegistryValue (ULONG, PCWSTR, PCWSTR)
 
NTSYSAPI void WINAPI RtlDeleteResource (LPRTL_RWLOCK)
 
NTSYSAPI NTSTATUS WINAPI RtlDeleteSecurityObject (PSECURITY_DESCRIPTOR *)
 
NTSYSAPI NTSTATUS WINAPI RtlDeleteTimer (HANDLE, HANDLE, HANDLE)
 
NTSYSAPI NTSTATUS WINAPI RtlDeleteTimerQueueEx (HANDLE, HANDLE)
 
NTSYSAPI PRTL_USER_PROCESS_PARAMETERS WINAPI RtlDeNormalizeProcessParams (RTL_USER_PROCESS_PARAMETERS *)
 
NTSYSAPI NTSTATUS WINAPI RtlDeregisterWait (HANDLE)
 
NTSYSAPI NTSTATUS WINAPI RtlDeregisterWaitEx (HANDLE, HANDLE)
 
NTSYSAPI NTSTATUS WINAPI RtlDestroyAtomTable (RTL_ATOM_TABLE)
 
NTSYSAPI NTSTATUS WINAPI RtlDestroyEnvironment (PWSTR)
 
NTSYSAPI NTSTATUS WINAPI RtlDestroyHandleTable (RTL_HANDLE_TABLE *)
 
NTSYSAPI HANDLE WINAPI RtlDestroyHeap (HANDLE)
 
NTSYSAPI void WINAPI RtlDestroyProcessParameters (RTL_USER_PROCESS_PARAMETERS *)
 
NTSYSAPI NTSTATUS WINAPI RtlDestroyQueryDebugBuffer (PDEBUG_BUFFER)
 
NTSYSAPI DOS_PATHNAME_TYPE WINAPI RtlDetermineDosPathNameType_U (PCWSTR)
 
NTSYSAPI BOOLEAN WINAPI RtlDllShutdownInProgress (void)
 
NTSYSAPI BOOLEAN WINAPI RtlDoesFileExists_U (LPCWSTR)
 
NTSYSAPI BOOLEAN WINAPI RtlDosPathNameToNtPathName_U (PCWSTR, PUNICODE_STRING, PWSTR *, CURDIR *)
 
NTSYSAPI NTSTATUS WINAPI RtlDosPathNameToNtPathName_U_WithStatus (PCWSTR, PUNICODE_STRING, PWSTR *, CURDIR *)
 
NTSYSAPI ULONG WINAPI RtlDosSearchPath_U (LPCWSTR, LPCWSTR, LPCWSTR, ULONG, LPWSTR, LPWSTR *)
 
NTSYSAPI WCHAR WINAPI RtlDowncaseUnicodeChar (WCHAR)
 
NTSYSAPI NTSTATUS WINAPI RtlDowncaseUnicodeString (UNICODE_STRING *, const UNICODE_STRING *, BOOLEAN)
 
NTSYSAPI void WINAPI RtlDumpResource (LPRTL_RWLOCK)
 
NTSYSAPI NTSTATUS WINAPI RtlDuplicateUnicodeString (int, const UNICODE_STRING *, UNICODE_STRING *)
 
NTSYSAPI NTSTATUS WINAPI RtlEmptyAtomTable (RTL_ATOM_TABLE, BOOLEAN)
 
NTSYSAPI PVOID WINAPI RtlEncodePointer (PVOID)
 
NTSYSAPI NTSTATUS WINAPI RtlEnterCriticalSection (RTL_CRITICAL_SECTION *)
 
NTSYSAPI void WINAPI RtlEraseUnicodeString (UNICODE_STRING *)
 
NTSYSAPI NTSTATUS WINAPI RtlEqualComputerName (const UNICODE_STRING *, const UNICODE_STRING *)
 
NTSYSAPI NTSTATUS WINAPI RtlEqualDomainName (const UNICODE_STRING *, const UNICODE_STRING *)
 
NTSYSAPI BOOLEAN WINAPI RtlEqualLuid (const LUID *, const LUID *)
 
NTSYSAPI BOOL WINAPI RtlEqualPrefixSid (PSID, PSID)
 
NTSYSAPI BOOL WINAPI RtlEqualSid (PSID, PSID)
 
NTSYSAPI BOOLEAN WINAPI RtlEqualString (const STRING *, const STRING *, BOOLEAN)
 
NTSYSAPI BOOLEAN WINAPI RtlEqualUnicodeString (const UNICODE_STRING *, const UNICODE_STRING *, BOOLEAN)
 
NTSYSAPI void DECLSPEC_NORETURN WINAPI RtlExitUserProcess (ULONG)
 
NTSYSAPI void DECLSPEC_NORETURN WINAPI RtlExitUserThread (ULONG)
 
NTSYSAPI NTSTATUS WINAPI RtlExpandEnvironmentStrings_U (PCWSTR, const UNICODE_STRING *, UNICODE_STRING *, ULONG *)
 
NTSYSAPI NTSTATUS WINAPI RtlFindActivationContextSectionString (ULONG, const GUID *, ULONG, const UNICODE_STRING *, PVOID)
 
NTSYSAPI NTSTATUS WINAPI RtlFindActivationContextSectionGuid (ULONG, const GUID *, ULONG, const GUID *, PVOID)
 
NTSYSAPI NTSTATUS WINAPI RtlFindCharInUnicodeString (int, const UNICODE_STRING *, const UNICODE_STRING *, USHORT *)
 
NTSYSAPI ULONG WINAPI RtlFindClearBits (PCRTL_BITMAP, ULONG, ULONG)
 
NTSYSAPI ULONG WINAPI RtlFindClearBitsAndSet (PRTL_BITMAP, ULONG, ULONG)
 
NTSYSAPI ULONG WINAPI RtlFindClearRuns (PCRTL_BITMAP, PRTL_BITMAP_RUN, ULONG, BOOLEAN)
 
NTSYSAPI ULONG WINAPI RtlFindLastBackwardRunSet (PCRTL_BITMAP, ULONG, PULONG)
 
NTSYSAPI ULONG WINAPI RtlFindLastBackwardRunClear (PCRTL_BITMAP, ULONG, PULONG)
 
NTSYSAPI CCHAR WINAPI RtlFindLeastSignificantBit (ULONGLONG)
 
NTSYSAPI ULONG WINAPI RtlFindLongestRunSet (PCRTL_BITMAP, PULONG)
 
NTSYSAPI ULONG WINAPI RtlFindLongestRunClear (PCRTL_BITMAP, PULONG)
 
NTSYSAPI NTSTATUS WINAPI RtlFindMessage (HMODULE, ULONG, ULONG, ULONG, const MESSAGE_RESOURCE_ENTRY **)
 
NTSYSAPI CCHAR WINAPI RtlFindMostSignificantBit (ULONGLONG)
 
NTSYSAPI ULONG WINAPI RtlFindNextForwardRunSet (PCRTL_BITMAP, ULONG, PULONG)
 
NTSYSAPI ULONG WINAPI RtlFindNextForwardRunClear (PCRTL_BITMAP, ULONG, PULONG)
 
NTSYSAPI ULONG WINAPI RtlFindSetBits (PCRTL_BITMAP, ULONG, ULONG)
 
NTSYSAPI ULONG WINAPI RtlFindSetBitsAndClear (PRTL_BITMAP, ULONG, ULONG)
 
NTSYSAPI ULONG WINAPI RtlFindSetRuns (PCRTL_BITMAP, PRTL_BITMAP_RUN, ULONG, BOOLEAN)
 
NTSYSAPI BOOLEAN WINAPI RtlFirstFreeAce (PACL, PACE_HEADER *)
 
NTSYSAPI NTSTATUS WINAPI RtlFormatCurrentUserKeyPath (PUNICODE_STRING)
 
NTSYSAPI NTSTATUS WINAPI RtlFormatMessage (LPWSTR, UCHAR, BOOLEAN, BOOLEAN, BOOLEAN, __ms_va_list *, LPWSTR, ULONG)
 
NTSYSAPI void WINAPI RtlFreeAnsiString (PANSI_STRING)
 
NTSYSAPI BOOLEAN WINAPI RtlFreeHandle (RTL_HANDLE_TABLE *, RTL_HANDLE *)
 
NTSYSAPI BOOLEAN WINAPI RtlFreeHeap (HANDLE, ULONG, PVOID)
 
NTSYSAPI void WINAPI RtlFreeOemString (POEM_STRING)
 
NTSYSAPI DWORD WINAPI RtlFreeSid (PSID)
 
NTSYSAPI void WINAPI RtlFreeThreadActivationContextStack (void)
 
NTSYSAPI void WINAPI RtlFreeUnicodeString (PUNICODE_STRING)
 
NTSYSAPI NTSTATUS WINAPI RtlGetAce (PACL, DWORD, LPVOID *)
 
NTSYSAPI NTSTATUS WINAPI RtlGetActiveActivationContext (HANDLE *)
 
NTSYSAPI NTSTATUS WINAPI RtlGetCompressionWorkSpaceSize (USHORT, PULONG, PULONG)
 
NTSYSAPI NTSTATUS WINAPI RtlGetControlSecurityDescriptor (PSECURITY_DESCRIPTOR, PSECURITY_DESCRIPTOR_CONTROL, LPDWORD)
 
NTSYSAPI ULONG WINAPI RtlGetCurrentDirectory_U (ULONG, LPWSTR)
 
NTSYSAPI PEB *WINAPI RtlGetCurrentPeb (void)
 
NTSYSAPI NTSTATUS WINAPI RtlGetDaclSecurityDescriptor (PSECURITY_DESCRIPTOR, PBOOLEAN, PACL *, PBOOLEAN)
 
NTSYSAPI TEB_ACTIVE_FRAME *WINAPI RtlGetFrame (void)
 
NTSYSAPI ULONG WINAPI RtlGetFullPathName_U (PCWSTR, ULONG, PWSTR, PWSTR *)
 
NTSYSAPI NTSTATUS WINAPI RtlGetGroupSecurityDescriptor (PSECURITY_DESCRIPTOR, PSID *, PBOOLEAN)
 
NTSYSAPI NTSTATUS WINAPI RtlGetLastNtStatus (void)
 
NTSYSAPI DWORD WINAPI RtlGetLastWin32Error (void)
 
NTSYSAPI DWORD WINAPI RtlGetLongestNtPathLength (void)
 
NTSYSAPI ULONG WINAPI RtlGetNtGlobalFlags (void)
 
NTSYSAPI BOOLEAN WINAPI RtlGetNtProductType (LPDWORD)
 
NTSYSAPI NTSTATUS WINAPI RtlGetOwnerSecurityDescriptor (PSECURITY_DESCRIPTOR, PSID *, PBOOLEAN)
 
NTSYSAPI ULONG WINAPI RtlGetProcessHeaps (ULONG, HANDLE *)
 
NTSYSAPI DWORD WINAPI RtlGetThreadErrorMode (void)
 
NTSYSAPI NTSTATUS WINAPI RtlGetSaclSecurityDescriptor (PSECURITY_DESCRIPTOR, PBOOLEAN, PACL *, PBOOLEAN)
 
NTSYSAPI NTSTATUS WINAPI RtlGetVersion (RTL_OSVERSIONINFOEXW *)
 
NTSYSAPI NTSTATUS WINAPI RtlGUIDFromString (PUNICODE_STRING, GUID *)
 
NTSYSAPI PSID_IDENTIFIER_AUTHORITY WINAPI RtlIdentifierAuthoritySid (PSID)
 
NTSYSAPI PVOID WINAPI RtlImageDirectoryEntryToData (HMODULE, BOOL, WORD, ULONG *)
 
NTSYSAPI PIMAGE_NT_HEADERS WINAPI RtlImageNtHeader (HMODULE)
 
NTSYSAPI PIMAGE_SECTION_HEADER WINAPI RtlImageRvaToSection (const IMAGE_NT_HEADERS *, HMODULE, DWORD)
 
NTSYSAPI PVOID WINAPI RtlImageRvaToVa (const IMAGE_NT_HEADERS *, HMODULE, DWORD, IMAGE_SECTION_HEADER **)
 
NTSYSAPI NTSTATUS WINAPI RtlImpersonateSelf (SECURITY_IMPERSONATION_LEVEL)
 
NTSYSAPI void WINAPI RtlInitString (PSTRING, PCSZ)
 
NTSYSAPI void WINAPI RtlInitAnsiString (PANSI_STRING, PCSZ)
 
NTSYSAPI NTSTATUS WINAPI RtlInitAnsiStringEx (PANSI_STRING, PCSZ)
 
NTSYSAPI void WINAPI RtlInitUnicodeString (PUNICODE_STRING, PCWSTR)
 
NTSYSAPI NTSTATUS WINAPI RtlInitUnicodeStringEx (PUNICODE_STRING, PCWSTR)
 
NTSYSAPI void WINAPI RtlInitializeBitMap (PRTL_BITMAP, PULONG, ULONG)
 
NTSYSAPI void WINAPI RtlInitializeConditionVariable (RTL_CONDITION_VARIABLE *)
 
NTSYSAPI NTSTATUS WINAPI RtlInitializeCriticalSection (RTL_CRITICAL_SECTION *)
 
NTSYSAPI NTSTATUS WINAPI RtlInitializeCriticalSectionAndSpinCount (RTL_CRITICAL_SECTION *, ULONG)
 
NTSYSAPI NTSTATUS WINAPI RtlInitializeCriticalSectionEx (RTL_CRITICAL_SECTION *, ULONG, ULONG)
 
NTSYSAPI void WINAPI RtlInitializeHandleTable (ULONG, ULONG, RTL_HANDLE_TABLE *)
 
NTSYSAPI void WINAPI RtlInitializeResource (LPRTL_RWLOCK)
 
NTSYSAPI void WINAPI RtlInitializeSRWLock (RTL_SRWLOCK *)
 
NTSYSAPI BOOL WINAPI RtlInitializeSid (PSID, PSID_IDENTIFIER_AUTHORITY, BYTE)
 
NTSYSAPI NTSTATUS WINAPI RtlInt64ToUnicodeString (ULONGLONG, ULONG, UNICODE_STRING *)
 
NTSYSAPI NTSTATUS WINAPI RtlIntegerToChar (ULONG, ULONG, ULONG, PCHAR)
 
NTSYSAPI NTSTATUS WINAPI RtlIntegerToUnicodeString (ULONG, ULONG, UNICODE_STRING *)
 
NTSYSAPI BOOLEAN WINAPI RtlIsActivationContextActive (HANDLE)
 
NTSYSAPI BOOL WINAPI RtlIsCriticalSectionLocked (RTL_CRITICAL_SECTION *)
 
NTSYSAPI BOOL WINAPI RtlIsCriticalSectionLockedByThread (RTL_CRITICAL_SECTION *)
 
NTSYSAPI ULONG WINAPI RtlIsDosDeviceName_U (PCWSTR)
 
NTSYSAPI BOOLEAN WINAPI RtlIsNameLegalDOS8Dot3 (const UNICODE_STRING *, POEM_STRING, PBOOLEAN)
 
NTSYSAPI BOOLEAN WINAPI RtlIsTextUnicode (LPCVOID, INT, INT *)
 
NTSYSAPI BOOLEAN WINAPI RtlIsValidHandle (const RTL_HANDLE_TABLE *, const RTL_HANDLE *)
 
NTSYSAPI BOOLEAN WINAPI RtlIsValidIndexHandle (const RTL_HANDLE_TABLE *, ULONG Index, RTL_HANDLE **)
 
NTSYSAPI NTSTATUS WINAPI RtlLeaveCriticalSection (RTL_CRITICAL_SECTION *)
 
NTSYSAPI DWORD WINAPI RtlLengthRequiredSid (DWORD)
 
NTSYSAPI ULONG WINAPI RtlLengthSecurityDescriptor (PSECURITY_DESCRIPTOR)
 
NTSYSAPI DWORD WINAPI RtlLengthSid (PSID)
 
NTSYSAPI NTSTATUS WINAPI RtlLocalTimeToSystemTime (const LARGE_INTEGER *, PLARGE_INTEGER)
 
NTSYSAPI BOOLEAN WINAPI RtlLockHeap (HANDLE)
 
NTSYSAPI NTSTATUS WINAPI RtlLookupAtomInAtomTable (RTL_ATOM_TABLE, const WCHAR *, RTL_ATOM *)
 
NTSYSAPI NTSTATUS WINAPI RtlMakeSelfRelativeSD (PSECURITY_DESCRIPTOR, PSECURITY_DESCRIPTOR, LPDWORD)
 
NTSYSAPI void WINAPI RtlMapGenericMask (PACCESS_MASK, const GENERIC_MAPPING *)
 
NTSYSAPI NTSTATUS WINAPI RtlMultiByteToUnicodeN (LPWSTR, DWORD, LPDWORD, LPCSTR, DWORD)
 
NTSYSAPI NTSTATUS WINAPI RtlMultiByteToUnicodeSize (DWORD *, LPCSTR, UINT)
 
NTSYSAPI NTSTATUS WINAPI RtlNewSecurityObject (PSECURITY_DESCRIPTOR, PSECURITY_DESCRIPTOR, PSECURITY_DESCRIPTOR *, BOOLEAN, HANDLE, PGENERIC_MAPPING)
 
NTSYSAPI PRTL_USER_PROCESS_PARAMETERS WINAPI RtlNormalizeProcessParams (RTL_USER_PROCESS_PARAMETERS *)
 
NTSYSAPI ULONG WINAPI RtlNtStatusToDosError (NTSTATUS)
 
NTSYSAPI ULONG WINAPI RtlNtStatusToDosErrorNoTeb (NTSTATUS)
 
NTSYSAPI ULONG WINAPI RtlNumberOfSetBits (PCRTL_BITMAP)
 
NTSYSAPI ULONG WINAPI RtlNumberOfClearBits (PCRTL_BITMAP)
 
NTSYSAPI UINT WINAPI RtlOemStringToUnicodeSize (const STRING *)
 
NTSYSAPI NTSTATUS WINAPI RtlOemStringToUnicodeString (UNICODE_STRING *, const STRING *, BOOLEAN)
 
NTSYSAPI NTSTATUS WINAPI RtlOemToUnicodeN (LPWSTR, DWORD, LPDWORD, LPCSTR, DWORD)
 
NTSYSAPI NTSTATUS WINAPI RtlOpenCurrentUser (ACCESS_MASK, PHANDLE)
 
NTSYSAPI PVOID WINAPI RtlPcToFileHeader (PVOID, PVOID *)
 
NTSYSAPI NTSTATUS WINAPI RtlPinAtomInAtomTable (RTL_ATOM_TABLE, RTL_ATOM)
 
NTSYSAPI void WINAPI RtlPopFrame (TEB_ACTIVE_FRAME *)
 
NTSYSAPI BOOLEAN WINAPI RtlPrefixString (const STRING *, const STRING *, BOOLEAN)
 
NTSYSAPI BOOLEAN WINAPI RtlPrefixUnicodeString (const UNICODE_STRING *, const UNICODE_STRING *, BOOLEAN)
 
NTSYSAPI void WINAPI RtlPushFrame (TEB_ACTIVE_FRAME *)
 
NTSYSAPI NTSTATUS WINAPI RtlQueryAtomInAtomTable (RTL_ATOM_TABLE, RTL_ATOM, ULONG *, ULONG *, WCHAR *, ULONG *)
 
NTSYSAPI NTSTATUS WINAPI RtlQueryDynamicTimeZoneInformation (RTL_DYNAMIC_TIME_ZONE_INFORMATION *)
 
NTSYSAPI NTSTATUS WINAPI RtlQueryEnvironmentVariable_U (PWSTR, PUNICODE_STRING, PUNICODE_STRING)
 
NTSYSAPI NTSTATUS WINAPI RtlQueryHeapInformation (HANDLE, HEAP_INFORMATION_CLASS, PVOID, SIZE_T, PSIZE_T)
 
NTSYSAPI NTSTATUS WINAPI RtlQueryInformationAcl (PACL, LPVOID, DWORD, ACL_INFORMATION_CLASS)
 
NTSYSAPI NTSTATUS WINAPI RtlQueryInformationActivationContext (ULONG, HANDLE, PVOID, ULONG, PVOID, SIZE_T, SIZE_T *)
 
NTSYSAPI NTSTATUS WINAPI RtlQueryProcessDebugInformation (ULONG, ULONG, PDEBUG_BUFFER)
 
NTSYSAPI NTSTATUS WINAPI RtlQueryRegistryValues (ULONG, PCWSTR, PRTL_QUERY_REGISTRY_TABLE, PVOID, PVOID)
 
NTSYSAPI NTSTATUS WINAPI RtlQueryTimeZoneInformation (RTL_TIME_ZONE_INFORMATION *)
 
NTSYSAPI NTSTATUS WINAPI RtlQueryUnbiasedInterruptTime (ULONGLONG *)
 
NTSYSAPI NTSTATUS WINAPI RtlQueueWorkItem (PRTL_WORK_ITEM_ROUTINE, PVOID, ULONG)
 
NTSYSAPI void WINAPI RtlRaiseException (PEXCEPTION_RECORD)
 
NTSYSAPI void WINAPI RtlRaiseStatus (NTSTATUS)
 
NTSYSAPI ULONG WINAPI RtlRandom (PULONG)
 
NTSYSAPI PVOID WINAPI RtlReAllocateHeap (HANDLE, ULONG, PVOID, SIZE_T)
 
NTSYSAPI NTSTATUS WINAPI RtlRegisterWait (PHANDLE, HANDLE, RTL_WAITORTIMERCALLBACKFUNC, PVOID, ULONG, ULONG)
 
NTSYSAPI void WINAPI RtlReleaseActivationContext (HANDLE)
 
NTSYSAPI void WINAPI RtlReleasePebLock (void)
 
NTSYSAPI void WINAPI RtlReleaseResource (LPRTL_RWLOCK)
 
NTSYSAPI void WINAPI RtlReleaseSRWLockExclusive (RTL_SRWLOCK *)
 
NTSYSAPI void WINAPI RtlReleaseSRWLockShared (RTL_SRWLOCK *)
 
NTSYSAPI ULONG WINAPI RtlRemoveVectoredExceptionHandler (PVOID)
 
NTSYSAPI void WINAPI RtlRestoreLastWin32Error (DWORD)
 
NTSYSAPI void WINAPI RtlSecondsSince1970ToTime (DWORD, LARGE_INTEGER *)
 
NTSYSAPI void WINAPI RtlSecondsSince1980ToTime (DWORD, LARGE_INTEGER *)
 
NTSYSAPI NTSTATUS WINAPI RtlSelfRelativeToAbsoluteSD (PSECURITY_DESCRIPTOR, PSECURITY_DESCRIPTOR, PDWORD, PACL, PDWORD, PACL, PDWORD, PSID, PDWORD, PSID, PDWORD)
 
NTSYSAPI void WINAPI RtlSetAllBits (PRTL_BITMAP)
 
NTSYSAPI void WINAPI RtlSetBits (PRTL_BITMAP, ULONG, ULONG)
 
NTSYSAPI ULONG WINAPI RtlSetCriticalSectionSpinCount (RTL_CRITICAL_SECTION *, ULONG)
 
NTSYSAPI NTSTATUS WINAPI RtlSetControlSecurityDescriptor (PSECURITY_DESCRIPTOR, SECURITY_DESCRIPTOR_CONTROL, SECURITY_DESCRIPTOR_CONTROL)
 
NTSYSAPI NTSTATUS WINAPI RtlSetCurrentDirectory_U (const UNICODE_STRING *)
 
NTSYSAPI void WINAPI RtlSetCurrentEnvironment (PWSTR, PWSTR *)
 
NTSYSAPI NTSTATUS WINAPI RtlSetDaclSecurityDescriptor (PSECURITY_DESCRIPTOR, BOOLEAN, PACL, BOOLEAN)
 
NTSYSAPI NTSTATUS WINAPI RtlSetEnvironmentVariable (PWSTR *, PUNICODE_STRING, PUNICODE_STRING)
 
NTSYSAPI NTSTATUS WINAPI RtlSetHeapInformation (HANDLE, HEAP_INFORMATION_CLASS, PVOID, SIZE_T)
 
NTSYSAPI NTSTATUS WINAPI RtlSetOwnerSecurityDescriptor (PSECURITY_DESCRIPTOR, PSID, BOOLEAN)
 
NTSYSAPI NTSTATUS WINAPI RtlSetGroupSecurityDescriptor (PSECURITY_DESCRIPTOR, PSID, BOOLEAN)
 
NTSYSAPI NTSTATUS WINAPI RtlSetIoCompletionCallback (HANDLE, PRTL_OVERLAPPED_COMPLETION_ROUTINE, ULONG)
 
NTSYSAPI void WINAPI RtlSetLastWin32Error (DWORD)
 
NTSYSAPI void WINAPI RtlSetLastWin32ErrorAndNtStatusFromNtStatus (NTSTATUS)
 
NTSYSAPI NTSTATUS WINAPI RtlSetSaclSecurityDescriptor (PSECURITY_DESCRIPTOR, BOOLEAN, PACL, BOOLEAN)
 
NTSYSAPI NTSTATUS WINAPI RtlSetThreadErrorMode (DWORD, LPDWORD)
 
NTSYSAPI NTSTATUS WINAPI RtlSetTimeZoneInformation (const RTL_TIME_ZONE_INFORMATION *)
 
NTSYSAPI SIZE_T WINAPI RtlSizeHeap (HANDLE, ULONG, const void *)
 
NTSYSAPI NTSTATUS WINAPI RtlSleepConditionVariableCS (RTL_CONDITION_VARIABLE *, RTL_CRITICAL_SECTION *, const LARGE_INTEGER *)
 
NTSYSAPI NTSTATUS WINAPI RtlSleepConditionVariableSRW (RTL_CONDITION_VARIABLE *, RTL_SRWLOCK *, const LARGE_INTEGER *, ULONG)
 
NTSYSAPI NTSTATUS WINAPI RtlStringFromGUID (REFGUID, PUNICODE_STRING)
 
NTSYSAPI LPDWORD WINAPI RtlSubAuthoritySid (PSID, DWORD)
 
NTSYSAPI LPBYTE WINAPI RtlSubAuthorityCountSid (PSID)
 
NTSYSAPI NTSTATUS WINAPI RtlSystemTimeToLocalTime (const LARGE_INTEGER *, PLARGE_INTEGER)
 
NTSYSAPI void WINAPI RtlTimeToTimeFields (const LARGE_INTEGER *, PTIME_FIELDS)
 
NTSYSAPI BOOLEAN WINAPI RtlTimeFieldsToTime (PTIME_FIELDS, PLARGE_INTEGER)
 
NTSYSAPI void WINAPI RtlTimeToElapsedTimeFields (const LARGE_INTEGER *, PTIME_FIELDS)
 
NTSYSAPI BOOLEAN WINAPI RtlTimeToSecondsSince1970 (const LARGE_INTEGER *, LPDWORD)
 
NTSYSAPI BOOLEAN WINAPI RtlTimeToSecondsSince1980 (const LARGE_INTEGER *, LPDWORD)
 
NTSYSAPI BOOLEAN WINAPI RtlTryAcquireSRWLockExclusive (RTL_SRWLOCK *)
 
NTSYSAPI BOOLEAN WINAPI RtlTryAcquireSRWLockShared (RTL_SRWLOCK *)
 
NTSYSAPI BOOL WINAPI RtlTryEnterCriticalSection (RTL_CRITICAL_SECTION *)
 
NTSYSAPI ULONGLONG __cdecl RtlUlonglongByteSwap (ULONGLONG)
 
NTSYSAPI DWORD WINAPI RtlUnicodeStringToAnsiSize (const UNICODE_STRING *)
 
NTSYSAPI NTSTATUS WINAPI RtlUnicodeStringToAnsiString (PANSI_STRING, PCUNICODE_STRING, BOOLEAN)
 
NTSYSAPI NTSTATUS WINAPI RtlUnicodeStringToInteger (const UNICODE_STRING *, ULONG, ULONG *)
 
NTSYSAPI DWORD WINAPI RtlUnicodeStringToOemSize (const UNICODE_STRING *)
 
NTSYSAPI NTSTATUS WINAPI RtlUnicodeStringToOemString (POEM_STRING, PCUNICODE_STRING, BOOLEAN)
 
NTSYSAPI NTSTATUS WINAPI RtlUnicodeToMultiByteN (LPSTR, DWORD, LPDWORD, LPCWSTR, DWORD)
 
NTSYSAPI NTSTATUS WINAPI RtlUnicodeToMultiByteSize (PULONG, PCWSTR, ULONG)
 
NTSYSAPI NTSTATUS WINAPI RtlUnicodeToOemN (LPSTR, DWORD, LPDWORD, LPCWSTR, DWORD)
 
NTSYSAPI ULONG WINAPI RtlUniform (PULONG)
 
NTSYSAPI BOOLEAN WINAPI RtlUnlockHeap (HANDLE)
 
NTSYSAPI void WINAPI RtlUnwind (PVOID, PVOID, PEXCEPTION_RECORD, PVOID)
 
NTSYSAPI WCHAR WINAPI RtlUpcaseUnicodeChar (WCHAR)
 
NTSYSAPI NTSTATUS WINAPI RtlUpcaseUnicodeString (UNICODE_STRING *, const UNICODE_STRING *, BOOLEAN)
 
NTSYSAPI NTSTATUS WINAPI RtlUpcaseUnicodeStringToAnsiString (STRING *, const UNICODE_STRING *, BOOLEAN)
 
NTSYSAPI NTSTATUS WINAPI RtlUpcaseUnicodeStringToCountedOemString (STRING *, const UNICODE_STRING *, BOOLEAN)
 
NTSYSAPI NTSTATUS WINAPI RtlUpcaseUnicodeStringToOemString (STRING *, const UNICODE_STRING *, BOOLEAN)
 
NTSYSAPI NTSTATUS WINAPI RtlUpcaseUnicodeToMultiByteN (LPSTR, DWORD, LPDWORD, LPCWSTR, DWORD)
 
NTSYSAPI NTSTATUS WINAPI RtlUpcaseUnicodeToOemN (LPSTR, DWORD, LPDWORD, LPCWSTR, DWORD)
 
NTSYSAPI NTSTATUS WINAPI RtlUpdateTimer (HANDLE, HANDLE, DWORD, DWORD)
 
NTSYSAPI CHAR WINAPI RtlUpperChar (CHAR)
 
NTSYSAPI void WINAPI RtlUpperString (STRING *, const STRING *)
 
NTSYSAPI NTSTATUS WINAPI RtlValidSecurityDescriptor (PSECURITY_DESCRIPTOR)
 
NTSYSAPI BOOLEAN WINAPI RtlValidRelativeSecurityDescriptor (PSECURITY_DESCRIPTOR, ULONG, SECURITY_INFORMATION)
 
NTSYSAPI BOOLEAN WINAPI RtlValidAcl (PACL)
 
NTSYSAPI BOOLEAN WINAPI RtlValidSid (PSID)
 
NTSYSAPI BOOLEAN WINAPI RtlValidateHeap (HANDLE, ULONG, LPCVOID)
 
NTSYSAPI NTSTATUS WINAPI RtlVerifyVersionInfo (const RTL_OSVERSIONINFOEXW *, DWORD, DWORDLONG)
 
NTSYSAPI void WINAPI RtlWakeAllConditionVariable (RTL_CONDITION_VARIABLE *)
 
NTSYSAPI void WINAPI RtlWakeConditionVariable (RTL_CONDITION_VARIABLE *)
 
NTSYSAPI NTSTATUS WINAPI RtlWalkHeap (HANDLE, PVOID)
 
NTSYSAPI NTSTATUS WINAPI RtlWow64EnableFsRedirection (BOOLEAN)
 
NTSYSAPI NTSTATUS WINAPI RtlWow64EnableFsRedirectionEx (ULONG, ULONG *)
 
NTSYSAPI NTSTATUS WINAPI RtlWriteRegistryValue (ULONG, PCWSTR, PCWSTR, ULONG, PVOID, ULONG)
 
NTSYSAPI NTSTATUS WINAPI RtlZombifyActivationContext (HANDLE)
 
NTSYSAPI NTSTATUS WINAPI RtlpNtCreateKey (PHANDLE, ACCESS_MASK, const OBJECT_ATTRIBUTES *, ULONG, const UNICODE_STRING *, ULONG, PULONG)
 
NTSYSAPI NTSTATUS WINAPI RtlpNtEnumerateSubKey (HANDLE, UNICODE_STRING *, ULONG)
 
NTSYSAPI NTSTATUS WINAPI RtlpWaitForCriticalSection (RTL_CRITICAL_SECTION *)
 
NTSYSAPI NTSTATUS WINAPI RtlpUnWaitCriticalSection (RTL_CRITICAL_SECTION *)
 
NTSYSAPI NTSTATUS WINAPI vDbgPrintEx (ULONG, ULONG, LPCSTR, __ms_va_list)
 
NTSYSAPI NTSTATUS WINAPI vDbgPrintExWithPrefix (LPCSTR, ULONG, ULONG, LPCSTR, __ms_va_list)
 
NTSYSAPI LONGLONG WINAPI RtlConvertLongToLargeInteger (LONG)
 
NTSYSAPI ULONGLONG WINAPI RtlConvertUlongToLargeInteger (ULONG)
 
NTSYSAPI LONGLONG WINAPI RtlEnlargedIntegerMultiply (INT, INT)
 
NTSYSAPI ULONGLONG WINAPI RtlEnlargedUnsignedMultiply (UINT, UINT)
 
NTSYSAPI UINT WINAPI RtlEnlargedUnsignedDivide (ULONGLONG, UINT, UINT *)
 
NTSYSAPI LONGLONG WINAPI RtlExtendedMagicDivide (LONGLONG, LONGLONG, INT)
 
NTSYSAPI LONGLONG WINAPI RtlExtendedIntegerMultiply (LONGLONG, INT)
 
NTSYSAPI LONGLONG WINAPI RtlExtendedLargeIntegerDivide (LONGLONG, INT, INT *)
 
NTSYSAPI LONGLONG WINAPI RtlLargeIntegerAdd (LONGLONG, LONGLONG)
 
NTSYSAPI LONGLONG WINAPI RtlLargeIntegerArithmeticShift (LONGLONG, INT)
 
NTSYSAPI ULONGLONG WINAPI RtlLargeIntegerDivide (ULONGLONG, ULONGLONG, ULONGLONG *)
 
NTSYSAPI LONGLONG WINAPI RtlLargeIntegerNegate (LONGLONG)
 
NTSYSAPI LONGLONG WINAPI RtlLargeIntegerShiftLeft (LONGLONG, INT)
 
NTSYSAPI LONGLONG WINAPI RtlLargeIntegerShiftRight (LONGLONG, INT)
 
NTSYSAPI LONGLONG WINAPI RtlLargeIntegerSubtract (LONGLONG, LONGLONG)
 
NTSYSAPI NTSTATUS WINAPI RtlLargeIntegerToChar (const ULONGLONG *, ULONG, ULONG, PCHAR)
 
NTSYSAPI NTSTATUS CDECL wine_nt_to_unix_file_name (const UNICODE_STRING *nameW, ANSI_STRING *unix_name_ret, UINT disposition, BOOLEAN check_case)
 
NTSYSAPI NTSTATUS CDECL wine_unix_to_nt_file_name (const ANSI_STRING *name, UNICODE_STRING *nt)
 
NTSYSAPI SIZE_T CDECL wine_uninterrupted_read_memory (const void *addr, void *buffer, SIZE_T size)
 
NTSYSAPI SIZE_T CDECL wine_uninterrupted_write_memory (void *addr, const void *buffer, SIZE_T size)
 
static BOOLEAN RtlCheckBit (PCRTL_BITMAP lpBits, ULONG ulBit)
 
static USHORT RtlUshortByteSwap (USHORT s)
 
static ULONG RtlUlongByteSwap (ULONG i)
 
static PLIST_ENTRY RemoveHeadList (PLIST_ENTRY le)
 
static PLIST_ENTRY RemoveTailList (PLIST_ENTRY le)
 

Macro Definition Documentation

◆ __OBJECT_ATTRIBUTES_DEFINED__

#define __OBJECT_ATTRIBUTES_DEFINED__

Definition at line 1233 of file winternl.h.

◆ __STRING_DEFINED__

#define __STRING_DEFINED__

Definition at line 63 of file winternl.h.

◆ __UNICODE_STRING_DEFINED__

#define __UNICODE_STRING_DEFINED__

Definition at line 80 of file winternl.h.

◆ _FILETIME_

#define _FILETIME_

Definition at line 91 of file winternl.h.

◆ CPU_FEATURE_3DNOW

#define CPU_FEATURE_3DNOW   0x00004000 /* 3DNOW instructions available */

Definition at line 1394 of file winternl.h.

◆ CPU_FEATURE_CMOV

#define CPU_FEATURE_CMOV   0x00000008 /* Conditional Move instruction*/

Definition at line 1383 of file winternl.h.

◆ CPU_FEATURE_CX8

#define CPU_FEATURE_CX8   0x00000080 /* Compare and eXchange 8 byte instr. */

Definition at line 1387 of file winternl.h.

◆ CPU_FEATURE_DS

#define CPU_FEATURE_DS   0x00020000 /* Debug Store */

Definition at line 1396 of file winternl.h.

◆ CPU_FEATURE_FXSR

#define CPU_FEATURE_FXSR   0x00000800 /* FXSAVE and FXSTORE instructions */

Definition at line 1391 of file winternl.h.

◆ CPU_FEATURE_HTT

#define CPU_FEATURE_HTT   0x00040000 /* Hyper Threading Technology */

Definition at line 1397 of file winternl.h.

◆ CPU_FEATURE_MMX

#define CPU_FEATURE_MMX   0x00000100 /* Multi Media eXtensions */

Definition at line 1388 of file winternl.h.

◆ CPU_FEATURE_MTRR

#define CPU_FEATURE_MTRR   0x00000040 /* Memory Type Range Registers */

Definition at line 1386 of file winternl.h.

◆ CPU_FEATURE_PAT

#define CPU_FEATURE_PAT   0x00000400 /* Page Attribute Table */

Definition at line 1390 of file winternl.h.

◆ CPU_FEATURE_PGE

#define CPU_FEATURE_PGE   0x00000014 /* Page table Entry Global bit */

Definition at line 1384 of file winternl.h.

◆ CPU_FEATURE_PSE

#define CPU_FEATURE_PSE   0x00000024 /* Page Size Extension */

Definition at line 1385 of file winternl.h.

◆ CPU_FEATURE_SEP

#define CPU_FEATURE_SEP   0x00001000 /* SYSENTER and SYSEXIT instructions */

Definition at line 1392 of file winternl.h.

◆ CPU_FEATURE_SSE

#define CPU_FEATURE_SSE   0x00002000 /* SSE extensions (ext. MMX) */

Definition at line 1393 of file winternl.h.

◆ CPU_FEATURE_SSE2

#define CPU_FEATURE_SSE2   0x00010000 /* SSE2 extensions (XMMI64) */

Definition at line 1395 of file winternl.h.

◆ CPU_FEATURE_TSC

#define CPU_FEATURE_TSC   0x00000002 /* Time Stamp Counter available */

Definition at line 1382 of file winternl.h.

◆ CPU_FEATURE_VME

#define CPU_FEATURE_VME   0x00000005 /* Virtual 86 Mode Extensions */

Definition at line 1381 of file winternl.h.

◆ CPU_FEATURE_X86

#define CPU_FEATURE_X86   0x00000200 /* seems to be always ON, on the '86 */

Definition at line 1389 of file winternl.h.

◆ DPFLTR_ERROR_LEVEL

#define DPFLTR_ERROR_LEVEL   0

Definition at line 1898 of file winternl.h.

◆ DPFLTR_INFO_LEVEL

#define DPFLTR_INFO_LEVEL   3

Definition at line 1901 of file winternl.h.

◆ DPFLTR_MASK

#define DPFLTR_MASK   0x8000000

Definition at line 1902 of file winternl.h.

◆ DPFLTR_TRACE_LEVEL

#define DPFLTR_TRACE_LEVEL   2

Definition at line 1900 of file winternl.h.

◆ DPFLTR_WARNING_LEVEL

#define DPFLTR_WARNING_LEVEL   1

Definition at line 1899 of file winternl.h.

◆ FILE_ATTRIBUTE_VALID_FLAGS

#define FILE_ATTRIBUTE_VALID_FLAGS   0x00007fb7

Definition at line 1820 of file winternl.h.

◆ FILE_ATTRIBUTE_VALID_SET_FLAGS

#define FILE_ATTRIBUTE_VALID_SET_FLAGS   0x000031a7

Definition at line 1821 of file winternl.h.

◆ FILE_AUTOGENERATED_DEVICE_NAME

#define FILE_AUTOGENERATED_DEVICE_NAME   0x00000080

Definition at line 1848 of file winternl.h.

◆ FILE_CHARACTERISTIC_CSV

#define FILE_CHARACTERISTIC_CSV   0x00010000

Definition at line 1853 of file winternl.h.

◆ FILE_CHARACTERISTIC_PNP_DEVICE

#define FILE_CHARACTERISTIC_PNP_DEVICE   0x00000800

Definition at line 1850 of file winternl.h.

◆ FILE_CHARACTERISTIC_TS_DEVICE

#define FILE_CHARACTERISTIC_TS_DEVICE   0x00001000

Definition at line 1851 of file winternl.h.

◆ FILE_CHARACTERISTIC_WEBDAV_DEVICE

#define FILE_CHARACTERISTIC_WEBDAV_DEVICE   0x00002000

Definition at line 1852 of file winternl.h.

◆ FILE_COMPLETE_IF_OPLOCKED

#define FILE_COMPLETE_IF_OPLOCKED   0x00000100

Definition at line 1807 of file winternl.h.

◆ FILE_CREATE

#define FILE_CREATE   2

Definition at line 1834 of file winternl.h.

◆ FILE_CREATE_TREE_CONNECTION

#define FILE_CREATE_TREE_CONNECTION   0x00000080

Definition at line 1806 of file winternl.h.

◆ FILE_CREATED

#define FILE_CREATED   2

Definition at line 1826 of file winternl.h.

◆ FILE_DELETE_ON_CLOSE

#define FILE_DELETE_ON_CLOSE   0x00001000

Definition at line 1811 of file winternl.h.

◆ FILE_DEVICE_ALLOW_APPCONTAINER_TRAVERSAL

#define FILE_DEVICE_ALLOW_APPCONTAINER_TRAVERSAL   0x00020000

Definition at line 1854 of file winternl.h.

◆ FILE_DEVICE_IS_MOUNTED

#define FILE_DEVICE_IS_MOUNTED   0x00000020

Definition at line 1846 of file winternl.h.

◆ FILE_DEVICE_SECURE_OPEN

#define FILE_DEVICE_SECURE_OPEN   0x00000100

Definition at line 1849 of file winternl.h.

◆ FILE_DIRECTORY_FILE

#define FILE_DIRECTORY_FILE   0x00000001

Definition at line 1799 of file winternl.h.

◆ FILE_DOES_NOT_EXIST

#define FILE_DOES_NOT_EXIST   5

Definition at line 1829 of file winternl.h.

◆ FILE_EXISTS

#define FILE_EXISTS   4

Definition at line 1828 of file winternl.h.

◆ FILE_FLOPPY_DISKETTE

#define FILE_FLOPPY_DISKETTE   0x00000004

Definition at line 1843 of file winternl.h.

◆ FILE_MAXIMUM_DISPOSITION

#define FILE_MAXIMUM_DISPOSITION   5

Definition at line 1838 of file winternl.h.

◆ FILE_NO_COMPRESSION

#define FILE_NO_COMPRESSION   0x00008000

Definition at line 1814 of file winternl.h.

◆ FILE_NO_EA_KNOWLEDGE

#define FILE_NO_EA_KNOWLEDGE   0x00000200

Definition at line 1808 of file winternl.h.

◆ FILE_NO_INTERMEDIATE_BUFFERING

#define FILE_NO_INTERMEDIATE_BUFFERING   0x00000008

Definition at line 1802 of file winternl.h.

◆ FILE_NON_DIRECTORY_FILE

#define FILE_NON_DIRECTORY_FILE   0x00000040

Definition at line 1805 of file winternl.h.

◆ FILE_OPEN

#define FILE_OPEN   1

Definition at line 1833 of file winternl.h.

◆ FILE_OPEN_BY_FILE_ID

#define FILE_OPEN_BY_FILE_ID   0x00002000

Definition at line 1812 of file winternl.h.

◆ FILE_OPEN_FOR_BACKUP_INTENT

#define FILE_OPEN_FOR_BACKUP_INTENT   0x00004000

Definition at line 1813 of file winternl.h.

◆ FILE_OPEN_FOR_FREE_SPACE_QUERY

#define FILE_OPEN_FOR_FREE_SPACE_QUERY   0x00800000

Definition at line 1818 of file winternl.h.

◆ FILE_OPEN_FOR_RECOVERY

#define FILE_OPEN_FOR_RECOVERY   0x00000400

Definition at line 1809 of file winternl.h.

◆ FILE_OPEN_IF

#define FILE_OPEN_IF   3

Definition at line 1835 of file winternl.h.

◆ FILE_OPEN_OFFLINE_FILE

#define FILE_OPEN_OFFLINE_FILE   0x00400000

Definition at line 1817 of file winternl.h.

◆ FILE_OPENED

#define FILE_OPENED   1

Definition at line 1825 of file winternl.h.

◆ FILE_OVERWRITE

#define FILE_OVERWRITE   4

Definition at line 1836 of file winternl.h.

◆ FILE_OVERWRITE_IF

#define FILE_OVERWRITE_IF   5

Definition at line 1837 of file winternl.h.

◆ FILE_OVERWRITTEN

#define FILE_OVERWRITTEN   3

Definition at line 1827 of file winternl.h.

◆ FILE_PIPE_BYTE_STREAM_MODE

#define FILE_PIPE_BYTE_STREAM_MODE   0x00000000

Definition at line 1867 of file winternl.h.

◆ FILE_PIPE_CLIENT_END

#define FILE_PIPE_CLIENT_END   0x00000000

Definition at line 1873 of file winternl.h.

◆ FILE_PIPE_CLOSING_STATE

#define FILE_PIPE_CLOSING_STATE   0x04

Definition at line 793 of file winternl.h.

◆ FILE_PIPE_COMPLETE_OPERATION

#define FILE_PIPE_COMPLETE_OPERATION   0x00000001

Definition at line 1869 of file winternl.h.

◆ FILE_PIPE_CONNECTED_STATE

#define FILE_PIPE_CONNECTED_STATE   0x03

Definition at line 792 of file winternl.h.

◆ FILE_PIPE_DISCONNECTED_STATE

#define FILE_PIPE_DISCONNECTED_STATE   0x01

Definition at line 790 of file winternl.h.

◆ FILE_PIPE_FULL_DUPLEX

#define FILE_PIPE_FULL_DUPLEX   0x00000002

Definition at line 1860 of file winternl.h.

◆ FILE_PIPE_INBOUND

#define FILE_PIPE_INBOUND   0x00000000

Definition at line 1858 of file winternl.h.

◆ FILE_PIPE_LISTENING_STATE

#define FILE_PIPE_LISTENING_STATE   0x02

Definition at line 791 of file winternl.h.

◆ FILE_PIPE_MESSAGE_MODE

#define FILE_PIPE_MESSAGE_MODE   0x00000001

Definition at line 1866 of file winternl.h.

◆ FILE_PIPE_OUTBOUND

#define FILE_PIPE_OUTBOUND   0x00000001

Definition at line 1859 of file winternl.h.

◆ FILE_PIPE_QUEUE_OPERATION

#define FILE_PIPE_QUEUE_OPERATION   0x00000000

Definition at line 1870 of file winternl.h.

◆ FILE_PIPE_SERVER_END

#define FILE_PIPE_SERVER_END   0x00000001

Definition at line 1872 of file winternl.h.

◆ FILE_PIPE_TYPE_BYTE

#define FILE_PIPE_TYPE_BYTE   0x00000000

Definition at line 1864 of file winternl.h.

◆ FILE_PIPE_TYPE_MESSAGE

#define FILE_PIPE_TYPE_MESSAGE   0x00000001

Definition at line 1863 of file winternl.h.

◆ FILE_PORTABLE_DEVICE

#define FILE_PORTABLE_DEVICE   0x00040000

Definition at line 1855 of file winternl.h.

◆ FILE_RANDOM_ACCESS

#define FILE_RANDOM_ACCESS   0x00000800

Definition at line 1810 of file winternl.h.

◆ FILE_READ_ONLY_DEVICE

#define FILE_READ_ONLY_DEVICE   0x00000002

Definition at line 1842 of file winternl.h.

◆ FILE_REMOTE_DEVICE

#define FILE_REMOTE_DEVICE   0x00000010

Definition at line 1845 of file winternl.h.

◆ FILE_REMOVABLE_MEDIA

#define FILE_REMOVABLE_MEDIA   0x00000001

Definition at line 1841 of file winternl.h.

◆ FILE_RESERVE_OPFILTER

#define FILE_RESERVE_OPFILTER   0x00100000

Definition at line 1815 of file winternl.h.

◆ FILE_SEQUENTIAL_ONLY

#define FILE_SEQUENTIAL_ONLY   0x00000004

Definition at line 1801 of file winternl.h.

◆ FILE_SKIP_COMPLETION_PORT_ON_SUCCESS

#define FILE_SKIP_COMPLETION_PORT_ON_SUCCESS   0x1

Definition at line 811 of file winternl.h.

◆ FILE_SKIP_SET_EVENT_ON_HANDLE

#define FILE_SKIP_SET_EVENT_ON_HANDLE   0x2

Definition at line 812 of file winternl.h.

◆ FILE_SKIP_SET_USER_EVENT_ON_FAST_IO

#define FILE_SKIP_SET_USER_EVENT_ON_FAST_IO   0x4

Definition at line 813 of file winternl.h.

◆ FILE_SUPERSEDE

#define FILE_SUPERSEDE   0

Definition at line 1832 of file winternl.h.

◆ FILE_SUPERSEDED

#define FILE_SUPERSEDED   0

Definition at line 1824 of file winternl.h.

◆ FILE_SYNCHRONOUS_IO_ALERT

#define FILE_SYNCHRONOUS_IO_ALERT   0x00000010

Definition at line 1803 of file winternl.h.

◆ FILE_SYNCHRONOUS_IO_NONALERT

#define FILE_SYNCHRONOUS_IO_NONALERT   0x00000020

Definition at line 1804 of file winternl.h.

◆ FILE_TRANSACTED_MODE

#define FILE_TRANSACTED_MODE   0x00200000

Definition at line 1816 of file winternl.h.

◆ FILE_VIRTUAL_VOLUME

#define FILE_VIRTUAL_VOLUME   0x00000040

Definition at line 1847 of file winternl.h.

◆ FILE_WRITE_ONE_MEDIA

#define FILE_WRITE_ONE_MEDIA   0x00000008

Definition at line 1844 of file winternl.h.

◆ FILE_WRITE_THROUGH

#define FILE_WRITE_THROUGH   0x00000002

Definition at line 1800 of file winternl.h.

◆ FLG_APPLICATION_VERIFIER

#define FLG_APPLICATION_VERIFIER   0x00000100

Definition at line 1947 of file winternl.h.

◆ FLG_CRITSEC_EVENT_CREATION

#define FLG_CRITSEC_EVENT_CREATION   0x10000000

Definition at line 1966 of file winternl.h.

◆ FLG_DEBUG_INITIAL_COMMAND

#define FLG_DEBUG_INITIAL_COMMAND   0x00000004

Definition at line 1941 of file winternl.h.

◆ FLG_DEBUG_INITIAL_COMMAND_EX

#define FLG_DEBUG_INITIAL_COMMAND_EX   0x04000000

Definition at line 1964 of file winternl.h.

◆ FLG_DISABLE_DBGPRINT

#define FLG_DISABLE_DBGPRINT   0x08000000

Definition at line 1965 of file winternl.h.

◆ FLG_DISABLE_PAGE_KERNEL_STACKS

#define FLG_DISABLE_PAGE_KERNEL_STACKS   0x00080000

Definition at line 1957 of file winternl.h.

◆ FLG_DISABLE_PROTDLLS

#define FLG_DISABLE_PROTDLLS   0x80000000

Definition at line 1969 of file winternl.h.

◆ FLG_DISABLE_STACK_EXTENSION

#define FLG_DISABLE_STACK_EXTENSION   0x00010000

Definition at line 1954 of file winternl.h.

◆ FLG_ENABLE_CLOSE_EXCEPTIONS

#define FLG_ENABLE_CLOSE_EXCEPTIONS   0x00400000

Definition at line 1960 of file winternl.h.

◆ FLG_ENABLE_CSRDEBUG

#define FLG_ENABLE_CSRDEBUG   0x00020000

Definition at line 1955 of file winternl.h.

◆ FLG_ENABLE_EXCEPTION_LOGGING

#define FLG_ENABLE_EXCEPTION_LOGGING   0x00800000

Definition at line 1961 of file winternl.h.

◆ FLG_ENABLE_HANDLE_EXCEPTIONS

#define FLG_ENABLE_HANDLE_EXCEPTIONS   0x40000000

Definition at line 1968 of file winternl.h.

◆ FLG_ENABLE_HANDLE_TYPE_TAGGING

#define FLG_ENABLE_HANDLE_TYPE_TAGGING   0x01000000

Definition at line 1962 of file winternl.h.

◆ FLG_ENABLE_KDEBUG_SYMBOL_LOAD

#define FLG_ENABLE_KDEBUG_SYMBOL_LOAD   0x00040000

Definition at line 1956 of file winternl.h.

◆ FLG_ENABLE_SYSTEM_CRIT_BREAKS

#define FLG_ENABLE_SYSTEM_CRIT_BREAKS   0x00100000

Definition at line 1958 of file winternl.h.

◆ FLG_HEAP_DISABLE_COALESCING

#define FLG_HEAP_DISABLE_COALESCING   0x00200000

Definition at line 1959 of file winternl.h.

◆ FLG_HEAP_ENABLE_FREE_CHECK

#define FLG_HEAP_ENABLE_FREE_CHECK   0x00000020

Definition at line 1944 of file winternl.h.

◆ FLG_HEAP_ENABLE_TAG_BY_DLL

#define FLG_HEAP_ENABLE_TAG_BY_DLL   0x00008000

Definition at line 1953 of file winternl.h.

◆ FLG_HEAP_ENABLE_TAGGING

#define FLG_HEAP_ENABLE_TAGGING   0x00000800

Definition at line 1949 of file winternl.h.

◆ FLG_HEAP_ENABLE_TAIL_CHECK

#define FLG_HEAP_ENABLE_TAIL_CHECK   0x00000010

Definition at line 1943 of file winternl.h.

◆ FLG_HEAP_PAGE_ALLOCS

#define FLG_HEAP_PAGE_ALLOCS   0x02000000

Definition at line 1963 of file winternl.h.

◆ FLG_HEAP_VALIDATE_ALL

#define FLG_HEAP_VALIDATE_ALL   0x00000080

Definition at line 1946 of file winternl.h.

◆ FLG_HEAP_VALIDATE_PARAMETERS

#define FLG_HEAP_VALIDATE_PARAMETERS   0x00000040

Definition at line 1945 of file winternl.h.

◆ FLG_KERNEL_STACK_TRACE_DB

#define FLG_KERNEL_STACK_TRACE_DB   0x00002000

Definition at line 1951 of file winternl.h.

◆ FLG_LDR_TOP_DOWN

#define FLG_LDR_TOP_DOWN   0x20000000

Definition at line 1967 of file winternl.h.

◆ FLG_MAINTAIN_OBJECT_TYPELIST

#define FLG_MAINTAIN_OBJECT_TYPELIST   0x00004000

Definition at line 1952 of file winternl.h.

◆ FLG_POOL_ENABLE_TAGGING

#define FLG_POOL_ENABLE_TAGGING   0x00000400

Definition at line 1948 of file winternl.h.

◆ FLG_SHOW_LDR_SNAPS

#define FLG_SHOW_LDR_SNAPS   0x00000002

Definition at line 1940 of file winternl.h.

◆ FLG_STOP_ON_EXCEPTION

#define FLG_STOP_ON_EXCEPTION   0x00000001

Definition at line 1939 of file winternl.h.

◆ FLG_STOP_ON_HUNG_GUI

#define FLG_STOP_ON_HUNG_GUI   0x00000008

Definition at line 1942 of file winternl.h.

◆ FLG_USER_STACK_TRACE_DB

#define FLG_USER_STACK_TRACE_DB   0x00001000

Definition at line 1950 of file winternl.h.

◆ InitializeListHead

#define InitializeListHead (   le)    (void)((le)->Flink = (le)->Blink = (le))

Definition at line 3019 of file winternl.h.

◆ InitializeObjectAttributes

#define InitializeObjectAttributes (   p,
  n,
  a,
  r,
  s 
)
Value:
do { \
(p)->Length = sizeof(OBJECT_ATTRIBUTES); \
(p)->RootDirectory = r; \
(p)->Attributes = a; \
(p)->ObjectName = n; \
(p)->SecurityQualityOfService = NULL; \
} while (0)
WCHAR RootDirectory[MAX_PATH]
Definition: format.c:74
#define NULL
Definition: types.h:112
GLdouble s
Definition: gl.h:2039
GLdouble GLdouble GLdouble r
Definition: gl.h:2055
GLdouble n
Definition: glext.h:7729
GLfloat GLfloat p
Definition: glext.h:8902
GLboolean GLboolean GLboolean GLboolean a
Definition: glext.h:6204
_In_ ULONG _In_ ULONG _In_ ULONG Length
Definition: ntddpcm.h:102
_Must_inspect_result_ _In_ WDFDMAENABLER _In_ _In_opt_ PWDF_OBJECT_ATTRIBUTES Attributes
_In_ USHORT _In_ ULONG _In_ PSOCKADDR _In_ PSOCKADDR _Reserved_ ULONG _In_opt_ PVOID _In_opt_ const WSK_CLIENT_CONNECTION_DISPATCH _In_opt_ PEPROCESS _In_opt_ PETHREAD _In_opt_ PSECURITY_DESCRIPTOR SecurityDescriptor
Definition: wsk.h:191
_In_ PVOID _Out_opt_ PULONG_PTR _Outptr_opt_ PCUNICODE_STRING * ObjectName
Definition: cmfuncs.h:64

Definition at line 2968 of file winternl.h.

◆ InsertHeadList

#define InsertHeadList (   le,
  e 
)    do { PLIST_ENTRY f = (le)->Flink; (e)->Flink = f; (e)->Blink = (le); f->Blink = (e); (le)->Flink = (e); } while (0)

Definition at line 3020 of file winternl.h.

◆ InsertTailList

#define InsertTailList (   le,
  e 
)    do { PLIST_ENTRY b = (le)->Blink; (e)->Flink = (le); (e)->Blink = b; b->Flink = (e); (le)->Blink = (e); } while (0)

Definition at line 3021 of file winternl.h.

◆ INTERNAL_TS_ACTIVE_CONSOLE_ID

#define INTERNAL_TS_ACTIVE_CONSOLE_ID   ( *((volatile ULONG*)(0x7ffe02d8)) )

Definition at line 1875 of file winternl.h.

◆ IO_COMPLETION_ALL_ACCESS

#define IO_COMPLETION_ALL_ACCESS   (STANDARD_RIGHTS_REQUIRED|SYNCHRONIZE|0x3)

Definition at line 2178 of file winternl.h.

◆ IO_COMPLETION_MODIFY_STATE

#define IO_COMPLETION_MODIFY_STATE   0x0002

Definition at line 2177 of file winternl.h.

◆ IO_COMPLETION_QUERY_STATE

#define IO_COMPLETION_QUERY_STATE   0x0001

Definition at line 2176 of file winternl.h.

◆ IsListEmpty

#define IsListEmpty (   le)    ((le)->Flink == (le))

Definition at line 3022 of file winternl.h.

◆ LDR_ADDREF_DLL_PIN

#define LDR_ADDREF_DLL_PIN   0x00000001

Definition at line 2298 of file winternl.h.

◆ LDR_DLL_NOTIFICATION_REASON_LOADED

#define LDR_DLL_NOTIFICATION_REASON_LOADED   1

Definition at line 2303 of file winternl.h.

◆ LDR_DLL_NOTIFICATION_REASON_UNLOADED

#define LDR_DLL_NOTIFICATION_REASON_UNLOADED   2

Definition at line 2304 of file winternl.h.

◆ LDR_DONT_RESOLVE_REFS

#define LDR_DONT_RESOLVE_REFS   0x40000000

Definition at line 2294 of file winternl.h.

◆ LDR_IMAGE_IS_DLL

#define LDR_IMAGE_IS_DLL   0x00000004

Definition at line 2286 of file winternl.h.

◆ LDR_LOAD_IN_PROGRESS

#define LDR_LOAD_IN_PROGRESS   0x00001000

Definition at line 2287 of file winternl.h.

◆ LDR_MODULE_REBASED

#define LDR_MODULE_REBASED   0x00200000

Definition at line 2291 of file winternl.h.

◆ LDR_NO_DLL_CALLS

#define LDR_NO_DLL_CALLS   0x00040000

Definition at line 2289 of file winternl.h.

◆ LDR_PROCESS_ATTACHED

#define LDR_PROCESS_ATTACHED   0x00080000

Definition at line 2290 of file winternl.h.

◆ LDR_UNLOAD_IN_PROGRESS

#define LDR_UNLOAD_IN_PROGRESS   0x00002000

Definition at line 2288 of file winternl.h.

◆ LDR_WINE_INTERNAL

#define LDR_WINE_INTERNAL   0x80000000

Definition at line 2295 of file winternl.h.

◆ LOGONID_CURRENT

#define LOGONID_CURRENT   ((ULONG)-1)

Definition at line 1877 of file winternl.h.

◆ MAXIMUM_FILENAME_LENGTH

#define MAXIMUM_FILENAME_LENGTH   256

Definition at line 2301 of file winternl.h.

◆ MEM_EXECUTE_OPTION_DISABLE

#define MEM_EXECUTE_OPTION_DISABLE   0x01

Definition at line 909 of file winternl.h.

◆ MEM_EXECUTE_OPTION_DISABLE_THUNK_EMULATION

#define MEM_EXECUTE_OPTION_DISABLE_THUNK_EMULATION   0x04

Definition at line 911 of file winternl.h.

◆ MEM_EXECUTE_OPTION_ENABLE

#define MEM_EXECUTE_OPTION_ENABLE   0x02

Definition at line 910 of file winternl.h.

◆ MEM_EXECUTE_OPTION_PERMANENT

#define MEM_EXECUTE_OPTION_PERMANENT   0x08

Definition at line 912 of file winternl.h.

◆ NtCurrentProcess

#define NtCurrentProcess ( )    ((HANDLE)-1)

Definition at line 2978 of file winternl.h.

◆ OBJ_CASE_INSENSITIVE

#define OBJ_CASE_INSENSITIVE   0x00000040

Definition at line 1882 of file winternl.h.

◆ OBJ_EXCLUSIVE

#define OBJ_EXCLUSIVE   0x00000020

Definition at line 1881 of file winternl.h.

◆ OBJ_FORCE_ACCESS_CHECK

#define OBJ_FORCE_ACCESS_CHECK   0x00000400

Definition at line 1886 of file winternl.h.

◆ OBJ_INHERIT

#define OBJ_INHERIT   0x00000002

Definition at line 1879 of file winternl.h.

◆ OBJ_KERNEL_HANDLE

#define OBJ_KERNEL_HANDLE   0x00000200

Definition at line 1885 of file winternl.h.

◆ OBJ_OPENIF

#define OBJ_OPENIF   0x00000080

Definition at line 1883 of file winternl.h.

◆ OBJ_OPENLINK

#define OBJ_OPENLINK   0x00000100

Definition at line 1884 of file winternl.h.

◆ OBJ_PERMANENT

#define OBJ_PERMANENT   0x00000010

Definition at line 1880 of file winternl.h.

◆ OBJ_VALID_ATTRIBUTES

#define OBJ_VALID_ATTRIBUTES   0x000007F2

Definition at line 1887 of file winternl.h.

◆ PDI_BACKTRACE

#define PDI_BACKTRACE   0x02

Definition at line 1701 of file winternl.h.

◆ PDI_HEAP_BLOCKS

#define PDI_HEAP_BLOCKS   0x10

Definition at line 1704 of file winternl.h.

◆ PDI_HEAP_TAGS

#define PDI_HEAP_TAGS   0x08

Definition at line 1703 of file winternl.h.

◆ PDI_HEAPS

#define PDI_HEAPS   0x04

Definition at line 1702 of file winternl.h.

◆ PDI_LOCKS

#define PDI_LOCKS   0x20

Definition at line 1705 of file winternl.h.

◆ PDI_MODULES

#define PDI_MODULES   0x01

Definition at line 1700 of file winternl.h.

◆ PROCESS_PARAMS_FLAG_NORMALIZED

#define PROCESS_PARAMS_FLAG_NORMALIZED   1

Definition at line 227 of file winternl.h.

◆ PROCESS_PRIOCLASS_ABOVE_NORMAL

#define PROCESS_PRIOCLASS_ABOVE_NORMAL   6

Definition at line 1320 of file winternl.h.

◆ PROCESS_PRIOCLASS_BELOW_NORMAL

#define PROCESS_PRIOCLASS_BELOW_NORMAL   5

Definition at line 1319 of file winternl.h.

◆ PROCESS_PRIOCLASS_HIGH

#define PROCESS_PRIOCLASS_HIGH   3

Definition at line 1317 of file winternl.h.

◆ PROCESS_PRIOCLASS_IDLE

#define PROCESS_PRIOCLASS_IDLE   1

Definition at line 1315 of file winternl.h.

◆ PROCESS_PRIOCLASS_NORMAL

#define PROCESS_PRIOCLASS_NORMAL   2

Definition at line 1316 of file winternl.h.

◆ PROCESS_PRIOCLASS_REALTIME

#define PROCESS_PRIOCLASS_REALTIME   4

Definition at line 1318 of file winternl.h.

◆ RemoveEntryList

#define RemoveEntryList (   e)    do { PLIST_ENTRY f = (e)->Flink, b = (e)->Blink; f->Blink = b; b->Flink = f; (e)->Flink = (e)->Blink = NULL; } while (0)

Definition at line 3023 of file winternl.h.

◆ RTL_QUERY_REGISTRY_DELETE

#define RTL_QUERY_REGISTRY_DELETE   0x00000040

Definition at line 1988 of file winternl.h.

◆ RTL_QUERY_REGISTRY_DIRECT

#define RTL_QUERY_REGISTRY_DIRECT   0x00000020

Definition at line 1987 of file winternl.h.

◆ RTL_QUERY_REGISTRY_NOEXPAND

#define RTL_QUERY_REGISTRY_NOEXPAND   0x00000010

Definition at line 1986 of file winternl.h.

◆ RTL_QUERY_REGISTRY_NOVALUE

#define RTL_QUERY_REGISTRY_NOVALUE   0x00000008

Definition at line 1985 of file winternl.h.

◆ RTL_QUERY_REGISTRY_REQUIRED

#define RTL_QUERY_REGISTRY_REQUIRED   0x00000004

Definition at line 1984 of file winternl.h.

◆ RTL_QUERY_REGISTRY_SUBKEY

#define RTL_QUERY_REGISTRY_SUBKEY   0x00000001

Definition at line 1982 of file winternl.h.

◆ RTL_QUERY_REGISTRY_TOPKEY

#define RTL_QUERY_REGISTRY_TOPKEY   0x00000002

Definition at line 1983 of file winternl.h.

◆ RTL_REGISTRY_ABSOLUTE

#define RTL_REGISTRY_ABSOLUTE   0

Definition at line 1972 of file winternl.h.

◆ RTL_REGISTRY_CONTROL

#define RTL_REGISTRY_CONTROL   2

Definition at line 1974 of file winternl.h.

◆ RTL_REGISTRY_DEVICEMAP

#define RTL_REGISTRY_DEVICEMAP   4

Definition at line 1976 of file winternl.h.

◆ RTL_REGISTRY_HANDLE

#define RTL_REGISTRY_HANDLE   0x40000000

Definition at line 1979 of file winternl.h.

◆ RTL_REGISTRY_OPTIONAL

#define RTL_REGISTRY_OPTIONAL   0x80000000

Definition at line 1980 of file winternl.h.

◆ RTL_REGISTRY_SERVICES

#define RTL_REGISTRY_SERVICES   1

Definition at line 1973 of file winternl.h.

◆ RTL_REGISTRY_USER

#define RTL_REGISTRY_USER   5

Definition at line 1977 of file winternl.h.

◆ RTL_REGISTRY_WINDOWS_NT

#define RTL_REGISTRY_WINDOWS_NT   3

Definition at line 1975 of file winternl.h.

◆ RtlFillMemory

#define RtlFillMemory (   Destination,
  Length,
  Fill 
)    memset((Destination),(Fill),(Length))

Definition at line 2981 of file winternl.h.

◆ RtlMoveMemory

#define RtlMoveMemory (   Destination,
  Source,
  Length 
)    memmove((Destination),(Source),(Length))

Definition at line 2984 of file winternl.h.

◆ RtlRetrieveUlong

#define RtlRetrieveUlong (   p,
  s 
)    memcpy((p), (s), sizeof(ULONG))

Definition at line 2988 of file winternl.h.

◆ RtlRetrieveUlonglong

#define RtlRetrieveUlonglong (   p,
  s 
)    memcpy((p), (s), sizeof(ULONGLONG))

Definition at line 2989 of file winternl.h.

◆ RtlStoreUlong

#define RtlStoreUlong (   p,
  v 
)    do { ULONG _v = (v); memcpy((p), &_v, sizeof(_v)); } while (0)

Definition at line 2986 of file winternl.h.

◆ RtlStoreUlonglong

#define RtlStoreUlonglong (   p,
  v 
)    do { ULONGLONG _v = (v); memcpy((p), &_v, sizeof(_v)); } while (0)

Definition at line 2987 of file winternl.h.

◆ RtlZeroMemory

#define RtlZeroMemory (   Destination,
  Length 
)    memset((Destination),0,(Length))

Definition at line 2991 of file winternl.h.

◆ SE_ASSIGNPRIMARYTOKEN_PRIVILEGE

#define SE_ASSIGNPRIMARYTOKEN_PRIVILEGE   3

Definition at line 1907 of file winternl.h.

◆ SE_AUDIT_PRIVILEGE

#define SE_AUDIT_PRIVILEGE   21

Definition at line 1926 of file winternl.h.

◆ SE_BACKUP_PRIVILEGE

#define SE_BACKUP_PRIVILEGE   17

Definition at line 1922 of file winternl.h.

◆ SE_CHANGE_NOTIFY_PRIVILEGE

#define SE_CHANGE_NOTIFY_PRIVILEGE   23

Definition at line 1928 of file winternl.h.

◆ SE_CREATE_GLOBAL_PRIVILEGE

#define SE_CREATE_GLOBAL_PRIVILEGE   30

Definition at line 1935 of file winternl.h.

◆ SE_CREATE_PAGEFILE_PRIVILEGE

#define SE_CREATE_PAGEFILE_PRIVILEGE   15

Definition at line 1920 of file winternl.h.

◆ SE_CREATE_PERMANENT_PRIVILEGE

#define SE_CREATE_PERMANENT_PRIVILEGE   16

Definition at line 1921 of file winternl.h.

◆ SE_CREATE_TOKEN_PRIVILEGE

#define SE_CREATE_TOKEN_PRIVILEGE   2

Definition at line 1906 of file winternl.h.

◆ SE_DEBUG_PRIVILEGE

#define SE_DEBUG_PRIVILEGE   20

Definition at line 1925 of file winternl.h.

◆ SE_ENABLE_DELEGATION_PRIVILEGE

#define SE_ENABLE_DELEGATION_PRIVILEGE   27

Definition at line 1932 of file winternl.h.

◆ SE_IMPERSONATE_PRIVILEGE

#define SE_IMPERSONATE_PRIVILEGE   29

Definition at line 1934 of file winternl.h.

◆ SE_INC_BASE_PRIORITY_PRIVILEGE

#define SE_INC_BASE_PRIORITY_PRIVILEGE   14

Definition at line 1919 of file winternl.h.

◆ SE_INCREASE_QUOTA_PRIVILEGE

#define SE_INCREASE_QUOTA_PRIVILEGE   5

Definition at line 1909 of file winternl.h.

◆ SE_LOAD_DRIVER_PRIVILEGE

#define SE_LOAD_DRIVER_PRIVILEGE   10

Definition at line 1915 of file winternl.h.

◆ SE_LOCK_MEMORY_PRIVILEGE

#define SE_LOCK_MEMORY_PRIVILEGE   4

Definition at line 1908 of file winternl.h.

◆ SE_MACHINE_ACCOUNT_PRIVILEGE

#define SE_MACHINE_ACCOUNT_PRIVILEGE   6

Definition at line 1911 of file winternl.h.

◆ SE_MANAGE_VOLUME_PRIVILEGE

#define SE_MANAGE_VOLUME_PRIVILEGE   28

Definition at line 1933 of file winternl.h.

◆ SE_MAX_WELL_KNOWN_PRIVILEGE

#define SE_MAX_WELL_KNOWN_PRIVILEGE   SE_CREATE_GLOBAL_PRIVILEGE

Definition at line 1936 of file winternl.h.

◆ SE_MIN_WELL_KNOWN_PRIVILEGE

#define SE_MIN_WELL_KNOWN_PRIVILEGE   2

Definition at line 1905 of file winternl.h.

◆ SE_PROF_SINGLE_PROCESS_PRIVILEGE

#define SE_PROF_SINGLE_PROCESS_PRIVILEGE   13

Definition at line 1918 of file winternl.h.

◆ SE_REMOTE_SHUTDOWN_PRIVILEGE

#define SE_REMOTE_SHUTDOWN_PRIVILEGE   24

Definition at line 1929 of file winternl.h.

◆ SE_RESTORE_PRIVILEGE

#define SE_RESTORE_PRIVILEGE   18

Definition at line 1923 of file winternl.h.

◆ SE_SECURITY_PRIVILEGE

#define SE_SECURITY_PRIVILEGE   8

Definition at line 1913 of file winternl.h.

◆ SE_SHUTDOWN_PRIVILEGE

#define SE_SHUTDOWN_PRIVILEGE   19

Definition at line 1924 of file winternl.h.

◆ SE_SYNC_AGENT_PRIVILEGE

#define SE_SYNC_AGENT_PRIVILEGE   26

Definition at line 1931 of file winternl.h.

◆ SE_SYSTEM_ENVIRONMENT_PRIVILEGE

#define SE_SYSTEM_ENVIRONMENT_PRIVILEGE   22

Definition at line 1927 of file winternl.h.

◆ SE_SYSTEM_PROFILE_PRIVILEGE

#define SE_SYSTEM_PROFILE_PRIVILEGE   11

Definition at line 1916 of file winternl.h.

◆ SE_SYSTEMTIME_PRIVILEGE

#define SE_SYSTEMTIME_PRIVILEGE   12

Definition at line 1917 of file winternl.h.

◆ SE_TAKE_OWNERSHIP_PRIVILEGE

#define SE_TAKE_OWNERSHIP_PRIVILEGE   9

Definition at line 1914 of file winternl.h.

◆ SE_TCB_PRIVILEGE

#define SE_TCB_PRIVILEGE   7

Definition at line 1912 of file winternl.h.

◆ SE_UNDOCK_PRIVILEGE

#define SE_UNDOCK_PRIVILEGE   25

Definition at line 1930 of file winternl.h.

◆ SE_UNSOLICITED_INPUT_PRIVILEGE

#define SE_UNSOLICITED_INPUT_PRIVILEGE   6 /* obsolete */

Definition at line 1910 of file winternl.h.

◆ SERVERNAME_CURRENT

#define SERVERNAME_CURRENT   ((HANDLE)NULL)

Definition at line 1889 of file winternl.h.

◆ TEB_ACTIVE_FRAME_CONTEXT_FLAG_EXTENDED

#define TEB_ACTIVE_FRAME_CONTEXT_FLAG_EXTENDED   0x00000001

Definition at line 287 of file winternl.h.

◆ TEB_ACTIVE_FRAME_FLAG_EXTENDED

#define TEB_ACTIVE_FRAME_FLAG_EXTENDED   0x00000001

Definition at line 288 of file winternl.h.

◆ THREAD_CREATE_FLAGS_ACCESS_CHECK_IN_TARGET

#define THREAD_CREATE_FLAGS_ACCESS_CHECK_IN_TARGET   0x00000020

Definition at line 2330 of file winternl.h.

◆ THREAD_CREATE_FLAGS_CREATE_SUSPENDED

#define THREAD_CREATE_FLAGS_CREATE_SUSPENDED   0x00000001

Definition at line 2326 of file winternl.h.

◆ THREAD_CREATE_FLAGS_HAS_SECURITY_DESCRIPTOR

#define THREAD_CREATE_FLAGS_HAS_SECURITY_DESCRIPTOR   0x00000010

Definition at line 2329 of file winternl.h.

◆ THREAD_CREATE_FLAGS_HIDE_FROM_DEBUGGER

#define THREAD_CREATE_FLAGS_HIDE_FROM_DEBUGGER   0x00000004

Definition at line 2328 of file winternl.h.

◆ THREAD_CREATE_FLAGS_INITIAL_THREAD

#define THREAD_CREATE_FLAGS_INITIAL_THREAD   0x00000080

Definition at line 2331 of file winternl.h.

◆ THREAD_CREATE_FLAGS_SKIP_THREAD_ATTACH

#define THREAD_CREATE_FLAGS_SKIP_THREAD_ATTACH   0x00000002

Definition at line 2327 of file winternl.h.

◆ WINE_NTSTATUS_DECLARED

#define WINE_NTSTATUS_DECLARED

Definition at line 50 of file winternl.h.

Typedef Documentation

◆ ACTIVATION_CONTEXT_STACK

◆ ANSI_STRING

Definition at line 71 of file winternl.h.

◆ ATOM_BASIC_INFORMATION

◆ ATOM_INFORMATION_CLASS

◆ CLIENT_ID

◆ CSHORT

typedef short CSHORT

Definition at line 59 of file winternl.h.

◆ CURDIR

◆ DEBUG_BUFFER

◆ DEBUG_HEAP_INFORMATION

◆ DEBUG_LOCK_INFORMATION

◆ DEBUG_MODULE_INFORMATION

◆ DIRECTORY_BASIC_INFORMATION

◆ EVENT_BASIC_INFORMATION

◆ EVENT_INFORMATION_CLASS

◆ FILE_ACCESS_INFORMATION

◆ FILE_ALIGNMENT_INFORMATION

◆ FILE_ALL_INFORMATION

◆ FILE_ALLOCATION_INFORMATION

◆ FILE_ATTRIBUTE_TAG_INFORMATION

◆ FILE_BASIC_INFORMATION

◆ FILE_BOTH_DIR_INFORMATION

◆ FILE_BOTH_DIRECTORY_INFORMATION

◆ FILE_COMPLETION_INFORMATION

◆ FILE_DIRECTORY_INFORMATION

◆ FILE_DISPOSITION_INFORMATION

◆ FILE_EA_INFORMATION

◆ FILE_END_OF_FILE_INFORMATION

◆ FILE_FULL_DIR_INFORMATION

◆ FILE_FULL_DIRECTORY_INFORMATION

◆ FILE_FULL_EA_INFORMATION

◆ FILE_ID_128

◆ FILE_ID_BOTH_DIRECTORY_INFORMATION

◆ FILE_ID_FULL_DIRECTORY_INFORMATION

◆ FILE_ID_GLOBAL_TX_DIR_INFORMATION

◆ FILE_ID_INFORMATION

◆ FILE_INFORMATION_CLASS

◆ FILE_INTERNAL_INFORMATION

◆ FILE_IO_COMPLETION_NOTIFICATION_INFORMATION

◆ FILE_LINK_INFORMATION

◆ FILE_MAILSLOT_QUERY_INFORMATION

◆ FILE_MAILSLOT_SET_INFORMATION

◆ FILE_MODE_INFORMATION

◆ FILE_NAME_INFORMATION

◆ FILE_NAMES_INFORMATION

◆ FILE_NETWORK_OPEN_INFORMATION

◆ FILE_OBJECTID_INFORMATION

◆ FILE_PIPE_INFORMATION

◆ FILE_PIPE_LOCAL_INFORMATION

◆ FILE_POSITION_INFORMATION

◆ FILE_QUOTA_INFORMATION

◆ FILE_RENAME_INFORMATION

◆ FILE_REPARSE_POINT_INFORMATION

◆ FILE_STANDARD_INFORMATION

◆ FILE_STREAM_INFORMATION

◆ FILETIME

◆ FS_INFORMATION_CLASS

◆ GDI_TEB_BATCH

◆ HARDERROR_RESPONSE

◆ HARDERROR_RESPONSE_OPTION

◆ INITIAL_TEB

◆ IO_COMPLETION_INFORMATION_CLASS

◆ IO_STATUS_BLOCK

◆ KERNEL_USER_TIMES

◆ KEY_BASIC_INFORMATION

◆ KEY_CACHED_INFORMATION

◆ KEY_FULL_INFORMATION

◆ KEY_INFORMATION_CLASS

◆ KEY_MULTIPLE_VALUE_INFORMATION

◆ KEY_NAME_INFORMATION

◆ KEY_NODE_INFORMATION

◆ KEY_VALUE_BASIC_INFORMATION

◆ KEY_VALUE_ENTRY

◆ KEY_VALUE_FULL_INFORMATION

◆ KEY_VALUE_INFORMATION_CLASS

◆ KEY_VALUE_PARTIAL_INFORMATION

◆ KPROFILE_SOURCE

◆ LDR_DLL_LOADED_NOTIFICATION_DATA

◆ LDR_DLL_NOTIFICATION_DATA

◆ LDR_DLL_UNLOADED_NOTIFICATION_DATA

◆ LDR_MODULE

◆ LDR_RESOURCE_INFO

◆ LPC_MESSAGE

◆ LPC_SECTION_READ

◆ LPC_SECTION_WRITE

◆ LPFILETIME

◆ LPRTL_RWLOCK

◆ MEMORY_INFORMATION_CLASS

◆ MEMORY_SECTION_NAME

◆ MUTANT_BASIC_INFORMATION

◆ MUTANT_INFORMATION_CLASS

◆ NTSTATUS

typedef LONG NTSTATUS

Definition at line 51 of file winternl.h.

◆ OBJECT_ATTRIBUTES

◆ OBJECT_BASIC_INFORMATION

◆ OBJECT_DATA_INFORMATION

◆ OBJECT_INFORMATION_CLASS

◆ OBJECT_NAME_INFORMATION

◆ OBJECT_TYPE_INFORMATION

◆ OBJECT_TYPES_INFORMATION

◆ OEM_STRING

typedef STRING OEM_STRING

Definition at line 75 of file winternl.h.

◆ PACTIVATION_CONTEXT_STACK

◆ PANSI_STRING

Definition at line 72 of file winternl.h.

◆ PATOM_BASIC_INFORMATION

◆ PCANSI_STRING

Definition at line 73 of file winternl.h.

◆ PCLIENT_ID

◆ PCOEM_STRING

Definition at line 77 of file winternl.h.

◆ PCRTL_BITMAP

Definition at line 185 of file winternl.h.

◆ PCRTL_BITMAP_RUN

Definition at line 192 of file winternl.h.

◆ PCSHORT

typedef CSHORT* PCSHORT

Definition at line 60 of file winternl.h.

◆ PCSZ

typedef const char* PCSZ

Definition at line 57 of file winternl.h.

◆ PCUNICODE_STRING

Definition at line 88 of file winternl.h.

◆ PCURDIR

typedef struct _CURDIR * PCURDIR

◆ PDEBUG_BUFFER

◆ PDEBUG_HEAP_INFORMATION

◆ PDEBUG_LOCK_INFORMATION

◆ PDEBUG_MODULE_INFORMATION

◆ PDIRECTORY_BASIC_INFORMATION

◆ PEB

typedef struct _PEB PEB

◆ PEB_LDR_DATA

◆ PEVENT_BASIC_INFORMATION

◆ PEVENT_INFORMATION_CLASS

◆ PFILE_ACCESS_INFORMATION

◆ PFILE_ALIGNMENT_INFORMATION

◆ PFILE_ALL_INFORMATION

◆ PFILE_ALLOCATION_INFORMATION

◆ PFILE_ATTRIBUTE_TAG_INFORMATION

◆ PFILE_BASIC_INFORMATION

◆ PFILE_BOTH_DIR_INFORMATION

◆ PFILE_BOTH_DIRECTORY_INFORMATION

◆ PFILE_COMPLETION_INFORMATION

◆ PFILE_DIRECTORY_INFORMATION

◆ PFILE_DISPOSITION_INFORMATION

◆ PFILE_EA_INFORMATION

◆ PFILE_END_OF_FILE_INFORMATION

◆ PFILE_FULL_DIR_INFORMATION

◆ PFILE_FULL_DIRECTORY_INFORMATION

◆ PFILE_FULL_EA_INFORMATION

◆ PFILE_ID_128

◆ PFILE_ID_BOTH_DIRECTORY_INFORMATION

◆ PFILE_ID_FULL_DIRECTORY_INFORMATION

◆ PFILE_ID_GLOBAL_TX_DIR_INFORMATION

◆ PFILE_ID_INFORMATION

◆ PFILE_INFORMATION_CLASS

◆ PFILE_INTERNAL_INFORMATION

◆ PFILE_IO_COMPLETION_NOTIFICATION_INFORMATION

◆ PFILE_LINK_INFORMATION

◆ PFILE_MAILSLOT_QUERY_INFORMATION

◆ PFILE_MAILSLOT_SET_INFORMATION

◆ PFILE_MODE_INFORMATION

◆ PFILE_NAME_INFORMATION

◆ PFILE_NAMES_INFORMATION

◆ PFILE_NETWORK_OPEN_INFORMATION

◆ PFILE_OBJECTID_INFORMATION

◆ PFILE_PIPE_INFORMATION

◆ PFILE_PIPE_LOCAL_INFORMATION

◆ PFILE_POSITION_INFORMATION

◆ PFILE_QUOTA_INFORMATION

◆ PFILE_RENAME_INFORMATION

◆ PFILE_REPARSE_POINT_INFORMATION

◆ PFILE_STANDARD_INFORMATION

◆ PFILE_STREAM_INFORMATION

◆ PFILETIME

◆ PFS_INFORMATION_CLASS

◆ PHARDERROR_RESPONSE

◆ PHARDERROR_RESPONSE_OPTION

◆ PINITIAL_TEB

◆ PIO_APC_ROUTINE

typedef void(WINAPI * PIO_APC_ROUTINE) (PVOID, PIO_STATUS_BLOCK, ULONG)

Definition at line 1149 of file winternl.h.

◆ PIO_COMPLETION_INFORMATION_CLASS

◆ PIO_STATUS_BLOCK

◆ PKERNEL_USER_TIMES

◆ PKEY_BASIC_INFORMATION

◆ PKEY_CACHED_INFORMATION

◆ PKEY_FULL_INFORMATION

◆ PKEY_MULTIPLE_VALUE_INFORMATION

◆ PKEY_NAME_INFORMATION

◆ PKEY_NODE_INFORMATION

◆ PKEY_VALUE_BASIC_INFORMATION

◆ PKEY_VALUE_ENTRY

◆ PKEY_VALUE_FULL_INFORMATION

◆ PKEY_VALUE_PARTIAL_INFORMATION

◆ PKPROFILE_SOURCE

◆ PLDR_DLL_LOADED_NOTIFICATION_DATA

◆ PLDR_DLL_NOTIFICATION_DATA

◆ PLDR_DLL_NOTIFICATION_FUNCTION

typedef void(CALLBACK * PLDR_DLL_NOTIFICATION_FUNCTION) (ULONG, LDR_DLL_NOTIFICATION_DATA *, void *)

Definition at line 2283 of file winternl.h.

◆ PLDR_DLL_UNLOADED_NOTIFICATION_DATA

◆ PLDR_MODULE

◆ PLDR_RESOURCE_INFO

◆ PLPC_MESSAGE

◆ PLPC_SECTION_READ

◆ PLPC_SECTION_WRITE

◆ PMEMORY_SECTION_NAME

◆ PMUTANT_BASIC_INFORMATION

◆ PMUTANT_INFORMATION_CLASS

◆ PNTAPCFUNC

typedef void(CALLBACK * PNTAPCFUNC) (ULONG_PTR, ULONG_PTR, ULONG_PTR)

Definition at line 1891 of file winternl.h.

◆ POBJECT_ATTRIBUTES

◆ POBJECT_BASIC_INFORMATION

◆ POBJECT_DATA_INFORMATION

◆ POBJECT_INFORMATION_CLASS

◆ POBJECT_NAME_INFORMATION

◆ POBJECT_TYPE_INFORMATION

◆ POBJECT_TYPES_INFORMATION

◆ POEM_STRING

Definition at line 76 of file winternl.h.

◆ PORT_INFORMATION_CLASS

◆ PORT_MESSAGE

◆ PORT_MESSAGE_HEADER

◆ PPEB

typedef struct _PEB * PPEB

◆ PPEB_LDR_DATA

◆ PPORT_INFORMATION_CLASS

◆ PPORT_MESSAGE

◆ PPORT_MESSAGE_HEADER

◆ PPROCESS_BASIC_INFORMATION

◆ PPROCESS_PRIORITY_CLASS

◆ PROCESS_BASIC_INFORMATION

◆ PROCESS_INFORMATION_CLASS

◆ PROCESS_PRIORITY_CLASS

◆ PROCESSINFOCLASS

◆ PRTL_ACTIVATION_CONTEXT_STACK_FRAME

◆ PRTL_ATOM

Definition at line 1756 of file winternl.h.

◆ PRTL_ATOM_TABLE

typedef struct atom_table ** PRTL_ATOM_TABLE

Definition at line 1762 of file winternl.h.

◆ PRTL_BITMAP

◆ PRTL_BITMAP_RUN

◆ PRTL_DRIVE_LETTER_CURDIR

◆ PRTL_DYNAMIC_TIME_ZONE_INFORMATION

◆ PRTL_HEAP_DEFINITION

◆ PRTL_OVERLAPPED_COMPLETION_ROUTINE

typedef VOID(CALLBACK * PRTL_OVERLAPPED_COMPLETION_ROUTINE) (DWORD, DWORD, LPVOID)

Definition at line 2016 of file winternl.h.

◆ PRTL_QUERY_REGISTRY_ROUTINE

◆ PRTL_QUERY_REGISTRY_TABLE

◆ PRTL_THREAD_START_ROUTINE

typedef void(CALLBACK * PRTL_THREAD_START_ROUTINE) (LPVOID)

Definition at line 1892 of file winternl.h.

◆ PRTL_TIME_ZONE_INFORMATION

◆ PRTL_USER_PROCESS_INFORMATION

◆ PRTL_USER_PROCESS_PARAMETERS

◆ PRTL_WORK_ITEM_ROUTINE

typedef DWORD(CALLBACK * PRTL_WORK_ITEM_ROUTINE) (LPVOID)

Definition at line 1893 of file winternl.h.

◆ PSECTION_BASIC_INFORMATION

◆ PSECTION_IMAGE_INFORMATION

◆ PSEMAPHORE_BASIC_INFORMATION

◆ PSEMAPHORE_INFORMATION_CLASS

◆ PSHUTDOWN_ACTION

◆ PSTRING

typedef struct _STRING * PSTRING

◆ PSYSDBG_COMMAND

◆ PSYSTEM_BASIC_INFORMATION

◆ PSYSTEM_CACHE_INFORMATION

◆ PSYSTEM_CONFIGURATION_INFO

◆ PSYSTEM_CPU_INFORMATION

◆ PSYSTEM_DRIVER_INFORMATION

◆ PSYSTEM_EXCEPTION_INFORMATION

◆ PSYSTEM_HANDLE_ENTRY

◆ PSYSTEM_HANDLE_INFORMATION

◆ PSYSTEM_HANDLE_INFORMATION_EX

◆ PSYSTEM_HANDLE_TABLE_ENTRY_INFO_EX

◆ PSYSTEM_INFORMATION_CLASS

◆ PSYSTEM_INTERRUPT_INFORMATION

◆ PSYSTEM_KERNEL_DEBUGGER_INFORMATION

◆ PSYSTEM_LOOKASIDE_INFORMATION

◆ PSYSTEM_MODULE

◆ PSYSTEM_MODULE_INFORMATION

◆ PSYSTEM_PERFORMANCE_INFORMATION

◆ PSYSTEM_PROCESS_INFORMATION

◆ PSYSTEM_PROCESSOR_PERFORMANCE_INFORMATION

◆ PSYSTEM_REGISTRY_QUOTA_INFORMATION

◆ PSYSTEM_THREAD_INFORMATION

◆ PSYSTEM_TIME_ADJUSTMENT

◆ PSYSTEM_TIMEOFDAY_INFORMATION

◆ PTEB

typedef struct _TEB * PTEB

◆ PTEB_ACTIVE_FRAME

◆ PTEB_ACTIVE_FRAME_CONTEXT

◆ PTEB_ACTIVE_FRAME_CONTEXT_EX

◆ PTEB_ACTIVE_FRAME_EX

◆ PTHREAD_BASIC_INFORMATION

◆ PTHREAD_DESCRIPTOR_INFORMATION

◆ PTIME_FIELDS

◆ PTIMER_APC_ROUTINE

typedef VOID(CALLBACK * PTIMER_APC_ROUTINE) (PVOID, ULONG, LONG)

Definition at line 2018 of file winternl.h.

◆ PTIMER_BASIC_INFORMATION

◆ PUNICODE_STRING

◆ PVM_COUNTERS

◆ PWINSTATIONINFORMATIONW

◆ PWINSTATIONQUERYINFORMATIONW

typedef BOOLEAN(WINAPI * PWINSTATIONQUERYINFORMATIONW) (HANDLE, ULONG, WINSTATIONINFOCLASS, PVOID, ULONG, PULONG)

Definition at line 1669 of file winternl.h.

◆ RTL_ACTIVATION_CONTEXT_STACK_FRAME

◆ RTL_ATOM

Definition at line 1756 of file winternl.h.

◆ RTL_ATOM_TABLE

typedef struct atom_table* RTL_ATOM_TABLE

Definition at line 1762 of file winternl.h.

◆ RTL_BITMAP

◆ RTL_BITMAP_RUN

◆ RTL_DRIVE_LETTER_CURDIR

◆ RTL_DYNAMIC_TIME_ZONE_INFORMATION

◆ RTL_HANDLE

◆ RTL_HANDLE_TABLE

◆ RTL_HEAP_DEFINITION

◆ RTL_QUERY_REGISTRY_TABLE

◆ RTL_RWLOCK

◆ RTL_TIME_ZONE_INFORMATION

◆ RTL_USER_PROCESS_INFORMATION

◆ RTL_USER_PROCESS_PARAMETERS

◆ RTL_WAITORTIMERCALLBACKFUNC

typedef void(NTAPI * RTL_WAITORTIMERCALLBACKFUNC) (PVOID, BOOLEAN)

Definition at line 1894 of file winternl.h.

◆ SECTION_BASIC_INFORMATION

◆ SECTION_IMAGE_INFORMATION

◆ SECTION_INFORMATION_CLASS

◆ SECTION_INHERIT

◆ SEMAPHORE_BASIC_INFORMATION

◆ SEMAPHORE_INFORMATION_CLASS

◆ SHUTDOWN_ACTION

◆ STRING

◆ SYSDBG_COMMAND

◆ SYSTEM_BASIC_INFORMATION

◆ SYSTEM_CACHE_INFORMATION

◆ SYSTEM_CONFIGURATION_INFO

◆ SYSTEM_CPU_INFORMATION

◆ SYSTEM_DRIVER_INFORMATION

◆ SYSTEM_EXCEPTION_INFORMATION

◆ SYSTEM_HANDLE_ENTRY

◆ SYSTEM_HANDLE_INFORMATION

◆ SYSTEM_HANDLE_INFORMATION_EX

◆ SYSTEM_HANDLE_TABLE_ENTRY_INFO_EX

◆ SYSTEM_INFORMATION_CLASS

◆ SYSTEM_INTERRUPT_INFORMATION

◆ SYSTEM_KERNEL_DEBUGGER_INFORMATION

◆ SYSTEM_LOOKASIDE_INFORMATION

◆ SYSTEM_MODULE

◆ SYSTEM_MODULE_INFORMATION

◆ SYSTEM_PERFORMANCE_INFORMATION

◆ SYSTEM_PROCESS_INFORMATION

◆ SYSTEM_PROCESSOR_PERFORMANCE_INFORMATION

◆ SYSTEM_REGISTRY_QUOTA_INFORMATION

◆ SYSTEM_THREAD_INFORMATION

◆ SYSTEM_TIME_ADJUSTMENT

◆ SYSTEM_TIMEOFDAY_INFORMATION

◆ TEB

typedef struct _TEB TEB

◆ TEB_ACTIVE_FRAME

◆ TEB_ACTIVE_FRAME_CONTEXT

◆ TEB_ACTIVE_FRAME_CONTEXT_EX

◆ TEB_ACTIVE_FRAME_EX

◆ THREAD_BASIC_INFORMATION

◆ THREAD_DESCRIPTOR_INFORMATION

◆ THREADINFOCLASS

◆ TIME_FIELDS

◆ TIMER_BASIC_INFORMATION

◆ TIMER_INFORMATION_CLASS

◆ UNICODE_STRING

◆ VM_COUNTERS

◆ WINSTATIONINFOCLASS

◆ WINSTATIONINFORMATIONW

Enumeration Type Documentation

◆ _ATOM_INFORMATION_CLASS

Enumerator
AtomBasicInformation 
AtomTableInformation 
AtomBasicInformation 
AtomTableInformation 

Definition at line 1764 of file winternl.h.

1764 {
enum _ATOM_INFORMATION_CLASS ATOM_INFORMATION_CLASS
@ AtomBasicInformation
Definition: winternl.h:1765
@ AtomTableInformation
Definition: winternl.h:1766

◆ _EVENT_INFORMATION_CLASS

Enumerator
EventBasicInformation 
EventBasicInformation 

Definition at line 2020 of file winternl.h.

2020 {
enum _EVENT_INFORMATION_CLASS EVENT_INFORMATION_CLASS
@ EventBasicInformation
Definition: winternl.h:2021
enum _EVENT_INFORMATION_CLASS * PEVENT_INFORMATION_CLASS

◆ _FILE_INFORMATION_CLASS

Enumerator
FileDirectoryInformation 
FileFullDirectoryInformation 
FileBothDirectoryInformation 
FileBasicInformation 
FileStandardInformation 
FileInternalInformation 
FileEaInformation 
FileAccessInformation 
FileNameInformation 
FileRenameInformation 
FileLinkInformation 
FileNamesInformation 
FileDispositionInformation 
FilePositionInformation 
FileFullEaInformation 
FileModeInformation 
FileAlignmentInformation 
FileAllInformation 
FileAllocationInformation 
FileEndOfFileInformation 
FileAlternateNameInformation 
FileStreamInformation 
FilePipeInformation 
FilePipeLocalInformation 
FilePipeRemoteInformation 
FileMailslotQueryInformation 
FileMailslotSetInformation 
FileCompressionInformation 
FileObjectIdInformation 
FileCompletionInformation 
FileMoveClusterInformation 
FileQuotaInformation 
FileReparsePointInformation 
FileNetworkOpenInformation 
FileAttributeTagInformation 
FileTrackingInformation 
FileIdBothDirectoryInformation 
FileIdFullDirectoryInformation 
FileValidDataLengthInformation 
FileShortNameInformation 
FileIoCompletionNotificationInformation 
FileIoStatusBlockRangeInformation 
FileIoPriorityHintInformation 
FileSfioReserveInformation 
FileSfioVolumeInformation 
FileHardLinkInformation 
FileProcessIdsUsingFileInformation 
FileNormalizedNameInformation 
FileNetworkPhysicalNameInformation 
FileIdGlobalTxDirectoryInformation 
FileMaximumInformation 
FileDirectoryInformation 
FileFullDirectoryInformation 
FileBothDirectoryInformation 
FileBasicInformation 
FileStandardInformation 
FileInternalInformation 
FileEaInformation 
FileAccessInformation 
FileNameInformation 
FileRenameInformation 
FileLinkInformation 
FileNamesInformation 
FileDispositionInformation 
FilePositionInformation 
FileFullEaInformation 
FileModeInformation 
FileAlignmentInformation 
FileAllInformation 
FileAllocationInformation 
FileEndOfFileInformation 
FileAlternateNameInformation 
FileStreamInformation 
FilePipeInformation 
FilePipeLocalInformation 
FilePipeRemoteInformation 
FileMailslotQueryInformation 
FileMailslotSetInformation 
FileCompressionInformation 
FileCopyOnWriteInformation 
FileCompletionInformation 
FileMoveClusterInformation 
FileOleClassIdInformation 
FileOleStateBitsInformation 
FileNetworkOpenInformation 
FileObjectIdInformation 
FileOleAllInformation 
FileOleDirectoryInformation 
FileContentIndexInformation 
FileInheritContentIndexInformation 
FileOleInformation 
FileMaximumInformation 
FileDirectoryInformation 
FileFullDirectoryInformation 
FileBothDirectoryInformation 
FileBasicInformation 
FileStandardInformation 
FileInternalInformation 
FileEaInformation 
FileAccessInformation 
FileNameInformation 
FileRenameInformation 
FileLinkInformation 
FileNamesInformation 
FileDispositionInformation 
FilePositionInformation 
FileFullEaInformation 
FileModeInformation 
FileAlignmentInformation 
FileAllInformation 
FileAllocationInformation 
FileEndOfFileInformation 
FileAlternateNameInformation 
FileStreamInformation 
FilePipeInformation 
FilePipeLocalInformation 
FilePipeRemoteInformation 
FileMailslotQueryInformation 
FileMailslotSetInformation 
FileCompressionInformation 
FileCopyOnWriteInformation 
FileCompletionInformation 
FileMoveClusterInformation 
FileOleClassIdInformation 
FileOleStateBitsInformation 
FileNetworkOpenInformation 
FileObjectIdInformation 
FileOleAllInformation 
FileOleDirectoryInformation 
FileContentIndexInformation 
FileInheritContentIndexInformation 
FileOleInformation 
FileMaximumInformation 
FileDirectoryInformation 
FileDirectoryInformation 
FileFullDirectoryInformation 
FileBothDirectoryInformation 
FileBasicInformation 
FileStandardInformation 
FileInternalInformation 
FileEaInformation 
FileAccessInformation 
FileNameInformation 
FileRenameInformation 
FileLinkInformation 
FileNamesInformation 
FileDispositionInformation 
FilePositionInformation 
FileFullEaInformation 
FileModeInformation 
FileAlignmentInformation 
FileAllInformation 
FileAllocationInformation 
FileEndOfFileInformation 
FileAlternateNameInformation 
FileStreamInformation 
FilePipeInformation 
FilePipeLocalInformation 
FilePipeRemoteInformation 
FileMailslotQueryInformation 
FileMailslotSetInformation 
FileCompressionInformation 
FileObjectIdInformation 
FileCompletionInformation 
FileMoveClusterInformation 
FileQuotaInformation 
FileReparsePointInformation 
FileNetworkOpenInformation 
FileAttributeTagInformation 
FileTrackingInformation 
FileIdBothDirectoryInformation 
FileIdFullDirectoryInformation 
FileValidDataLengthInformation 
FileShortNameInformation 
FileIoCompletionNotificationInformation 
FileIoStatusBlockRangeInformation 
FileIoPriorityHintInformation 
FileSfioReserveInformation 
FileSfioVolumeInformation 
FileHardLinkInformation 
FileProcessIdsUsingFileInformation 
FileNormalizedNameInformation 
FileNetworkPhysicalNameInformation 
FileIdGlobalTxDirectoryInformation 
FileIsRemoteDeviceInformation 
FileAttributeCacheInformation 
FileNumaNodeInformation 
FileStandardLinkInformation 
FileRemoteProtocolInformation 
FileRenameInformationBypassAccessCheck 
FileLinkInformationBypassAccessCheck 
FileVolumeNameInformation 
FileIdInformation 
FileIdExtdDirectoryInformation 
FileReplaceCompletionInformation 
FileHardLinkFullIdInformation 
FileIdExtdBothDirectoryInformation 
FileMaximumInformation 
FileDirectoryInformation 
FileFullDirectoryInformation 
FileBothDirectoryInformation 
FileBasicInformation 
FileStandardInformation 
FileInternalInformation 
FileEaInformation 
FileAccessInformation 
FileNameInformation 
FileRenameInformation 
FileLinkInformation 
FileNamesInformation 
FileDispositionInformation 
FilePositionInformation 
FileFullEaInformation 
FileModeInformation 
FileAlignmentInformation 
FileAllInformation 
FileAllocationInformation 
FileEndOfFileInformation 
FileAlternateNameInformation 
FileStreamInformation 
FilePipeInformation 
FilePipeLocalInformation 
FilePipeRemoteInformation 
FileMailslotQueryInformation 
FileMailslotSetInformation 
FileCompressionInformation 
FileObjectIdInformation 
FileCompletionInformation 
FileMoveClusterInformation 
FileQuotaInformation 
FileReparsePointInformation 
FileNetworkOpenInformation 
FileAttributeTagInformation 
FileTrackingInformation 
FileIdBothDirectoryInformation 
FileIdFullDirectoryInformation 
FileValidDataLengthInformation 
FileShortNameInformation 
FileIoCompletionNotificationInformation 
FileIoStatusBlockRangeInformation 
FileIoPriorityHintInformation 
FileSfioReserveInformation 
FileSfioVolumeInformation 
FileHardLinkInformation 
FileProcessIdsUsingFileInformation 
FileNormalizedNameInformation 
FileNetworkPhysicalNameInformation 
FileIdGlobalTxDirectoryInformation 
FileIsRemoteDeviceInformation 
FileAttributeCacheInformation 
FileNumaNodeInformation 
FileStandardLinkInformation 
FileRemoteProtocolInformation 
FileMaximumInformation 

Definition at line 446 of file winternl.h.

446 {
@ FileDirectoryInformation
Definition: winternl.h:161
enum _FILE_INFORMATION_CLASS FILE_INFORMATION_CLASS
@ FilePositionInformation
Definition: winternl.h:460
@ FileMoveClusterInformation
Definition: winternl.h:477
@ FilePipeLocalInformation
Definition: winternl.h:470
@ FileMaximumInformation
Definition: winternl.h:510
@ FileEndOfFileInformation
Definition: winternl.h:466
@ FileNameInformation
Definition: winternl.h:455
@ FileIdGlobalTxDirectoryInformation
Definition: winternl.h:496
@ FileQuotaInformation
Definition: winternl.h:478
@ FileCompressionInformation
Definition: winternl.h:474
@ FileIdExtdBothDirectoryInformation
Definition: winternl.h:509
@ FileHardLinkFullIdInformation
Definition: winternl.h:508
@ FileRemoteProtocolInformation
Definition: winternl.h:501
@ FileRenameInformation
Definition: winternl.h:456
@ FileAllInformation
Definition: winternl.h:464
@ FileVolumeNameInformation
Definition: winternl.h:504
@ FileStandardLinkInformation
Definition: winternl.h:500
@ FilePipeRemoteInformation
Definition: winternl.h:471
@ FileTrackingInformation
Definition: winternl.h:482
@ FileSfioVolumeInformation
Definition: winternl.h:491
@ FileIoPriorityHintInformation
Definition: winternl.h:489
@ FileLinkInformation
Definition: winternl.h:457
@ FileInternalInformation
Definition: winternl.h:452
@ FileAttributeTagInformation
Definition: winternl.h:481
@ FileStandardInformation
Definition: winternl.h:451
@ FileAlignmentInformation
Definition: winternl.h:463
@ FileReparsePointInformation
Definition: winternl.h:479
@ FileNormalizedNameInformation
Definition: winternl.h:494
@ FileObjectIdInformation
Definition: winternl.h:475
@ FileIdBothDirectoryInformation
Definition: winternl.h:483
@ FileEaInformation
Definition: winternl.h:453
@ FilePipeInformation
Definition: winternl.h:469
@ FileAlternateNameInformation
Definition: winternl.h:467
@ FileIoCompletionNotificationInformation
Definition: winternl.h:487
@ FileNamesInformation
Definition: winternl.h:458
@ FileMailslotSetInformation
Definition: winternl.h:473
@ FileIsRemoteDeviceInformation
Definition: winternl.h:497
@ FileValidDataLengthInformation
Definition: winternl.h:485
@ FileLinkInformationBypassAccessCheck
Definition: winternl.h:503
@ FileIdExtdDirectoryInformation
Definition: winternl.h:506
@ FileMailslotQueryInformation
Definition: winternl.h:472
@ FileIdInformation
Definition: winternl.h:505
@ FileAllocationInformation
Definition: winternl.h:465
@ FileCompletionInformation
Definition: winternl.h:476
@ FileAccessInformation
Definition: winternl.h:454
@ FileFullDirectoryInformation
Definition: winternl.h:448
@ FileRenameInformationBypassAccessCheck
Definition: winternl.h:502
@ FileSfioReserveInformation
Definition: winternl.h:490
@ FileReplaceCompletionInformation
Definition: winternl.h:507
@ FileNetworkOpenInformation
Definition: winternl.h:480
@ FileStreamInformation
Definition: winternl.h:468
@ FileModeInformation
Definition: winternl.h:462
@ FileBasicInformation
Definition: winternl.h:450
@ FileDispositionInformation
Definition: winternl.h:459
@ FileAttributeCacheInformation
Definition: winternl.h:498
@ FileShortNameInformation
Definition: winternl.h:486
@ FileNetworkPhysicalNameInformation
Definition: winternl.h:495
@ FileNumaNodeInformation
Definition: winternl.h:499
@ FileFullEaInformation
Definition: winternl.h:461
@ FileProcessIdsUsingFileInformation
Definition: winternl.h:493
@ FileBothDirectoryInformation
Definition: winternl.h:449
@ FileIoStatusBlockRangeInformation
Definition: winternl.h:488
@ FileHardLinkInformation
Definition: winternl.h:492
@ FileIdFullDirectoryInformation
Definition: winternl.h:484
enum _FILE_INFORMATION_CLASS * PFILE_INFORMATION_CLASS

◆ _FSINFOCLASS

Enumerator
FileFsVolumeInformation 
FileFsLabelInformation 
FileFsSizeInformation 
FileFsDeviceInformation 
FileFsAttributeInformation 
FileFsControlInformation 
FileFsFullSizeInformation 
FileFsObjectIdInformation 
FileFsDriverPathInformation 
FileFsVolumeFlagsInformation 
FileFsMaximumInformation 
FileFsVolumeInformation 
FileFsLabelInformation 
FileFsSizeInformation 
FileFsDeviceInformation 
FileFsAttributeInformation 
FileFsControlInformation 
FileFsQuotaQueryInformation 
FileFsQuotaSetInformation 
FileFsMaximumInformation 
FileFsVolumeInformation 
FileFsLabelInformation 
FileFsSizeInformation 
FileFsDeviceInformation 
FileFsAttributeInformation 
FileFsControlInformation 
FileFsFullSizeInformation 
FileFsObjectIdInformation 
FileFsDriverPathInformation 
FileFsMaximumInformation 
FileFsVolumeInformation 
FileFsLabelInformation 
FileFsSizeInformation 
FileFsDeviceInformation 
FileFsAttributeInformation 
FileFsControlInformation 
FileFsFullSizeInformation 
FileFsObjectIdInformation 
FileFsMaximumInformation 
FileFsVolumeInformation 
FileFsLabelInformation 
FileFsSizeInformation 
FileFsDeviceInformation 
FileFsAttributeInformation 
FileFsControlInformation 
FileFsFullSizeInformation 
FileFsObjectIdInformation 
FileFsDriverPathInformation 
FileFsVolumeFlagsInformation 
FileFsMaximumInformation 

Definition at line 815 of file winternl.h.

815 {
enum _FSINFOCLASS * PFS_INFORMATION_CLASS
@ FileFsControlInformation
Definition: winternl.h:821
@ FileFsDeviceInformation
Definition: winternl.h:819
@ FileFsLabelInformation
Definition: winternl.h:817
@ FileFsAttributeInformation
Definition: winternl.h:820
@ FileFsVolumeInformation
Definition: winternl.h:816
@ FileFsObjectIdInformation
Definition: winternl.h:823
@ FileFsSizeInformation
Definition: winternl.h:818
@ FileFsMaximumInformation
Definition: winternl.h:824
@ FileFsFullSizeInformation
Definition: winternl.h:822
enum _FSINFOCLASS FS_INFORMATION_CLASS

◆ _HARDERROR_RESPONSE

Enumerator
ResponseReturnToCaller 
ResponseNotHandled 
ResponseAbort 
ResponseCancel 
ResponseIgnore 
ResponseNo 
ResponseOk 
ResponseRetry 
ResponseYes 
ResponseTryAgain 
ResponseContinue 
ResponseReturnToCaller 
ResponseNotHandled 
ResponseAbort 
ResponseCancel 
ResponseIgnore 
ResponseNo 
ResponseOk 
ResponseRetry 
ResponseYes 

Definition at line 2190 of file winternl.h.

2190 {
2196 ResponseNo,
2197 ResponseOk,
enum _HARDERROR_RESPONSE * PHARDERROR_RESPONSE
@ ResponseNo
Definition: winternl.h:2196
@ ResponseNotHandled
Definition: winternl.h:2192
@ ResponseOk
Definition: winternl.h:2197
@ ResponseRetry
Definition: winternl.h:2198
@ ResponseReturnToCaller
Definition: winternl.h:2191
@ ResponseIgnore
Definition: winternl.h:2195
@ ResponseCancel
Definition: winternl.h:2194
@ ResponseYes
Definition: winternl.h:2199
@ ResponseAbort
Definition: winternl.h:2193
enum _HARDERROR_RESPONSE HARDERROR_RESPONSE

◆ _HARDERROR_RESPONSE_OPTION

Enumerator
OptionAbortRetryIgnore 
OptionOk 
OptionOkCancel 
OptionRetryCancel 
OptionYesNo 
OptionYesNoCancel 
OptionShutdownSystem 
OptionOkNoWait 
OptionCancelTryContinue 
OptionAbortRetryIgnore 
OptionOk 
OptionOkCancel 
OptionRetryCancel 
OptionYesNo 
OptionYesNoCancel 
OptionShutdownSystem 

Definition at line 2180 of file winternl.h.

2180 {
2182 OptionOk,
enum _HARDERROR_RESPONSE_OPTION HARDERROR_RESPONSE_OPTION
@ OptionYesNoCancel
Definition: winternl.h:2186
@ OptionYesNo
Definition: winternl.h:2185
@ OptionAbortRetryIgnore
Definition: winternl.h:2181
@ OptionShutdownSystem
Definition: winternl.h:2187
@ OptionOkCancel
Definition: winternl.h:2183
@ OptionRetryCancel
Definition: winternl.h:2184
@ OptionOk
Definition: winternl.h:2182
enum _HARDERROR_RESPONSE_OPTION * PHARDERROR_RESPONSE_OPTION

◆ _IO_COMPLETION_INFORMATION_CLASS

Enumerator
IoCompletionBasicInformation 
IoCompletionBasicInformation 

Definition at line 2167 of file winternl.h.

2167 {
enum _IO_COMPLETION_INFORMATION_CLASS IO_COMPLETION_INFORMATION_CLASS
enum _IO_COMPLETION_INFORMATION_CLASS * PIO_COMPLETION_INFORMATION_CLASS
@ IoCompletionBasicInformation
Definition: winternl.h:2168

◆ _KEY_INFORMATION_CLASS

Enumerator
KeyBasicInformation 
KeyNodeInformation 
KeyFullInformation 
KeyBasicInformation 
KeyNodeInformation 
KeyFullInformation 
KeyNameInformation 
KeyCachedInformation 
KeyFlagsInformation 
KeyVirtualizationInformation 
KeyHandleTagsInformation 
MaxKeyInfoClass 
KeyBasicInformation 
KeyNodeInformation 
KeyFullInformation 
KeyNameInformation 
KeyCachedInformation 
KeyFlagsInformation 
KeyVirtualizationInformation 
KeyHandleTagsInformation 
MaxKeyInfoClass 

Definition at line 827 of file winternl.h.

827 {
@ KeyFlagsInformation
Definition: winternl.h:833
@ KeyVirtualizationInformation
Definition: winternl.h:834
@ KeyCachedInformation
Definition: winternl.h:832
@ KeyNameInformation
Definition: winternl.h:831
@ KeyBasicInformation
Definition: winternl.h:828
@ KeyHandleTagsInformation
Definition: winternl.h:835
@ KeyNodeInformation
Definition: winternl.h:829
@ KeyFullInformation
Definition: winternl.h:830
@ MaxKeyInfoClass
Definition: winternl.h:836
enum _KEY_INFORMATION_CLASS KEY_INFORMATION_CLASS

◆ _KEY_VALUE_INFORMATION_CLASS

Enumerator
KeyValueBasicInformation 
KeyValueFullInformation 
KeyValuePartialInformation 
KeyValueBasicInformation 
KeyValueFullInformation 
KeyValuePartialInformation 
KeyValueFullInformationAlign64 
KeyValuePartialInformationAlign64 
KeyValueBasicInformation 
KeyValueFullInformation 
KeyValuePartialInformation 
KeyValueFullInformationAlign64 
KeyValuePartialInformationAlign64 
KeyValueBasicInformation 
KeyValueFullInformation 
KeyValuePartialInformation 
KeyValueFullInformationAlign64 
KeyValuePartialInformationAlign64 

Definition at line 839 of file winternl.h.

839 {
@ KeyValuePartialInformationAlign64
Definition: winternl.h:844
@ KeyValueBasicInformation
Definition: winternl.h:840
@ KeyValuePartialInformation
Definition: winternl.h:842
@ KeyValueFullInformation
Definition: winternl.h:841
@ KeyValueFullInformationAlign64
Definition: winternl.h:843
enum _KEY_VALUE_INFORMATION_CLASS KEY_VALUE_INFORMATION_CLASS

◆ _KPROFILE_SOURCE

Enumerator
ProfileTime 
ProfileAlignmentFixup 
ProfileTotalIssues 
ProfilePipelineDry 
ProfileLoadInstructions 
ProfilePipelineFrozen 
ProfileBranchInstructions 
ProfileTotalNonissues 
ProfileDcacheMisses 
ProfileIcacheMisses 
ProfileCacheMisses 
ProfileBranchMispredictions 
ProfileStoreInstructions 
ProfileFpInstructions 
ProfileIntegerInstructions 
Profile2Issue 
Profile3Issue 
Profile4Issue 
ProfileSpecialInstructions 
ProfileTotalCycles 
ProfileIcacheIssues 
ProfileDcacheAccesses 
ProfileMemoryBarrierCycles 
ProfileLoadLinkedIssues 
ProfileMaximum 
ProfileTime 
ProfileAlignmentFixup 
ProfileTotalIssues 
ProfilePipelineDry 
ProfileLoadInstructions 
ProfilePipelineFrozen 
ProfileBranchInstructions 
ProfileTotalNonissues 
ProfileDcacheMisses 
ProfileIcacheMisses 
ProfileCacheMisses 
ProfileBranchMispredictions 
ProfileStoreInstructions 
ProfileFpInstructions 
ProfileIntegerInstructions 
Profile2Issue 
Profile3Issue 
Profile4Issue 
ProfileSpecialInstructions 
ProfileTotalCycles 
ProfileIcacheIssues 
ProfileDcacheAccesses 
ProfileMemoryBarrierCycles 
ProfileLoadLinkedIssues 
ProfileMaximum 

Definition at line 2122 of file winternl.h.

2122 {
enum _KPROFILE_SOURCE * PKPROFILE_SOURCE
enum _KPROFILE_SOURCE KPROFILE_SOURCE
@ ProfileFpInstructions
Definition: winternl.h:2136
@ ProfileIntegerInstructions
Definition: winternl.h:2137
@ ProfileBranchMispredictions
Definition: winternl.h:2134
@ ProfileMaximum
Definition: winternl.h:2147
@ ProfileStoreInstructions
Definition: winternl.h:2135
@ ProfileAlignmentFixup
Definition: winternl.h:2124
@ ProfilePipelineDry
Definition: winternl.h:2126
@ ProfileMemoryBarrierCycles
Definition: winternl.h:2145
@ Profile3Issue
Definition: winternl.h:2139
@ ProfileLoadLinkedIssues
Definition: winternl.h:2146
@ ProfileDcacheMisses
Definition: winternl.h:2131
@ ProfileIcacheIssues
Definition: winternl.h:2143
@ ProfileIcacheMisses
Definition: winternl.h:2132
@ ProfileTotalNonissues
Definition: winternl.h:2130
@ ProfileTime
Definition: winternl.h:2123
@ ProfileSpecialInstructions
Definition: winternl.h:2141
@ Profile2Issue
Definition: winternl.h:2138
@ ProfileTotalCycles
Definition: winternl.h:2142
@ ProfileBranchInstructions
Definition: winternl.h:2129
@ ProfilePipelineFrozen
Definition: winternl.h:2128
@ ProfileDcacheAccesses
Definition: winternl.h:2144
@ ProfileLoadInstructions
Definition: winternl.h:2127
@ ProfileTotalIssues
Definition: winternl.h:2125
@ Profile4Issue
Definition: winternl.h:2140
@ ProfileCacheMisses
Definition: winternl.h:2133

◆ _MEMORY_INFORMATION_CLASS

Enumerator
MemoryBasicInformation 
MemoryWorkingSetList 
MemorySectionName 
MemoryBasicVlmInformation 
MemoryWorkingSetExList 
MemoryBasicInformation 
MemoryWorkingSetList 
MemorySectionName 
MemoryBasicVlmInformation 

Definition at line 1070 of file winternl.h.

1070 {
@ MemoryBasicInformation
Definition: winternl.h:1071
@ MemorySectionName
Definition: winternl.h:1073
@ MemoryWorkingSetList
Definition: winternl.h:1072
@ MemoryBasicVlmInformation
Definition: winternl.h:1074
enum _MEMORY_INFORMATION_CLASS MEMORY_INFORMATION_CLASS

◆ _MUTANT_INFORMATION_CLASS

Enumerator
MutantBasicInformation 
MutantOwnerInformation 
MutantBasicInformation 

Definition at line 1082 of file winternl.h.

1083{
enum _MUTANT_INFORMATION_CLASS MUTANT_INFORMATION_CLASS
enum _MUTANT_INFORMATION_CLASS * PMUTANT_INFORMATION_CLASS
@ MutantBasicInformation
Definition: winternl.h:1084

◆ _OBJECT_INFORMATION_CLASS

Enumerator
ObjectBasicInformation 
ObjectNameInformation 
ObjectTypeInformation 
ObjectAllTypesInformation 
ObjectHandleInformation 
ObjectBasicInformation 
ObjectTypeInformation 
ObjectBasicInformation 
ObjectNameInformation 
ObjectTypeInformation 
ObjectTypesInformation 
ObjectDataInformation 

Definition at line 847 of file winternl.h.

847 {
enum _OBJECT_INFORMATION_CLASS OBJECT_INFORMATION_CLASS
@ ObjectTypeInformation
Definition: winternl.h:440
@ ObjectBasicInformation
Definition: winternl.h:439
@ ObjectDataInformation
Definition: winternl.h:852
@ ObjectNameInformation
Definition: winternl.h:849
@ ObjectTypesInformation
Definition: winternl.h:851
enum _OBJECT_INFORMATION_CLASS * POBJECT_INFORMATION_CLASS

◆ _PORT_INFORMATION_CLASS

Enumerator
PortNoInformation 
PortNoInformation 

Definition at line 2163 of file winternl.h.

2163 {
enum _PORT_INFORMATION_CLASS * PPORT_INFORMATION_CLASS
@ PortNoInformation
Definition: winternl.h:2164
enum _PORT_INFORMATION_CLASS PORT_INFORMATION_CLASS

◆ _PROCESSINFOCLASS

Enumerator
ProcessBasicInformation 
ProcessDebugPort 
ProcessWow64Information 
ProcessImageFileName 
ProcessBreakOnTermination 
ProcessBasicInformation 
ProcessQuotaLimits 
ProcessIoCounters 
ProcessVmCounters 
ProcessTimes 
ProcessBasePriority 
ProcessRaisePriority 
ProcessDebugPort 
ProcessExceptionPort 
ProcessAccessToken 
ProcessLdtInformation 
ProcessLdtSize 
ProcessDefaultHardErrorMode 
ProcessIoPortHandlers 
ProcessPooledUsageAndLimits 
ProcessWorkingSetWatch 
ProcessUserModeIOPL 
ProcessEnableAlignmentFaultFixup 
ProcessPriorityClass 
ProcessWx86Information 
ProcessHandleCount 
ProcessAffinityMask 
ProcessPriorityBoost 
ProcessDeviceMap 
ProcessSessionInformation 
ProcessForegroundInformation 
ProcessWow64Information 
ProcessImageFileName 
ProcessLUIDDeviceMapsEnabled 
ProcessBreakOnTermination 
ProcessDebugObjectHandle 
ProcessDebugFlags 
ProcessHandleTracing 
ProcessExecuteFlags 
ProcessTlsInformation 
ProcessCookie 
ProcessImageInformation 
ProcessCycleTime 
ProcessPagePriority 
ProcessInstrumentationCallback 
ProcessThreadStackAllocation 
ProcessWorkingSetWatchEx 
ProcessImageFileNameWin32 
ProcessImageFileMapping 
ProcessAffinityUpdateMode 
ProcessMemoryAllocationMode 
ProcessGroupInformation 
ProcessTokenVirtualizationEnabled 
ProcessConsoleHostProcess 
ProcessWindowInformation 
MaxProcessInfoClass 
ProcessBasicInformation 
ProcessQuotaLimits 
ProcessIoCounters 
ProcessVmCounters 
ProcessTimes 
ProcessBasePriority 
ProcessRaisePriority 
ProcessDebugPort 
ProcessExceptionPort 
ProcessAccessToken 
ProcessLdtInformation 
ProcessLdtSize 
ProcessDefaultHardErrorMode 
ProcessIoPortHandlers 
ProcessPooledUsageAndLimits 
ProcessWorkingSetWatch 
ProcessUserModeIOPL 
ProcessEnableAlignmentFaultFixup 
ProcessPriorityClass 
ProcessWx86Information 
ProcessHandleCount 
ProcessAffinityMask 
ProcessPriorityBoost 
ProcessDeviceMap 
ProcessSessionInformation 
ProcessForegroundInformation 
ProcessWow64Information 
ProcessImageFileName 
ProcessLUIDDeviceMapsEnabled 
ProcessBreakOnTermination 
ProcessDebugObjectHandle 
ProcessDebugFlags 
ProcessHandleTracing 
ProcessIoPriority 
ProcessExecuteFlags 
ProcessTlsInformation 
ProcessCookie 
ProcessImageInformation 
ProcessCycleTime 
ProcessPagePriority 
ProcessInstrumentationCallback 
ProcessThreadStackAllocation 
ProcessWorkingSetWatchEx 
ProcessImageFileNameWin32 
ProcessImageFileMapping 
ProcessAffinityUpdateMode 
ProcessMemoryAllocationMode 
ProcessGroupInformation 
ProcessTokenVirtualizationEnabled 
ProcessConsoleHostProcess 
ProcessWindowInformation 
MaxProcessInfoClass 
ProcessBasicInformation 
ProcessDebugPort 
ProcessWow64Information 
ProcessImageFileName 
ProcessBreakOnTermination 

Definition at line 855 of file winternl.h.

855 {
860 ProcessTimes = 4,
867 ProcessLdtSize = 11,
879 ProcessDeviceMap = 23,
891 ProcessCookie = 36,
893 ProcessCycleTime = 38,
@ ProcessDebugPort
Definition: winternl.h:395
@ ProcessBreakOnTermination
Definition: winternl.h:398
@ ProcessBasicInformation
Definition: winternl.h:394
@ ProcessWow64Information
Definition: winternl.h:396
@ ProcessImageFileName
Definition: winternl.h:397
enum _PROCESSINFOCLASS PROCESSINFOCLASS
Definition: loader.c:63
@ ProcessPagePriority
Definition: winternl.h:894
@ ProcessLUIDDeviceMapsEnabled
Definition: winternl.h:884
@ ProcessMemoryAllocationMode
Definition: winternl.h:901
@ ProcessTlsInformation
Definition: winternl.h:890
@ ProcessWx86Information
Definition: winternl.h:875
@ ProcessDebugFlags
Definition: winternl.h:887
@ MaxProcessInfoClass
Definition: winternl.h:906
@ ProcessConsoleHostProcess
Definition: winternl.h:904
@ ProcessSessionInformation
Definition: winternl.h:880
@ ProcessWorkingSetWatchEx
Definition: winternl.h:897
@ ProcessAffinityMask
Definition: winternl.h:877
@ ProcessInstrumentationCallback
Definition: winternl.h:895
@ ProcessImageFileMapping
Definition: winternl.h:899
@ ProcessIoPortHandlers
Definition: winternl.h:869
@ ProcessRaisePriority
Definition: winternl.h:862
@ ProcessVmCounters
Definition: winternl.h:859
@ ProcessPriorityClass
Definition: winternl.h:874
@ ProcessPriorityBoost
Definition: winternl.h:878
@ ProcessTokenVirtualizationEnabled
Definition: winternl.h:903
@ ProcessImageInformation
Definition: winternl.h:892
@ ProcessExecuteFlags
Definition: winternl.h:889
@ ProcessCookie
Definition: winternl.h:891
@ ProcessPooledUsageAndLimits
Definition: winternl.h:870
@ ProcessLdtSize
Definition: winternl.h:867
@ ProcessIoCounters
Definition: winternl.h:858
@ ProcessImageFileNameWin32
Definition: winternl.h:898
@ ProcessDefaultHardErrorMode
Definition: winternl.h:868
@ ProcessAffinityUpdateMode
Definition: winternl.h:900
@ ProcessEnableAlignmentFaultFixup
Definition: winternl.h:873
@ ProcessDeviceMap
Definition: winternl.h:879
@ ProcessBasePriority
Definition: winternl.h:861
@ ProcessQuotaLimits
Definition: winternl.h:857
@ ProcessCycleTime
Definition: winternl.h:893
@ ProcessAccessToken
Definition: winternl.h:865
@ ProcessHandleTracing
Definition: winternl.h:888
@ ProcessThreadStackAllocation
Definition: winternl.h:896
@ ProcessForegroundInformation
Definition: winternl.h:881
@ ProcessWindowInformation
Definition: winternl.h:905
@ ProcessTimes
Definition: winternl.h:860
@ ProcessDebugObjectHandle
Definition: winternl.h:886
@ ProcessExceptionPort
Definition: winternl.h:864
@ ProcessWorkingSetWatch
Definition: winternl.h:871
@ ProcessGroupInformation
Definition: winternl.h:902
@ ProcessLdtInformation
Definition: winternl.h:866
@ ProcessHandleCount
Definition: winternl.h:876
@ ProcessUserModeIOPL
Definition: winternl.h:872
enum _PROCESSINFOCLASS PROCESS_INFORMATION_CLASS

◆ _SECTION_INFORMATION_CLASS

Enumerator
SectionBasicInformation 
SectionImageInformation 
SectionBasicInformation 
SectionImageInformation 

Definition at line 2038 of file winternl.h.

2039{
enum _SECTION_INFORMATION_CLASS SECTION_INFORMATION_CLASS
@ SectionBasicInformation
Definition: winternl.h:2040
@ SectionImageInformation
Definition: winternl.h:2041

◆ _SECTION_INHERIT

Enumerator
ViewShare 
ViewUnmap 
ViewShare 
ViewUnmap 
ViewShare 
ViewUnmap 

Definition at line 914 of file winternl.h.

914 {
915 ViewShare = 1,
916 ViewUnmap = 2
enum _SECTION_INHERIT SECTION_INHERIT
@ ViewUnmap
Definition: winternl.h:916
@ ViewShare
Definition: winternl.h:915

◆ _SEMAPHORE_INFORMATION_CLASS

Enumerator
SemaphoreBasicInformation 
SemaphoreBasicInformation 

Definition at line 2029 of file winternl.h.

2029 {
@ SemaphoreBasicInformation
Definition: winternl.h:2030
enum _SEMAPHORE_INFORMATION_CLASS * PSEMAPHORE_INFORMATION_CLASS
enum _SEMAPHORE_INFORMATION_CLASS SEMAPHORE_INFORMATION_CLASS

◆ _SHUTDOWN_ACTION

Enumerator
ShutdownNoReboot 
ShutdownReboot 
ShutdownPowerOff 
ShutdownNoReboot 
ShutdownReboot 
ShutdownPowerOff 

Definition at line 2116 of file winternl.h.

2116 {
@ ShutdownReboot
Definition: winternl.h:2118
@ ShutdownPowerOff
Definition: winternl.h:2119
@ ShutdownNoReboot
Definition: winternl.h:2117
enum _SHUTDOWN_ACTION SHUTDOWN_ACTION
enum _SHUTDOWN_ACTION * PSHUTDOWN_ACTION

◆ _SYSDBG_COMMAND

Enumerator
SysDbgQueryModuleInformation 
SysDbgQueryTraceInformation 
SysDbgSetTracepoint 
SysDbgSetSpecialCall 
SysDbgClearSpecialCalls 
SysDbgQuerySpecialCalls 
SysDbgBreakPoint 
SysDbgQueryVersion 
SysDbgReadVirtual 
SysDbgWriteVirtual 
SysDbgReadPhysical 
SysDbgWritePhysical 
SysDbgReadControlSpace 
SysDbgWriteControlSpace 
SysDbgReadIoSpace 
SysDbgWriteIoSpace 
SysDbgReadMsr 
SysDbgWriteMsr 
SysDbgReadBusData 
SysDbgWriteBusData 
SysDbgCheckLowMemory 
SysDbgEnableKernelDebugger 
SysDbgDisableKernelDebugger 
SysDbgGetAutoKdEnable 
SysDbgSetAutoKdEnable 
SysDbgGetPrintBufferSize 
SysDbgSetPrintBufferSize 
SysDbgGetKdUmExceptionEnable 
SysDbgSetKdUmExceptionEnable 
SysDbgGetTriageDump 
SysDbgGetKdBlockEnable 
SysDbgSetKdBlockEnable 
SysDbgRegisterForUmBreakInfo 
SysDbgGetUmBreakPid 
SysDbgClearUmBreakPid 
SysDbgGetUmAttachPid 
SysDbgClearUmAttachPid 
SysDbgQueryModuleInformation 
SysDbgQueryTraceInformation 
SysDbgSetTracepoint 
SysDbgSetSpecialCall 
SysDbgClearSpecialCalls 
SysDbgQuerySpecialCalls 
SysDbgBreakPoint 
SysDbgQueryVersion 
SysDbgReadVirtual 
SysDbgWriteVirtual 
SysDbgReadPhysical 
SysDbgWritePhysical 
SysDbgReadControlSpace 
SysDbgWriteControlSpace 
SysDbgReadIoSpace 
SysDbgWriteIoSpace 
SysDbgReadMsr 
SysDbgWriteMsr 
SysDbgReadBusData 
SysDbgWriteBusData 

Definition at line 2202 of file winternl.h.

2202 {
enum _SYSDBG_COMMAND * PSYSDBG_COMMAND
@ SysDbgQuerySpecialCalls
Definition: winternl.h:2208
@ SysDbgSetTracepoint
Definition: winternl.h:2205
@ SysDbgReadPhysical
Definition: winternl.h:2213
@ SysDbgQueryTraceInformation
Definition: winternl.h:2204
@ SysDbgClearSpecialCalls
Definition: winternl.h:2207
@ SysDbgReadMsr
Definition: winternl.h:2219
@ SysDbgWriteControlSpace
Definition: winternl.h:2216
@ SysDbgWriteBusData
Definition: winternl.h:2222
@ SysDbgWriteVirtual
Definition: winternl.h:2212
@ SysDbgWritePhysical
Definition: winternl.h:2214
@ SysDbgQueryVersion
Definition: winternl.h:2210
@ SysDbgReadControlSpace
Definition: winternl.h:2215
@ SysDbgReadBusData
Definition: winternl.h:2221
@ SysDbgBreakPoint
Definition: winternl.h:2209
@ SysDbgReadIoSpace
Definition: winternl.h:2217
@ SysDbgWriteMsr
Definition: winternl.h:2220
@ SysDbgReadVirtual
Definition: winternl.h:2211
@ SysDbgQueryModuleInformation
Definition: winternl.h:2203
@ SysDbgWriteIoSpace
Definition: winternl.h:2218
@ SysDbgSetSpecialCall
Definition: winternl.h:2206
enum _SYSDBG_COMMAND SYSDBG_COMMAND

◆ _SYSTEM_INFORMATION_CLASS

Enumerator
SystemBasicInformation 
SystemProcessorInformation 
SystemPerformanceInformation 
SystemTimeOfDayInformation 
SystemPathInformation 
SystemProcessInformation 
SystemCallCountInformation 
SystemDeviceInformation 
SystemProcessorPerformanceInformation 
SystemFlagsInformation 
SystemCallTimeInformation 
SystemModuleInformation 
SystemLocksInformation 
SystemStackTraceInformation 
SystemPagedPoolInformation 
SystemNonPagedPoolInformation 
SystemHandleInformation 
SystemObjectInformation 
SystemPageFileInformation 
SystemVdmInstemulInformation 
SystemVdmBopInformation 
SystemFileCacheInformation 
SystemPoolTagInformation 
SystemInterruptInformation 
SystemDpcBehaviorInformation 
SystemFullMemoryInformation 
SystemLoadGdiDriverInformation 
SystemUnloadGdiDriverInformation 
SystemTimeAdjustmentInformation 
SystemSummaryMemoryInformation 
SystemNextEventIdInformation 
SystemEventIdsInformation 
SystemCrashDumpInformation 
SystemExceptionInformation 
SystemCrashDumpStateInformation 
SystemKernelDebuggerInformation 
SystemContextSwitchInformation 
SystemRegistryQuotaInformation 
SystemExtendServiceTableInformation 
SystemPrioritySeperation 
SystemPlugPlayBusInformation 
SystemDockInformation 
SystemPowerInformation 
SystemProcessorSpeedInformation 
SystemCurrentTimeZoneInformation 
SystemLookasideInformation 
SystemBasicInformation 
SystemProcessorInformation 
SystemPerformanceInformation 
SystemTimeOfDayInformation 
SystemPathInformation 
SystemProcessInformation 
SystemCallCountInformation 
SystemDeviceInformation 
SystemProcessorPerformanceInformation 
SystemFlagsInformation 
SystemCallTimeInformation 
SystemModuleInformation 
SystemLocksInformation 
SystemStackTraceInformation 
SystemPagedPoolInformation 
SystemNonPagedPoolInformation 
SystemHandleInformation 
SystemObjectInformation 
SystemPageFileInformation 
SystemVdmInstemulInformation 
SystemVdmBopInformation 
SystemFileCacheInformation 
SystemPoolTagInformation 
SystemInterruptInformation 
SystemDpcBehaviorInformation 
SystemFullMemoryInformation 
SystemLoadGdiDriverInformation 
SystemUnloadGdiDriverInformation 
SystemTimeAdjustmentInformation 
SystemSummaryMemoryInformation 
SystemNextEventIdInformation 
SystemEventIdsInformation 
SystemCrashDumpInformation 
SystemExceptionInformation 
SystemCrashDumpStateInformation 
SystemKernelDebuggerInformation 
SystemContextSwitchInformation 
SystemRegistryQuotaInformation 
SystemExtendServiceTableInformation 
SystemPrioritySeperation 
SystemPlugPlayBusInformation 
SystemDockInformation 
SystemPowerInformation 
SystemProcessorSpeedInformation 
SystemCurrentTimeZoneInformation 
SystemLookasideInformation 
SystemBasicInformation 
SystemProcessorInformation 
SystemPerformanceInformation 
SystemTimeOfDayInformation 
SystemPathInformation 
SystemProcessInformation 

Obsolete: Use KUSER_SHARED_DATA.

SystemCallCountInformation 
SystemDeviceInformation 
SystemProcessorPerformanceInformation 
SystemFlagsInformation 
SystemCallTimeInformation 
SystemModuleInformation 
SystemLocksInformation 
SystemStackTraceInformation 
SystemPagedPoolInformation 
SystemNonPagedPoolInformation 
SystemHandleInformation 
SystemObjectInformation 
SystemPageFileInformation 
SystemVdmInstemulInformation 
SystemVdmBopInformation 
SystemFileCacheInformation 
SystemPoolTagInformation 
SystemInterruptInformation 
SystemDpcBehaviorInformation 
SystemFullMemoryInformation 
SystemLoadGdiDriverInformation 
SystemUnloadGdiDriverInformation 
SystemTimeAdjustmentInformation 
SystemSummaryMemoryInformation 
SystemMirrorMemoryInformation 
SystemPerformanceTraceInformation 
SystemObsolete0 
SystemExceptionInformation 
SystemCrashDumpStateInformation 
SystemKernelDebuggerInformation 
SystemContextSwitchInformation 
SystemRegistryQuotaInformation 
SystemExtendServiceTableInformation 
SystemPrioritySeperation 
SystemPlugPlayBusInformation 
SystemDockInformation 
SystemPowerInformationNative 
SystemProcessorSpeedInformation 
SystemCurrentTimeZoneInformation 
SystemLookasideInformation 
SystemTimeSlipNotification 
SystemSessionCreate 
SystemSessionDetach 
SystemSessionInformation 
SystemRangeStartInformation 
SystemVerifierInformation 
SystemAddVerifier 
SystemSessionProcessesInformation 
SystemLoadGdiDriverInSystemSpaceInformation 
SystemNumaProcessorMap 
SystemPrefetcherInformation 
SystemExtendedProcessInformation 
SystemRecommendedSharedDataAlignment 
SystemComPlusPackage 
SystemNumaAvailableMemory 
SystemProcessorPowerInformation 
SystemEmulationBasicInformation 
SystemEmulationProcessorInformation 
SystemExtendedHandleInformation 
SystemLostDelayedWriteInformation 
SystemBigPoolInformation 
SystemSessionPoolTagInformation 
SystemSessionMappedViewInformation 
SystemHotpatchInformation 
SystemObjectSecurityMode 
SystemWatchDogTimerHandler 
SystemWatchDogTimerInformation 
SystemLogicalProcessorInformation 
SystemWow64SharedInformationObsolete 
SystemRegisterFirmwareTableInformationHandler 
SystemFirmwareTableInformation 
SystemModuleInformationEx 
SystemVerifierTriageInformation 
SystemSuperfetchInformation 
SystemMemoryListInformation 
SystemFileCacheInformationEx 
SystemThreadPriorityClientIdInformation 
SystemProcessorIdleCycleTimeInformation 
SystemVerifierCancellationInformation 
SystemProcessorPowerInformationEx 
SystemRefTraceInformation 
SystemSpecialPoolInformation 
SystemProcessIdInformation 
SystemErrorPortInformation 
SystemBootEnvironmentInformation 
SystemHypervisorInformation 
SystemVerifierInformationEx 
SystemTimeZoneInformation 
SystemImageFileExecutionOptionsInformation 
SystemCoverageInformation 
SystemPrefetchPathInformation 
SystemVerifierFaultsInformation 
MaxSystemInfoClass 
SystemBasicInformation 
SystemPerformanceInformation 
SystemTimeOfDayInformation 
SystemProcessInformation 
SystemProcessorPerformanceInformation 
SystemInterruptInformation 
SystemExceptionInformation 
SystemRegistryQuotaInformation 
SystemLookasideInformation 
SystemPolicyInformation 
SystemBasicInformation 
SystemCpuInformation 
SystemPerformanceInformation 
SystemTimeOfDayInformation 
Unknown4 
SystemProcessInformation 
Unknown6 
Unknown7 
SystemProcessorPerformanceInformation 
Unknown9 
Unknown10 
SystemModuleInformation 
Unknown12 
Unknown13 
Unknown14 
Unknown15 
SystemHandleInformation 
Unknown17 
SystemPageFileInformation 
Unknown19 
Unknown20 
SystemCacheInformation 
Unknown22 
SystemInterruptInformation 
SystemDpcBehaviourInformation 
SystemFullMemoryInformation 
SystemNotImplemented6 
SystemLoadImage 
SystemUnloadImage 
SystemTimeAdjustmentInformation 
SystemTimeAdjustment 
SystemSummaryMemoryInformation 
SystemNotImplemented7 
SystemNextEventIdInformation 
SystemNotImplemented8 
SystemEventIdsInformation 
SystemCrashDumpInformation 
SystemExceptionInformation 
SystemCrashDumpStateInformation 
SystemKernelDebuggerInformation 
SystemContextSwitchInformation 
SystemRegistryQuotaInformation 
SystemCurrentTimeZoneInformation 
SystemTimeZoneInformation 
SystemLookasideInformation 
SystemSetTimeSlipEvent 
SystemCreateSession 
SystemDeleteSession 
SystemInvalidInfoClass4 
SystemRangeStartInformation 
SystemVerifierInformation 
SystemAddVerifier 
SystemSessionProcessesInformation 
SystemLoadGdiDriverInSystemSpace 
SystemNumaProcessorMap 
SystemPrefetcherInformation 
SystemExtendedProcessInformation 
SystemRecommendedSharedDataAlignment 
SystemComPlusPackage 
SystemNumaAvailableMemory 
SystemProcessorPowerInformation 
SystemEmulationBasicInformation 
SystemEmulationProcessorInformation 
SystemExtendedHandleInformation 
SystemLostDelayedWriteInformation 
SystemBigPoolInformation 
SystemSessionPoolTagInformation 
SystemSessionMappedViewInformation 
SystemHotpatchInformation 
SystemObjectSecurityMode 
SystemWatchdogTimerHandler 
SystemWatchdogTimerInformation 
SystemLogicalProcessorInformation 
SystemWow64SharedInformation 
SystemRegisterFirmwareTableInformationHandler 
SystemFirmwareTableInformation 
SystemModuleInformationEx 
SystemVerifierTriageInformation 
SystemSuperfetchInformation 
SystemMemoryListInformation 
SystemFileCacheInformationEx 
SystemLogicalProcessorInformationEx 
SystemInformationClassMax 

Definition at line 919 of file winternl.h.

919 {
923 SystemTimeOfDayInformation = 3, /* was SystemTimeInformation */
924 Unknown4,
926 Unknown6,
927 Unknown7,
929 Unknown9,
930 Unknown10,
932 Unknown12,
933 Unknown13,
934 Unknown14,
935 Unknown15,
937 Unknown17,
939 Unknown19,
940 Unknown20,
942 Unknown22,
947 SystemLoadImage = 26,
@ SystemTimeOfDayInformation
Definition: winternl.h:474
@ SystemExceptionInformation
Definition: winternl.h:478
@ SystemBasicInformation
Definition: winternl.h:472
@ SystemLookasideInformation
Definition: winternl.h:480
@ SystemRegistryQuotaInformation
Definition: winternl.h:479
@ SystemInterruptInformation
Definition: winternl.h:477
@ SystemProcessInformation
Definition: winternl.h:475
@ SystemPerformanceInformation
Definition: winternl.h:473
@ SystemProcessorPerformanceInformation
Definition: winternl.h:476
enum _SYSTEM_INFORMATION_CLASS SYSTEM_INFORMATION_CLASS
enum _SYSTEM_INFORMATION_CLASS * PSYSTEM_INFORMATION_CLASS
@ SystemCurrentTimeZoneInformation
Definition: winternl.h:962
@ SystemSuperfetchInformation
Definition: winternl.h:998
@ SystemTimeAdjustment
Definition: winternl.h:950
@ SystemKernelDebuggerInformation
Definition: winternl.h:959
@ SystemProcessorPowerInformation
Definition: winternl.h:980
@ SystemFirmwareTableInformation
Definition: winternl.h:995
@ SystemCacheInformation
Definition: winternl.h:941
@ Unknown7
Definition: winternl.h:927
@ SystemLogicalProcessorInformation
Definition: winternl.h:992
@ SystemModuleInformation
Definition: winternl.h:931
@ SystemMemoryListInformation
Definition: winternl.h:999
@ SystemVerifierTriageInformation
Definition: winternl.h:997
@ SystemInvalidInfoClass4
Definition: winternl.h:968
@ SystemVerifierInformation
Definition: winternl.h:970
@ Unknown15
Definition: winternl.h:935
@ SystemEmulationBasicInformation
Definition: winternl.h:981
@ SystemBigPoolInformation
Definition: winternl.h:985
@ SystemSessionProcessesInformation
Definition: winternl.h:972
@ SystemNotImplemented8
Definition: winternl.h:954
@ SystemNotImplemented7
Definition: winternl.h:952
@ Unknown20
Definition: winternl.h:940
@ SystemModuleInformationEx
Definition: winternl.h:996
@ SystemDeleteSession
Definition: winternl.h:967
@ SystemCpuInformation
Definition: winternl.h:921
@ Unknown22
Definition: winternl.h:942
@ Unknown14
Definition: winternl.h:934
@ SystemCrashDumpInformation
Definition: winternl.h:956
@ SystemLostDelayedWriteInformation
Definition: winternl.h:984
@ SystemNextEventIdInformation
Definition: winternl.h:953
@ SystemRecommendedSharedDataAlignment
Definition: winternl.h:977
@ SystemExtendedHandleInformation
Definition: winternl.h:983
@ SystemWatchdogTimerHandler
Definition: winternl.h:990
@ Unknown13
Definition: winternl.h:933
@ SystemTimeZoneInformation
Definition: winternl.h:963
@ Unknown4
Definition: winternl.h:924
@ SystemSessionMappedViewInformation
Definition: winternl.h:987
@ SystemHandleInformation
Definition: winternl.h:936
@ SystemEmulationProcessorInformation
Definition: winternl.h:982
@ SystemLogicalProcessorInformationEx
Definition: winternl.h:1001
@ Unknown10
Definition: winternl.h:930
@ SystemEventIdsInformation
Definition: winternl.h:955
@ SystemInformationClassMax
Definition: winternl.h:1002
@ SystemWatchdogTimerInformation
Definition: winternl.h:991
@ SystemSetTimeSlipEvent
Definition: winternl.h:965
@ SystemExtendedProcessInformation
Definition: winternl.h:976
@ SystemContextSwitchInformation
Definition: winternl.h:960
@ SystemTimeAdjustmentInformation
Definition: winternl.h:949
@ SystemFullMemoryInformation
Definition: winternl.h:945
@ Unknown12
Definition: winternl.h:932
@ SystemNumaProcessorMap
Definition: winternl.h:974
@ SystemCreateSession
Definition: winternl.h:966
@ SystemRangeStartInformation
Definition: winternl.h:969
@ SystemObjectSecurityMode
Definition: winternl.h:989
@ SystemRegisterFirmwareTableInformationHandler
Definition: winternl.h:994
@ Unknown19
Definition: winternl.h:939
@ SystemPageFileInformation
Definition: winternl.h:938
@ Unknown17
Definition: winternl.h:937
@ SystemLoadImage
Definition: winternl.h:947
@ SystemComPlusPackage
Definition: winternl.h:978
@ Unknown9
Definition: winternl.h:929
@ SystemSessionPoolTagInformation
Definition: winternl.h:986
@ SystemWow64SharedInformation
Definition: winternl.h:993
@ SystemAddVerifier
Definition: winternl.h:971
@ SystemNotImplemented6
Definition: winternl.h:946
@ SystemFileCacheInformationEx
Definition: winternl.h:1000
@ SystemUnloadImage
Definition: winternl.h:948
@ SystemSummaryMemoryInformation
Definition: winternl.h:951
@ SystemHotpatchInformation
Definition: winternl.h:988
@ SystemDpcBehaviourInformation
Definition: winternl.h:944
@ SystemCrashDumpStateInformation
Definition: winternl.h:958
@ SystemLoadGdiDriverInSystemSpace
Definition: winternl.h:973
@ SystemNumaAvailableMemory
Definition: winternl.h:979
@ SystemPrefetcherInformation
Definition: winternl.h:975
@ Unknown6
Definition: winternl.h:926

◆ _THREADINFOCLASS

Enumerator
ThreadBasicInformation 
ThreadTimes 
ThreadPriority 
ThreadBasePriority 
ThreadAffinityMask 
ThreadImpersonationToken 
ThreadDescriptorTableEntry 
ThreadEnableAlignmentFaultFixup 
ThreadEventPair_Reusable 
ThreadQuerySetWin32StartAddress 
ThreadZeroTlsCell 
ThreadPerformanceCount 
ThreadAmILastThread 
ThreadIdealProcessor 
ThreadPriorityBoost 
ThreadSetTlsArrayAddress 
ThreadIsIoPending 
ThreadHideFromDebugger 
ThreadBreakOnTermination 
ThreadSwitchLegacyState 
ThreadIsTerminated 
ThreadLastSystemCall 
ThreadIoPriority 
ThreadCycleTime 
ThreadPagePriority 
ThreadActualBasePriority 
ThreadTebInformation 
ThreadCSwitchMon 
ThreadCSwitchPmu 
ThreadWow64Context 
ThreadGroupInformation 
ThreadUmsInformation 
ThreadCounterProfiling 
ThreadIdealProcessorEx 
MaxThreadInfoClass 
ThreadIsIoPending 
ThreadBasicInformation 
ThreadTimes 
ThreadPriority 
ThreadBasePriority 
ThreadAffinityMask 
ThreadImpersonationToken 
ThreadDescriptorTableEntry 
ThreadEnableAlignmentFaultFixup 
ThreadEventPair_Reusable 
ThreadQuerySetWin32StartAddress 
ThreadZeroTlsCell 
ThreadPerformanceCount 
ThreadAmILastThread 
ThreadIdealProcessor 
ThreadPriorityBoost 
ThreadSetTlsArrayAddress 
ThreadIsIoPending 
ThreadHideFromDebugger 
ThreadBreakOnTermination 
ThreadSwitchLegacyState 
ThreadIsTerminated 
ThreadLastSystemCall 
ThreadIoPriority 
ThreadCycleTime 
ThreadPagePriority 
ThreadActualBasePriority 
ThreadTebInformation 
ThreadCSwitchMon 
ThreadCSwitchPmu 
ThreadWow64Context 
ThreadGroupInformation 
ThreadUmsInformation 
ThreadCounterProfiling 
ThreadIdealProcessorEx 
MaxThreadInfoClass 
ThreadBasicInformation 
ThreadTimes 
ThreadPriority 
ThreadBasePriority 
ThreadAffinityMask 
ThreadImpersonationToken 
ThreadDescriptorTableEntry 
ThreadEnableAlignmentFaultFixup 
ThreadEventPair_Reusable 
ThreadQuerySetWin32StartAddress 
ThreadZeroTlsCell 
ThreadPerformanceCount 
ThreadAmILastThread 
ThreadIdealProcessor 
ThreadPriorityBoost 
ThreadSetTlsArrayAddress 
ThreadIsIoPending 
ThreadHideFromDebugger 
ThreadBreakOnTermination 
ThreadSwitchLegacyState 
ThreadIsTerminated 
ThreadLastSystemCall 
ThreadIoPriority 
ThreadCycleTime 
ThreadPagePriority 
ThreadActualBasePriority 
ThreadTebInformation 
ThreadCSwitchMon 
ThreadCSwitchPmu 
ThreadWow64Context 
ThreadGroupInformation 
ThreadUmsInformation 
ThreadCounterProfiling 
ThreadIdealProcessorEx 
MaxThreadInfoClass 

Definition at line 1005 of file winternl.h.

1005 {
enum _THREADINFOCLASS THREADINFOCLASS
@ ThreadIsIoPending
Definition: winternl.h:423
@ ThreadEnableAlignmentFaultFixup
Definition: winternl.h:1013
@ ThreadCSwitchPmu
Definition: winternl.h:1034
@ ThreadDescriptorTableEntry
Definition: winternl.h:1012
@ ThreadEventPair_Reusable
Definition: winternl.h:1014
@ ThreadIdealProcessorEx
Definition: winternl.h:1039
@ ThreadAmILastThread
Definition: winternl.h:1018
@ ThreadTimes
Definition: winternl.h:1007
@ ThreadPagePriority
Definition: winternl.h:1030
@ ThreadUmsInformation
Definition: winternl.h:1037
@ ThreadCSwitchMon
Definition: winternl.h:1033
@ ThreadPriority
Definition: winternl.h:1008
@ MaxThreadInfoClass
Definition: winternl.h:1040
@ ThreadIdealProcessor
Definition: winternl.h:1019
@ ThreadActualBasePriority
Definition: winternl.h:1031
@ ThreadGroupInformation
Definition: winternl.h:1036
@ ThreadSwitchLegacyState
Definition: winternl.h:1025
@ ThreadQuerySetWin32StartAddress
Definition: winternl.h:1015
@ ThreadIsTerminated
Definition: winternl.h:1026
@ ThreadLastSystemCall
Definition: winternl.h:1027
@ ThreadBreakOnTermination
Definition: winternl.h:1024
@ ThreadImpersonationToken
Definition: winternl.h:1011
@ ThreadSetTlsArrayAddress
Definition: winternl.h:1021
@ ThreadAffinityMask
Definition: winternl.h:1010
@ ThreadBasePriority
Definition: winternl.h:1009
@ ThreadTebInformation
Definition: winternl.h:1032
@ ThreadIoPriority
Definition: winternl.h:1028
@ ThreadCycleTime
Definition: winternl.h:1029
@ ThreadBasicInformation
Definition: winternl.h:1006
@ ThreadCounterProfiling
Definition: winternl.h:1038
@ ThreadPriorityBoost
Definition: winternl.h:1020
@ ThreadPerformanceCount
Definition: winternl.h:1017
@ ThreadZeroTlsCell
Definition: winternl.h:1016
@ ThreadWow64Context
Definition: winternl.h:1035
@ ThreadHideFromDebugger
Definition: winternl.h:1023

◆ _TIMER_INFORMATION_CLASS

Enumerator
TimerBasicInformation 
TimerBasicInformation 

Definition at line 1093 of file winternl.h.

1094{
@ TimerBasicInformation
Definition: winternl.h:1095
enum _TIMER_INFORMATION_CLASS TIMER_INFORMATION_CLASS

◆ _WINSTATIONINFOCLASS

Enumerator
WinStationInformation 
WinStationInformation 

Definition at line 1066 of file winternl.h.

1066 {
@ WinStationInformation
Definition: winternl.h:571
enum _WINSTATIONINFOCLASS WINSTATIONINFOCLASS

◆ DOS_PATHNAME_TYPE

Enumerator
INVALID_PATH 
UNC_PATH 
ABSOLUTE_DRIVE_PATH 
RELATIVE_DRIVE_PATH 
ABSOLUTE_PATH 
RELATIVE_PATH 
DEVICE_PATH 
UNC_DOT_PATH 

Definition at line 1106 of file winternl.h.

1107{
1108 INVALID_PATH = 0,
1109 UNC_PATH, /* "//foo" */
1110 ABSOLUTE_DRIVE_PATH, /* "c:/foo" */
1111 RELATIVE_DRIVE_PATH, /* "c:foo" */
1112 ABSOLUTE_PATH, /* "/foo" */
1113 RELATIVE_PATH, /* "foo" */
1114 DEVICE_PATH, /* "//./foo" */
1115 UNC_DOT_PATH /* "//." */
DOS_PATHNAME_TYPE
Definition: winternl.h:1107
@ UNC_PATH
Definition: winternl.h:1109
@ RELATIVE_DRIVE_PATH
Definition: winternl.h:1111
@ ABSOLUTE_PATH
Definition: winternl.h:1112
@ INVALID_PATH
Definition: winternl.h:1108
@ ABSOLUTE_DRIVE_PATH
Definition: winternl.h:1110
@ DEVICE_PATH
Definition: winternl.h:1114
@ RELATIVE_PATH
Definition: winternl.h:1113
@ UNC_DOT_PATH
Definition: winternl.h:1115

Function Documentation

◆ DbgBreakPoint()

NTSYSAPI void WINAPI DbgBreakPoint ( void  )

Referenced by __cxa_pure_virtual(), __declspec(), ARPTransmit(), BaseInitializeContext(), CsrApiRequestThread(), CsrCallServerFromServer(), CsrCaptureArguments(), CsrReleaseCapturedArguments(), CsrShutdownProcesses(), CsrValidateMessageBuffer(), DbgUiRemoteBreakin(), DeviceInterfaceChangeCallback(), Dispatch_fnDeviceIoControl(), DriverEntry(), EHCI_InterruptTransfer(), EHCI_QueryEndpointRequirements(), EHCI_SetAsyncEndpointState(), EHCI_SetEndpointStatus(), EHCI_SubmitTransfer(), EHCI_SuspendController(), ExAllocatePoolWithTag(), ExpInsertPoolTracker(), ExpRemovePoolTracker(), ExpWaitForResource(), FatalExit(), FatCompleteRequest_Real(), FatExceptionFilter(), FatMultiAsyncCompletionRoutine(), FatMultiSyncCompletionRoutine(), FatSingleAsyncCompletionRoutine(), FatSingleSyncCompletionRoutine(), FxLibraryCommonRegisterClient(), HalpAddDevice(), HalpGetParameters(), HalpOpcodeInvalid(), HalReturnToFirmware(), IKsPin_PinStatePropertyHandler(), KeFlushIoBuffers(), KeStartThread(), KeUpdateRunTime(), KiCheckTimerTable(), KiIpiServiceRoutine(), KsPinAttemptProcessing(), KsStreamPointerAdvance(), KsStreamPointerAdvanceOffsets(), KsStreamPointerAdvanceOffsetsAndUnlock(), KsStreamPointerDelete(), KsStreamPointerGetNextClone(), LdrpInitializeProcess(), LdrpRunInitializeRoutines(), MiSubsectionConsistent(), Mx::MxDbgBreakPoint(), NdisInitializeWrapper(), NtProcessStartup(), ObInsertObject(), OHCI_InsertEndpointInSchedule(), OHCI_PollAsyncEndpoint(), OHCI_QueryEndpointRequirements(), OHCI_RemoveEndpointFromSchedule(), PciBeginStateTransition(), PciDispatchIrp(), PcRegisterSubdevice(), PinPropertyHandler(), PspCatchCriticalBreak(), Reboot(), RtlApplicationVerifierStop(), RtlAssert(), RtlpDphAllocateVm(), RtlpDphEnterCriticalSection(), RtlpDphFreeVm(), RtlpDphPointerFromHandle(), RtlpDphProtectVm(), RtlpDphRemoveFromAvailableList(), RtlpPageHeapAllocate(), RtlpPageHeapDestroy(), RtlpPageHeapFree(), RxAssert(), SetLastError(), SmpUnhandledExceptionFilter(), SpiParseDeviceInfo(), StreamClassDebugAssert(), UhciInterruptService(), UhciQueryEndpointRequirements(), UhciRHPortResetComplete(), UhciStopController(), USBH_ChangeIndicationWorker(), USBH_CompletePortWakeIrpsWorker(), USBH_DeviceControl(), USBH_FdoIdleNotificationCallback(), USBH_FdoPower(), USBH_FdoQueryBusRelations(), USBH_FdoStartDevice(), USBH_FdoStopDevice(), USBH_FdoWWIrpIoCompletion(), USBH_FlushPortPwrList(), USBH_HubCompleteQueuedPortIdleIrps(), USBH_HubCompleteQueuedPortWakeIrps(), USBH_HubDispatch(), USBH_HubQueuePortIdleIrps(), USBH_HubQueuePortWakeIrps(), USBH_PdoDispatch(), USBH_PdoInternalControl(), USBH_PdoPnP(), USBH_PdoStopDevice(), USBH_PdoUrbFilter(), USBH_PowerIrpCompletion(), USBH_ProcessHubStateChange(), USBH_ProcessPortStateChange(), USBH_SelectConfigOrInterfaceComplete(), USBPORT_AllocateBandwidthUSB2(), USBPORT_Dispatch(), USBPORT_DmaEndpointWorker(), USBPORT_PdoDevicePowerState(), USBPORT_RestoreDevice(), USBPORT_RootHubClassCommand(), USBPORT_RootHubCreateDevice(), USBPORT_SplitBulkInterruptTransfer(), _FX_DRIVER_GLOBALS::WaitForSignal(), WdfVerifierDbgBreakPoint(), WdmAudControlOpenMixer(), and wmain().

◆ DbgPrint()

NTSYSAPI NTSTATUS WINAPIV DbgPrint ( LPCSTR  fmt,
  ... 
)

◆ DbgPrintEx()

NTSYSAPI NTSTATUS WINAPIV DbgPrintEx ( ULONG  iComponentId,
ULONG  Level,
LPCSTR  fmt,
  ... 
)

◆ DbgUserBreakPoint()

NTSYSAPI void WINAPI DbgUserBreakPoint ( void  )

◆ LdrAccessResource()

NTSYSAPI NTSTATUS WINAPI LdrAccessResource ( HMODULE  ,
const IMAGE_RESOURCE_DATA_ENTRY ,
void **  ,
PULONG   
)

◆ LdrAddRefDll()

NTSYSAPI NTSTATUS WINAPI LdrAddRefDll ( ULONG  ,
HMODULE   
)

◆ LdrDisableThreadCalloutsForDll()

NTSYSAPI NTSTATUS WINAPI LdrDisableThreadCalloutsForDll ( HMODULE  )

◆ LdrFindEntryForAddress()

NTSYSAPI NTSTATUS WINAPI LdrFindEntryForAddress ( const void ,
PLDR_MODULE  
)

◆ LdrFindResource_U()

◆ LdrFindResourceDirectory_U()

NTSYSAPI NTSTATUS WINAPI LdrFindResourceDirectory_U ( HMODULE  ,
const LDR_RESOURCE_INFO ,
ULONG  ,
const IMAGE_RESOURCE_DIRECTORY **   
)

◆ LdrGetDllHandle()

NTSYSAPI NTSTATUS WINAPI LdrGetDllHandle ( LPCWSTR  ,
ULONG  ,
const UNICODE_STRING ,
HMODULE  
)

◆ LdrGetProcedureAddress()

NTSYSAPI NTSTATUS WINAPI LdrGetProcedureAddress ( HMODULE  ,
const ANSI_STRING ,
ULONG  ,
void **   
)

◆ LdrInitializeThunk()

NTSYSAPI void WINAPI LdrInitializeThunk ( void ,
ULONG_PTR  ,
ULONG_PTR  ,
ULONG_PTR   
)

◆ LdrLoadDll()

NTSYSAPI NTSTATUS WINAPI LdrLoadDll ( LPCWSTR  ,
DWORD  ,
const UNICODE_STRING ,
HMODULE  
)

◆ LdrLockLoaderLock()

NTSYSAPI NTSTATUS WINAPI LdrLockLoaderLock ( ULONG  ,
ULONG ,
ULONG_PTR  
)

◆ LdrProcessRelocationBlock()

IMAGE_BASE_RELOCATION *WINAPI LdrProcessRelocationBlock ( void ,
UINT  ,
USHORT ,
INT_PTR   
)

◆ LdrQueryImageFileExecutionOptions()

NTSYSAPI NTSTATUS WINAPI LdrQueryImageFileExecutionOptions ( const UNICODE_STRING ,
LPCWSTR  ,
ULONG  ,
void ,
ULONG  ,
ULONG  
)

◆ LdrQueryProcessModuleInformation()

NTSYSAPI NTSTATUS WINAPI LdrQueryProcessModuleInformation ( SYSTEM_MODULE_INFORMATION ,
ULONG  ,
ULONG  
)

◆ LdrShutdownProcess()

NTSYSAPI void WINAPI LdrShutdownProcess ( void  )

Definition at line 943 of file ldrinit.c.

944{
946 PLDR_DATA_TABLE_ENTRY LdrEntry;
947 PLIST_ENTRY NextEntry, ListHead;
948 RTL_CALLER_ALLOCATED_ACTIVATION_CONTEXT_STACK_FRAME_EXTENDED ActCtx;
949 PVOID EntryPoint;
950
951 DPRINT("LdrShutdownProcess() called for %wZ\n", &LdrpImageEntry->BaseDllName);
953
954 /* Tell the Shim Engine */
955 if (g_ShimsEnabled)
956 {
960 }
961
962 /* Tell the world */
963 if (ShowSnaps)
964 {
965 DPRINT1("\n");
966 }
967
968 /* Set the shutdown variables */
969 LdrpShutdownThreadId = NtCurrentTeb()->RealClientId.UniqueThread;
971
972 /* Enter the Loader Lock */
974
975 /* Cleanup trace logging data (Etw) */
976 if (SharedUserData->TraceLogging)
977 {
978 /* FIXME */
979 DPRINT1("We don't support Etw yet.\n");
980 }
981
982 /* Start at the end */
984 NextEntry = ListHead->Blink;
985 while (NextEntry != ListHead)
986 {
987 /* Get the current entry */
988 LdrEntry = CONTAINING_RECORD(NextEntry, LDR_DATA_TABLE_ENTRY, InInitializationOrderLinks);
989 NextEntry = NextEntry->Blink;
990
991 /* Make sure it's not ourselves */
992 if (Peb->ImageBaseAddress != LdrEntry->DllBase)
993 {
994 /* Get the entrypoint */
995 EntryPoint = LdrEntry->EntryPoint;
996
997 /* Check if we are ready to call it */
998 if (EntryPoint &&
999 (LdrEntry->Flags & LDRP_PROCESS_ATTACH_CALLED) &&
1000 LdrEntry->Flags)
1001 {
1002 /* Set up the Act Ctx */
1003 ActCtx.Size = sizeof(ActCtx);
1004 ActCtx.Format = 1;
1006
1007 /* Activate the ActCtx */
1009 LdrEntry->EntryPointActivationContext);
1010
1011 _SEH2_TRY
1012 {
1013 /* Check if it has TLS */
1014 if (LdrEntry->TlsIndex)
1015 {
1016 /* Call TLS */
1018 }
1019
1020 /* Call the Entrypoint */
1021 DPRINT("%wZ - Calling entry point at %p for thread detaching\n",
1022 &LdrEntry->BaseDllName, LdrEntry->EntryPoint);
1023 LdrpCallInitRoutine(EntryPoint,
1024 LdrEntry->DllBase,
1026 (PVOID)1);
1027 }
1029 {
1030 DPRINT1("WARNING: Exception 0x%x during LdrpCallInitRoutine(DLL_PROCESS_DETACH) for %wZ\n",
1031 _SEH2_GetExceptionCode(), &LdrEntry->BaseDllName);
1032 }
1033 _SEH2_END;
1034
1035 /* Deactivate the ActCtx */
1037 }
1038 }
1039 }
1040
1041 /* Check for TLS */
1042 if (LdrpImageHasTls)
1043 {
1044 /* Set up the Act Ctx */
1045 ActCtx.Size = sizeof(ActCtx);
1046 ActCtx.Format = 1;
1048
1049 /* Activate the ActCtx */
1052
1053 _SEH2_TRY
1054 {
1055 /* Do TLS callbacks */
1057 }
1059 {
1060 /* Do nothing */
1061 }
1062 _SEH2_END;
1063
1064 /* Deactivate the ActCtx */
1066 }
1067
1068 /* FIXME: Do Heap detection and Etw final shutdown */
1069
1070 /* Release the lock */
1072 DPRINT("LdrpShutdownProcess() done\n");
1073
1074 return STATUS_SUCCESS;
1075}
#define NtCurrentPeb()
Definition: FLS.c:22
#define VOID
Definition: acefi.h:82
#define DPRINT1
Definition: precomp.h:8
#define TRUE
Definition: types.h:120
#define DLL_PROCESS_DETACH
Definition: compat.h:130
PPEB Peb
Definition: dllmain.c:27
#define _SEH2_END
Definition: filesup.c:22
#define _SEH2_TRY
Definition: filesup.c:19
#define EXCEPTION_EXECUTE_HANDLER
Definition: excpt.h:85
#define NtCurrentTeb
PLDR_DATA_TABLE_ENTRY LdrpImageEntry
Definition: ldrinit.c:39
BOOLEAN LdrpShutdownInProgress
Definition: ldrinit.c:34
HANDLE LdrpShutdownThreadId
Definition: ldrinit.c:35
BOOLEAN LdrpImageHasTls
Definition: ldrinit.c:52
BOOLEAN ShowSnaps
Definition: ldrinit.c:81
RTL_CRITICAL_SECTION LdrpLoaderLock
Definition: ldrinit.c:70
_In_ PCWSTR _Out_ PVOID * ActCtx
Definition: ldrtypes.h:247
#define LDRP_PROCESS_ATTACH_CALLED
Definition: ldrtypes.h:49
NTSYSAPI NTSTATUS NTAPI RtlEnterCriticalSection(_In_ PRTL_CRITICAL_SECTION CriticalSection)
NTSYSAPI NTSTATUS NTAPI RtlLeaveCriticalSection(_In_ PRTL_CRITICAL_SECTION CriticalSection)
VOID NTAPI LdrpCallTlsInitializers(IN PLDR_DATA_TABLE_ENTRY LdrEntry, IN ULONG Reason)
Definition: ldrutils.c:473
PVOID g_pfnSE_ProcessDying
Definition: ldrutils.c:27
BOOLEAN NTAPI LdrpCallInitRoutine(IN PDLL_INIT_ROUTINE EntryPoint, IN PVOID BaseAddress, IN ULONG Reason, IN PVOID Context)
Definition: ldrutils.c:100
BOOLEAN g_ShimsEnabled
Definition: ldrutils.c:21
#define _SEH2_GetExceptionCode()
Definition: pseh2_64.h:159
#define _SEH2_EXCEPT(...)
Definition: pseh2_64.h:34
#define SharedUserData
PRTL_ACTIVATION_CONTEXT_STACK_FRAME FASTCALL RtlActivateActivationContextUnsafeFast(IN PRTL_CALLER_ALLOCATED_ACTIVATION_CONTEXT_STACK_FRAME_EXTENDED Frame, IN PVOID Context)
Definition: actctx.c:5934
PRTL_ACTIVATION_CONTEXT_STACK_FRAME FASTCALL RtlDeactivateActivationContextUnsafeFast(IN PRTL_CALLER_ALLOCATED_ACTIVATION_CONTEXT_STACK_FRAME_EXTENDED Frame)
Definition: actctx.c:6011
PVOID NTAPI RtlDecodeSystemPointer(IN PVOID Pointer)
Definition: process.c:439
#define STATUS_SUCCESS
Definition: shellext.h:65
VOID NTAPI SE_ProcessDying(VOID)
Definition: shimeng.c:1441
#define DPRINT
Definition: sndvol32.h:71
Definition: btrfs_drv.h:1876
PACTIVATION_CONTEXT EntryPointActivationContext
Definition: ldrtypes.h:163
PVOID EntryPoint
Definition: ntddk_ex.h:203
PVOID DllBase
Definition: btrfs_drv.h:1880
USHORT TlsIndex
Definition: ntddk_ex.h:209
ULONG Flags
Definition: ntddk_ex.h:207
UNICODE_STRING BaseDllName
Definition: ldrtypes.h:145
Definition: typedefs.h:120
struct _LIST_ENTRY * Blink
Definition: typedefs.h:122
LIST_ENTRY InInitializationOrderModuleList
Definition: ldrtypes.h:122
PPEB_LDR_DATA Ldr
Definition: btrfs_drv.h:1912
PVOID ImageBaseAddress
Definition: ntddk_ex.h:245
#define NTAPI
Definition: typedefs.h:36
#define RtlZeroMemory(Destination, Length)
Definition: typedefs.h:262
#define CONTAINING_RECORD(address, type, field)
Definition: typedefs.h:260

Referenced by ExitProcess().

◆ LdrShutdownThread()

NTSYSAPI void WINAPI LdrShutdownThread ( void  )

Definition at line 1082 of file ldrinit.c.

1083{
1084 PPEB Peb = NtCurrentPeb();
1085 PTEB Teb = NtCurrentTeb();
1086 PLDR_DATA_TABLE_ENTRY LdrEntry;
1087 PLIST_ENTRY NextEntry, ListHead;
1088 RTL_CALLER_ALLOCATED_ACTIVATION_CONTEXT_STACK_FRAME_EXTENDED ActCtx;
1089 PVOID EntryPoint;
1090
1091 DPRINT("LdrShutdownThread() called for %wZ\n",
1093
1094 /* Cleanup trace logging data (Etw) */
1095 if (SharedUserData->TraceLogging)
1096 {
1097 /* FIXME */
1098 DPRINT1("We don't support Etw yet.\n");
1099 }
1100
1101 /* Get the Ldr Lock */
1103
1104 /* Start at the end */
1106 NextEntry = ListHead->Blink;
1107 while (NextEntry != ListHead)
1108 {
1109 /* Get the current entry */
1110 LdrEntry = CONTAINING_RECORD(NextEntry, LDR_DATA_TABLE_ENTRY, InInitializationOrderLinks);
1111 NextEntry = NextEntry->Blink;
1112
1113 /* Make sure it's not ourselves */
1114 if (Peb->ImageBaseAddress != LdrEntry->DllBase)
1115 {
1116 /* Check if we should call */
1117 if (!(LdrEntry->Flags & LDRP_DONT_CALL_FOR_THREADS) &&
1118 (LdrEntry->Flags & LDRP_PROCESS_ATTACH_CALLED) &&
1119 (LdrEntry->Flags & LDRP_IMAGE_DLL))
1120 {
1121 /* Get the entrypoint */
1122 EntryPoint = LdrEntry->EntryPoint;
1123
1124 /* Check if we are ready to call it */
1125 if (EntryPoint)
1126 {
1127 /* Set up the Act Ctx */
1128 ActCtx.Size = sizeof(ActCtx);
1129 ActCtx.Format = 1;
1131
1132 /* Activate the ActCtx */
1134 LdrEntry->EntryPointActivationContext);
1135
1136 _SEH2_TRY
1137 {
1138 /* Check if it has TLS */
1139 if (LdrEntry->TlsIndex)
1140 {
1141 /* Make sure we're not shutting down */
1143 {
1144 /* Call TLS */
1146 }
1147 }
1148
1149 /* Make sure we're not shutting down */
1151 {
1152 /* Call the Entrypoint */
1153 DPRINT("%wZ - Calling entry point at %p for thread detaching\n",
1154 &LdrEntry->BaseDllName, LdrEntry->EntryPoint);
1155 LdrpCallInitRoutine(EntryPoint,
1156 LdrEntry->DllBase,
1158 NULL);
1159 }
1160 }
1162 {
1163 DPRINT1("WARNING: Exception 0x%x during LdrpCallInitRoutine(DLL_THREAD_DETACH) for %wZ\n",
1164 _SEH2_GetExceptionCode(), &LdrEntry->BaseDllName);
1165 }
1166 _SEH2_END;
1167
1168 /* Deactivate the ActCtx */
1170 }
1171 }
1172 }
1173 }
1174
1175 /* Check for TLS */
1176 if (LdrpImageHasTls)
1177 {
1178 /* Set up the Act Ctx */
1179 ActCtx.Size = sizeof(ActCtx);
1180 ActCtx.Format = 1;
1182
1183 /* Activate the ActCtx */
1186
1187 _SEH2_TRY
1188 {
1189 /* Do TLS callbacks */
1191 }
1193 {
1194 /* Do nothing */
1195 }
1196 _SEH2_END;
1197
1198 /* Deactivate the ActCtx */
1200 }
1201
1202 /* Free TLS */
1203 LdrpFreeTls();
1205
1206 /* Check for expansion slots */
1207 if (Teb->TlsExpansionSlots)
1208 {
1209 /* Free expansion slots */
1210 RtlFreeHeap(RtlGetProcessHeap(), 0, Teb->TlsExpansionSlots);
1211 }
1212
1213 /* Check for FLS Data */
1214 if (Teb->FlsData)
1215 {
1216 /* Mimic BaseRundownFls */
1217 ULONG n, FlsHighIndex;
1218 PRTL_FLS_DATA pFlsData;
1219 PFLS_CALLBACK_FUNCTION lpCallback;
1220
1221 pFlsData = Teb->FlsData;
1222
1224 FlsHighIndex = NtCurrentPeb()->FlsHighIndex;
1225 RemoveEntryList(&pFlsData->ListEntry);
1227
1228 for (n = 1; n <= FlsHighIndex; ++n)
1229 {
1230 lpCallback = NtCurrentPeb()->FlsCallback[n];
1231 if (lpCallback && pFlsData->Data[n])
1232 {
1233 lpCallback(pFlsData->Data[n]);
1234 }
1235 }
1236
1237 RtlFreeHeap(RtlGetProcessHeap(), 0, pFlsData);
1238 Teb->FlsData = NULL;
1239 }
1240
1241 /* Check for Fiber data */
1242 if (Teb->HasFiberData)
1243 {
1244 /* Free Fiber data*/
1245 RtlFreeHeap(RtlGetProcessHeap(), 0, Teb->NtTib.FiberData);
1246 Teb->NtTib.FiberData = NULL;
1247 }
1248
1249 /* Free the activation context stack */
1251 DPRINT("LdrShutdownThread() done\n");
1252
1253 return STATUS_SUCCESS;
1254}
BOOLEAN NTAPI RtlFreeHeap(IN PVOID HeapHandle, IN ULONG Flags, IN PVOID HeapBase)
Definition: heap.c:608
#define DLL_THREAD_DETACH
Definition: compat.h:133
#define RemoveEntryList(Entry)
Definition: env_spec_w32.h:986
NTSYSAPI void WINAPI RtlReleasePebLock(void)
Definition: libsupp.c:82
NTSYSAPI void WINAPI RtlAcquirePebLock(void)
Definition: libsupp.c:72
NTSYSAPI void WINAPI RtlFreeThreadActivationContextStack(void)
Definition: actctx.c:5472
VOID NTAPI LdrpFreeTls(VOID)
Definition: ldrinit.c:1384
#define LDRP_DONT_CALL_FOR_THREADS
Definition: ldrtypes.h:48
#define LDRP_IMAGE_DLL
Definition: ldrtypes.h:39
PVOID FiberData
Definition: compat.h:716
LIST_ENTRY ListEntry
Definition: rtltypes.h:1223
PVOID Data[RTL_FLS_MAXIMUM_AVAILABLE]
Definition: rtltypes.h:1224
Definition: compat.h:836
PVOID * TlsExpansionSlots
Definition: compat.h:894
NT_TIB NtTib
Definition: ntddk_ex.h:332
uint32_t ULONG
Definition: typedefs.h:59
VOID(WINAPI * PFLS_CALLBACK_FUNCTION)(PVOID)
Definition: winbase.h:1444

Referenced by ExitThread(), and RtlExitUserThread().

◆ LdrUnloadDll()

NTSYSAPI NTSTATUS WINAPI LdrUnloadDll ( HMODULE  )

◆ LdrUnlockLoaderLock()

NTSYSAPI NTSTATUS WINAPI LdrUnlockLoaderLock ( ULONG  ,
ULONG_PTR   
)

◆ NtAcceptConnectPort()

NTSYSAPI NTSTATUS WINAPI NtAcceptConnectPort ( PHANDLE  ,
ULONG  ,
PLPC_MESSAGE  ,
BOOLEAN  ,
PLPC_SECTION_WRITE  ,
PLPC_SECTION_READ   
)

◆ NtAccessCheck()

◆ NtAccessCheckAndAuditAlarm()

◆ NtAddAtom()

NTSYSAPI NTSTATUS WINAPI NtAddAtom ( const WCHAR ,
ULONG  ,
RTL_ATOM  
)

◆ NtAdjustGroupsToken()

NTSYSAPI NTSTATUS WINAPI NtAdjustGroupsToken ( HANDLE  ,
BOOLEAN  ,
PTOKEN_GROUPS  ,
ULONG  ,
PTOKEN_GROUPS  ,
PULONG   
)

◆ NtAdjustPrivilegesToken()

NTSYSAPI NTSTATUS WINAPI NtAdjustPrivilegesToken ( HANDLE  ,
BOOLEAN  ,
PTOKEN_PRIVILEGES  ,
DWORD  ,
PTOKEN_PRIVILEGES  ,
PDWORD   
)

◆ NtAlertResumeThread()

NTSYSAPI NTSTATUS WINAPI NtAlertResumeThread ( HANDLE  ,
PULONG   
)

◆ NtAlertThread()

NTSYSAPI NTSTATUS WINAPI NtAlertThread ( HANDLE  ThreadHandle)

◆ NtAllocateLocallyUniqueId()

NTSYSAPI NTSTATUS WINAPI NtAllocateLocallyUniqueId ( PLUID  lpLuid)

◆ NtAllocateUuids()

NTSYSAPI NTSTATUS WINAPI NtAllocateUuids ( PULARGE_INTEGER  ,
PULONG  ,
PULONG  ,
PUCHAR   
)

◆ NtAllocateVirtualMemory()

NTSYSAPI NTSTATUS WINAPI NtAllocateVirtualMemory ( HANDLE  ,
PVOID ,
ULONG  ,
SIZE_T ,
ULONG  ,
ULONG   
)

◆ NtAreMappedFilesTheSame()

NTSYSAPI NTSTATUS WINAPI NtAreMappedFilesTheSame ( PVOID  ,
PVOID   
)

◆ NtAssignProcessToJobObject()

NTSYSAPI NTSTATUS WINAPI NtAssignProcessToJobObject ( HANDLE  JobHandle,
HANDLE  ProcessHandle 
)

Definition at line 157 of file job.c.

160{
164
165 PAGED_CODE();
166
168
169 /* make sure we're having a handle with enough rights, especially the to
170 terminate the process. otherwise one could abuse the job objects to
171 terminate processes without having rights granted to do so! The reason
172 I open the process handle before the job handle is that a simple test showed
173 that it first complains about a invalid process handle! The other way around
174 would be simpler though... */
180 (PVOID*)&Process,
181 NULL);
182 if(NT_SUCCESS(Status))
183 {
184 if(Process->Job == NULL)
185 {
186 PEJOB Job;
187
189 JobHandle,
191 PsJobType,
193 (PVOID*)&Job,
194 NULL);
195 if(NT_SUCCESS(Status))
196 {
197 /* lock the process so we can safely assign the process. Note that in the
198 meanwhile another thread could have assigned this process to a job! */
199
200 if(ExAcquireRundownProtection(&Process->RundownProtect))
201 {
202 if(Process->Job == NULL && PsGetProcessSessionId(Process) == Job->SessionId)
203 {
204 /* Just store the pointer to the job object in the process, we'll
205 assign it later. The reason we can't do this here is that locking
206 the job object might require it to wait, which is a bad thing
207 while holding the process lock! */
208 Process->Job = Job;
210 }
211 else
212 {
213 /* process is already assigned to a job or session id differs! */
215 }
216 ExReleaseRundownProtection(&Process->RundownProtect);
217
218 if(NT_SUCCESS(Status))
219 {
220 /* let's actually assign the process to the job as we're not holding
221 the process lock anymore! */
223 }
224 }
225
227 }
228 }
229 else
230 {
231 /* process is already assigned to a job or session id differs! */
233 }
234
236 }
237
238 return Status;
239}
#define PAGED_CODE()
LONG NTSTATUS
Definition: precomp.h:26
#define NT_SUCCESS(StatCode)
Definition: apphelp.c:32
#define ExReleaseRundownProtection
Definition: ex.h:136
#define ExGetPreviousMode
Definition: ex.h:140
#define ExAcquireRundownProtection
Definition: ex.h:135
_Must_inspect_result_ _In_ PLARGE_INTEGER _In_ PLARGE_INTEGER _In_ ULONG _In_ PFILE_OBJECT _In_ PVOID Process
Definition: fsrtlfuncs.h:223
Status
Definition: gdiplustypes.h:25
#define PROCESS_TERMINATE
Definition: pstypes.h:157
#define JOB_OBJECT_ASSIGN_PROCESS
Definition: pstypes.h:200
_In_ HANDLE ProcessHandle
Definition: mmfuncs.h:403
NTSTATUS NTAPI PspAssignProcessToJob(PEPROCESS Process, PEJOB Job)
Definition: job.c:119
POBJECT_TYPE PsJobType
Definition: job.c:20
POBJECT_TYPE PsProcessType
Definition: process.c:20
ULONG NTAPI PsGetProcessSessionId(IN PEPROCESS Process)
Definition: process.c:1163
NTSTATUS NTAPI ObReferenceObjectByHandle(IN HANDLE Handle, IN ACCESS_MASK DesiredAccess, IN POBJECT_TYPE ObjectType, IN KPROCESSOR_MODE AccessMode, OUT PVOID *Object, OUT POBJECT_HANDLE_INFORMATION HandleInformation OPTIONAL)
Definition: obref.c:494
ULONG SessionId
Definition: pstypes.h:1506
#define STATUS_ACCESS_DENIED
Definition: udferr_usr.h:145
CCHAR KPROCESSOR_MODE
Definition: ketypes.h:7
#define ObDereferenceObject
Definition: obfuncs.h:203
#define ObReferenceObject
Definition: obfuncs.h:204
_In_ KPROCESSOR_MODE PreviousMode
Definition: sefuncs.h:103

Referenced by AssignProcessToJobObject(), and CreateProcessInternalW().

◆ NtCallbackReturn()

NTSYSAPI NTSTATUS WINAPI NtCallbackReturn ( PVOID  ,
ULONG  ,
NTSTATUS   
)

◆ NtCancelIoFile()

NTSYSAPI NTSTATUS WINAPI NtCancelIoFile ( HANDLE  ,
PIO_STATUS_BLOCK   
)

◆ NtCancelIoFileEx()

◆ NtCancelTimer()

NTSYSAPI NTSTATUS WINAPI NtCancelTimer ( HANDLE  ,
BOOLEAN  
)

◆ NtClearEvent()

NTSYSAPI NTSTATUS WINAPI NtClearEvent ( HANDLE  )

◆ NtClose()

NTSYSAPI NTSTATUS WINAPI NtClose ( HANDLE  )

◆ NtCloseObjectAuditAlarm()

NTSYSAPI NTSTATUS WINAPI NtCloseObjectAuditAlarm ( PUNICODE_STRING  ,
HANDLE  ,
BOOLEAN   
)

◆ NtCompleteConnectPort()

NTSYSAPI NTSTATUS WINAPI NtCompleteConnectPort ( HANDLE  )

◆ NtConnectPort()

◆ NtContinue()

NTSYSAPI NTSTATUS WINAPI NtContinue ( PCONTEXT  ,
BOOLEAN   
)

◆ NtCreateDirectoryObject()

NTSYSAPI NTSTATUS WINAPI NtCreateDirectoryObject ( PHANDLE  ,
ACCESS_MASK  ,
POBJECT_ATTRIBUTES   
)

◆ NtCreateEvent()

◆ NtCreateEventPair()

NTSYSAPI NTSTATUS WINAPI NtCreateEventPair ( PHANDLE  ,
ACCESS_MASK  ,
POBJECT_ATTRIBUTES   
)

◆ NtCreateFile()

NTSYSAPI NTSTATUS WINAPI NtCreateFile ( PHANDLE  FileHandle,
ACCESS_MASK  DesiredAccess,
POBJECT_ATTRIBUTES  ObjectAttributes,
PIO_STATUS_BLOCK  IoStatusBlock,
PLARGE_INTEGER  AllocateSize,
ULONG  FileAttributes,
ULONG  ShareAccess,
ULONG  CreateDisposition,
ULONG  CreateOptions,
PVOID  EaBuffer,
ULONG  EaLength 
)

Definition at line 3758 of file file.c.

3769{
3770 /* Call the I/O Function */
3771 return IoCreateFile(FileHandle,
3775 AllocateSize,
3780 EaBuffer,
3781 EaLength,
3783 NULL,
3784 0);
3785}
IN PUNICODE_STRING IN POBJECT_ATTRIBUTES ObjectAttributes
Definition: conport.c:36
_In_ PIO_STACK_LOCATION _Inout_ PFILE_OBJECT _Inout_ PVCB _Outptr_result_maybenull_ PDCB _In_ PDCB _In_ PDIRENT _In_ ULONG _In_ ULONG _In_ PUNICODE_STRING _In_ PACCESS_MASK _In_ USHORT ShareAccess
Definition: create.c:4147
IN PVCB IN PDIRENT OUT PULONG EaLength
Definition: fatprocs.h:878
_Must_inspect_result_ _In_opt_ PFLT_INSTANCE _Out_ PHANDLE _In_ ACCESS_MASK _In_ POBJECT_ATTRIBUTES _Out_ PIO_STATUS_BLOCK _In_opt_ PLARGE_INTEGER _In_ ULONG FileAttributes
Definition: fltkernel.h:1236
_Must_inspect_result_ _In_opt_ PFLT_INSTANCE _Out_ PHANDLE FileHandle
Definition: fltkernel.h:1231
static OUT PIO_STATUS_BLOCK IoStatusBlock
Definition: pipe.c:75
NTSTATUS NTAPI IoCreateFile(OUT PHANDLE FileHandle, IN ACCESS_MASK DesiredAccess, IN POBJECT_ATTRIBUTES ObjectAttributes, OUT PIO_STATUS_BLOCK IoStatusBlock, IN PLARGE_INTEGER AllocationSize OPTIONAL, IN ULONG FileAttributes, IN ULONG ShareAccess, IN ULONG Disposition, IN ULONG CreateOptions, IN PVOID EaBuffer OPTIONAL, IN ULONG EaLength, IN CREATE_FILE_TYPE CreateFileType, IN PVOID ExtraCreateParameters OPTIONAL, IN ULONG Options)
Definition: file.c:3010
_Must_inspect_result_ _In_ WDFDEVICE _In_ ULONG _In_ ACCESS_MASK DesiredAccess
Definition: wdfdevice.h:2658
_Must_inspect_result_ _In_opt_ WDFKEY _In_ PCUNICODE_STRING _In_ ACCESS_MASK _In_ ULONG _Out_opt_ PULONG CreateDisposition
Definition: wdfregistry.h:120
_Must_inspect_result_ _In_opt_ WDFKEY _In_ PCUNICODE_STRING _In_ ACCESS_MASK _In_ ULONG CreateOptions
Definition: wdfregistry.h:118
_In_ ACCESS_MASK _In_ POBJECT_ATTRIBUTES _Out_ PIO_STATUS_BLOCK _In_opt_ PLARGE_INTEGER _In_ ULONG _In_ ULONG _In_ ULONG _In_ ULONG _In_opt_ PVOID EaBuffer
Definition: iofuncs.h:845
@ CreateFileTypeNone
Definition: iotypes.h:535

◆ NtCreateIoCompletion()

NTSYSAPI NTSTATUS WINAPI NtCreateIoCompletion ( PHANDLE  ,
ACCESS_MASK  ,
POBJECT_ATTRIBUTES  ,
ULONG   
)

◆ NtCreateJobObject()

NTSYSAPI NTSTATUS WINAPI NtCreateJobObject ( PHANDLE  ,
ACCESS_MASK  ,
const OBJECT_ATTRIBUTES  
)

◆ NtCreateKey()

◆ NtCreateKeyedEvent()

NTSYSAPI NTSTATUS WINAPI NtCreateKeyedEvent ( HANDLE ,
ACCESS_MASK  ,
const OBJECT_ATTRIBUTES ,
ULONG   
)

◆ NtCreateKeyTransacted()

NTSYSAPI NTSTATUS WINAPI NtCreateKeyTransacted ( PHANDLE  ,
ACCESS_MASK  ,
const OBJECT_ATTRIBUTES ,
ULONG  ,
const UNICODE_STRING ,
ULONG  ,
HANDLE  ,
ULONG  
)

◆ NtCreateMailslotFile()

NTSYSAPI NTSTATUS WINAPI NtCreateMailslotFile ( PHANDLE  ,
ACCESS_MASK  ,
POBJECT_ATTRIBUTES  ,
PIO_STATUS_BLOCK  ,
ULONG  ,
ULONG  ,
ULONG  ,
PLARGE_INTEGER   
)

◆ NtCreateMutant()

NTSYSAPI NTSTATUS WINAPI NtCreateMutant ( HANDLE ,
ACCESS_MASK  ,
const OBJECT_ATTRIBUTES ,
BOOLEAN   
)

◆ NtCreateNamedPipeFile()

NTSYSAPI NTSTATUS WINAPI NtCreateNamedPipeFile ( PHANDLE  ,
ULONG  ,
POBJECT_ATTRIBUTES  ,
PIO_STATUS_BLOCK  ,
ULONG  ,
ULONG  ,
ULONG  ,
ULONG  ,
ULONG  ,
ULONG  ,
ULONG  ,
ULONG  ,
ULONG  ,
PLARGE_INTEGER   
)

◆ NtCreatePagingFile()

◆ NtCreatePort()

NTSYSAPI NTSTATUS WINAPI NtCreatePort ( PHANDLE  ,
POBJECT_ATTRIBUTES  ,
ULONG  ,
ULONG  ,
PULONG   
)

◆ NtCreateProcess()

NTSYSAPI NTSTATUS WINAPI NtCreateProcess ( PHANDLE  ,
ACCESS_MASK  ,
POBJECT_ATTRIBUTES  ,
HANDLE  ,
BOOLEAN  ,
HANDLE  ,
HANDLE  ,
HANDLE   
)

◆ NtCreateProfile()

NTSYSAPI NTSTATUS WINAPI NtCreateProfile ( PHANDLE  ,
HANDLE  ,
PVOID  ,
ULONG  ,
ULONG  ,
PVOID  ,
ULONG  ,
KPROFILE_SOURCE  ,
KAFFINITY   
)

◆ NtCreateSection()

NTSYSAPI NTSTATUS WINAPI NtCreateSection ( HANDLE ,
ACCESS_MASK  ,
const OBJECT_ATTRIBUTES ,
const LARGE_INTEGER ,
ULONG  ,
ULONG  ,
HANDLE   
)

◆ NtCreateSemaphore()

NTSYSAPI NTSTATUS WINAPI NtCreateSemaphore ( PHANDLE  ,
ACCESS_MASK  ,
const OBJECT_ATTRIBUTES ,
LONG  ,
LONG   
)

◆ NtCreateSymbolicLinkObject()

NTSYSAPI NTSTATUS WINAPI NtCreateSymbolicLinkObject ( PHANDLE  ,
ACCESS_MASK  ,
POBJECT_ATTRIBUTES  ,
PUNICODE_STRING   
)

◆ NtCreateThread()

◆ NtCreateTimer()

NTSYSAPI NTSTATUS WINAPI NtCreateTimer ( HANDLE ,
ACCESS_MASK  ,
const OBJECT_ATTRIBUTES ,
TIMER_TYPE   
)

◆ NtCreateToken()

◆ NtDelayExecution()

NTSYSAPI NTSTATUS WINAPI NtDelayExecution ( BOOLEAN  ,
const LARGE_INTEGER  
)

◆ NtDeleteAtom()

NTSYSAPI NTSTATUS WINAPI NtDeleteAtom ( RTL_ATOM  )

◆ NtDeleteFile()

◆ NtDeleteKey()

NTSYSAPI NTSTATUS WINAPI NtDeleteKey ( HANDLE  )

◆ NtDeleteValueKey()

NTSYSAPI NTSTATUS WINAPI NtDeleteValueKey ( HANDLE  ,
const UNICODE_STRING  
)

◆ NtDeviceIoControlFile()

NTSYSAPI NTSTATUS WINAPI NtDeviceIoControlFile ( HANDLE  ,
HANDLE  ,
PIO_APC_ROUTINE  ,
PVOID  ,
PIO_STATUS_BLOCK  ,
ULONG  ,
PVOID  ,
ULONG  ,
PVOID  ,
ULONG   
)

◆ NtDisplayString()

NTSYSAPI NTSTATUS WINAPI NtDisplayString ( PUNICODE_STRING  )

◆ NtDuplicateObject()

NTSYSAPI NTSTATUS WINAPI NtDuplicateObject ( HANDLE  ,
HANDLE  ,
HANDLE  ,
PHANDLE  ,
ACCESS_MASK  ,
ULONG  ,
ULONG   
)

◆ NtDuplicateToken()

◆ NtEnumerateKey()

NTSYSAPI NTSTATUS WINAPI NtEnumerateKey ( HANDLE  ,
ULONG  ,
KEY_INFORMATION_CLASS  ,
void ,
DWORD  ,
DWORD  
)

◆ NtEnumerateValueKey()

NTSYSAPI NTSTATUS WINAPI NtEnumerateValueKey ( HANDLE  ,
ULONG  ,
KEY_VALUE_INFORMATION_CLASS  ,
PVOID  ,
ULONG  ,
PULONG   
)

◆ NtExtendSection()

NTSYSAPI NTSTATUS WINAPI NtExtendSection ( HANDLE  ,
PLARGE_INTEGER   
)

◆ NtFilterToken()

NTSYSAPI NTSTATUS WINAPI NtFilterToken ( HANDLE  ,
ULONG  ,
TOKEN_GROUPS ,
TOKEN_PRIVILEGES ,
TOKEN_GROUPS ,
HANDLE  
)

◆ NtFindAtom()

NTSYSAPI NTSTATUS WINAPI NtFindAtom ( const WCHAR ,
ULONG  ,
RTL_ATOM  
)

◆ NtFlushBuffersFile()

NTSYSAPI NTSTATUS WINAPI NtFlushBuffersFile ( HANDLE  ,
IO_STATUS_BLOCK  
)

◆ NtFlushInstructionCache()

NTSYSAPI NTSTATUS WINAPI NtFlushInstructionCache ( HANDLE  ,
LPCVOID  ,
SIZE_T   
)

◆ NtFlushKey()

NTSYSAPI NTSTATUS WINAPI NtFlushKey ( HANDLE  )

◆ NtFlushVirtualMemory()

NTSYSAPI NTSTATUS WINAPI NtFlushVirtualMemory ( HANDLE  ,
LPCVOID ,
SIZE_T ,
ULONG   
)

◆ NtFlushWriteBuffer()

NTSYSAPI NTSTATUS WINAPI NtFlushWriteBuffer ( VOID  )

Definition at line 3938 of file file.c.

3939{
3940 PAGED_CODE();
3941
3942 /* Call the kernel */
3944 return STATUS_SUCCESS;
3945}
VOID NTAPI KeFlushWriteBuffer(VOID)
Definition: misc.c:39

◆ NtFreeVirtualMemory()

NTSYSAPI NTSTATUS WINAPI NtFreeVirtualMemory ( HANDLE  ,
PVOID ,
SIZE_T ,
ULONG   
)

◆ NtFsControlFile()

NTSYSAPI NTSTATUS WINAPI NtFsControlFile ( HANDLE  ,
HANDLE  ,
PIO_APC_ROUTINE  ,
PVOID  ,
PIO_STATUS_BLOCK  ,
ULONG  ,
PVOID  ,
ULONG  ,
PVOID  ,
ULONG   
)

◆ NtGetContextThread()

NTSYSAPI NTSTATUS WINAPI NtGetContextThread ( HANDLE  ,
CONTEXT  
)

◆ NtGetCurrentProcessorNumber()

NTSYSAPI ULONG WINAPI NtGetCurrentProcessorNumber ( void  )

Definition at line 3055 of file sysinfo.c.

3056{
3057 /* Just use Ke */
3059}
FORCEINLINE ULONG KeGetCurrentProcessorNumber(VOID)
Definition: ke.h:341

Referenced by RtlGetCurrentProcessorNumber().

◆ NtGetPlugPlayEvent()

NTSYSAPI NTSTATUS WINAPI NtGetPlugPlayEvent ( ULONG  ,
ULONG  ,
PVOID  ,
ULONG   
)

◆ NtGetTickCount()

NTSYSAPI ULONG WINAPI NtGetTickCount ( VOID  )

◆ NtGetWriteWatch()

NTSYSAPI NTSTATUS WINAPI NtGetWriteWatch ( HANDLE  ,
ULONG  ,
PVOID  ,
SIZE_T  ,
PVOID ,
ULONG_PTR ,
ULONG  
)

◆ NtImpersonateAnonymousToken()

NTSYSAPI NTSTATUS WINAPI NtImpersonateAnonymousToken ( HANDLE  )

◆ NtImpersonateClientOfPort()

NTSYSAPI NTSTATUS WINAPI NtImpersonateClientOfPort ( HANDLE  ,
PPORT_MESSAGE   
)

◆ NtImpersonateThread()

NTSYSAPI NTSTATUS WINAPI NtImpersonateThread ( HANDLE  ,
HANDLE  ,
PSECURITY_QUALITY_OF_SERVICE   
)

◆ NtInitializeRegistry()

NTSYSAPI NTSTATUS WINAPI NtInitializeRegistry ( BOOLEAN  )

◆ NtInitiatePowerAction()

NTSYSAPI NTSTATUS WINAPI NtInitiatePowerAction ( POWER_ACTION  ,
SYSTEM_POWER_STATE  ,
ULONG  ,
BOOLEAN   
)

◆ NtIsProcessInJob()

NTSYSAPI NTSTATUS WINAPI NtIsProcessInJob ( HANDLE  ,
HANDLE   
)

◆ NtListenPort()

NTSYSAPI NTSTATUS WINAPI NtListenPort ( HANDLE  ,
PLPC_MESSAGE   
)

◆ NtLoadDriver()

◆ NtLoadKey()

◆ NtLockFile()

◆ NtLockVirtualMemory()

NTSYSAPI NTSTATUS WINAPI NtLockVirtualMemory ( HANDLE  ,
PVOID ,
SIZE_T ,
ULONG   
)

◆ NtMakeTemporaryObject()

NTSYSAPI NTSTATUS WINAPI NtMakeTemporaryObject ( HANDLE  )

◆ NtMapViewOfSection()

NTSYSAPI NTSTATUS WINAPI NtMapViewOfSection ( HANDLE  ,
HANDLE  ,
PVOID ,
ULONG  ,
SIZE_T  ,
const LARGE_INTEGER ,
SIZE_T ,
SECTION_INHERIT  ,
ULONG  ,
ULONG   
)

◆ NtNotifyChangeDirectoryFile()

NTSYSAPI NTSTATUS WINAPI NtNotifyChangeDirectoryFile ( HANDLE  ,
HANDLE  ,
PIO_APC_ROUTINE  ,
PVOID  ,
PIO_STATUS_BLOCK  ,
PVOID  ,
ULONG  ,
ULONG  ,
BOOLEAN   
)

◆ NtNotifyChangeKey()

NTSYSAPI NTSTATUS WINAPI NtNotifyChangeKey ( HANDLE  ,
HANDLE  ,
PIO_APC_ROUTINE  ,
PVOID  ,
PIO_STATUS_BLOCK  ,
ULONG  ,
BOOLEAN  ,
PVOID  ,
ULONG  ,
BOOLEAN   
)

◆ NtNotifyChangeMultipleKeys()

NTSYSAPI NTSTATUS WINAPI NtNotifyChangeMultipleKeys ( HANDLE  ,
ULONG  ,
OBJECT_ATTRIBUTES ,
HANDLE  ,
PIO_APC_ROUTINE  ,
PVOID  ,
PIO_STATUS_BLOCK  ,
ULONG  ,
BOOLEAN  ,
PVOID  ,
ULONG  ,
BOOLEAN   
)

◆ NtOpenDirectoryObject()

NTSYSAPI NTSTATUS WINAPI NtOpenDirectoryObject ( PHANDLE  ,
ACCESS_MASK  ,
const OBJECT_ATTRIBUTES  
)

◆ NtOpenEvent()

◆ NtOpenEventPair()

NTSYSAPI NTSTATUS WINAPI NtOpenEventPair ( PHANDLE  ,
ACCESS_MASK  ,
const OBJECT_ATTRIBUTES  
)

◆ NtOpenFile()

◆ NtOpenIoCompletion()

NTSYSAPI NTSTATUS WINAPI NtOpenIoCompletion ( PHANDLE  ,
ACCESS_MASK  ,
const OBJECT_ATTRIBUTES  
)

◆ NtOpenJobObject()

NTSYSAPI NTSTATUS WINAPI NtOpenJobObject ( PHANDLE  ,
ACCESS_MASK  ,
const OBJECT_ATTRIBUTES  
)

◆ NtOpenKey()

◆ NtOpenKeyedEvent()

NTSYSAPI NTSTATUS WINAPI NtOpenKeyedEvent ( HANDLE ,
ACCESS_MASK  ,
const OBJECT_ATTRIBUTES  
)

◆ NtOpenKeyEx()

◆ NtOpenKeyTransacted()

NTSYSAPI NTSTATUS WINAPI NtOpenKeyTransacted ( PHANDLE  ,
ACCESS_MASK  ,
const OBJECT_ATTRIBUTES ,
HANDLE   
)

◆ NtOpenKeyTransactedEx()

NTSYSAPI NTSTATUS WINAPI NtOpenKeyTransactedEx ( PHANDLE  ,
ACCESS_MASK  ,
const OBJECT_ATTRIBUTES ,
ULONG  ,
HANDLE   
)

◆ NtOpenMutant()

◆ NtOpenObjectAuditAlarm()

◆ NtOpenProcess()

◆ NtOpenProcessToken()

NTSYSAPI NTSTATUS WINAPI NtOpenProcessToken ( HANDLE  ,
DWORD  ,
HANDLE  
)

◆ NtOpenProcessTokenEx()

NTSYSAPI NTSTATUS WINAPI NtOpenProcessTokenEx ( HANDLE  ,
DWORD  ,
DWORD  ,
HANDLE  
)

◆ NtOpenSection()

NTSYSAPI NTSTATUS WINAPI NtOpenSection ( HANDLE ,
ACCESS_MASK  ,
const OBJECT_ATTRIBUTES  
)

◆ NtOpenSemaphore()

NTSYSAPI NTSTATUS WINAPI NtOpenSemaphore ( PHANDLE  ,
ACCESS_MASK  ,
const OBJECT_ATTRIBUTES  
)

◆ NtOpenSymbolicLinkObject()

NTSYSAPI NTSTATUS WINAPI NtOpenSymbolicLinkObject ( PHANDLE  ,
ACCESS_MASK  ,
const OBJECT_ATTRIBUTES  
)

◆ NtOpenThread()

NTSYSAPI NTSTATUS WINAPI NtOpenThread ( HANDLE ,
ACCESS_MASK  ,
const OBJECT_ATTRIBUTES ,
const CLIENT_ID  
)

◆ NtOpenThreadToken()

NTSYSAPI NTSTATUS WINAPI NtOpenThreadToken ( HANDLE  ,
DWORD  ,
BOOLEAN  ,
HANDLE  
)

◆ NtOpenThreadTokenEx()

NTSYSAPI NTSTATUS WINAPI NtOpenThreadTokenEx ( HANDLE  ,
DWORD  ,
BOOLEAN  ,
DWORD  ,
HANDLE  
)

◆ NtOpenTimer()

NTSYSAPI NTSTATUS WINAPI NtOpenTimer ( HANDLE ,
ACCESS_MASK  ,
const OBJECT_ATTRIBUTES  
)

◆ NtPowerInformation()

NTSYSAPI NTSTATUS WINAPI NtPowerInformation ( POWER_INFORMATION_LEVEL  ,
PVOID  ,
ULONG  ,
PVOID  ,
ULONG   
)

◆ NtPrivilegeCheck()

NTSYSAPI NTSTATUS WINAPI NtPrivilegeCheck ( HANDLE  ,
PPRIVILEGE_SET  ,
PBOOLEAN   
)

◆ NtPrivilegedServiceAuditAlarm()

NTSYSAPI NTSTATUS WINAPI NtPrivilegedServiceAuditAlarm ( PUNICODE_STRING  ,
PUNICODE_STRING  ,
HANDLE  ,
PPRIVILEGE_SET  ,
BOOLEAN   
)

◆ NtPrivilegeObjectAuditAlarm()

NTSYSAPI NTSTATUS WINAPI NtPrivilegeObjectAuditAlarm ( PUNICODE_STRING  ,
HANDLE  ,
HANDLE  ,
ULONG  ,
PPRIVILEGE_SET  ,
BOOLEAN   
)

◆ NtProtectVirtualMemory()

NTSYSAPI NTSTATUS WINAPI NtProtectVirtualMemory ( HANDLE  ,
PVOID ,
SIZE_T ,
ULONG  ,
ULONG  
)

◆ NtPulseEvent()

NTSYSAPI NTSTATUS WINAPI NtPulseEvent ( HANDLE  ,
PULONG   
)

◆ NtQueryAttributesFile()

NTSYSAPI NTSTATUS WINAPI NtQueryAttributesFile ( const OBJECT_ATTRIBUTES ,
FILE_BASIC_INFORMATION  
)

◆ NtQueryDefaultLocale()

NTSYSAPI NTSTATUS WINAPI NtQueryDefaultLocale ( BOOLEAN  ,
LCID  
)

◆ NtQueryDefaultUILanguage()

NTSYSAPI NTSTATUS WINAPI NtQueryDefaultUILanguage ( LANGID )

◆ NtQueryDirectoryFile()

◆ NtQueryDirectoryObject()

NTSYSAPI NTSTATUS WINAPI NtQueryDirectoryObject ( HANDLE  ,
PDIRECTORY_BASIC_INFORMATION  ,
ULONG  ,
BOOLEAN  ,
BOOLEAN  ,
PULONG  ,
PULONG   
)

◆ NtQueryEaFile()

NTSYSAPI NTSTATUS WINAPI NtQueryEaFile ( HANDLE  ,
PIO_STATUS_BLOCK  ,
PVOID  ,
ULONG  ,
BOOLEAN  ,
PVOID  ,
ULONG  ,
PULONG  ,
BOOLEAN   
)

◆ NtQueryEvent()

NTSYSAPI NTSTATUS WINAPI NtQueryEvent ( HANDLE  ,
EVENT_INFORMATION_CLASS  ,
PVOID  ,
ULONG  ,
PULONG   
)

◆ NtQueryFullAttributesFile()

NTSYSAPI NTSTATUS WINAPI NtQueryFullAttributesFile ( const OBJECT_ATTRIBUTES ,
FILE_NETWORK_OPEN_INFORMATION  
)

◆ NtQueryInformationAtom()

NTSYSAPI NTSTATUS WINAPI NtQueryInformationAtom ( RTL_ATOM  ,
ATOM_INFORMATION_CLASS  ,
PVOID  ,
ULONG  ,
ULONG  
)

◆ NtQueryInformationFile()

NTSYSAPI NTSTATUS WINAPI NtQueryInformationFile ( HANDLE  ,
PIO_STATUS_BLOCK  ,
PVOID  ,
LONG  ,
FILE_INFORMATION_CLASS   
)

◆ NtQueryInformationJobObject()

NTSYSAPI NTSTATUS WINAPI NtQueryInformationJobObject ( HANDLE  JobHandle,
JOBOBJECTINFOCLASS  JobInformationClass,
PVOID  JobInformation,
ULONG  JobInformationLength,
PULONG  ReturnLength 
)

Definition at line 485 of file job.c.

491{
492 PEJOB Job;
494 BOOLEAN NoOutput;
495 PVOID GenericCopy;
496 PLIST_ENTRY NextEntry;
497 PKTHREAD CurrentThread;
501 ULONG RequiredLength, RequiredAlign, SizeToCopy, NeededSize;
502
503 PAGED_CODE();
504
505 CurrentThread = KeGetCurrentThread();
506
507 /* Validate class */
508 if (JobInformationClass > JobObjectJobSetInformation || JobInformationClass < JobObjectBasicAccountingInformation)
509 {
511 }
512
513 /* Get associated lengths & alignments */
514 RequiredLength = PspJobInfoLengths[JobInformationClass];
515 RequiredAlign = PspJobInfoAlign[JobInformationClass];
516 SizeToCopy = RequiredLength;
517 NeededSize = RequiredLength;
518
519 /* If length mismatch (needed versus provided) */
520 if (JobInformationLength != RequiredLength)
521 {
522 /* This can only be accepted if: JobObjectBasicProcessIdList or JobObjectSecurityLimitInformation
523 * Or if size is bigger than needed
524 */
525 if ((JobInformationClass != JobObjectBasicProcessIdList && JobInformationClass != JobObjectSecurityLimitInformation) ||
526 JobInformationLength < RequiredLength)
527 {
529 }
530
531 /* Set what we need to copy out */
532 SizeToCopy = JobInformationLength;
533 }
534
536 /* If not comming from umode, we need to probe buffers */
538 {
539 ASSERT(((RequiredAlign) == 1) || ((RequiredAlign) == 2) || ((RequiredAlign) == 4) || ((RequiredAlign) == 8) || ((RequiredAlign) == 16));
540
542 {
543 /* Probe out buffer for write */
544 if (JobInformation != NULL)
545 {
546 ProbeForWrite(JobInformation, JobInformationLength, RequiredAlign);
547 }
548
549 /* But also return length if asked */
550 if (ReturnLength != NULL)
551 {
553 }
554 }
556 {
558 }
559 _SEH2_END;
560 }
561
562 /* If a job handle was provided, use it */
563 if (JobHandle != NULL)
564 {
567 PsJobType,
569 (PVOID*)&Job,
570 NULL);
571 if (!NT_SUCCESS(Status))
572 {
573 return Status;
574 }
575 }
576 /* Otherwise, get our current process' job, if any */
577 else
578 {
579 PEPROCESS CurrentProcess;
580
581 CurrentProcess = (PEPROCESS)CurrentThread->ApcState.Process;
582 Job = CurrentProcess->Job;
583 if (Job == NULL)
584 {
586 }
587
589 }
590
591 /* By default, assume we'll have to copy data */
592 NoOutput = FALSE;
593 /* Select class */
594 switch (JobInformationClass)
595 {
596 /* Basic counters */
599 /* Zero basics */
601
602 /* Lock */
603 KeEnterGuardedRegionThread(CurrentThread);
605
606 /* Initialize with job counters */
612 BasicAndIo.BasicInfo.TotalProcesses = Job->TotalProcesses;
613 BasicAndIo.BasicInfo.ActiveProcesses = Job->ActiveProcesses;
615
616 /* We also set IoInfo, even though we might not return it */
623
624 /* For every process, sum its counters */
625 for (NextEntry = Job->ProcessListHead.Flink;
626 NextEntry != &Job->ProcessListHead;
627 NextEntry = NextEntry->Flink)
628 {
630
631 Process = CONTAINING_RECORD(NextEntry, EPROCESS, JobLinks);
632 if (!BooleanFlagOn(Process->JobStatus, 2))
633 {
634 PROCESS_VALUES Values;
635
636 KeQueryValuesProcess(&Process->Pcb, &Values);
645 }
646 }
647
648 /* And done */
650 KeLeaveGuardedRegionThread(CurrentThread);
651
652 /* We'll copy back the buffer */
653 GenericCopy = &BasicAndIo;
655
656 break;
657
658 /* Limits information */
661 /* Lock */
662 KeEnterGuardedRegionThread(CurrentThread);
664
665 /* Copy basic information */
666 ExtendedLimit.BasicLimitInformation.LimitFlags = Job->LimitFlags;
672 ExtendedLimit.BasicLimitInformation.Affinity = Job->Affinity;
675
676 /* If asking for extending limits */
677 if (JobInformationClass == JobObjectExtendedLimitInformation)
678 {
679 /* Lock our memory lock */
681 /* Return limits */
682 ExtendedLimit.ProcessMemoryLimit = Job->ProcessMemoryLimit << PAGE_SHIFT;
683 ExtendedLimit.JobMemoryLimit = Job->JobMemoryLimit << PAGE_SHIFT;
685 ExtendedLimit.PeakJobMemoryUsed = Job->PeakJobMemoryUsed << PAGE_SHIFT;
687
688 /* And done */
690 KeLeaveGuardedRegionThread(CurrentThread);
691
692 /* We'll never return IoInfo, so zero it out to avoid
693 * kernel memory leak
694 */
695 RtlZeroMemory(&ExtendedLimit.IoInfo, sizeof(IO_COUNTERS));
696 }
697 else
698 {
699 /* And done */
701 KeLeaveGuardedRegionThread(CurrentThread);
702 }
703
704 /* We'll copy back the buffer */
705 GenericCopy = &ExtendedLimit;
707
708 break;
709
710 default:
711 DPRINT1("Class %d not implemented\n", JobInformationClass);
713 break;
714 }
715
716 /* Job is no longer required */
718
719 /* If we succeeed, copy back data */
720 if (NT_SUCCESS(Status))
721 {
723 {
724 /* If we have anything to copy, do it */
725 if (!NoOutput)
726 {
727 RtlCopyMemory(JobInformation, GenericCopy, SizeToCopy);
728 }
729
730 /* And return length if asked */
731 if (ReturnLength != NULL)
732 {
733 *ReturnLength = NeededSize;
734 }
735 }
737 {
739 }
740 _SEH2_END;
741 }
742
743 return Status;
744}
unsigned char BOOLEAN
#define FALSE
Definition: types.h:117
IN CINT OUT PVOID IN ULONG OUT PULONG ReturnLength
Definition: dumpinfo.c:43
#define PAGE_SHIFT
Definition: env_spec_w32.h:45
#define ExAcquireResourceSharedLite(res, wait)
Definition: env_spec_w32.h:621
VOID NTAPI ProbeForWrite(IN PVOID Address, IN SIZE_T Length, IN ULONG Alignment)
Definition: exintrin.c:143
#define BooleanFlagOn(F, SF)
Definition: ext2fs.h:183
VOID FASTCALL KeReleaseGuardedMutexUnsafe(IN OUT PKGUARDED_MUTEX GuardedMutex)
Definition: gmutex.c:75
VOID FASTCALL KeAcquireGuardedMutexUnsafe(IN OUT PKGUARDED_MUTEX GuardedMutex)
Definition: gmutex.c:64
#define KeGetCurrentThread
Definition: hal.h:55
@ JobObjectBasicLimitInformation
Definition: pstypes.h:429
@ JobObjectBasicAndIoAccountingInformation
Definition: pstypes.h:435
@ JobObjectBasicAccountingInformation
Definition: pstypes.h:428
@ JobObjectSecurityLimitInformation
Definition: pstypes.h:432
@ JobObjectExtendedLimitInformation
Definition: pstypes.h:436
@ JobObjectBasicProcessIdList
Definition: pstypes.h:430
@ JobObjectJobSetInformation
Definition: pstypes.h:437
#define JOB_OBJECT_QUERY
Definition: pstypes.h:202
#define KeEnterGuardedRegionThread(_Thread)
Definition: ke_x.h:27
#define KeLeaveGuardedRegionThread(_Thread)
Definition: ke_x.h:48
if(dx< 0)
Definition: linetemp.h:194
#define ASSERT(a)
Definition: mode.c:44
#define KernelMode
Definition: asm.h:34
struct _EPROCESS * PEPROCESS
Definition: nt_native.h:30
VOID FASTCALL ExReleaseResourceLite(IN PERESOURCE Resource)
Definition: resource.c:1822
VOID NTAPI KeQueryValuesProcess(IN PKPROCESS Process, PPROCESS_VALUES Values)
Definition: procobj.c:525
ULONG PspJobInfoAlign[]
Definition: job.c:68
ULONG PspJobInfoLengths[]
Definition: job.c:53
#define STATUS_NOT_IMPLEMENTED
Definition: ntstatus.h:239
#define STATUS_INVALID_INFO_CLASS
Definition: ntstatus.h:240
#define _SEH2_YIELD(__stmt)
Definition: pseh2_64.h:162
#define ProbeForWriteUlong(Ptr)
Definition: probe.h:36
JOBOBJECT_BASIC_ACCOUNTING_INFORMATION BasicInfo
Definition: pstypes.h:1596
LARGE_INTEGER ThisPeriodTotalUserTime
Definition: pstypes.h:1485
ULONGLONG OtherTransferCount
Definition: pstypes.h:1513
LARGE_INTEGER TotalKernelTime
Definition: pstypes.h:1484
ULONG LimitFlags
Definition: pstypes.h:1493
ULONG TotalProcesses
Definition: pstypes.h:1488
ULONG ActiveProcessLimit
Definition: pstypes.h:1496
LIST_ENTRY ProcessListHead
Definition: pstypes.h:1481
UCHAR PriorityClass
Definition: pstypes.h:1498
ULONGLONG OtherOperationCount
Definition: pstypes.h:1510
LARGE_INTEGER PerJobUserTimeLimit
Definition: pstypes.h:1492
ULONG Affinity
Definition: pstypes.h:1497
ULONG ActiveProcesses
Definition: pstypes.h:1489
ULONG PeakProcessMemoryUsed
Definition: pstypes.h:1517
ULONG ProcessMemoryLimit
Definition: pstypes.h:1515
ULONGLONG ReadTransferCount
Definition: pstypes.h:1511
ULONG SchedulingClass
Definition: pstypes.h:1507
ULONG TotalPageFaultCount
Definition: pstypes.h:1487
ULONG MinimumWorkingSetSize
Definition: pstypes.h:1494
ULONG PeakJobMemoryUsed
Definition: pstypes.h:1518
ULONG TotalTerminatedProcesses
Definition: pstypes.h:1490
ULONG MaximumWorkingSetSize
Definition: pstypes.h:1495
LARGE_INTEGER TotalUserTime
Definition: pstypes.h:1483
ULONGLONG ReadOperationCount
Definition: pstypes.h:1508
LARGE_INTEGER ThisPeriodTotalKernelTime
Definition: pstypes.h:1486
ULONGLONG WriteOperationCount
Definition: pstypes.h:1509
EX_PUSH_LOCK MemoryLimitsLock
Definition: pstypes.h:1525
ULONG JobMemoryLimit
Definition: pstypes.h:1516
ULONGLONG WriteTransferCount
Definition: pstypes.h:1512
ERESOURCE JobLock
Definition: pstypes.h:1482
LARGE_INTEGER PerProcessUserTimeLimit
Definition: pstypes.h:1491
struct _EJOB * Job
Definition: pstypes.h:1303
ULONGLONG ReadOperationCount
Definition: pstypes.h:83
ULONGLONG WriteTransferCount
Definition: pstypes.h:87
ULONGLONG WriteOperationCount
Definition: pstypes.h:84
ULONGLONG ReadTransferCount
Definition: pstypes.h:86
ULONGLONG OtherOperationCount
Definition: pstypes.h:85
ULONGLONG OtherTransferCount
Definition: pstypes.h:88
LARGE_INTEGER PerProcessUserTimeLimit
Definition: pstypes.h:1551
JOBOBJECT_BASIC_LIMIT_INFORMATION BasicLimitInformation
Definition: pstypes.h:1602
KAPC_STATE ApcState
Definition: ketypes.h:1778
struct _LIST_ENTRY * Flink
Definition: typedefs.h:121
LARGE_INTEGER TotalUserTime
Definition: ke.h:47
IO_COUNTERS IoInfo
Definition: ke.h:48
LARGE_INTEGER TotalKernelTime
Definition: ke.h:46
#define RtlCopyMemory(Destination, Source, Length)
Definition: typedefs.h:263
#define STATUS_INFO_LENGTH_MISMATCH
Definition: udferr_usr.h:133
LONGLONG QuadPart
Definition: typedefs.h:114
_In_ ULONG _Out_opt_ PULONG RequiredLength
Definition: wmifuncs.h:30

Referenced by QueryInformationJobObject().

◆ NtQueryInformationPort()

NTSYSAPI NTSTATUS WINAPI NtQueryInformationPort ( HANDLE  ,
PORT_INFORMATION_CLASS  ,
PVOID  ,
ULONG  ,
PULONG   
)

◆ NtQueryInformationProcess()

NTSYSAPI NTSTATUS WINAPI NtQueryInformationProcess ( HANDLE  ,
PROCESSINFOCLASS  ,
PVOID  ,
ULONG  ,
PULONG   
)

◆ NtQueryInformationThread()

NTSYSAPI NTSTATUS WINAPI NtQueryInformationThread ( HANDLE  ,
THREADINFOCLASS  ,
PVOID  ,
ULONG  ,
PULONG   
)

◆ NtQueryInformationToken()

NTSYSAPI NTSTATUS WINAPI NtQueryInformationToken ( HANDLE  ,
TOKEN_INFORMATION_CLASS  ,
PVOID  ,
ULONG  ,
PULONG   
)

◆ NtQueryInstallUILanguage()

NTSYSAPI NTSTATUS WINAPI NtQueryInstallUILanguage ( LANGID )

◆ NtQueryIntervalProfile()

NTSYSAPI NTSTATUS WINAPI NtQueryIntervalProfile ( KPROFILE_SOURCE  ,
PULONG   
)

◆ NtQueryIoCompletion()

NTSYSAPI NTSTATUS WINAPI NtQueryIoCompletion ( HANDLE  ,
IO_COMPLETION_INFORMATION_CLASS  ,
PVOID  ,
ULONG  ,
PULONG   
)

◆ NtQueryKey()

NTSYSAPI NTSTATUS WINAPI NtQueryKey ( HANDLE  ,
KEY_INFORMATION_CLASS  ,
void ,
DWORD  ,
DWORD  
)

◆ NtQueryLicenseValue()

NTSYSAPI NTSTATUS WINAPI NtQueryLicenseValue ( const UNICODE_STRING ,
ULONG ,
PVOID  ,
ULONG  ,
ULONG  
)

◆ NtQueryMultipleValueKey()

NTSYSAPI NTSTATUS WINAPI NtQueryMultipleValueKey ( HANDLE  ,
PKEY_MULTIPLE_VALUE_INFORMATION  ,
ULONG  ,
PVOID  ,
ULONG  ,
PULONG   
)

◆ NtQueryMutant()

NTSYSAPI NTSTATUS WINAPI NtQueryMutant ( HANDLE  ,
MUTANT_INFORMATION_CLASS  ,
PVOID  ,
ULONG  ,
PULONG   
)

◆ NtQueryObject()

NTSYSAPI NTSTATUS WINAPI NtQueryObject ( HANDLE  ,
OBJECT_INFORMATION_CLASS  ,
PVOID  ,
ULONG  ,
PULONG   
)

◆ NtQueryOpenSubKeys()

NTSYSAPI NTSTATUS WINAPI NtQueryOpenSubKeys ( POBJECT_ATTRIBUTES  ,
PULONG   
)

◆ NtQueryPerformanceCounter()

NTSYSAPI NTSTATUS WINAPI NtQueryPerformanceCounter ( PLARGE_INTEGER  ,
PLARGE_INTEGER   
)

◆ NtQuerySection()

NTSYSAPI NTSTATUS WINAPI NtQuerySection ( HANDLE  ,
SECTION_INFORMATION_CLASS  ,
PVOID  ,
SIZE_T  ,
SIZE_T  
)

◆ NtQuerySecurityObject()

NTSYSAPI NTSTATUS WINAPI NtQuerySecurityObject ( HANDLE  ,
SECURITY_INFORMATION  ,
PSECURITY_DESCRIPTOR  ,
ULONG  ,
PULONG   
)

◆ NtQuerySemaphore()

NTSYSAPI NTSTATUS WINAPI NtQuerySemaphore ( HANDLE  ,
SEMAPHORE_INFORMATION_CLASS  ,
PVOID  ,
ULONG  ,
PULONG   
)

◆ NtQuerySymbolicLinkObject()

NTSYSAPI NTSTATUS WINAPI NtQuerySymbolicLinkObject ( HANDLE  ,
PUNICODE_STRING  ,
PULONG   
)

◆ NtQuerySystemEnvironmentValue()

NTSYSAPI NTSTATUS WINAPI NtQuerySystemEnvironmentValue ( PUNICODE_STRING  ,
PWCHAR  ,
ULONG  ,
PULONG   
)

◆ NtQuerySystemInformation()

NTSYSAPI NTSTATUS WINAPI NtQuerySystemInformation ( SYSTEM_INFORMATION_CLASS  ,
PVOID  ,
ULONG  ,
PULONG   
)

◆ NtQuerySystemInformationEx()

NTSYSAPI NTSTATUS WINAPI NtQuerySystemInformationEx ( SYSTEM_INFORMATION_CLASS  ,
void ,
ULONG  ,
void ,
ULONG  ,
ULONG  
)

◆ NtQuerySystemTime()

NTSYSAPI NTSTATUS WINAPI NtQuerySystemTime ( PLARGE_INTEGER  )

◆ NtQueryTimer()

NTSYSAPI NTSTATUS WINAPI NtQueryTimer ( HANDLE  ,
TIMER_INFORMATION_CLASS  ,
PVOID  ,
ULONG  ,
PULONG   
)

◆ NtQueryTimerResolution()

NTSYSAPI NTSTATUS WINAPI NtQueryTimerResolution ( PULONG  ,
PULONG  ,
PULONG   
)

◆ NtQueryValueKey()

NTSYSAPI NTSTATUS WINAPI NtQueryValueKey ( HANDLE  ,
const UNICODE_STRING ,
KEY_VALUE_INFORMATION_CLASS  ,
void ,
DWORD  ,
DWORD  
)

◆ NtQueryVirtualMemory()

NTSYSAPI NTSTATUS WINAPI NtQueryVirtualMemory ( HANDLE  ,
LPCVOID  ,
MEMORY_INFORMATION_CLASS  ,
PVOID  ,
SIZE_T  ,
SIZE_T  
)

◆ NtQueryVolumeInformationFile()

NTSYSAPI NTSTATUS WINAPI NtQueryVolumeInformationFile ( HANDLE  ,
PIO_STATUS_BLOCK  ,
PVOID  ,
ULONG  ,
FS_INFORMATION_CLASS   
)

◆ NtQueueApcThread()

NTSYSAPI NTSTATUS WINAPI NtQueueApcThread ( HANDLE  ,
PNTAPCFUNC  ,
ULONG_PTR  ,
ULONG_PTR  ,
ULONG_PTR   
)

◆ NtRaiseException()

NTSYSAPI NTSTATUS WINAPI NtRaiseException ( PEXCEPTION_RECORD  ,
PCONTEXT  ,
BOOL   
)

◆ NtRaiseHardError()

◆ NtReadFile()

◆ NtReadFileScatter()

◆ NtReadRequestData()

NTSYSAPI NTSTATUS WINAPI NtReadRequestData ( HANDLE  ,
PLPC_MESSAGE  ,
ULONG  ,
PVOID  ,
ULONG  ,
PULONG   
)

◆ NtReadVirtualMemory()

NTSYSAPI NTSTATUS WINAPI NtReadVirtualMemory ( HANDLE  ,
const void ,
void ,
SIZE_T  ,
SIZE_T  
)

◆ NtRegisterThreadTerminatePort()

NTSYSAPI NTSTATUS WINAPI NtRegisterThreadTerminatePort ( HANDLE  )

◆ NtReleaseKeyedEvent()

◆ NtReleaseMutant()

NTSYSAPI NTSTATUS WINAPI NtReleaseMutant ( HANDLE  ,
PLONG   
)

◆ NtReleaseSemaphore()

NTSYSAPI NTSTATUS WINAPI NtReleaseSemaphore ( HANDLE  ,
ULONG  ,
PULONG   
)

◆ NtRemoveIoCompletion()

NTSYSAPI NTSTATUS WINAPI NtRemoveIoCompletion ( HANDLE  ,
PULONG_PTR  ,
PULONG_PTR  ,
PIO_STATUS_BLOCK  ,
PLARGE_INTEGER   
)

◆ NtRenameKey()

NTSYSAPI NTSTATUS WINAPI NtRenameKey ( HANDLE  ,
UNICODE_STRING  
)

◆ NtReplaceKey()

◆ NtReplyPort()

NTSYSAPI NTSTATUS WINAPI NtReplyPort ( HANDLE  ,
PLPC_MESSAGE   
)

◆ NtReplyWaitReceivePort()

NTSYSAPI NTSTATUS WINAPI NtReplyWaitReceivePort ( HANDLE  ,
PULONG  ,
PLPC_MESSAGE  ,
PLPC_MESSAGE   
)

◆ NtReplyWaitReceivePortEx()

NTSYSAPI NTSTATUS WINAPI NtReplyWaitReceivePortEx ( HANDLE  ,
PVOID ,
PPORT_MESSAGE  ,
PPORT_MESSAGE  ,
PLARGE_INTEGER   
)

◆ NtReplyWaitReplyPort()

NTSYSAPI NTSTATUS WINAPI NtReplyWaitReplyPort ( HANDLE  ,
PLPC_MESSAGE   
)

◆ NtRequestPort()

NTSYSAPI NTSTATUS WINAPI NtRequestPort ( HANDLE  ,
PLPC_MESSAGE   
)

◆ NtRequestWaitReplyPort()

NTSYSAPI NTSTATUS WINAPI NtRequestWaitReplyPort ( HANDLE  ,
PLPC_MESSAGE  ,
PLPC_MESSAGE   
)

◆ NtResetEvent()

NTSYSAPI NTSTATUS WINAPI NtResetEvent ( HANDLE  ,
PULONG   
)

◆ NtResetWriteWatch()

NTSYSAPI NTSTATUS WINAPI NtResetWriteWatch ( HANDLE  ,
PVOID  ,
SIZE_T   
)

◆ NtRestoreKey()

NTSYSAPI NTSTATUS WINAPI NtRestoreKey ( HANDLE  ,
HANDLE  ,
ULONG   
)

◆ NtResumeThread()

NTSYSAPI NTSTATUS WINAPI NtResumeThread ( HANDLE  ,
PULONG   
)

◆ NtSaveKey()

NTSYSAPI NTSTATUS WINAPI NtSaveKey ( HANDLE  ,
HANDLE   
)

◆ NtSecureConnectPort()

◆ NtSetContextThread()

NTSYSAPI NTSTATUS WINAPI NtSetContextThread ( HANDLE  ,
const CONTEXT  
)

◆ NtSetDefaultHardErrorPort()

NTSYSAPI NTSTATUS WINAPI NtSetDefaultHardErrorPort ( HANDLE  )

◆ NtSetDefaultLocale()

NTSYSAPI NTSTATUS WINAPI NtSetDefaultLocale ( BOOLEAN  ,
LCID   
)

◆ NtSetDefaultUILanguage()

NTSYSAPI NTSTATUS WINAPI NtSetDefaultUILanguage ( LANGID  )

◆ NtSetEaFile()

NTSYSAPI NTSTATUS WINAPI NtSetEaFile ( HANDLE  ,
PIO_STATUS_BLOCK  ,
PVOID  ,
ULONG   
)

◆ NtSetEvent()

NTSYSAPI NTSTATUS WINAPI NtSetEvent ( HANDLE  ,
PULONG   
)

◆ NtSetHighEventPair()

NTSYSAPI NTSTATUS WINAPI NtSetHighEventPair ( HANDLE  )

◆ NtSetHighWaitLowEventPair()

NTSYSAPI NTSTATUS WINAPI NtSetHighWaitLowEventPair ( HANDLE  )

◆ NtSetHighWaitLowThread()

NTSYSAPI NTSTATUS WINAPI NtSetHighWaitLowThread ( VOID  )

◆ NtSetInformationFile()

NTSYSAPI NTSTATUS WINAPI NtSetInformationFile ( HANDLE  ,
PIO_STATUS_BLOCK  ,
PVOID  ,
ULONG  ,
FILE_INFORMATION_CLASS   
)

◆ NtSetInformationJobObject()

NTSYSAPI NTSTATUS WINAPI NtSetInformationJobObject ( HANDLE  JobHandle,
JOBOBJECTINFOCLASS  JobInformationClass,
PVOID  JobInformation,
ULONG  JobInformationLength 
)

Definition at line 752 of file job.c.

757{
758 PEJOB Job;
760 PKTHREAD CurrentThread;
763 ULONG RequiredLength, RequiredAlign;
764
765 PAGED_CODE();
766
767 CurrentThread = KeGetCurrentThread();
768
769 /* Validate class */
770 if (JobInformationClass > JobObjectJobSetInformation || JobInformationClass < JobObjectBasicAccountingInformation)
771 {
773 }
774
775 /* Get associated lengths & alignments */
776 RequiredLength = PspJobInfoLengths[JobInformationClass];
777 RequiredAlign = PspJobInfoAlign[JobInformationClass];
778
780 /* If not comming from umode, we need to probe buffers */
782 {
783 ASSERT(((RequiredAlign) == 1) || ((RequiredAlign) == 2) || ((RequiredAlign) == 4) || ((RequiredAlign) == 8) || ((RequiredAlign) == 16));
784
786 {
787 /* Probe out buffer for read */
788 if (JobInformationLength != 0)
789 {
790 ProbeForRead(JobInformation, JobInformationLength, RequiredAlign);
791 }
792 }
794 {
796 }
797 _SEH2_END;
798 }
799
800 /* Validate input size */
801 if (JobInformationLength != RequiredLength)
802 {
804 }
805
806 /* Open the given job */
808 if (JobInformationClass == JobObjectSecurityLimitInformation)
809 {
811 }
814 PsJobType,
816 (PVOID*)&Job,
817 NULL);
818 if (!NT_SUCCESS(Status))
819 {
820 return Status;
821 }
822
823 /* And set the information */
824 KeEnterGuardedRegionThread(CurrentThread);
825 switch (JobInformationClass)
826 {
828 DPRINT1("Class JobObjectExtendedLimitInformation not implemented\n");
830 break;
831
832 default:
833 DPRINT1("Class %d not implemented\n", JobInformationClass);
835 break;
836 }
837 KeLeaveGuardedRegionThread(CurrentThread);
838
840
841 return Status;
842}
VOID NTAPI ProbeForRead(IN CONST VOID *Address, IN SIZE_T Length, IN ULONG Alignment)
Definition: exintrin.c:102
#define JOB_OBJECT_SET_SECURITY_ATTRIBUTES
Definition: pstypes.h:204
#define JOB_OBJECT_SET_ATTRIBUTES
Definition: pstypes.h:201
ULONG ACCESS_MASK
Definition: nt_native.h:40

Referenced by SetInformationJobObject().

◆ NtSetInformationKey()

NTSYSAPI NTSTATUS WINAPI NtSetInformationKey ( HANDLE  ,
const int  ,
PVOID  ,
ULONG   
)

◆ NtSetInformationObject()

NTSYSAPI NTSTATUS WINAPI NtSetInformationObject ( HANDLE  ,
OBJECT_INFORMATION_CLASS  ,
PVOID  ,
ULONG   
)

◆ NtSetInformationProcess()

NTSYSAPI NTSTATUS WINAPI NtSetInformationProcess ( HANDLE  ,
PROCESS_INFORMATION_CLASS  ,
PVOID  ,
ULONG   
)

◆ NtSetInformationThread()

NTSYSAPI NTSTATUS WINAPI NtSetInformationThread ( HANDLE  ,
THREADINFOCLASS  ,
LPCVOID  ,
ULONG   
)

◆ NtSetInformationToken()

NTSYSAPI NTSTATUS WINAPI NtSetInformationToken ( HANDLE  ,
TOKEN_INFORMATION_CLASS  ,
PVOID  ,
ULONG   
)

◆ NtSetIntervalProfile()

NTSYSAPI NTSTATUS WINAPI NtSetIntervalProfile ( ULONG  ,
KPROFILE_SOURCE   
)

◆ NtSetIoCompletion()

NTSYSAPI NTSTATUS WINAPI NtSetIoCompletion ( HANDLE  ,
ULONG_PTR  ,
ULONG_PTR  ,
NTSTATUS  ,
SIZE_T   
)

◆ NtSetLdtEntries()

NTSYSAPI NTSTATUS WINAPI NtSetLdtEntries ( ULONG  ,
ULONG  ,
ULONG  ,
ULONG  ,
ULONG  ,
ULONG   
)

◆ NtSetLowEventPair()

NTSYSAPI NTSTATUS WINAPI NtSetLowEventPair ( HANDLE  )

◆ NtSetLowWaitHighEventPair()

NTSYSAPI NTSTATUS WINAPI NtSetLowWaitHighEventPair ( HANDLE  )

◆ NtSetLowWaitHighThread()

NTSYSAPI NTSTATUS WINAPI NtSetLowWaitHighThread ( VOID  )

◆ NtSetSecurityObject()

◆ NtSetSystemEnvironmentValue()

NTSYSAPI NTSTATUS WINAPI NtSetSystemEnvironmentValue ( PUNICODE_STRING  ,
PUNICODE_STRING   
)

◆ NtSetSystemInformation()

NTSYSAPI NTSTATUS WINAPI NtSetSystemInformation ( SYSTEM_INFORMATION_CLASS  ,
PVOID  ,
ULONG   
)

◆ NtSetSystemPowerState()

NTSYSAPI NTSTATUS WINAPI NtSetSystemPowerState ( POWER_ACTION  ,
SYSTEM_POWER_STATE  ,
ULONG   
)

◆ NtSetSystemTime()

NTSYSAPI NTSTATUS WINAPI NtSetSystemTime ( const LARGE_INTEGER ,
LARGE_INTEGER  
)

◆ NtSetTimer()

NTSYSAPI NTSTATUS WINAPI NtSetTimer ( HANDLE  ,
const LARGE_INTEGER ,
PTIMER_APC_ROUTINE  ,
PVOID  ,
BOOLEAN  ,
ULONG  ,
BOOLEAN  
)

◆ NtSetTimerResolution()

NTSYSAPI NTSTATUS WINAPI NtSetTimerResolution ( ULONG  ,
BOOLEAN  ,
PULONG   
)

◆ NtSetValueKey()

NTSYSAPI NTSTATUS WINAPI NtSetValueKey ( HANDLE  ,
const UNICODE_STRING ,
ULONG  ,
ULONG  ,
const void ,
ULONG   
)

◆ NtSetVolumeInformationFile()

NTSYSAPI NTSTATUS WINAPI NtSetVolumeInformationFile ( HANDLE  ,
PIO_STATUS_BLOCK  ,
PVOID  ,
ULONG  ,
FS_INFORMATION_CLASS   
)

◆ NtShutdownSystem()

NTSYSAPI NTSTATUS WINAPI NtShutdownSystem ( SHUTDOWN_ACTION  )

◆ NtSignalAndWaitForSingleObject()

NTSYSAPI NTSTATUS WINAPI NtSignalAndWaitForSingleObject ( HANDLE  ,
HANDLE  ,
BOOLEAN  ,
const LARGE_INTEGER  
)

◆ NtStartProfile()

NTSYSAPI NTSTATUS WINAPI NtStartProfile ( HANDLE  )

◆ NtStopProfile()

NTSYSAPI NTSTATUS WINAPI NtStopProfile ( HANDLE  )

◆ NtSuspendThread()

NTSYSAPI NTSTATUS WINAPI NtSuspendThread ( HANDLE  ,
PULONG   
)

◆ NtSystemDebugControl()

NTSYSAPI NTSTATUS WINAPI NtSystemDebugControl ( SYSDBG_COMMAND  ControlCode,
PVOID  InputBuffer,
ULONG  InputBufferLength,
PVOID  OutputBuffer,
ULONG  OutputBufferLength,
PULONG  ReturnLength 
)

Definition at line 182 of file dbgctrl.c.

188{
189 switch (ControlCode)
190 {
206 case SysDbgReadMsr:
207 case SysDbgWriteMsr:
213 case SysDbgBreakPoint:
229 default:
231 }
232}
NTSTATUS NTAPI KdSystemDebugControl(_In_ SYSDBG_COMMAND Command, _In_ PVOID InputBuffer, _In_ ULONG InputBufferLength, _Out_ PVOID OutputBuffer, _In_ ULONG OutputBufferLength, _Inout_ PULONG ReturnLength, _In_ KPROCESSOR_MODE PreviousMode)
Definition: kdapi.c:2157
#define KeGetPreviousMode()
Definition: ketypes.h:1115
@ SysDbgCheckLowMemory
Definition: kdtypes.h:82
@ SysDbgQuerySpecialCalls
Definition: kdtypes.h:67
@ SysDbgSetTracepoint
Definition: kdtypes.h:64
@ SysDbgReadPhysical
Definition: kdtypes.h:72
@ SysDbgGetPrintBufferSize
Definition: kdtypes.h:87
@ SysDbgQueryTraceInformation
Definition: kdtypes.h:63
@ SysDbgClearSpecialCalls
Definition: kdtypes.h:66
@ SysDbgReadMsr
Definition: kdtypes.h:78
@ SysDbgWriteControlSpace
Definition: kdtypes.h:75
@ SysDbgGetKdBlockEnable
Definition: kdtypes.h:92
@ SysDbgWriteBusData
Definition: kdtypes.h:81
@ SysDbgEnableKernelDebugger
Definition: kdtypes.h:83
@ SysDbgWriteVirtual
Definition: kdtypes.h:71
@ SysDbgWritePhysical
Definition: kdtypes.h:73
@ SysDbgGetKdUmExceptionEnable
Definition: kdtypes.h:89
@ SysDbgQueryVersion
Definition: kdtypes.h:69
@ SysDbgReadControlSpace
Definition: kdtypes.h:74
@ SysDbgReadBusData
Definition: kdtypes.h:80
@ SysDbgBreakPoint
Definition: kdtypes.h:68
@ SysDbgSetKdUmExceptionEnable
Definition: kdtypes.h:90
@ SysDbgReadIoSpace
Definition: kdtypes.h:76
@ SysDbgGetAutoKdEnable
Definition: kdtypes.h:85
@ SysDbgWriteMsr
Definition: kdtypes.h:79
@ SysDbgReadVirtual
Definition: kdtypes.h:70
@ SysDbgSetPrintBufferSize
Definition: kdtypes.h:88
@ SysDbgQueryModuleInformation
Definition: kdtypes.h:62
@ SysDbgSetAutoKdEnable
Definition: kdtypes.h:86
@ SysDbgGetTriageDump
Definition: kdtypes.h:91
@ SysDbgDisableKernelDebugger
Definition: kdtypes.h:84
@ SysDbgWriteIoSpace
Definition: kdtypes.h:77
@ SysDbgSetSpecialCall
Definition: kdtypes.h:65
@ SysDbgSetKdBlockEnable
Definition: kdtypes.h:93
_In_ WDFREQUEST _In_ size_t OutputBufferLength
Definition: wdfio.h:320
_In_ WDFREQUEST _In_ size_t _In_ size_t InputBufferLength
Definition: wdfio.h:322
_Must_inspect_result_ _In_ WDFIOTARGET _In_opt_ WDFREQUEST _In_opt_ PWDF_MEMORY_DESCRIPTOR OutputBuffer
Definition: wdfiotarget.h:863
_Must_inspect_result_ _In_ WDFIOTARGET _In_opt_ WDFREQUEST _In_opt_ PWDF_MEMORY_DESCRIPTOR InputBuffer
Definition: wdfiotarget.h:953
_IRQL_requires_same_ typedef _In_ ULONG ControlCode
Definition: wmitypes.h:55

◆ NtTerminateJobObject()

NTSYSAPI NTSTATUS WINAPI NtTerminateJobObject ( HANDLE  JobHandle,
NTSTATUS  ExitStatus 
)

Definition at line 850 of file job.c.

853{
855 PEJOB Job;
857
858 PAGED_CODE();
859
861
863 JobHandle,
865 PsJobType,
867 (PVOID*)&Job,
868 NULL);
869 if(NT_SUCCESS(Status))
870 {
872 Job,
874 ExitStatus);
876 }
877
878 return Status;
879}
#define JOB_OBJECT_TERMINATE
Definition: pstypes.h:203
_In_ NTSTATUS ExitStatus
Definition: psfuncs.h:867
NTSTATUS NTAPI PspTerminateJobObject(PEJOB Job, KPROCESSOR_MODE AccessMode, NTSTATUS ExitStatus)
Definition: job.c:128

Referenced by TerminateJobObject().

◆ NtTerminateProcess()

NTSYSAPI NTSTATUS WINAPI NtTerminateProcess ( HANDLE  ,
LONG   
)

◆ NtTerminateThread()

NTSYSAPI NTSTATUS WINAPI NtTerminateThread ( HANDLE  ,
LONG   
)

◆ NtTestAlert()

NTSYSAPI NTSTATUS WINAPI NtTestAlert ( VOID  )

Definition at line 465 of file state.c.

466{
467 /* Check and Alert Thread if needed */
470}
BOOLEAN NTAPI KeTestAlertThread(IN KPROCESSOR_MODE AlertMode)
Definition: thrdobj.c:722
#define STATUS_ALERTED
Definition: ntstatus.h:80

Referenced by LdrpInit().

◆ NtUnloadDriver()

NTSYSAPI NTSTATUS WINAPI NtUnloadDriver ( const UNICODE_STRING )

◆ NtUnloadKey()

◆ NtUnloadKeyEx()

NTSYSAPI NTSTATUS WINAPI NtUnloadKeyEx ( POBJECT_ATTRIBUTES  ,
HANDLE   
)

◆ NtUnlockFile()

◆ NtUnlockVirtualMemory()

NTSYSAPI NTSTATUS WINAPI NtUnlockVirtualMemory ( HANDLE  ,
PVOID ,
SIZE_T ,
ULONG   
)

◆ NtUnmapViewOfSection()

NTSYSAPI NTSTATUS WINAPI NtUnmapViewOfSection ( HANDLE  ,
PVOID   
)

◆ NtVdmControl()

NTSYSAPI NTSTATUS WINAPI NtVdmControl ( ULONG  ,
PVOID   
)

◆ NtWaitForKeyedEvent()

◆ NtWaitForMultipleObjects()

NTSYSAPI NTSTATUS WINAPI NtWaitForMultipleObjects ( ULONG  ,
const HANDLE ,
BOOLEAN  ,
BOOLEAN  ,
const LARGE_INTEGER  
)

◆ NtWaitForSingleObject()

NTSYSAPI NTSTATUS WINAPI NtWaitForSingleObject ( HANDLE  ,
BOOLEAN  ,
const LARGE_INTEGER  
)

◆ NtWaitHighEventPair()

NTSYSAPI NTSTATUS WINAPI NtWaitHighEventPair ( HANDLE  )

◆ NtWaitLowEventPair()

NTSYSAPI NTSTATUS WINAPI NtWaitLowEventPair ( HANDLE  )

◆ NtWriteFile()

◆ NtWriteFileGather()

◆ NtWriteRequestData()

NTSYSAPI NTSTATUS WINAPI NtWriteRequestData ( HANDLE  ,
PLPC_MESSAGE  ,
ULONG  ,
PVOID  ,
ULONG  ,
PULONG   
)

◆ NtWriteVirtualMemory()

NTSYSAPI NTSTATUS WINAPI NtWriteVirtualMemory ( HANDLE  ,
void ,
const void ,
SIZE_T  ,
SIZE_T  
)

◆ NtYieldExecution()

NTSYSAPI NTSTATUS WINAPI NtYieldExecution ( void  )

Definition at line 744 of file thrdschd.c.

745{
748 PKPRCB Prcb;
749 PKTHREAD Thread, NextThread;
750
751 /* NB: No instructions (other than entry code) should preceed this line */
752
753 /* Fail if there's no ready summary */
755
756 /* Now get the current thread, set the status... */
759
760 /* Raise IRQL to synch and get the KPRCB now */
762 Prcb = KeGetCurrentPrcb();
763
764 /* Now check if there's still a ready summary */
765 if (Prcb->ReadySummary)
766 {
767 /* Acquire thread and PRCB lock */
769 KiAcquirePrcbLock(Prcb);
770
771 /* Find a new thread to run if none was selected */
772 if (!Prcb->NextThread) Prcb->NextThread = KiSelectReadyThread(1, Prcb);
773
774 /* Make sure we still have a next thread to schedule */
775 NextThread = Prcb->NextThread;
776 if (NextThread)
777 {
778 /* Reset quantum and recalculate priority */
779 Thread->Quantum = Thread->QuantumReset;
780 Thread->Priority = KiComputeNewPriority(Thread, 1);
781
782 /* Release the thread lock */
784
785 /* Set context swap busy */
787
788 /* Set the new thread as running */
789 Prcb->NextThread = NULL;
790 Prcb->CurrentThread = NextThread;
791 NextThread->State = Running;
792
793 /* Setup a yield wait and queue the thread */
794 Thread->WaitReason = WrYieldExecution;
795 KxQueueReadyThread(Thread, Prcb);
796
797 /* Make it wait at APC_LEVEL */
798 Thread->WaitIrql = APC_LEVEL;
799
800 /* Sanity check */
802
803 /* Swap to new thread */
806 }
807 else
808 {
809 /* Release the PRCB and thread lock */
810 KiReleasePrcbLock(Prcb);
812 }
813 }
814
815 /* Lower IRQL and return */
817 return Status;
818}
UCHAR KIRQL
Definition: env_spec_w32.h:591
#define APC_LEVEL
Definition: env_spec_w32.h:695
#define KeLowerIrql(oldIrql)
Definition: env_spec_w32.h:602
#define DISPATCH_LEVEL
Definition: env_spec_w32.h:696
_In_opt_ PFILE_OBJECT _In_opt_ PETHREAD Thread
Definition: fltkernel.h:2653
KIRQL NTAPI KeRaiseIrqlToSynchLevel(VOID)
Definition: pic.c:156
FORCEINLINE PKTHREAD KiSelectReadyThread(IN KPRIORITY Priority, IN PKPRCB Prcb)
Definition: ke_x.h:1422
FORCEINLINE VOID KiSetThreadSwapBusy(IN PKTHREAD Thread)
Definition: ke_x.h:210
FORCEINLINE VOID KiReleasePrcbLock(IN PKPRCB Prcb)
Definition: ke_x.h:230
FORCEINLINE VOID KiAcquireThreadLock(IN PKTHREAD Thread)
Definition: ke_x.h:240
FORCEINLINE VOID KiReleaseThreadLock(IN PKTHREAD Thread)
Definition: ke_x.h:250
FORCEINLINE VOID KiAcquirePrcbLock(IN PKPRCB Prcb)
Definition: ke_x.h:220
FORCEINLINE SCHAR KiComputeNewPriority(IN PKTHREAD Thread, IN SCHAR Adjustment)
Definition: ke_x.h:1472
FORCEINLINE struct _KPRCB * KeGetCurrentPrcb(VOID)
Definition: ketypes.h:1148
@ Running
Definition: ketypes.h:390
BOOLEAN FASTCALL KiSwapContext(IN KIRQL WaitIrql, IN PKTHREAD CurrentThread)
#define STATUS_NO_YIELD_PERFORMED
Definition: ntstatus.h:150
struct _KTHREAD * CurrentThread
Definition: ketypes.h:636
struct _KTHREAD * NextThread
Definition: ketypes.h:637
ULONG ReadySummary
Definition: ketypes.h:796
volatile UCHAR State
Definition: ketypes.h:1789
#define KiGetCurrentReadySummary()
Definition: thrdschd.c:736
_Requires_lock_held_ Interrupt _Releases_lock_ Interrupt _In_ _IRQL_restores_ KIRQL OldIrql
Definition: kefuncs.h:778
@ WrYieldExecution
Definition: ketypes.h:448

Referenced by IntReadConsole(), KeDelayExecutionThread(), and SwitchToThread().

◆ RemoveHeadList()

static PLIST_ENTRY RemoveHeadList ( PLIST_ENTRY  le)
inlinestatic

Definition at line 3024 of file winternl.h.

3025{
3026 PLIST_ENTRY f, b, e;
3027
3028 e = le->Flink;
3029 f = le->Flink->Flink;
3030 b = le->Flink->Blink;
3031 f->Blink = b;
3032 b->Flink = f;
3033
3034 if (e != le) e->Flink = e->Blink = NULL;
3035 return e;
3036}
GLfloat f
Definition: glext.h:7540
GLboolean GLboolean GLboolean b
Definition: glext.h:6204
#define e
Definition: ke_i.h:82
#define f
Definition: ke_i.h:83
#define b
Definition: ke_i.h:79

◆ RemoveTailList()

static PLIST_ENTRY RemoveTailList ( PLIST_ENTRY  le)
inlinestatic

Definition at line 3037 of file winternl.h.

3038{
3039 PLIST_ENTRY f, b, e;
3040
3041 e = le->Blink;
3042 f = le->Blink->Flink;
3043 b = le->Blink->Blink;
3044 f->Blink = b;
3045 b->Flink = f;
3046
3047 if (e != le) e->Flink = e->Blink = NULL;
3048 return e;
3049}

◆ RtlAcquirePebLock()

◆ RtlAcquireResourceExclusive()

NTSYSAPI BYTE WINAPI RtlAcquireResourceExclusive ( LPRTL_RWLOCK  ,
BYTE   
)

◆ RtlAcquireResourceShared()

NTSYSAPI BYTE WINAPI RtlAcquireResourceShared ( LPRTL_RWLOCK  ,
BYTE   
)

◆ RtlAcquireSRWLockExclusive()

NTSYSAPI void WINAPI RtlAcquireSRWLockExclusive ( RTL_SRWLOCK )

◆ RtlAcquireSRWLockShared()

NTSYSAPI void WINAPI RtlAcquireSRWLockShared ( RTL_SRWLOCK )

◆ RtlActivateActivationContext()

NTSYSAPI NTSTATUS WINAPI RtlActivateActivationContext ( DWORD  ,
HANDLE  ,
ULONG_PTR  
)

Referenced by ActivateActCtx().

◆ RtlAddAccessAllowedAce()

◆ RtlAddAccessAllowedAceEx()

◆ RtlAddAccessAllowedObjectAce()

NTSYSAPI NTSTATUS WINAPI RtlAddAccessAllowedObjectAce ( PACL  ,
DWORD  ,
DWORD  ,
DWORD  ,
GUID ,
GUID ,
PSID   
)

◆ RtlAddAccessDeniedAce()

NTSYSAPI NTSTATUS WINAPI RtlAddAccessDeniedAce ( PACL  ,
DWORD  ,
DWORD  ,
PSID   
)

◆ RtlAddAccessDeniedAceEx()

NTSYSAPI NTSTATUS WINAPI RtlAddAccessDeniedAceEx ( PACL  ,
DWORD  ,
DWORD  ,
DWORD  ,
PSID   
)

◆ RtlAddAccessDeniedObjectAce()

NTSYSAPI NTSTATUS WINAPI RtlAddAccessDeniedObjectAce ( PACL  ,
DWORD  ,
DWORD  ,
DWORD  ,
GUID ,
GUID ,
PSID   
)

◆ RtlAddAce()

NTSYSAPI NTSTATUS WINAPI RtlAddAce ( PACL  ,
DWORD  ,
DWORD  ,
PACE_HEADER  ,
DWORD   
)

◆ RtlAddAtomToAtomTable()

NTSYSAPI NTSTATUS WINAPI RtlAddAtomToAtomTable ( RTL_ATOM_TABLE  ,
const WCHAR ,
RTL_ATOM  
)

◆ RtlAddAuditAccessAce()

NTSYSAPI NTSTATUS WINAPI RtlAddAuditAccessAce ( PACL  ,
DWORD  ,
DWORD  ,
PSID  ,
BOOL  ,
BOOL   
)

◆ RtlAddAuditAccessAceEx()

NTSYSAPI NTSTATUS WINAPI RtlAddAuditAccessAceEx ( PACL  ,
DWORD  ,
DWORD  ,
DWORD  ,
PSID  ,
BOOL  ,
BOOL   
)

◆ RtlAddAuditAccessObjectAce()

NTSYSAPI NTSTATUS WINAPI RtlAddAuditAccessObjectAce ( PACL  ,
DWORD  ,
DWORD  ,
DWORD  ,
GUID ,
GUID ,
PSID  ,
BOOL  ,
BOOL   
)

◆ RtlAddMandatoryAce()

NTSYSAPI NTSTATUS WINAPI RtlAddMandatoryAce ( PACL  ,
DWORD  ,
DWORD  ,
DWORD  ,
DWORD  ,
PSID   
)

◆ RtlAddRefActivationContext()

NTSYSAPI void WINAPI RtlAddRefActivationContext ( HANDLE  handle)

Definition at line 5333 of file actctx.c.

5334{
5336
5338}
#define actctx
Definition: kernel32.h:8
static void actctx_addref(ACTIVATION_CONTEXT *actctx)
Definition: actctx.c:1180
static ACTIVATION_CONTEXT * check_actctx(HANDLE h)
Definition: actctx.c:1158

Referenced by AddRefActCtx(), RtlActivateActivationContextEx(), RtlGetActiveActivationContext(), and RtlQueryInformationActivationContext().

◆ RtlAddVectoredExceptionHandler()

NTSYSAPI PVOID WINAPI RtlAddVectoredExceptionHandler ( ULONG  ,
PVECTORED_EXCEPTION_HANDLER   
)

◆ RtlAdjustPrivilege()

NTSYSAPI NTSTATUS WINAPI RtlAdjustPrivilege ( ULONG  ,
BOOLEAN  ,
BOOLEAN  ,
PBOOLEAN   
)

◆ RtlAllocateAndInitializeSid()

NTSYSAPI NTSTATUS WINAPI RtlAllocateAndInitializeSid ( PSID_IDENTIFIER_AUTHORITY  ,
BYTE  ,
DWORD  ,
DWORD  ,
DWORD  ,
DWORD  ,
DWORD  ,
DWORD  ,
DWORD  ,
DWORD  ,
PSID  
)

◆ RtlAllocateHandle()

NTSYSAPI RTL_HANDLE *WINAPI RtlAllocateHandle ( RTL_HANDLE_TABLE ,
ULONG  
)

◆ RtlAllocateHeap()

NTSYSAPI PVOID WINAPI RtlAllocateHeap ( HANDLE  ,
ULONG  ,
SIZE_T   
)

◆ RtlAnsiCharToUnicodeChar()

NTSYSAPI WCHAR WINAPI RtlAnsiCharToUnicodeChar ( LPSTR )

Referenced by GetTempFileNameW(), and mbtowc().

◆ RtlAnsiStringToUnicodeSize()

NTSYSAPI DWORD WINAPI RtlAnsiStringToUnicodeSize ( const STRING )

◆ RtlAnsiStringToUnicodeString()

NTSYSAPI NTSTATUS WINAPI RtlAnsiStringToUnicodeString ( PUNICODE_STRING  ,
PCANSI_STRING  ,
BOOLEAN   
)

◆ RtlAppendAsciizToString()

NTSYSAPI NTSTATUS WINAPI RtlAppendAsciizToString ( STRING ,
LPCSTR   
)

◆ RtlAppendStringToString()

NTSYSAPI NTSTATUS WINAPI RtlAppendStringToString ( STRING ,
const STRING  
)

◆ RtlAppendUnicodeStringToString()

NTSYSAPI NTSTATUS WINAPI RtlAppendUnicodeStringToString ( UNICODE_STRING ,
const UNICODE_STRING  
)

◆ RtlAppendUnicodeToString()

NTSYSAPI NTSTATUS WINAPI RtlAppendUnicodeToString ( UNICODE_STRING ,
LPCWSTR   
)

◆ RtlAreAllAccessesGranted()

NTSYSAPI BOOLEAN WINAPI RtlAreAllAccessesGranted ( ACCESS_MASK  ,
ACCESS_MASK   
)

◆ RtlAreAnyAccessesGranted()

NTSYSAPI BOOLEAN WINAPI RtlAreAnyAccessesGranted ( ACCESS_MASK  ,
ACCESS_MASK   
)

◆ RtlAreBitsClear()

◆ RtlAreBitsSet()

◆ RtlCharToInteger()

NTSYSAPI NTSTATUS WINAPI RtlCharToInteger ( PCSZ  str,
ULONG  base,
PULONG  value 
)

Definition at line 261 of file unicode.c.

265{
266 CHAR chCurrent;
267 int digit;
268 ULONG RunningTotal = 0;
269 char bMinus = 0;
270
271 /* skip leading whitespaces */
272 while (*str != '\0' && *str <= ' ') str++;
273
274 /* Check for +/- */
275 if (*str == '+')
276 {
277 str++;
278 }
279 else if (*str == '-')
280 {
281 bMinus = 1;
282 str++;
283 }
284
285 /* base = 0 means autobase */
286 if (base == 0)
287 {
288 base = 10;
289
290 if (str[0] == '0')
291 {
292 if (str[1] == 'b')
293 {
294 str += 2;
295 base = 2;
296 }
297 else if (str[1] == 'o')
298 {
299 str += 2;
300 base = 8;
301 }
302 else if (str[1] == 'x')
303 {
304 str += 2;
305 base = 16;
306 }
307 }
308 }
309 else if (base != 2 && base != 8 && base != 10 && base != 16)
310 {
312 }
313
314 if (value == NULL) return STATUS_ACCESS_VIOLATION;
315
316 while (*str != '\0')
317 {
318 chCurrent = *str;
319
320 if (chCurrent >= '0' && chCurrent <= '9')
321 {
322 digit = chCurrent - '0';
323 }
324 else if (chCurrent >= 'A' && chCurrent <= 'Z')
325 {
326 digit = chCurrent - 'A' + 10;
327 }
328 else if (chCurrent >= 'a' && chCurrent <= 'z')
329 {
330 digit = chCurrent - 'a' + 10;
331 }
332 else
333 {
334 digit = -1;
335 }
336
337 if (digit < 0 || digit >= (int)base) break;
338
339 RunningTotal = RunningTotal * base + digit;
340 str++;
341 }
342
343 *value = bMinus ? (0 - RunningTotal) : RunningTotal;
344 return STATUS_SUCCESS;
345}
#define STATUS_ACCESS_VIOLATION
Definition: ntstatus.h:242
const WCHAR * str
#define STATUS_INVALID_PARAMETER
Definition: udferr_usr.h:135
Definition: pdh_main.c:94
char CHAR
Definition: xmlstorage.h:175

◆ RtlCheckBit()

static BOOLEAN RtlCheckBit ( PCRTL_BITMAP  lpBits,
ULONG  ulBit 
)
inlinestatic

Definition at line 2994 of file winternl.h.

2995{
2996 if (lpBits && ulBit < lpBits->SizeOfBitMap &&
2997 lpBits->Buffer[ulBit >> 5] & (1 << (ulBit & 31)))
2998 return TRUE;
2999 return FALSE;
3000}
PULONG Buffer
Definition: typedefs.h:91

◆ RtlCheckRegistryKey()

NTSYSAPI NTSTATUS WINAPI RtlCheckRegistryKey ( ULONG  ,
PWSTR   
)

Referenced by InitFunctionPtrs().

◆ RtlClearAllBits()

◆ RtlClearBits()

◆ RtlCompactHeap()

NTSYSAPI ULONG WINAPI RtlCompactHeap ( HANDLE  Heap,
ULONG  Flags 
)

Definition at line 3084 of file heap.c.

3086{
3088 return 0;
3089}
#define UNIMPLEMENTED
Definition: debug.h:115

Referenced by GlobalCompact(), HeapCompact(), LocalCompact(), and LocalShrink().

◆ RtlCompareString()

NTSYSAPI LONG WINAPI RtlCompareString ( const STRING ,
const STRING ,
BOOLEAN   
)

◆ RtlCompareUnicodeString()

NTSYSAPI LONG WINAPI RtlCompareUnicodeString ( const UNICODE_STRING ,
const UNICODE_STRING ,
BOOLEAN   
)

◆ RtlCompareUnicodeStrings()

NTSYSAPI LONG WINAPI RtlCompareUnicodeStrings ( const WCHAR ,
SIZE_T  ,
const WCHAR ,
SIZE_T  ,
BOOLEAN   
)

◆ RtlCompressBuffer()

NTSYSAPI NTSTATUS WINAPI RtlCompressBuffer ( USHORT  ,
PUCHAR  ,
ULONG  ,
PUCHAR  ,
ULONG  ,
ULONG  ,
PULONG  ,
PVOID   
)

◆ RtlComputeCrc32()

NTSYSAPI DWORD WINAPI RtlComputeCrc32 ( DWORD  ,
const BYTE ,
INT   
)

◆ RtlConvertLongToLargeInteger()

NTSYSAPI LONGLONG WINAPI RtlConvertLongToLargeInteger ( LONG  SignedInteger)

Definition at line 31 of file largeint.c.

34{
36
37 RC.QuadPart = SignedInteger;
38
39 return RC;
40}

Referenced by WSPCloseSocket(), and WSPShutdown().

◆ RtlConvertSidToUnicodeString()

NTSYSAPI NTSTATUS WINAPI RtlConvertSidToUnicodeString ( PUNICODE_STRING  ,
PSID  ,
BOOLEAN   
)

◆ RtlConvertUlongToLargeInteger()

NTSYSAPI ULONGLONG WINAPI RtlConvertUlongToLargeInteger ( ULONG  UnsignedInteger)

Definition at line 47 of file largeint.c.

50{
52
53 RC.QuadPart = UnsignedInteger;
54
55 return RC;
56}

Referenced by HalpGetResourceSortValue(), NdisAllocateMemory(), NdisMDeregisterIoPortRange(), and NdisMRegisterIoPortRange().

◆ RtlCopyLuid()

◆ RtlCopyLuidAndAttributesArray()

NTSYSAPI void WINAPI RtlCopyLuidAndAttributesArray ( ULONG  ,
const LUID_AND_ATTRIBUTES ,
PLUID_AND_ATTRIBUTES   
)

◆ RtlCopySecurityDescriptor()

NTSYSAPI NTSTATUS WINAPI RtlCopySecurityDescriptor ( PSECURITY_DESCRIPTOR  ,
PSECURITY_DESCRIPTOR   
)

◆ RtlCopySid()

◆ RtlCopyString()

NTSYSAPI void WINAPI RtlCopyString ( STRING ,
const STRING  
)

◆ RtlCopyUnicodeString()

NTSYSAPI void WINAPI RtlCopyUnicodeString ( UNICODE_STRING ,
const UNICODE_STRING  
)

◆ RtlCreateAcl()

NTSYSAPI NTSTATUS WINAPI RtlCreateAcl ( PACL  ,
DWORD  ,
DWORD   
)

◆ RtlCreateActivationContext()

NTSYSAPI NTSTATUS WINAPI RtlCreateActivationContext ( HANDLE ,
const void  
)

◆ RtlCreateAtomTable()

NTSYSAPI NTSTATUS WINAPI RtlCreateAtomTable ( ULONG  ,
RTL_ATOM_TABLE  
)

◆ RtlCreateEnvironment()

NTSYSAPI NTSTATUS WINAPI RtlCreateEnvironment ( BOOLEAN  Inherit,
PWSTR OutEnvironment 
)

Definition at line 31 of file env.c.

34{
36 PVOID CurrentEnvironment, NewEnvironment = NULL;
39
40 /* Check if we should inherit the current environment */
41 if (Inherit)
42 {
43 /* In this case we need to lock the PEB */
45
46 /* Get a pointer to the current Environment and check if it's not NULL */
47 CurrentEnvironment = NtCurrentPeb()->ProcessParameters->Environment;
48 if (CurrentEnvironment != NULL)
49 {
50 /* Query the size of the current environment allocation */
52 CurrentEnvironment,
54 &MemInfo,
56 NULL);
57 if (!NT_SUCCESS(Status))
58 {
60 *OutEnvironment = NULL;
61 return Status;
62 }
63
64 /* Allocate a new region of the same size */
65 RegionSize = MemInfo.RegionSize;
67 &NewEnvironment,
68 0,
72 if (!NT_SUCCESS(Status))
73 {
75 *OutEnvironment = NULL;
76 return Status;
77 }
78
79 /* Copy the current environment */
80 RtlCopyMemory(NewEnvironment,
81 CurrentEnvironment,
82 MemInfo.RegionSize);
83 }
84
85 /* We are done with the PEB, release the lock */
87 }
88
89 /* Check if we still need an environment */
90 if (NewEnvironment == NULL)
91 {
92 /* Allocate a new environment */
94 &NewEnvironment,
95 0,
99 if (NT_SUCCESS(Status))
100 {
101 RtlZeroMemory(NewEnvironment, RegionSize);
102 }
103 }
104
105 *OutEnvironment = NewEnvironment;
106
107 return Status;
108}
#define PAGE_SIZE
Definition: env_spec_w32.h:49
__kernel_entry _Inout_ _Inout_ PSIZE_T RegionSize
Definition: mmfuncs.h:172
@ MemoryBasicInformation
Definition: mmtypes.h:183
#define PAGE_READWRITE
Definition: nt_native.h:1304
#define NtCurrentProcess()
Definition: nt_native.h:1657
#define MEM_RESERVE
Definition: nt_native.h:1314
#define MEM_COMMIT
Definition: nt_native.h:1313
NTSTATUS NTAPI NtQueryVirtualMemory(IN HANDLE ProcessHandle, IN PVOID BaseAddress, IN MEMORY_INFORMATION_CLASS MemoryInformationClass, OUT PVOID MemoryInformation, IN SIZE_T MemoryInformationLength, OUT PSIZE_T ReturnLength)
Definition: virtual.c:4407
NTSTATUS NTAPI NtAllocateVirtualMemory(IN HANDLE ProcessHandle, IN OUT PVOID *UBaseAddress, IN ULONG_PTR ZeroBits, IN OUT PSIZE_T URegionSize, IN ULONG AllocationType, IN ULONG Protect)
Definition: virtual.c:4490
ULONG_PTR SIZE_T
Definition: typedefs.h:80

◆ RtlCreateHeap()

NTSYSAPI HANDLE WINAPI RtlCreateHeap ( ULONG  ,
PVOID  ,
SIZE_T  ,
SIZE_T  ,
PVOID  ,
PRTL_HEAP_DEFINITION   
)

◆ RtlCreateProcessParameters()

◆ RtlCreateQueryDebugBuffer()

NTSYSAPI PDEBUG_BUFFER WINAPI RtlCreateQueryDebugBuffer ( ULONG  ,
BOOLEAN   
)

◆ RtlCreateSecurityDescriptor()

NTSYSAPI NTSTATUS WINAPI RtlCreateSecurityDescriptor ( PSECURITY_DESCRIPTOR  ,
DWORD   
)

◆ RtlCreateTimer()

NTSYSAPI NTSTATUS WINAPI RtlCreateTimer ( PHANDLE  ,
HANDLE  ,
RTL_WAITORTIMERCALLBACKFUNC  ,
PVOID  ,
DWORD  ,
DWORD  ,
ULONG   
)

◆ RtlCreateTimerQueue()

NTSYSAPI NTSTATUS WINAPI RtlCreateTimerQueue ( PHANDLE  NewTimerQueue)

Definition at line 285 of file timerqueue.c.

286{
288 struct timer_queue *q = RtlAllocateHeap(RtlGetProcessHeap(), 0, sizeof *q);
289 if (!q)
290 return STATUS_NO_MEMORY;
291
293 list_init(&q->timers);
294 q->quit = FALSE;
295 q->magic = TIMER_QUEUE_MAGIC;
297 if (status != STATUS_SUCCESS)
298 {
299 RtlFreeHeap(RtlGetProcessHeap(), 0, q);
300 return status;
301 }
303 if (status != STATUS_SUCCESS)
304 {
305 NtClose(q->event);
306 RtlFreeHeap(RtlGetProcessHeap(), 0, q);
307 return status;
308 }
309
310 NtResumeThread(q->thread, NULL);
311 *NewTimerQueue = q;
312 return STATUS_SUCCESS;
313}
static void list_init(struct list_entry *head)
Definition: list.h:51
PVOID NTAPI RtlAllocateHeap(IN PVOID HeapHandle, IN ULONG Flags, IN SIZE_T Size)
Definition: heap.c:590
GLdouble GLdouble GLdouble GLdouble q
Definition: gl.h:2063
#define EVENT_ALL_ACCESS
Definition: isotest.c:82
NTSYSAPI NTSTATUS NTAPI RtlInitializeCriticalSection(_In_ PRTL_CRITICAL_SECTION CriticalSection)
NTSTATUS NTAPI NtClose(IN HANDLE Handle)
Definition: obhandle.c:3402
@ SynchronizationEvent
NTSTATUS NTAPI NtCreateEvent(OUT PHANDLE EventHandle, IN ACCESS_MASK DesiredAccess, IN POBJECT_ATTRIBUTES ObjectAttributes OPTIONAL, IN EVENT_TYPE EventType, IN BOOLEAN InitialState)
Definition: event.c:96
NTSTATUS NTAPI NtResumeThread(IN HANDLE ThreadHandle, OUT PULONG SuspendCount OPTIONAL)
Definition: state.c:290
#define STATUS_NO_MEMORY
Definition: ntstatus.h:260
static DWORD WINAPI timer_queue_thread_proc(LPVOID p)
Definition: timerqueue.c:215
#define TIMER_QUEUE_MAGIC
Definition: timerqueue.c:65
PRTL_START_POOL_THREAD RtlpStartThreadFunc
Definition: workitem.c:45
Definition: ps.c:97

◆ RtlCreateUnicodeString()

NTSYSAPI BOOLEAN WINAPI RtlCreateUnicodeString ( PUNICODE_STRING  ,
LPCWSTR   
)

◆ RtlCreateUnicodeStringFromAsciiz()

NTSYSAPI BOOLEAN WINAPI RtlCreateUnicodeStringFromAsciiz ( PUNICODE_STRING  ,
LPCSTR   
)

◆ RtlCreateUserProcess()

◆ RtlCreateUserThread()

NTSYSAPI NTSTATUS WINAPI RtlCreateUserThread ( HANDLE  ,
const SECURITY_DESCRIPTOR ,
BOOLEAN  ,
PVOID  ,
SIZE_T  ,
SIZE_T  ,
PRTL_THREAD_START_ROUTINE  ,
void ,
HANDLE ,
CLIENT_ID  
)

◆ RtlDeactivateActivationContext()

NTSYSAPI void WINAPI RtlDeactivateActivationContext ( DWORD  ,
ULONG_PTR   
)

Referenced by DeactivateActCtx().

◆ RtlDecodePointer()

◆ RtlDecompressBuffer()

NTSYSAPI NTSTATUS WINAPI RtlDecompressBuffer ( USHORT  ,
PUCHAR  ,
ULONG  ,
PUCHAR  ,
ULONG  ,
PULONG   
)

◆ RtlDeleteAce()

NTSYSAPI NTSTATUS WINAPI RtlDeleteAce ( PACL  ,
DWORD   
)

◆ RtlDeleteAtomFromAtomTable()

NTSYSAPI NTSTATUS WINAPI RtlDeleteAtomFromAtomTable ( RTL_ATOM_TABLE  ,
RTL_ATOM   
)

◆ RtlDeleteCriticalSection()

NTSYSAPI NTSTATUS WINAPI RtlDeleteCriticalSection ( RTL_CRITICAL_SECTION )

◆ RtlDeleteRegistryValue()

◆ RtlDeleteResource()

NTSYSAPI void WINAPI RtlDeleteResource ( LPRTL_RWLOCK  )

◆ RtlDeleteSecurityObject()

NTSYSAPI NTSTATUS WINAPI RtlDeleteSecurityObject ( PSECURITY_DESCRIPTOR )

◆ RtlDeleteTimer()

NTSYSAPI NTSTATUS WINAPI RtlDeleteTimer ( HANDLE  TimerQueue,
HANDLE  Timer,
HANDLE  CompletionEvent 
)

Definition at line 540 of file timerqueue.c.

542{
543 struct queue_timer *t = Timer;
544 struct timer_queue *q;
546 HANDLE event = NULL;
547
548 if (!Timer)
550 q = t->q;
551 if (CompletionEvent == INVALID_HANDLE_VALUE)
552 {
554 if (status == STATUS_SUCCESS)
556 }
557 else if (CompletionEvent)
558 event = CompletionEvent;
559
561 t->event = event;
562 if (t->runcount == 0 && event)
566
567 if (CompletionEvent == INVALID_HANDLE_VALUE && event)
568 {
569 if (status == STATUS_PENDING)
570 {
573 }
574 NtClose(event);
575 }
576
577 return status;
578}
#define INVALID_HANDLE_VALUE
Definition: compat.h:731
GLdouble GLdouble t
Definition: gl.h:2047
struct _cl_event * event
Definition: glext.h:7739
NTSYSAPI NTSTATUS NTAPI NtWaitForSingleObject(IN HANDLE hObject, IN BOOLEAN bAlertable, IN PLARGE_INTEGER Timeout)
#define STATUS_PENDING
Definition: ntstatus.h:82
#define STATUS_INVALID_PARAMETER_1
Definition: ntstatus.h:475
static void queue_destroy_timer(struct queue_timer *t)
Definition: timerqueue.c:258

◆ RtlDeleteTimerQueueEx()

NTSYSAPI NTSTATUS WINAPI RtlDeleteTimerQueueEx ( HANDLE  TimerQueue,
HANDLE  CompletionEvent 
)

Definition at line 331 of file timerqueue.c.

332{
333 struct timer_queue *q = TimerQueue;
334 struct queue_timer *t, *temp;
337
338 if (!q || q->magic != TIMER_QUEUE_MAGIC)
340
341 thread = q->thread;
342
344 q->quit = TRUE;
345 if (list_head(&q->timers))
346 /* When the last timer is removed, it will signal the timer thread to
347 exit... */
348 LIST_FOR_EACH_ENTRY_SAFE(t, temp, &q->timers, struct queue_timer, entry)
350 else
351 /* However if we have none, we must do it ourselves. */
352 NtSetEvent(q->event, NULL);
354
355 if (CompletionEvent == INVALID_HANDLE_VALUE)
356 {
359 }
360 else
361 {
362 if (CompletionEvent)
363 {
364 DPRINT1("asynchronous return on completion event unimplemented\n");
366 NtSetEvent(CompletionEvent, NULL);
367 }
369 }
370
372 return status;
373}
static HANDLE thread
Definition: service.c:33
uint32_t entry
Definition: isohybrid.c:63
NTSTATUS NTAPI NtSetEvent(IN HANDLE EventHandle, OUT PLONG PreviousState OPTIONAL)
Definition: event.c:455
#define STATUS_INVALID_HANDLE
Definition: ntstatus.h:245
static calc_node_t temp
Definition: rpn_ieee.c:38
#define LIST_FOR_EACH_ENTRY_SAFE(cursor, cursor2, list, type, field)
Definition: list.h:204
Definition: list.h:15

◆ RtlDeNormalizeProcessParams()

◆ RtlDeregisterWait()

NTSYSAPI NTSTATUS WINAPI RtlDeregisterWait ( HANDLE  WaitHandle)

Definition at line 270 of file wait.c.

271{
272 return RtlDeregisterWaitEx(WaitHandle, NULL);
273}
NTSTATUS NTAPI RtlDeregisterWaitEx(HANDLE WaitHandle, HANDLE CompletionEvent)
Definition: wait.c:202

◆ RtlDeregisterWaitEx()

NTSYSAPI NTSTATUS WINAPI RtlDeregisterWaitEx ( HANDLE  WaitHandle,
HANDLE  CompletionEvent 
)

Definition at line 202 of file wait.c.

204{
205 PRTLP_WAIT Wait = (PRTLP_WAIT) WaitHandle;
207
208 //TRACE( "(%p)\n", WaitHandle );
209
210 NtSetEvent( Wait->CancelEvent, NULL );
211 if (Wait->CallbackInProgress)
212 {
213 if (CompletionEvent != NULL)
214 {
215 if (CompletionEvent == INVALID_HANDLE_VALUE)
216 {
217 Status = NtCreateEvent( &CompletionEvent,
219 NULL,
221 FALSE );
222
223 if (Status != STATUS_SUCCESS)
224 return Status;
225
226 (void)InterlockedExchangePointer( &Wait->CompletionEvent, CompletionEvent );
227
228 if (Wait->CallbackInProgress)
229 NtWaitForSingleObject( CompletionEvent, FALSE, NULL );
230
231 NtClose( CompletionEvent );
232 }
233 else
234 {
235 (void)InterlockedExchangePointer( &Wait->CompletionEvent, CompletionEvent );
236
237 if (Wait->CallbackInProgress)
239 }
240 }
241 else
243 }
244
245 if (InterlockedIncrement( &Wait->DeleteCount ) == 2 )
246 {
248 NtClose( Wait->CancelEvent );
249 RtlFreeHeap( RtlGetProcessHeap(), 0, Wait );
250 }
251
252 return Status;
253}
#define InterlockedIncrement
Definition: armddk.h:53
#define InterlockedExchangePointer(Target, Value)
Definition: dshow.h:45
@ NotificationEvent
struct _RTLP_WAIT * PRTLP_WAIT
_In_ WDFDPC _In_ BOOLEAN Wait
Definition: wdfdpc.h:170

Referenced by RtlDeregisterWait().

◆ RtlDestroyAtomTable()

NTSYSAPI NTSTATUS WINAPI RtlDestroyAtomTable ( RTL_ATOM_TABLE  )

◆ RtlDestroyEnvironment()

NTSYSAPI NTSTATUS WINAPI RtlDestroyEnvironment ( PWSTR  Environment)

Definition at line 115 of file env.c.

116{
117 SIZE_T Size = 0;
118
121 &Size,
123}
PVOID PVOID PWCHAR PVOID Environment
Definition: env.c:47
#define MEM_RELEASE
Definition: nt_native.h:1316
NTSTATUS NTAPI NtFreeVirtualMemory(IN HANDLE ProcessHandle, IN PVOID *UBaseAddress, IN PSIZE_T URegionSize, IN ULONG FreeType)
Definition: virtual.c:5228
_Must_inspect_result_ _In_ WDFDEVICE _In_ PWDF_DEVICE_PROPERTY_DATA _In_ DEVPROPTYPE _In_ ULONG Size
Definition: wdfdevice.h:4533

◆ RtlDestroyHandleTable()

NTSYSAPI NTSTATUS WINAPI RtlDestroyHandleTable ( RTL_HANDLE_TABLE )

◆ RtlDestroyHeap()

NTSYSAPI HANDLE WINAPI RtlDestroyHeap ( HANDLE  HeapPtr)

Definition at line 1729 of file heap.c.

1730{
1731 PHEAP Heap = (PHEAP)HeapPtr;
1732 PLIST_ENTRY Current;
1733 PHEAP_UCR_SEGMENT UcrSegment;
1734 PHEAP_VIRTUAL_ALLOC_ENTRY VirtualEntry;
1736 SIZE_T Size;
1737 LONG i;
1739
1740 if (!HeapPtr) return NULL;
1741
1742 /* Call page heap routine if required */
1743 if (Heap->ForceFlags & HEAP_FLAG_PAGE_ALLOCS) return RtlpPageHeapDestroy(HeapPtr);
1744
1745 /* Call special heap */
1746 if (RtlpHeapIsSpecial(Heap->Flags))
1747 {
1748 if (!RtlDebugDestroyHeap(Heap)) return HeapPtr;
1749 }
1750
1751 /* Check for a process heap */
1752 if (RtlpGetMode() == UserMode &&
1753 HeapPtr == NtCurrentPeb()->ProcessHeap) return HeapPtr;
1754
1755 /* Free up all big allocations */
1756 Current = Heap->VirtualAllocdBlocks.Flink;
1757 while (Current != &Heap->VirtualAllocdBlocks)
1758 {
1759 VirtualEntry = CONTAINING_RECORD(Current, HEAP_VIRTUAL_ALLOC_ENTRY, Entry);
1760 BaseAddress = (PVOID)VirtualEntry;
1761 Current = Current->Flink;
1762 Size = 0;
1763 ZwFreeVirtualMemory(NtCurrentProcess(),
1764 &BaseAddress,
1765 &Size,
1766 MEM_RELEASE);
1767 }
1768
1769 /* Delete tags and remove heap from the process heaps list in user mode */
1770 if (RtlpGetMode() == UserMode)
1771 {
1772 // FIXME DestroyTags
1774 }
1775
1776 /* Delete the heap lock */
1777 if (!(Heap->Flags & HEAP_NO_SERIALIZE))
1778 {
1779 /* Delete it if it wasn't user allocated */
1780 if (!(Heap->Flags & HEAP_LOCK_USER_ALLOCATED))
1782
1783 /* Clear out the lock variable */
1784 Heap->LockVariable = NULL;
1785 }
1786
1787 /* Free UCR segments if any were created */
1788 Current = Heap->UCRSegments.Flink;
1789 while (Current != &Heap->UCRSegments)
1790 {
1791 UcrSegment = CONTAINING_RECORD(Current, HEAP_UCR_SEGMENT, ListEntry);
1792
1793 /* Advance to the next descriptor */
1794 Current = Current->Flink;
1795
1796 BaseAddress = (PVOID)UcrSegment;
1797 Size = 0;
1798
1799 /* Release that memory */
1800 ZwFreeVirtualMemory(NtCurrentProcess(),
1801 &BaseAddress,
1802 &Size,
1803 MEM_RELEASE);
1804 }
1805
1806 /* Go through segments and destroy them */
1807 for (i = HEAP_SEGMENTS - 1; i >= 0; i--)
1808 {
1809 Segment = Heap->Segments[i];
1811 }
1812
1813 return NULL;
1814}
HANDLE ProcessHeap
Definition: servman.c:15
struct _HEAP * PHEAP
KPROCESSOR_MODE NTAPI RtlpGetMode(VOID)
Definition: libsupp.c:53
NTSTATUS NTAPI RtlDeleteHeapLock(IN OUT PHEAP_LOCK Lock)
Definition: libsupp.c:101
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
Definition: glfuncs.h:248
#define UserMode
Definition: asm.h:35
_In_ HANDLE _Outptr_result_bytebuffer_ ViewSize PVOID * BaseAddress
Definition: mmfuncs.h:404
#define HEAP_LOCK_USER_ALLOCATED
Definition: rtltypes.h:168
#define HEAP_FLAG_PAGE_ALLOCS
Definition: rtltypes.h:160
#define HEAP_NO_SERIALIZE
Definition: nt_native.h:1692
VOID NTAPI RtlpRemoveHeapFromProcessList(struct _HEAP *Heap)
Definition: libsupp.c:237
long LONG
Definition: pedump.c:60
VOID NTAPI RtlpDestroyHeapSegment(PHEAP_SEGMENT Segment)
Definition: heap.c:1118
PVOID NTAPI RtlpPageHeapDestroy(HANDLE HeapPtr)
Definition: heappage.c:1674
FORCEINLINE BOOLEAN RtlpHeapIsSpecial(ULONG Flags)
Definition: heap.h:59
BOOLEAN NTAPI RtlDebugDestroyHeap(HANDLE HeapPtr)
Definition: heapdbg.c:95
#define HEAP_SEGMENTS
Definition: heap.h:15
base of all file and directory entries
Definition: entries.h:83
Definition: heap.h:308
Definition: heap.c:52
ULONG Flags
Definition: heap.h:226
ULONG ForceFlags
Definition: heap.h:227
LIST_ENTRY VirtualAllocdBlocks
Definition: heap.h:251
LIST_ENTRY UCRSegments
Definition: heap.h:248
PHEAP_LOCK LockVariable
Definition: heap.h:260
struct _HEAP_SEGMENT * Segments[HEAP_SEGMENTS]
Definition: heap.h:253
void * PVOID
Definition: typedefs.h:50
_Inout_ PVOID Segment
Definition: exfuncs.h:1101

◆ RtlDestroyProcessParameters()

NTSYSAPI void WINAPI RtlDestroyProcessParameters ( RTL_USER_PROCESS_PARAMETERS )

◆ RtlDestroyQueryDebugBuffer()

NTSYSAPI NTSTATUS WINAPI RtlDestroyQueryDebugBuffer ( PDEBUG_BUFFER  )

◆ RtlDetermineDosPathNameType_U()

NTSYSAPI DOS_PATHNAME_TYPE WINAPI RtlDetermineDosPathNameType_U ( PCWSTR  )

◆ RtlDllShutdownInProgress()

NTSYSAPI BOOLEAN WINAPI RtlDllShutdownInProgress ( void  )

Definition at line 1597 of file ldrapi.c.

1598{
1599 /* Return the internal global */
1601}
BOOLEAN LdrpShutdownInProgress
Definition: ldrinit.c:34

Referenced by CtfImmDispatchDefImeMessage(), and ISPY_PreUninitialize().

◆ RtlDoesFileExists_U()

NTSYSAPI BOOLEAN WINAPI RtlDoesFileExists_U ( LPCWSTR  )

◆ RtlDosPathNameToNtPathName_U()

NTSYSAPI BOOLEAN WINAPI RtlDosPathNameToNtPathName_U ( PCWSTR  ,
PUNICODE_STRING  ,
PWSTR ,
CURDIR  
)

◆ RtlDosPathNameToNtPathName_U_WithStatus()

NTSYSAPI NTSTATUS WINAPI RtlDosPathNameToNtPathName_U_WithStatus ( PCWSTR  ,
PUNICODE_STRING  ,
PWSTR ,
CURDIR  
)

Referenced by wine_get_dos_file_name().

◆ RtlDosSearchPath_U()

NTSYSAPI ULONG WINAPI RtlDosSearchPath_U ( LPCWSTR  ,
LPCWSTR  ,
LPCWSTR  ,
ULONG  ,
LPWSTR  ,
LPWSTR  
)

◆ RtlDowncaseUnicodeChar()

NTSYSAPI WCHAR WINAPI RtlDowncaseUnicodeChar ( WCHAR  )

◆ RtlDowncaseUnicodeString()

◆ RtlDumpResource()

NTSYSAPI void WINAPI RtlDumpResource ( LPRTL_RWLOCK  )

◆ RtlDuplicateUnicodeString()

◆ RtlEmptyAtomTable()

NTSYSAPI NTSTATUS WINAPI RtlEmptyAtomTable ( RTL_ATOM_TABLE  ,
BOOLEAN   
)

◆ RtlEncodePointer()

◆ RtlEnlargedIntegerMultiply()

NTSYSAPI LONGLONG WINAPI RtlEnlargedIntegerMultiply ( INT  ,
INT   
)

Referenced by WSPSelect().

◆ RtlEnlargedUnsignedDivide()

NTSYSAPI UINT WINAPI RtlEnlargedUnsignedDivide ( ULONGLONG  ,
UINT  ,
UINT  
)

Referenced by MulDiv().

◆ RtlEnlargedUnsignedMultiply()

NTSYSAPI ULONGLONG WINAPI RtlEnlargedUnsignedMultiply ( UINT  Multiplicand,
UINT  Multiplier 
)

Definition at line 97 of file largeint.c.

101{
102 LARGE_INTEGER RC;
103
104 RC.QuadPart = (ULONGLONG) Multiplicand * Multiplier;
105
106 return RC;
107}
uint64_t ULONGLONG
Definition: typedefs.h:67

◆ RtlEnterCriticalSection()

NTSYSAPI NTSTATUS WINAPI RtlEnterCriticalSection ( RTL_CRITICAL_SECTION )

◆ RtlEqualComputerName()

NTSYSAPI NTSTATUS WINAPI RtlEqualComputerName ( const UNICODE_STRING ,
const UNICODE_STRING  
)

◆ RtlEqualDomainName()

NTSYSAPI NTSTATUS WINAPI RtlEqualDomainName ( const UNICODE_STRING ,
const UNICODE_STRING  
)

◆ RtlEqualLuid()

NTSYSAPI BOOLEAN WINAPI RtlEqualLuid ( const LUID ,
const LUID  
)

◆ RtlEqualPrefixSid()

NTSYSAPI BOOL WINAPI RtlEqualPrefixSid ( PSID  ,
PSID   
)

◆ RtlEqualSid()

NTSYSAPI BOOL WINAPI RtlEqualSid ( PSID  ,
PSID   
)

◆ RtlEqualString()

NTSYSAPI BOOLEAN WINAPI RtlEqualString ( const STRING ,
const STRING ,
BOOLEAN   
)

◆ RtlEqualUnicodeString()

NTSYSAPI BOOLEAN WINAPI RtlEqualUnicodeString ( const UNICODE_STRING ,
const UNICODE_STRING ,
BOOLEAN   
)

◆ RtlEraseUnicodeString()

NTSYSAPI void WINAPI RtlEraseUnicodeString ( UNICODE_STRING )

◆ RtlExitUserProcess()

NTSYSAPI void DECLSPEC_NORETURN WINAPI RtlExitUserProcess ( ULONG  )

◆ RtlExitUserThread()

NTSYSAPI void DECLSPEC_NORETURN WINAPI RtlExitUserThread ( ULONG  )

◆ RtlExpandEnvironmentStrings_U()

◆ RtlExtendedIntegerMultiply()

NTSYSAPI LONGLONG WINAPI RtlExtendedIntegerMultiply ( LONGLONG  ,
INT   
)

Referenced by RawQueryFsSizeInfo().

◆ RtlExtendedLargeIntegerDivide()

NTSYSAPI LONGLONG WINAPI RtlExtendedLargeIntegerDivide ( LONGLONG  ,
INT  ,
INT  
)

◆ RtlExtendedMagicDivide()

NTSYSAPI LONGLONG WINAPI RtlExtendedMagicDivide ( LONGLONG  ,
LONGLONG  ,
INT   
)

◆ RtlFindActivationContextSectionGuid()

NTSYSAPI NTSTATUS WINAPI RtlFindActivationContextSectionGuid ( ULONG  ,
const GUID ,
ULONG  ,
const GUID ,
PVOID   
)

◆ RtlFindActivationContextSectionString()

NTSYSAPI NTSTATUS WINAPI RtlFindActivationContextSectionString ( ULONG  flags,
const GUID guid,
ULONG  section_kind,
const UNICODE_STRING section_name,
PVOID  ptr 
)

Definition at line 5815 of file actctx.c.

5817{
5820
5821 DPRINT("RtlFindActivationContextSectionString(%x %p %x %wZ %p)\n", flags, guid, section_kind, section_name, ptr);
5823 if (!NT_SUCCESS(status))
5824 {
5825 DPRINT1("RtlFindActivationContextSectionString() failed with status %x\n", status);
5826 return status;
5827 }
5828
5830
5831 /* if there is no data, but params are valid,
5832 we return that sxs key is not found to be at least somehow compatible */
5833 if (!data)
5834 {
5835 DPRINT("RtlFindActivationContextSectionString() failed with status %x\n", status);
5836 return status;
5837 }
5838
5840 ASSERT(NtCurrentTeb()->ActivationContextStackPointer);
5841
5842 DPRINT("ActiveFrame: %p\n",NtCurrentTeb()->ActivationContextStackPointer->ActiveFrame);
5843 if (NtCurrentTeb()->ActivationContextStackPointer->ActiveFrame)
5844 {
5845 ACTIVATION_CONTEXT *actctx = check_actctx(NtCurrentTeb()->ActivationContextStackPointer->ActiveFrame->ActivationContext);
5846 if (actctx) status = find_string( actctx, section_kind, section_name, flags, data );
5847 }
5848
5849 DPRINT("status %x\n", status);
5850 if (status != STATUS_SUCCESS)
5851 status = find_string( process_actctx, section_kind, section_name, flags, data );
5852
5853 if (status != STATUS_SUCCESS)
5854 status = find_string( implicit_actctx, section_kind, section_name, flags, data );
5855
5856 DPRINT("RtlFindActivationContextSectionString() returns status %x\n", status);
5857 return status;
5858}
GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * data
Definition: gl.h:1950
GLbitfield flags
Definition: glext.h:7161
const GUID * guid
static PVOID ptr
Definition: dispmode.c:27
static const GUID PACTCTX_SECTION_KEYED_DATA
Definition: actctx.c:36
#define STATUS_SXS_KEY_NOT_FOUND
Definition: ntstatus.h:1389
static ACTIVATION_CONTEXT * implicit_actctx
Definition: actctx.c:766
NTSTATUS NTAPI RtlpFindActivationContextSection_CheckParameters(ULONG flags, const GUID *guid, ULONG section_kind, const UNICODE_STRING *section_name, PACTCTX_SECTION_KEYED_DATA data)
Definition: actctx.c:5785
static ACTIVATION_CONTEXT * process_actctx
Definition: actctx.c:765
static NTSTATUS find_string(ACTIVATION_CONTEXT *actctx, ULONG section_kind, const UNICODE_STRING *section_name, DWORD flags, PACTCTX_SECTION_KEYED_DATA data)
Definition: actctx.c:5002

Referenced by ClassNameToVersion(), find_actctx_dll(), FindActCtxSectionStringW(), init_funcs(), and LdrpCheckForKnownDll().

◆ RtlFindCharInUnicodeString()

NTSYSAPI NTSTATUS WINAPI RtlFindCharInUnicodeString ( int  ,
const UNICODE_STRING ,
const UNICODE_STRING ,
USHORT  
)

◆ RtlFindClearBits()

◆ RtlFindClearBitsAndSet()

◆ RtlFindClearRuns()

NTSYSAPI ULONG WINAPI RtlFindClearRuns ( PCRTL_BITMAP  ,
PRTL_BITMAP_RUN  ,
ULONG  ,
BOOLEAN   
)

◆ RtlFindLastBackwardRunClear()

NTSYSAPI ULONG WINAPI RtlFindLastBackwardRunClear ( PCRTL_BITMAP  ,
ULONG  ,
PULONG   
)

Referenced by XmsAlloc().

◆ RtlFindLastBackwardRunSet()

NTSYSAPI ULONG WINAPI RtlFindLastBackwardRunSet ( PCRTL_BITMAP  ,
ULONG  ,
PULONG   
)

◆ RtlFindLeastSignificantBit()

NTSYSAPI CCHAR WINAPI RtlFindLeastSignificantBit ( ULONGLONG  Value)

Definition at line 235 of file bitmap.c.

236{
238
239#ifdef _M_AMD64
240 if (BitScanForward64(&Position, Value))
241 {
242 return (CCHAR)Position;
243 }
244#else
246 {
247 return (CCHAR)Position;
248 }
249 else if (BitScanForward(&Position, Value >> _BITCOUNT))
250 {
251 return (CCHAR)(Position + _BITCOUNT);
252 }
253#endif
254 return -1;
255}
#define BitScanForward
Definition: interlocked.h:5
#define _BITCOUNT
Definition: bitmap.c:62
static COORD Position
Definition: mouse.c:34
char CCHAR
Definition: typedefs.h:51
_Must_inspect_result_ _In_ WDFKEY _In_ PCUNICODE_STRING _Out_opt_ PUSHORT _Inout_opt_ PUNICODE_STRING Value
Definition: wdfregistry.h:413

Referenced by Test_RtlFindLeastSignificantBit().

◆ RtlFindLongestRunClear()

NTSYSAPI ULONG WINAPI RtlFindLongestRunClear ( PCRTL_BITMAP  ,
PULONG   
)

Referenced by NtfsAllocateClusters().

◆ RtlFindLongestRunSet()

NTSYSAPI ULONG WINAPI RtlFindLongestRunSet ( PCRTL_BITMAP  ,
PULONG   
)

◆ RtlFindMessage()

NTSYSAPI NTSTATUS WINAPI RtlFindMessage ( HMODULE  ,
ULONG  ,
ULONG  ,
ULONG  ,
const MESSAGE_RESOURCE_ENTRY **   
)

◆ RtlFindMostSignificantBit()

NTSYSAPI CCHAR WINAPI RtlFindMostSignificantBit ( ULONGLONG  Value)

Definition at line 211 of file bitmap.c.

212{
214
215#ifdef _M_AMD64
216 if (BitScanReverse64(&Position, Value))
217 {
218 return (CCHAR)Position;
219 }
220#else
222 {
223 return (CCHAR)(Position + _BITCOUNT);
224 }
225 else if (BitScanReverse(&Position, (ULONG)Value))
226 {
227 return (CCHAR)Position;
228 }
229#endif
230 return -1;
231}
#define BitScanReverse
Definition: interlocked.h:6

Referenced by Test_RtlFindMostSignificantBit().

◆ RtlFindNextForwardRunClear()

◆ RtlFindNextForwardRunSet()

NTSYSAPI ULONG WINAPI RtlFindNextForwardRunSet ( PCRTL_BITMAP  ,
ULONG  ,
PULONG   
)

◆ RtlFindSetBits()

◆ RtlFindSetBitsAndClear()

NTSYSAPI ULONG WINAPI RtlFindSetBitsAndClear ( PRTL_BITMAP  ,
ULONG  ,
ULONG   
)

◆ RtlFindSetRuns()

NTSYSAPI ULONG WINAPI RtlFindSetRuns ( PCRTL_BITMAP  ,
PRTL_BITMAP_RUN  ,
ULONG  ,
BOOLEAN   
)

◆ RtlFirstFreeAce()

NTSYSAPI BOOLEAN WINAPI RtlFirstFreeAce ( PACL  ,
PACE_HEADER  
)

◆ RtlFormatCurrentUserKeyPath()

NTSYSAPI NTSTATUS WINAPI RtlFormatCurrentUserKeyPath ( PUNICODE_STRING  )

◆ RtlFormatMessage()

NTSYSAPI NTSTATUS WINAPI RtlFormatMessage ( LPWSTR  ,
UCHAR  ,
BOOLEAN  ,
BOOLEAN  ,
BOOLEAN  ,
__ms_va_list ,
LPWSTR  ,
ULONG   
)

◆ RtlFreeAnsiString()

NTSYSAPI void WINAPI RtlFreeAnsiString ( PANSI_STRING  )

◆ RtlFreeHandle()

NTSYSAPI BOOLEAN WINAPI RtlFreeHandle ( RTL_HANDLE_TABLE ,
RTL_HANDLE  
)

◆ RtlFreeHeap()

NTSYSAPI BOOLEAN WINAPI RtlFreeHeap ( HANDLE  HeapPtr,
ULONG  Flags,
PVOID  Ptr 
)

Definition at line 2267 of file heap.c.

2272{
2273 PHEAP Heap;
2274 PHEAP_ENTRY HeapEntry;
2275 USHORT TagIndex = 0;
2276 SIZE_T BlockSize;
2277 PHEAP_VIRTUAL_ALLOC_ENTRY VirtualEntry;
2280
2281 /* Freeing NULL pointer is a legal operation */
2282 if (!Ptr) return TRUE;
2283
2284 /* Get pointer to the heap and force flags */
2285 Heap = (PHEAP)HeapPtr;
2286 Flags |= Heap->ForceFlags;
2287
2288 /* Call special heap */
2290 return RtlDebugFreeHeap(Heap, Flags, Ptr);
2291
2292 /* Get pointer to the heap entry */
2293 HeapEntry = (PHEAP_ENTRY)Ptr - 1;
2294
2295 /* Protect with SEH in case the pointer is not valid */
2296 _SEH2_TRY
2297 {
2298 /* Check this entry, fail if it's invalid */
2299 if (!(HeapEntry->Flags & HEAP_ENTRY_BUSY) ||
2300 (((ULONG_PTR)Ptr & 0x7) != 0) ||
2301 (HeapEntry->SegmentOffset >= HEAP_SEGMENTS))
2302 {
2303 /* This is an invalid block */
2304 DPRINT1("HEAP: Trying to free an invalid address %p!\n", Ptr);
2306 _SEH2_YIELD(return FALSE);
2307 }
2308 }
2310 {
2311 /* The pointer was invalid */
2312 DPRINT1("HEAP: Trying to free an invalid address %p!\n", Ptr);
2314 _SEH2_YIELD(return FALSE);
2315 }
2316 _SEH2_END;
2317
2318 /* Lock if necessary */
2319 if (!(Flags & HEAP_NO_SERIALIZE))
2320 {
2322 Locked = TRUE;
2323 }
2324
2325 if (HeapEntry->Flags & HEAP_ENTRY_VIRTUAL_ALLOC)
2326 {
2327 /* Big allocation */
2328 VirtualEntry = CONTAINING_RECORD(HeapEntry, HEAP_VIRTUAL_ALLOC_ENTRY, BusyBlock);
2329
2330 /* Remove it from the list */
2331 RemoveEntryList(&VirtualEntry->Entry);
2332
2333 // TODO: Tagging
2334
2335 BlockSize = 0;
2336 Status = ZwFreeVirtualMemory(NtCurrentProcess(),
2337 (PVOID *)&VirtualEntry,
2338 &BlockSize,
2339 MEM_RELEASE);
2340
2341 if (!NT_SUCCESS(Status))
2342 {
2343 DPRINT1("HEAP: Failed releasing memory with Status 0x%08X. Heap %p, ptr %p, base address %p\n",
2344 Status, Heap, Ptr, VirtualEntry);
2346 }
2347 }
2348 else
2349 {
2350 /* Normal allocation */
2351 BlockSize = HeapEntry->Size;
2352
2353 // TODO: Tagging
2354
2355 /* Coalesce in kernel mode, and in usermode if it's not disabled */
2356 if (RtlpGetMode() == KernelMode ||
2358 {
2359 HeapEntry = (PHEAP_ENTRY)RtlpCoalesceFreeBlocks(Heap,
2360 (PHEAP_FREE_ENTRY)HeapEntry,
2361 &BlockSize,
2362 FALSE);
2363 }
2364
2365 /* See if we should decommit this block */
2366 if ((BlockSize >= Heap->DeCommitFreeBlockThreshold) ||
2367 (Heap->TotalFreeSize + BlockSize >= Heap->DeCommitTotalFreeThreshold))
2368 {
2369 RtlpDeCommitFreeBlock(Heap, (PHEAP_FREE_ENTRY)HeapEntry, BlockSize);
2370 }
2371 else
2372 {
2373 /* Insert into the free list */
2374 RtlpInsertFreeBlock(Heap, (PHEAP_FREE_ENTRY)HeapEntry, BlockSize);
2375
2376 if (RtlpGetMode() == UserMode &&
2377 TagIndex != 0)
2378 {
2379 // FIXME: Tagging
2381 }
2382 }
2383 }
2384
2385 /* Release the heap lock */
2387
2388 return TRUE;
2389}
NTSTATUS NTAPI RtlEnterHeapLock(IN OUT PHEAP_LOCK Lock, IN BOOLEAN Exclusive)
Definition: libsupp.c:108
NTSTATUS NTAPI RtlLeaveHeapLock(IN OUT PHEAP_LOCK Lock)
Definition: libsupp.c:133
#define ULONG_PTR
Definition: config.h:101
_Must_inspect_result_ _In_ PFSRTL_PER_STREAM_CONTEXT Ptr
Definition: fsrtlfuncs.h:898
NTSYSAPI void WINAPI RtlSetLastWin32ErrorAndNtStatusFromNtStatus(NTSTATUS)
_In_ PMEMORY_AREA _In_ PVOID _In_ BOOLEAN Locked
Definition: newmm.h:209
#define HEAP_DISABLE_COALESCE_ON_FREE
Definition: nt_native.h:1699
unsigned short USHORT
Definition: pedump.c:61
PHEAP_FREE_ENTRY NTAPI RtlpCoalesceFreeBlocks(PHEAP Heap, PHEAP_FREE_ENTRY FreeEntry, PSIZE_T FreeSize, BOOLEAN Remove)
Definition: heap.c:1150
static VOID RtlpDeCommitFreeBlock(PHEAP Heap, PHEAP_FREE_ENTRY FreeEntry, SIZE_T Size)
Definition: heap.c:834
VOID NTAPI RtlpInsertFreeBlock(PHEAP Heap, PHEAP_FREE_ENTRY FreeEntry, SIZE_T BlockSize)
Definition: heap.c:357
struct _HEAP_ENTRY * PHEAP_ENTRY
BOOLEAN NTAPI RtlDebugFreeHeap(HANDLE HeapPtr, ULONG Flags, PVOID Ptr)
Definition: heapdbg.c:267
#define HEAP_ENTRY_VIRTUAL_ALLOC
Definition: heap.h:43
#define HEAP_ENTRY_BUSY
Definition: heap.h:40
Definition: heap.h:136
Definition: heap.h:130
LIST_ENTRY Entry
Definition: heap.h:309
SIZE_T TotalFreeSize
Definition: heap.h:239
SIZE_T DeCommitFreeBlockThreshold
Definition: heap.h:237
SIZE_T DeCommitTotalFreeThreshold
Definition: heap.h:238
_Must_inspect_result_ _In_ ULONG Flags
Definition: wsk.h:170

◆ RtlFreeOemString()

NTSYSAPI void WINAPI RtlFreeOemString ( POEM_STRING  )

◆ RtlFreeSid()

NTSYSAPI DWORD WINAPI RtlFreeSid ( PSID  )

◆ RtlFreeThreadActivationContextStack()

NTSYSAPI void WINAPI RtlFreeThreadActivationContextStack ( void  )

Definition at line 5472 of file actctx.c.

5473{
5474 RtlFreeActivationContextStack(NtCurrentTeb()->ActivationContextStackPointer);
5475 NtCurrentTeb()->ActivationContextStackPointer = NULL;
5476}
VOID NTAPI RtlFreeActivationContextStack(IN PACTIVATION_CONTEXT_STACK Stack)
Definition: actctx.c:5440

Referenced by LdrShutdownThread().

◆ RtlFreeUnicodeString()

NTSYSAPI void WINAPI RtlFreeUnicodeString ( PUNICODE_STRING  )

◆ RtlGetAce()

NTSYSAPI NTSTATUS WINAPI RtlGetAce ( PACL  ,
DWORD  ,
LPVOID  
)

◆ RtlGetActiveActivationContext()

NTSYSAPI NTSTATUS WINAPI RtlGetActiveActivationContext ( HANDLE handle)

Definition at line 5482 of file actctx.c.

5483{
5484 if (NtCurrentTeb()->ActivationContextStackPointer->ActiveFrame)
5485 {
5486 *handle = NtCurrentTeb()->ActivationContextStackPointer->ActiveFrame->ActivationContext;
5488 }
5489 else
5490 *handle = 0;
5491
5492 return STATUS_SUCCESS;
5493}
VOID NTAPI RtlAddRefActivationContext(HANDLE handle)
Definition: actctx.c:5333

Referenced by GetCurrentActCtx(), and LdrpWalkImportDescriptor().

◆ RtlGetCompressionWorkSpaceSize()

NTSYSAPI NTSTATUS WINAPI RtlGetCompressionWorkSpaceSize ( USHORT  ,
PULONG  ,
PULONG   
)

◆ RtlGetControlSecurityDescriptor()

NTSYSAPI NTSTATUS WINAPI RtlGetControlSecurityDescriptor ( PSECURITY_DESCRIPTOR  ,
PSECURITY_DESCRIPTOR_CONTROL  ,
LPDWORD   
)

◆ RtlGetCurrentDirectory_U()

NTSYSAPI ULONG WINAPI RtlGetCurrentDirectory_U ( ULONG  ,
LPWSTR   
)

◆ RtlGetCurrentPeb()

◆ RtlGetDaclSecurityDescriptor()

NTSYSAPI NTSTATUS WINAPI RtlGetDaclSecurityDescriptor ( PSECURITY_DESCRIPTOR  ,
PBOOLEAN  ,
PACL ,
PBOOLEAN   
)

◆ RtlGetFrame()

NTSYSAPI TEB_ACTIVE_FRAME *WINAPI RtlGetFrame ( void  )

Definition at line 420 of file debug.c.

421{
422 /* Return the frame that's currently active */
423 return NtCurrentTeb()->ActiveFrame;
424}

◆ RtlGetFullPathName_U()

NTSYSAPI ULONG WINAPI RtlGetFullPathName_U ( PCWSTR  ,
ULONG  ,
PWSTR  ,
PWSTR  
)

◆ RtlGetGroupSecurityDescriptor()

NTSYSAPI NTSTATUS WINAPI RtlGetGroupSecurityDescriptor ( PSECURITY_DESCRIPTOR  ,
PSID ,
PBOOLEAN   
)

◆ RtlGetLastNtStatus()

NTSYSAPI NTSTATUS WINAPI RtlGetLastNtStatus ( void  )

Definition at line 114 of file error.c.

115{
116 return NtCurrentTeb()->LastStatusValue;
117}

Referenced by ConSrvConsoleCtrlEventTimeout().

◆ RtlGetLastWin32Error()

NTSYSAPI DWORD WINAPI RtlGetLastWin32Error ( void  )

Definition at line 132 of file error.c.

133{
134 return NtCurrentTeb()->LastErrorValue;
135}

◆ RtlGetLongestNtPathLength()

NTSYSAPI DWORD WINAPI RtlGetLongestNtPathLength ( void  )

Definition at line 1555 of file path.c.

1556{
1557 /*
1558 * The longest NT path is a DOS path that actually sits on a UNC path (ie:
1559 * a mapped network drive), which is accessed through the DOS Global?? path.
1560 * This is, and has always been equal to, 269 characters, except in Wine
1561 * which claims this is 277. Go figure.
1562 */
1563 return MAX_PATH + RtlpDosDevicesUncPrefix.Length / sizeof(WCHAR) + sizeof(ANSI_NULL);
1564}
#define MAX_PATH
Definition: compat.h:34
#define ANSI_NULL
const UNICODE_STRING RtlpDosDevicesUncPrefix
Definition: path.c:36
__wchar_t WCHAR
Definition: xmlstorage.h:180

Referenced by START_TEST().

◆ RtlGetNtGlobalFlags()

NTSYSAPI ULONG WINAPI RtlGetNtGlobalFlags ( void  )

Definition at line 93 of file libsupp.c.

94{
95 PPEB pPeb = NtCurrentPeb();
96 return pPeb->NtGlobalFlag;
97}
ULONG NtGlobalFlag
Definition: ntddk_ex.h:270

Referenced by RtlCreateHeap(), and RtlCreateUserProcess().

◆ RtlGetNtProductType()

NTSYSAPI BOOLEAN WINAPI RtlGetNtProductType ( LPDWORD  )

◆ RtlGetOwnerSecurityDescriptor()

NTSYSAPI NTSTATUS WINAPI RtlGetOwnerSecurityDescriptor ( PSECURITY_DESCRIPTOR  ,
PSID ,
PBOOLEAN   
)

◆ RtlGetProcessHeaps()

NTSYSAPI ULONG WINAPI RtlGetProcessHeaps ( ULONG  ,
HANDLE  
)

Referenced by GetProcessHeaps(), and START_TEST().

◆ RtlGetSaclSecurityDescriptor()

NTSYSAPI NTSTATUS WINAPI RtlGetSaclSecurityDescriptor ( PSECURITY_DESCRIPTOR  ,
PBOOLEAN  ,
PACL ,
PBOOLEAN   
)

◆ RtlGetThreadErrorMode()

NTSYSAPI DWORD WINAPI RtlGetThreadErrorMode ( void  )

Definition at line 217 of file error.c.

218{
219 /* Return it from the TEB */
220 return NtCurrentTeb()->HardErrorMode;
221}

Referenced by init_funcs(), and UnhandledExceptionFilter().

◆ RtlGetVersion()

◆ RtlGUIDFromString()

◆ RtlIdentifierAuthoritySid()

NTSYSAPI PSID_IDENTIFIER_AUTHORITY WINAPI RtlIdentifierAuthoritySid ( PSID  )

◆ RtlImageDirectoryEntryToData()

NTSYSAPI PVOID WINAPI RtlImageDirectoryEntryToData ( HMODULE  ,
BOOL  ,
WORD  ,
ULONG  
)

◆ RtlImageNtHeader()

NTSYSAPI PIMAGE_NT_HEADERS WINAPI RtlImageNtHeader ( HMODULE  )

◆ RtlImageRvaToSection()

NTSYSAPI PIMAGE_SECTION_HEADER WINAPI RtlImageRvaToSection ( const IMAGE_NT_HEADERS ,
HMODULE  ,
DWORD   
)

◆ RtlImageRvaToVa()

NTSYSAPI PVOID WINAPI RtlImageRvaToVa ( const IMAGE_NT_HEADERS ,
HMODULE  ,
DWORD  ,
IMAGE_SECTION_HEADER **   
)

◆ RtlImpersonateSelf()

◆ RtlInitAnsiString()

NTSYSAPI void WINAPI RtlInitAnsiString ( PANSI_STRING  ,
PCSZ   
)

◆ RtlInitAnsiStringEx()

◆ RtlInitializeBitMap()

◆ RtlInitializeConditionVariable()

NTSYSAPI void WINAPI RtlInitializeConditionVariable ( RTL_CONDITION_VARIABLE )

◆ RtlInitializeCriticalSection()

NTSYSAPI NTSTATUS WINAPI RtlInitializeCriticalSection ( RTL_CRITICAL_SECTION )

◆ RtlInitializeCriticalSectionAndSpinCount()

NTSYSAPI NTSTATUS WINAPI RtlInitializeCriticalSectionAndSpinCount ( RTL_CRITICAL_SECTION ,
ULONG   
)

◆ RtlInitializeCriticalSectionEx()

NTSYSAPI NTSTATUS WINAPI RtlInitializeCriticalSectionEx ( RTL_CRITICAL_SECTION ,
ULONG  ,
ULONG   
)

◆ RtlInitializeHandleTable()

NTSYSAPI void WINAPI RtlInitializeHandleTable ( ULONG  ,
ULONG  ,
RTL_HANDLE_TABLE  
)

◆ RtlInitializeResource()

NTSYSAPI void WINAPI RtlInitializeResource ( LPRTL_RWLOCK  )

◆ RtlInitializeSid()

NTSYSAPI BOOL WINAPI RtlInitializeSid ( PSID  ,
PSID_IDENTIFIER_AUTHORITY  ,
BYTE   
)

◆ RtlInitializeSRWLock()

NTSYSAPI void WINAPI RtlInitializeSRWLock ( RTL_SRWLOCK )

◆ RtlInitString()

NTSYSAPI void WINAPI RtlInitString ( PSTRING  ,
PCSZ   
)

◆ RtlInitUnicodeString()

NTSYSAPI void WINAPI RtlInitUnicodeString ( PUNICODE_STRING  ,
PCWSTR   
)

◆ RtlInitUnicodeStringEx()

◆ RtlInt64ToUnicodeString()

NTSYSAPI NTSTATUS WINAPI RtlInt64ToUnicodeString ( ULONGLONG  ,
ULONG  ,
UNICODE_STRING  
)

◆ RtlIntegerToChar()

NTSYSAPI NTSTATUS WINAPI RtlIntegerToChar ( ULONG  value,
ULONG  base,
ULONG  length,
PCHAR  str 
)

Definition at line 704 of file unicode.c.

709{
710 CHAR buffer[33];
711 PCHAR pos;
712 CHAR digit;
713 SIZE_T len;
714
715 if (base == 0)
716 {
717 base = 10;
718 }
719 else if (base != 2 && base != 8 && base != 10 && base != 16)
720 {
722 }
723
724 pos = &buffer[32];
725 *pos = '\0';
726
727 do
728 {
729 pos--;
730 digit = (CHAR)(value % base);
731 value = value / base;
732
733 if (digit < 10)
734 {
735 *pos = '0' + digit;
736 }
737 else
738 {
739 *pos = 'A' + digit - 10;
740 }
741 }
742 while (value != 0L);
743
744 len = &buffer[32] - pos;
745
746 if (len > length)
747 {
749 }
750 else if (str == NULL)
751 {
753 }
754 else if (len == length)
755 {
757 }
758 else
759 {
760 RtlCopyMemory(str, pos, len + 1);
761 }
762
763 return STATUS_SUCCESS;
764}
#define CHAR(Char)
GLuint buffer
Definition: glext.h:5915
GLuint GLsizei GLsizei * length
Definition: glext.h:6040
GLenum GLsizei len
Definition: glext.h:6722
#define L(x)
Definition: ntvdm.h:50
#define STATUS_BUFFER_OVERFLOW
Definition: shellext.h:66
char * PCHAR
Definition: typedefs.h:51

Referenced by RtlIntegerToUnicodeString().

◆ RtlIntegerToUnicodeString()

NTSYSAPI NTSTATUS WINAPI RtlIntegerToUnicodeString ( ULONG  ,
ULONG  ,
UNICODE_STRING  
)

◆ RtlIsActivationContextActive()

NTSYSAPI BOOLEAN WINAPI RtlIsActivationContextActive ( HANDLE  handle)

Definition at line 5499 of file actctx.c.

5500{
5502
5503 for (frame = NtCurrentTeb()->ActivationContextStackPointer->ActiveFrame; frame; frame = frame->Previous)
5504 if (frame->ActivationContext == handle) return TRUE;
5505 return FALSE;
5506}
struct _ACTIVATION_CONTEXT * ActivationContext
Definition: winternl.h:250
struct _RTL_ACTIVATION_CONTEXT_STACK_FRAME * Previous
Definition: winternl.h:249

◆ RtlIsCriticalSectionLocked()

NTSYSAPI BOOL WINAPI RtlIsCriticalSectionLocked ( RTL_CRITICAL_SECTION )

◆ RtlIsCriticalSectionLockedByThread()

NTSYSAPI BOOL WINAPI RtlIsCriticalSectionLockedByThread ( RTL_CRITICAL_SECTION )

◆ RtlIsDosDeviceName_U()

NTSYSAPI ULONG WINAPI RtlIsDosDeviceName_U ( PCWSTR  )

◆ RtlIsNameLegalDOS8Dot3()

NTSYSAPI BOOLEAN WINAPI RtlIsNameLegalDOS8Dot3 ( const UNICODE_STRING ,
POEM_STRING  ,
PBOOLEAN   
)

◆ RtlIsTextUnicode()

NTSYSAPI BOOLEAN WINAPI RtlIsTextUnicode ( LPCVOID  buf,
INT  len,
INT pf 
)

Definition at line 1290 of file unicode.c.

1291{
1292 static const WCHAR std_control_chars[] = {'\r', '\n', '\t', ' ', 0x3000, 0};
1293 static const WCHAR byterev_control_chars[] = {0x0d00, 0x0a00, 0x0900, 0x2000, 0};
1294 const WCHAR *s = buf;
1295 int i;
1296 unsigned int flags = MAXULONG, out_flags = 0;
1297 UCHAR last_lo_byte = 0;
1298 UCHAR last_hi_byte = 0;
1299 ULONG hi_byte_diff = 0;
1300 ULONG lo_byte_diff = 0;
1301 ULONG weight = 3;
1302 ULONG lead_byte = 0;
1303
1304 if (len < sizeof(WCHAR))
1305 {
1306 /* FIXME: MSDN documents IS_TEXT_UNICODE_BUFFER_TOO_SMALL but there is no such thing... */
1307 if (pf) *pf = 0;
1308
1309 return FALSE;
1310 }
1311
1312 if (pf)
1313 flags = *pf;
1314
1315 /*
1316 * Apply various tests to the text string. According to the
1317 * docs, each test "passed" sets the corresponding flag in
1318 * the output flags. But some of the tests are mutually
1319 * exclusive, so I don't see how you could pass all tests ...
1320 */
1321
1322 /* Check for an odd length ... pass if even. */
1323 if (len & 1) out_flags |= IS_TEXT_UNICODE_ODD_LENGTH;
1324
1325 if (((char *)buf)[len - 1] == 0)
1326 len--; /* Windows seems to do something like that to avoid e.g. false IS_TEXT_UNICODE_NULL_BYTES */
1327
1328 len /= sizeof(WCHAR);
1329
1330 /* Windows only checks the first 256 characters */
1331 if (len > 256) len = 256;
1332
1333 /* Check for the special byte order unicode marks. */
1334 if (*s == 0xFEFF) out_flags |= IS_TEXT_UNICODE_SIGNATURE;
1335 if (*s == 0xFFFE) out_flags |= IS_TEXT_UNICODE_REVERSE_SIGNATURE;
1336
1337 for (i = 0; i < len; i++)
1338 {
1339 UCHAR lo_byte = LOBYTE(s[i]);
1340 UCHAR hi_byte = HIBYTE(s[i]);
1341
1342 lo_byte_diff += max(lo_byte, last_lo_byte) - min(lo_byte, last_lo_byte);
1343 hi_byte_diff += max(hi_byte, last_hi_byte) - min(hi_byte, last_hi_byte);
1344
1345 last_lo_byte = lo_byte;
1346 last_hi_byte = hi_byte;
1347
1348 switch (s[i])
1349 {
1350 case 0xFFFE: /* Reverse BOM */
1351 case UNICODE_NULL:
1352 case 0x0A0D: /* ASCII CRLF (packed into one word) */
1353 case 0xFFFF: /* Unicode 0xFFFF */
1354 out_flags |= IS_TEXT_UNICODE_ILLEGAL_CHARS;
1355 break;
1356 }
1357 }
1358
1360 {
1361 for (i = 0; i < len; i++)
1362 {
1363 if (NlsLeadByteInfo[s[i]])
1364 {
1365 ++lead_byte;
1366 ++i;
1367 }
1368 }
1369
1370 if (lead_byte)
1371 {
1372 weight = (len / 2) - 1;
1373
1374 if (lead_byte < (weight / 3))
1375 weight = 3;
1376 else if (lead_byte < ((weight * 2) / 3))
1377 weight = 2;
1378 else
1379 weight = 1;
1380
1381 out_flags |= IS_TEXT_UNICODE_DBCS_LEADBYTE;
1382 }
1383 }
1384
1385 if (lo_byte_diff < 127 && !hi_byte_diff)
1386 {
1387 out_flags |= IS_TEXT_UNICODE_ASCII16;
1388 }
1389
1390 if (hi_byte_diff && !lo_byte_diff)
1391 {
1393 }
1394
1395 if ((weight * lo_byte_diff) < hi_byte_diff)
1396 {
1398 }
1399
1400 /* apply some statistical analysis */
1402 ((weight * hi_byte_diff) < lo_byte_diff))
1403 {
1404 out_flags |= IS_TEXT_UNICODE_STATISTICS;
1405 }
1406
1407 /* Check for unicode NULL chars */
1409 {
1410 for (i = 0; i < len; i++)
1411 {
1412 if (!(s[i] & 0xff) || !(s[i] >> 8))
1413 {
1414 out_flags |= IS_TEXT_UNICODE_NULL_BYTES;
1415 break;
1416 }
1417 }
1418 }
1419
1421 {
1422 for (i = 0; i < len; i++)
1423 {
1424 if (strchrW(std_control_chars, s[i]))
1425 {
1426 out_flags |= IS_TEXT_UNICODE_CONTROLS;
1427 break;
1428 }
1429 }
1430 }
1431
1433 {
1434 for (i = 0; i < len; i++)
1435 {
1436 if (strchrW(byterev_control_chars, s[i]))
1437 {
1439 break;
1440 }
1441 }
1442 }
1443
1444 if (pf)
1445 {
1446 out_flags &= *pf;
1447 *pf = out_flags;
1448 }
1449
1450 /* check for flags that indicate it's definitely not valid Unicode */
1452
1453 /* now check for invalid ASCII, and assume Unicode if so */
1454 if (out_flags & IS_TEXT_UNICODE_NOT_ASCII_MASK) return TRUE;
1455
1456 /* now check for Unicode flags */
1457 if (out_flags & IS_TEXT_UNICODE_UNICODE_MASK) return TRUE;
1458
1459 /* no flags set */
1460 return FALSE;
1461}
GLenum GLuint GLenum GLsizei const GLchar * buf
Definition: glext.h:7751
#define LOBYTE(W)
Definition: jmemdos.c:487
#define HIBYTE(W)
Definition: jmemdos.c:486
#define min(a, b)
Definition: monoChain.cc:55
#define UNICODE_NULL
#define strchrW(s, c)
Definition: unicode.h:34
PUSHORT NlsLeadByteInfo
Definition: nls.c:26
BOOLEAN NlsMbCodePageTag
Definition: nlsboot.c:17
weight
Definition: sortkey.c:157
#define max(a, b)
Definition: svc.c:63
#define MAXULONG
Definition: typedefs.h:251
#define IS_TEXT_UNICODE_ILLEGAL_CHARS
Definition: winnt_old.h:894
#define IS_TEXT_UNICODE_UNICODE_MASK
Definition: winnt_old.h:898
#define IS_TEXT_UNICODE_REVERSE_ASCII16
Definition: winnt_old.h:887
#define IS_TEXT_UNICODE_NOT_ASCII_MASK
Definition: winnt_old.h:901
#define IS_TEXT_UNICODE_NULL_BYTES
Definition: winnt_old.h:897
#define IS_TEXT_UNICODE_REVERSE_CONTROLS
Definition: winnt_old.h:891
#define IS_TEXT_UNICODE_REVERSE_MASK
Definition: winnt_old.h:899
#define IS_TEXT_UNICODE_DBCS_LEADBYTE
Definition: winnt_old.h:896
#define IS_TEXT_UNICODE_CONTROLS
Definition: winnt_old.h:890
#define IS_TEXT_UNICODE_ODD_LENGTH
Definition: winnt_old.h:895
#define IS_TEXT_UNICODE_REVERSE_SIGNATURE
Definition: winnt_old.h:893
#define IS_TEXT_UNICODE_NOT_UNICODE_MASK
Definition: winnt_old.h:900
#define IS_TEXT_UNICODE_STATISTICS
Definition: winnt_old.h:888
#define IS_TEXT_UNICODE_ASCII16
Definition: winnt_old.h:886
#define IS_TEXT_UNICODE_SIGNATURE
Definition: winnt_old.h:892
#define IS_TEXT_UNICODE_REVERSE_STATISTICS
Definition: winnt_old.h:889
unsigned char UCHAR
Definition: xmlstorage.h:181

◆ RtlIsValidHandle()

NTSYSAPI BOOLEAN WINAPI RtlIsValidHandle ( const RTL_HANDLE_TABLE ,
const RTL_HANDLE  
)

◆ RtlIsValidIndexHandle()

NTSYSAPI BOOLEAN WINAPI RtlIsValidIndexHandle ( const RTL_HANDLE_TABLE ,
ULONG  Index,
RTL_HANDLE **   
)

◆ RtlLargeIntegerAdd()

NTSYSAPI LONGLONG WINAPI RtlLargeIntegerAdd ( LONGLONG  ,
LONGLONG   
)

◆ RtlLargeIntegerArithmeticShift()

NTSYSAPI LONGLONG WINAPI RtlLargeIntegerArithmeticShift ( LONGLONG  ,
INT   
)

◆ RtlLargeIntegerDivide()

NTSYSAPI ULONGLONG WINAPI RtlLargeIntegerDivide ( ULONGLONG  ,
ULONGLONG  ,
ULONGLONG  
)

◆ RtlLargeIntegerNegate()

NTSYSAPI LONGLONG WINAPI RtlLargeIntegerNegate ( LONGLONG  )

◆ RtlLargeIntegerShiftLeft()

NTSYSAPI LONGLONG WINAPI RtlLargeIntegerShiftLeft ( LONGLONG  ,
INT   
)

◆ RtlLargeIntegerShiftRight()

NTSYSAPI LONGLONG WINAPI RtlLargeIntegerShiftRight ( LONGLONG  ,
INT   
)

◆ RtlLargeIntegerSubtract()

NTSYSAPI LONGLONG WINAPI RtlLargeIntegerSubtract ( LONGLONG  ,
LONGLONG   
)

◆ RtlLargeIntegerToChar()

NTSYSAPI NTSTATUS WINAPI RtlLargeIntegerToChar ( const ULONGLONG ,
ULONG  ,
ULONG  ,
PCHAR   
)

◆ RtlLeaveCriticalSection()

NTSYSAPI NTSTATUS WINAPI RtlLeaveCriticalSection ( RTL_CRITICAL_SECTION )

◆ RtlLengthRequiredSid()

NTSYSAPI DWORD WINAPI RtlLengthRequiredSid ( DWORD  )

◆ RtlLengthSecurityDescriptor()

◆ RtlLengthSid()

NTSYSAPI DWORD WINAPI RtlLengthSid ( PSID  )

◆ RtlLocalTimeToSystemTime()

NTSYSAPI NTSTATUS WINAPI RtlLocalTimeToSystemTime ( const LARGE_INTEGER ,
PLARGE_INTEGER   
)

◆ RtlLockHeap()

◆ RtlLookupAtomInAtomTable()

NTSYSAPI NTSTATUS WINAPI RtlLookupAtomInAtomTable ( RTL_ATOM_TABLE  ,
const WCHAR ,
RTL_ATOM  
)

◆ RtlMakeSelfRelativeSD()

NTSYSAPI NTSTATUS WINAPI RtlMakeSelfRelativeSD ( PSECURITY_DESCRIPTOR  ,
PSECURITY_DESCRIPTOR  ,
LPDWORD   
)

◆ RtlMapGenericMask()

NTSYSAPI void WINAPI RtlMapGenericMask ( PACCESS_MASK  ,
const GENERIC_MAPPING  
)

◆ RtlMultiByteToUnicodeN()

NTSYSAPI NTSTATUS WINAPI RtlMultiByteToUnicodeN ( LPWSTR  ,
DWORD  ,
LPDWORD  ,
LPCSTR  ,
DWORD   
)

◆ RtlMultiByteToUnicodeSize()

NTSYSAPI NTSTATUS WINAPI RtlMultiByteToUnicodeSize ( DWORD ,
LPCSTR  ,
UINT   
)

◆ RtlNewSecurityObject()

◆ RtlNormalizeProcessParams()

◆ RtlNtStatusToDosError()

NTSYSAPI ULONG WINAPI RtlNtStatusToDosError ( NTSTATUS  )

Referenced by AbortSystemShutdownA(), AbortSystemShutdownW(), AccessCheck(), AccessCheckAndAuditAlarmA(), AccessCheckAndAuditAlarmW(), AccessCheckByType(), AccessCheckByTypeResultList(), AccpOpenNamedObject(), AccRewriteGetHandleRights(), AccRewriteSetHandleRights(), AddAccessAllowedAce(), AddAccessAllowedAceEx(), AddAccessAllowedObjectAce(), AddAccessDeniedAce(), AddAccessDeniedAceEx(), AddAccessDeniedObjectAce(), AddAce(), AddAuditAccessAce(), AddAuditAccessAceEx(), AddAuditAccessObjectAce(), AddFontResourceA(), AddFontResourceExA(), AddIPAddress(), AdjustTokenGroups(), AdjustTokenPrivileges(), AllocateLocallyUniqueId(), ApcRoutine(), BackupEventLogA(), BackupEventLogW(), BasepIoCompletion(), BasepIoCompletionSimple(), BaseSetLastNTError(), CallBackConvertToAscii(), CallNt(), CheckTokenMembership(), ClearEventLogA(), ClearEventLogW(), CloseEventLog(), CNG_CalcHash(), CNG_ImportECCPubKey(), CNG_VerifySignature(), co_IntRegisterLogonProcess(), CommitWaveBufferApc(), compare_imp(), ConCfgOpenUserSettings(), ConvertSidToStringSidW(), create_classes_key(), CreateActCtxW(), CreateEnvironmentBlock(), CreateICA(), CreatePrivateObjectSecurity(), CreateProcessAsUserCommon(), CreateRestrictedToken(), CreateSymbolicLinkW(), DeleteIPAddress(), DeregisterEventSource(), DestroyPrivateObjectSecurity(), DsAddressToSiteNamesA(), DsAddressToSiteNamesExA(), DsEnumerateDomainTrustsA(), DsGetDcNameWithAccountA(), DsGetDcSiteCoverageA(), DuplicateTokenEx(), EmptyWorkingSet(), EnumDeviceDrivers(), EnumFontsA(), EnumNamesW(), EnumPageFilesW(), EnumProcesses(), EnumProcessModules(), EnumPropsA(), EnumPropsExA(), EnumPropsExW(), EnumPropsW(), EnumResourceLanguagesA(), EnumResourceLanguagesW(), EnumResourceNamesA(), EnumResourceNamesW(), EnumResourceTypesA(), EnumResourceTypesW(), ExpandEnvironmentStringsForUserW(), find_resourceA(), find_resourceW(), FindActCtxSectionGuid(), FindActCtxSectionStringW(), FindDeviceDriver(), FindModule(), format_ntstatus(), get_registry_locale_info(), GetCurrentHwProfileA(), GetEventLogInformation(), GetFileInformationByHandleEx(), GetFileSecurityW(), GetInterfaceNameInternal(), GetKeyName(), GetKeySam(), GetMappedFileNameW(), GetModuleInformation(), GetNumberOfEventLogRecords(), GetOldestEventLogRecord(), GetPerformanceInfo(), GetPrivateObjectSecurity(), GetProcessImageFileNameA(), GetProcessImageFileNameW(), GetProcessMemoryInfo(), GetPwrCapabilities(), GetSecurityDescriptorControl(), GetSecurityDescriptorDacl(), GetSecurityDescriptorGroup(), GetSecurityDescriptorOwner(), GetSecurityDescriptorSacl(), GetSiteSidFromToken(), GetStringBitmapA(), GetTextExtentExPointA(), GetTokenInformation(), GetUserSidStringFromToken(), GetWsChanges(), HeapWalk(), Icmp6CreateFile(), Icmp6SendEcho2(), IcmpCloseHandle(), IcmpCreateFile(), IcmpSendEcho(), IcmpSendEcho2(), ImpersonateAnonymousToken(), ImpersonateLoggedOnUser(), ImpersonateSelf(), InitializeAcl(), InitializeCriticalSectionEx(), InitializeProcessForWsWatch(), InitializeSecurityDescriptor(), InitializeSid(), InitiateShutdownA(), InitiateSystemShutdownA(), InitiateSystemShutdownExA(), InitiateSystemShutdownW(), IsPwrHibernateAllowed(), IsPwrShutdownAllowed(), IsPwrSuspendAllowed(), IsTokenRestricted(), IsValidSecurityDescriptor(), KsiCreateObjectType(), load_message(), LoadResource(), LoadVia_SystemExtendServiceTableInformation(), LoadVia_SystemLoadGdiDriverInformation(), LogonUserExW(), LsaNtStatusToWinError(), main(), MakeAbsoluteSD(), MakeAbsoluteSD2(), MakeSelfRelativeSD(), NetpNtStatusToApiStatus(), NotifyChangeEventLog(), NtStartDriver(), ntstatus_error::ntstatus_error(), NtStatusToHResult(), NtStopDriver(), NtUserAttachThreadInput(), NtUserRedrawWindow(), NtUserRegisterUserApiHook(), ObjectCloseAuditAlarmA(), ObjectCloseAuditAlarmW(), ObjectDeleteAuditAlarmA(), ObjectDeleteAuditAlarmW(), ObjectOpenAuditAlarmA(), ObjectOpenAuditAlarmW(), ObjectPrivilegeAuditAlarmA(), ObjectPrivilegeAuditAlarmW(), open_classes_key(), OpenBackupEventLogA(), OpenBackupEventLogW(), OpenEventLogA(), OpenEventLogW(), OpenFile(), OpenProcessToken(), PrivilegeCheck(), PrivilegedServiceAuditAlarmA(), PrivilegedServiceAuditAlarmW(), QueryWorkingSet(), QueryWorkingSetEx(), ReadEventLogA(), ReadEventLogW(), ReadFileScatter(), RegCloseKey(), RegCopyTreeW(), RegCreateKeyExW(), RegDeleteKeyExW(), RegDeleteKeyValueW(), RegDeleteTreeW(), RegDeleteValueA(), RegDeleteValueW(), RegEnumKeyExW(), RegEnumValueW(), RegFlushKey(), RegGetKeySecurity(), RegisterDlls(), RegisterEventSourceA(), RegisterEventSourceW(), RegLoadKeyW(), RegNotifyChangeKeyValue(), RegOpenCurrentUser(), RegOpenKeyExW(), RegOpenUserClassesRoot(), RegOverridePredefKey(), RegQueryInfoKeyA(), RegQueryInfoKeyW(), RegQueryValueExW(), RegReplaceKeyW(), RegRestoreKeyW(), RegSaveKeyW(), RegSetKeySecurity(), RegSetKeyValueA(), RegSetKeyValueW(), RegSetValueA(), RegSetValueExA(), RegSetValueExW(), RegSetValueW(), RegUnLoadKeyW(), RemoveFontResourceExA(), ReplaceFileW(), ReportEventA(), ReportEventW(), RevertToSelf(), RQueryServiceObjectSecurity(), RSetServiceObjectSecurity(), RtlReadOutOfProcessMemoryStream(), ScBuildAnsiArgsVector(), ScConnectControlPipe(), ScmCreateDefaultSD(), ScmCreateDefaultServiceSD(), ScmCreateGroupList(), ScmCreateOrReferenceServiceImage(), ScmCreatePipeSD(), ScmDecryptPassword(), ScmEncryptPassword(), ScmGetDriverStatus(), ScmLoadDriver(), ScmSetServicePassword(), ScmUnloadDriver(), SendIoctl(), set_ntstatus(), SetAclInformation(), SetFileSecurityW(), SetKernelObjectSecurity(), SetLocaleInfoW(), SetPrivateObjectSecurity(), SetSecurityDescriptorControl(), SetSecurityDescriptorDacl(), SetSecurityDescriptorGroup(), SetSecurityDescriptorOwner(), SetSecurityDescriptorSacl(), SetServiceObjectSecurity(), SetThreadToken(), SetTokenInformation(), SetupDiGetDeviceInstallParamsW(), ShutDown_Hibernate(), ShutDown_PowerOff(), ShutDown_Reboot(), ShutDown_StandBy(), SleepConditionVariableCS(), SleepConditionVariableSRW(), StartRpcServer(), StopRpcServer(), TCPSendIoctl(), UserExitReactOS(), UserSetLastNTError(), ValidatePowerPolicies(), WahCreateSocketHandle(), WahOpenHandleHelper(), WriteFileGather(), WSHIoctl_GetInterfaceList(), and WTSEnumerateProcessesW().

◆ RtlNtStatusToDosErrorNoTeb()

NTSYSAPI ULONG WINAPI RtlNtStatusToDosErrorNoTeb ( NTSTATUS  )

◆ RtlNumberOfClearBits()

◆ RtlNumberOfSetBits()

◆ RtlOemStringToUnicodeSize()

NTSYSAPI UINT WINAPI RtlOemStringToUnicodeSize ( const STRING )

◆ RtlOemStringToUnicodeString()

NTSYSAPI NTSTATUS WINAPI RtlOemStringToUnicodeString ( UNICODE_STRING ,
const STRING ,
BOOLEAN   
)

◆ RtlOemToUnicodeN()

NTSYSAPI NTSTATUS WINAPI RtlOemToUnicodeN ( LPWSTR  ,
DWORD  ,
LPDWORD  ,
LPCSTR  ,
DWORD   
)

◆ RtlOpenCurrentUser()

NTSYSAPI NTSTATUS WINAPI RtlOpenCurrentUser ( ACCESS_MASK  ,
PHANDLE   
)

◆ RtlPcToFileHeader()

NTSYSAPI PVOID WINAPI RtlPcToFileHeader ( PVOID  ,
PVOID  
)

◆ RtlPinAtomInAtomTable()

NTSYSAPI NTSTATUS WINAPI RtlPinAtomInAtomTable ( RTL_ATOM_TABLE  ,
RTL_ATOM   
)

◆ RtlpNtCreateKey()

NTSYSAPI NTSTATUS WINAPI RtlpNtCreateKey ( PHANDLE  ,
ACCESS_MASK  ,
const OBJECT_ATTRIBUTES ,
ULONG  ,
const UNICODE_STRING ,
ULONG  ,
PULONG   
)

◆ RtlpNtEnumerateSubKey()

NTSYSAPI NTSTATUS WINAPI RtlpNtEnumerateSubKey ( HANDLE  ,
UNICODE_STRING ,
ULONG   
)

◆ RtlPopFrame()

NTSYSAPI void WINAPI RtlPopFrame ( TEB_ACTIVE_FRAME )

◆ RtlPrefixString()

NTSYSAPI BOOLEAN WINAPI RtlPrefixString ( const STRING String1,
const STRING String2,
BOOLEAN  CaseInsensitive 
)

Definition at line 886 of file unicode.c.

890{
891 PCHAR pc1;
892 PCHAR pc2;
893 ULONG NumChars;
894
895 if (String2->Length < String1->Length)
896 return FALSE;
897
898 NumChars = String1->Length;
899 pc1 = String1->Buffer;
900 pc2 = String2->Buffer;
901
902 if (pc1 && pc2)
903 {
904 if (CaseInsensitive)
905 {
906 while (NumChars--)
907 {
908 if (RtlUpperChar(*pc1++) != RtlUpperChar(*pc2++))
909 return FALSE;
910 }
911 }
912 else
913 {
914 while (NumChars--)
915 {
916 if (*pc1++ != *pc2++)
917 return FALSE;
918 }
919 }
920
921 return TRUE;
922 }
923
924 return FALSE;
925}
static const unsigned char pc1[56]
Definition: des.c:54
static const unsigned char pc2[48]
Definition: des.c:68
_In_ const STRING * String2
Definition: rtlfuncs.h:2357
_In_ const STRING _In_ BOOLEAN CaseInsensitive
Definition: rtlfuncs.h:2359
CHAR NTAPI RtlUpperChar(_In_ CHAR Source)
Definition: nlsboot.c:229

◆ RtlPrefixUnicodeString()

NTSYSAPI BOOLEAN WINAPI RtlPrefixUnicodeString ( const UNICODE_STRING ,
const UNICODE_STRING ,
BOOLEAN   
)

◆ RtlpUnWaitCriticalSection()

NTSYSAPI NTSTATUS WINAPI RtlpUnWaitCriticalSection ( RTL_CRITICAL_SECTION )

◆ RtlPushFrame()

NTSYSAPI void WINAPI RtlPushFrame ( TEB_ACTIVE_FRAME )

◆ RtlpWaitForCriticalSection()

NTSYSAPI NTSTATUS WINAPI RtlpWaitForCriticalSection ( RTL_CRITICAL_SECTION )

◆ RtlQueryAtomInAtomTable()

NTSYSAPI NTSTATUS WINAPI RtlQueryAtomInAtomTable ( RTL_ATOM_TABLE  ,
RTL_ATOM  ,
ULONG ,
ULONG ,
WCHAR ,
ULONG  
)

◆ RtlQueryDynamicTimeZoneInformation()

NTSYSAPI NTSTATUS WINAPI RtlQueryDynamicTimeZoneInformation ( RTL_DYNAMIC_TIME_ZONE_INFORMATION )

◆ RtlQueryEnvironmentVariable_U()

NTSYSAPI NTSTATUS WINAPI RtlQueryEnvironmentVariable_U ( PWSTR  Environment,
PUNICODE_STRING  Name,
PUNICODE_STRING  Value 
)

Definition at line 510 of file env.c.

513{
515 PWSTR wcs;
517 PWSTR val;
518 BOOLEAN SysEnvUsed = FALSE;
519
520 DPRINT("RtlQueryEnvironmentVariable_U Environment %p Variable %wZ Value %p\n",
522
523 if (Environment == NULL)
524 {
526 if (Peb) {
529 SysEnvUsed = TRUE;
530 }
531 }
532
533 if (Environment == NULL)
534 {
535 if (SysEnvUsed)
538 }
539
540 Value->Length = 0;
541
543 DPRINT("Starting search at :%p\n", wcs);
544 while (*wcs)
545 {
546 var.Buffer = wcs++;
547 wcs = wcschr(wcs, L'=');
548 if (wcs == NULL)
549 {
550 wcs = var.Buffer + wcslen(var.Buffer);
551 DPRINT("Search at :%S\n", wcs);
552 }
553 if (*wcs)
554 {
555 var.Length = var.MaximumLength = (USHORT)(wcs - var.Buffer) * sizeof(WCHAR);
556 val = ++wcs;
557 wcs += wcslen(wcs);
558 DPRINT("Search at :%S\n", wcs);
559
561 {
562 Value->Length = (USHORT)(wcs - val) * sizeof(WCHAR);
563 if (Value->Length <= Value->MaximumLength)
564 {
565 memcpy(Value->Buffer, val,
566 min(Value->Length + sizeof(WCHAR), Value->MaximumLength));
567 DPRINT("Value %S\n", val);
568 DPRINT("Return STATUS_SUCCESS\n");
570 }
571 else
572 {
573 DPRINT("Return STATUS_BUFFER_TOO_SMALL\n");
575 }
576
577 if (SysEnvUsed)
579
580 return(Status);
581 }
582 }
583 wcs++;
584 }
585
586 if (SysEnvUsed)
588
589 DPRINT("Return STATUS_VARIABLE_NOT_FOUND: %wZ\n", Name);
591}
#define wcschr
Definition: compat.h:17
GLuint GLfloat * val
Definition: glext.h:7180
_CRTIMP size_t __cdecl wcslen(_In_z_ const wchar_t *_Str)
NTSYSAPI PEB *WINAPI RtlGetCurrentPeb(void)
Definition: libsupp.c:63
#define memcpy(s1, s2, n)
Definition: mkisofs.h:878
const char * var
Definition: shader.c:5666
NTSYSAPI BOOLEAN NTAPI RtlEqualUnicodeString(PUNICODE_STRING String1, PUNICODE_STRING String2, BOOLEAN CaseInSensitive)
#define STATUS_VARIABLE_NOT_FOUND
Definition: ntstatus.h:492
#define STATUS_BUFFER_TOO_SMALL
Definition: shellext.h:69
PRTL_USER_PROCESS_PARAMETERS ProcessParameters
Definition: btrfs_drv.h:1913
uint16_t * PWSTR
Definition: typedefs.h:56
wchar_t wcs[5]

Referenced by RtlExpandEnvironmentStrings_U().

◆ RtlQueryHeapInformation()

NTSYSAPI NTSTATUS WINAPI RtlQueryHeapInformation ( HANDLE  ,
HEAP_INFORMATION_CLASS  ,
PVOID  ,
SIZE_T  ,
PSIZE_T   
)

Referenced by HeapQueryInformation().

◆ RtlQueryInformationAcl()

NTSYSAPI NTSTATUS WINAPI RtlQueryInformationAcl ( PACL  ,
LPVOID  ,
DWORD  ,
ACL_INFORMATION_CLASS   
)

◆ RtlQueryInformationActivationContext()

NTSYSAPI NTSTATUS WINAPI RtlQueryInformationActivationContext ( ULONG  flags,
HANDLE  handle,
PVOID  subinst,
ULONG  class,
PVOID  buffer,
SIZE_T  bufsize,
SIZE_T retlen 
)

Definition at line 5515 of file actctx.c.

5518{
5521
5522 DPRINT("%08x %p %p %u %p %Iu %p\n", flags, handle,
5523 subinst, class, buffer, bufsize, retlen);
5524
5525 if (retlen) *retlen = 0;
5526 if ((status = find_query_actctx( &handle, flags, class ))) return status;
5527
5528 switch (class)
5529 {
5530 case ActivationContextBasicInformation:
5531 {
5532 ACTIVATION_CONTEXT_BASIC_INFORMATION *info = buffer;
5533
5534 if (retlen) *retlen = sizeof(*info);
5535 if (!info || bufsize < sizeof(*info)) return STATUS_BUFFER_TOO_SMALL;
5536
5537 info->hActCtx = handle;
5538 info->dwFlags = 0; /* FIXME */
5540 }
5541 break;
5542
5543 case ActivationContextDetailedInformation:
5544 {
5545 ACTIVATION_CONTEXT_DETAILED_INFORMATION *acdi = buffer;
5546 struct assembly *assembly = NULL;
5547 SIZE_T len, manifest_len = 0, config_len = 0, appdir_len = 0;
5548 LPWSTR ptr;
5549
5551
5552 if (actctx->num_assemblies) assembly = actctx->assemblies;
5553
5554 if (assembly && assembly->manifest.info)
5555 manifest_len = strlenW(assembly->manifest.info) + 1;
5556 if (actctx->config.info) config_len = strlenW(actctx->config.info) + 1;
5557 if (actctx->appdir.info) appdir_len = strlenW(actctx->appdir.info) + 1;
5558 len = sizeof(*acdi) + (manifest_len + config_len + appdir_len) * sizeof(WCHAR);
5559
5560 if (retlen) *retlen = len;
5561 if (!buffer || bufsize < len) return STATUS_BUFFER_TOO_SMALL;
5562
5563 acdi->dwFlags = 0;
5564 acdi->ulFormatVersion = assembly ? 1 : 0; /* FIXME */
5565 acdi->ulAssemblyCount = actctx->num_assemblies;
5566 acdi->ulRootManifestPathType = assembly ? assembly->manifest.type : 0 /* FIXME */;
5567 acdi->ulRootManifestPathChars = assembly && assembly->manifest.info ? (DWORD)manifest_len - 1 : 0;
5568 acdi->ulRootConfigurationPathType = actctx->config.type;
5569 acdi->ulRootConfigurationPathChars = actctx->config.info ? (DWORD)config_len - 1 : 0;
5570 acdi->ulAppDirPathType = actctx->appdir.type;
5571 acdi->ulAppDirPathChars = actctx->appdir.info ? (DWORD)appdir_len - 1 : 0;
5572 ptr = (LPWSTR)(acdi + 1);
5573 if (manifest_len)
5574 {
5575 acdi->lpRootManifestPath = ptr;
5576 memcpy(ptr, assembly->manifest.info, manifest_len * sizeof(WCHAR));
5577 ptr += manifest_len;
5578 }
5579 else acdi->lpRootManifestPath = NULL;
5580 if (config_len)
5581 {
5582 acdi->lpRootConfigurationPath = ptr;
5583 memcpy(ptr, actctx->config.info, config_len * sizeof(WCHAR));
5584 ptr += config_len;
5585 }
5586 else acdi->lpRootConfigurationPath = NULL;
5587 if (appdir_len)
5588 {
5589 acdi->lpAppDirPath = ptr;
5590 memcpy(ptr, actctx->appdir.info, appdir_len * sizeof(WCHAR));
5591 }
5592 else acdi->lpAppDirPath = NULL;
5593 }
5594 break;
5595
5596 case AssemblyDetailedInformationInActivationContext:
5597 {
5598 ACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION *afdi = buffer;
5599 struct assembly *assembly;
5600 WCHAR *assembly_id;
5601 DWORD index;
5602 SIZE_T len, id_len = 0, ad_len = 0, path_len = 0;
5603 LPWSTR ptr;
5604
5606 if (!subinst) return STATUS_INVALID_PARAMETER;
5607
5608 index = *(DWORD*)subinst;
5609 if (!index || index > actctx->num_assemblies) return STATUS_INVALID_PARAMETER;
5610
5611 assembly = &actctx->assemblies[index - 1];
5612
5613 if (!(assembly_id = build_assembly_id( &assembly->id ))) return STATUS_NO_MEMORY;
5614 id_len = strlenW(assembly_id) + 1;
5615 if (assembly->directory) ad_len = strlenW(assembly->directory) + 1;
5616
5617 if (assembly->manifest.info &&
5619 path_len = strlenW(assembly->manifest.info) + 1;
5620
5621 len = sizeof(*afdi) + (id_len + ad_len + path_len) * sizeof(WCHAR);
5622
5623 if (retlen) *retlen = len;
5624 if (!buffer || bufsize < len)
5625 {
5626 RtlFreeHeap( RtlGetProcessHeap(), 0, assembly_id );
5628 }
5629
5630 afdi->ulFlags = 0; /* FIXME */
5631 afdi->ulEncodedAssemblyIdentityLength = (DWORD)(id_len - 1) * sizeof(WCHAR);
5632 afdi->ulManifestPathType = assembly->manifest.type;
5633 afdi->ulManifestPathLength = assembly->manifest.info ? (DWORD)(path_len - 1) * sizeof(WCHAR) : 0;
5634 /* FIXME afdi->liManifestLastWriteTime = 0; */
5635 afdi->ulPolicyPathType = ACTIVATION_CONTEXT_PATH_TYPE_NONE; /* FIXME */
5636 afdi->ulPolicyPathLength = 0;
5637 /* FIXME afdi->liPolicyLastWriteTime = 0; */
5638 afdi->ulMetadataSatelliteRosterIndex = 0; /* FIXME */
5639 afdi->ulManifestVersionMajor = 1;
5640 afdi->ulManifestVersionMinor = 0;
5641 afdi->ulPolicyVersionMajor = 0; /* FIXME */
5642 afdi->ulPolicyVersionMinor = 0; /* FIXME */
5643 afdi->ulAssemblyDirectoryNameLength = ad_len ? (DWORD)(ad_len - 1) * sizeof(WCHAR) : 0;
5644 ptr = (LPWSTR)(afdi + 1);
5645 afdi->lpAssemblyEncodedAssemblyIdentity = ptr;
5646 memcpy( ptr, assembly_id, id_len * sizeof(WCHAR) );
5647 ptr += id_len;
5648 if (path_len)
5649 {
5650 afdi->lpAssemblyManifestPath = ptr;
5651 memcpy(ptr, assembly->manifest.info, path_len * sizeof(WCHAR));
5652 ptr += path_len;
5653 } else afdi->lpAssemblyManifestPath = NULL;
5654 afdi->lpAssemblyPolicyPath = NULL; /* FIXME */
5655 if (ad_len)
5656 {
5657 afdi->lpAssemblyDirectoryName = ptr;
5658 memcpy(ptr, assembly->directory, ad_len * sizeof(WCHAR));
5659 }
5660 else afdi->lpAssemblyDirectoryName = NULL;
5661 RtlFreeHeap( RtlGetProcessHeap(), 0, assembly_id );
5662 }
5663 break;
5664
5665 case FileInformationInAssemblyOfAssemblyInActivationContext:
5666 {
5667 const ACTIVATION_CONTEXT_QUERY_INDEX *acqi = subinst;
5668 ASSEMBLY_FILE_DETAILED_INFORMATION *afdi = buffer;
5669 struct assembly *assembly;
5670 struct dll_redirect *dll;
5671 SIZE_T len, dll_len = 0;
5672 LPWSTR ptr;
5673
5675 if (!acqi) return STATUS_INVALID_PARAMETER;
5676
5677 if (acqi->ulAssemblyIndex >= actctx->num_assemblies)
5679 assembly = &actctx->assemblies[acqi->ulAssemblyIndex];
5680
5681 if (acqi->ulFileIndexInAssembly >= assembly->num_dlls)
5683 dll = &assembly->dlls[acqi->ulFileIndexInAssembly];
5684
5685 if (dll->name) dll_len = strlenW(dll->name) + 1;
5686 len = sizeof(*afdi) + dll_len * sizeof(WCHAR);
5687
5688 if (!buffer || bufsize < len)
5689 {
5690 if (retlen) *retlen = len;
5692 }
5693 if (retlen) *retlen = 0; /* yes that's what native does !! */
5694 afdi->ulFlags = ACTIVATION_CONTEXT_SECTION_DLL_REDIRECTION;
5695 afdi->ulFilenameLength = dll_len ? (DWORD)(dll_len - 1) * sizeof(WCHAR) : 0;
5696 afdi->ulPathLength = 0; /* FIXME */
5697 ptr = (LPWSTR)(afdi + 1);
5698 if (dll_len)
5699 {
5700 afdi->lpFileName = ptr;
5701 memcpy( ptr, dll->name, dll_len * sizeof(WCHAR) );
5702 } else afdi->lpFileName = NULL;
5703 afdi->lpFilePath = NULL; /* FIXME */
5704 }
5705 break;
5706
5707 case CompatibilityInformationInActivationContext:
5708 {
5709 /*ACTIVATION_CONTEXT_COMPATIBILITY_INFORMATION*/DWORD *acci = buffer;
5710 COMPATIBILITY_CONTEXT_ELEMENT *elements;
5711 struct assembly *assembly = NULL;
5713 SIZE_T len;
5714
5716
5717 if (actctx->num_assemblies) assembly = actctx->assemblies;
5718
5719 if (assembly)
5721 len = sizeof(*acci) + num_compat_contexts * sizeof(COMPATIBILITY_CONTEXT_ELEMENT);
5722
5723 if (retlen) *retlen = len;
5724 if (!buffer || bufsize < len) return STATUS_BUFFER_TOO_SMALL;
5725
5726 *acci = num_compat_contexts;
5727 elements = (COMPATIBILITY_CONTEXT_ELEMENT*)(acci + 1);
5728 for (n = 0; n < num_compat_contexts; ++n)
5729 {
5730 elements[n] = assembly->compat_contexts[n];
5731 }
5732 }
5733 break;
5734
5735 case RunlevelInformationInActivationContext:
5736 {
5737 ACTIVATION_CONTEXT_RUN_LEVEL_INFORMATION *acrli = buffer;
5738 struct assembly *assembly;
5739 SIZE_T len;
5740
5742
5743 len = sizeof(*acrli);
5744 if (retlen) *retlen = len;
5745 if (!buffer || bufsize < len)
5747
5748 assembly = actctx->assemblies;
5749
5750 acrli->ulFlags = 0;
5751 acrli->RunLevel = assembly ? assembly->run_level : ACTCTX_RUN_LEVEL_UNSPECIFIED;
5752 acrli->UiAccess = assembly ? assembly->ui_access : 0;
5753 }
5754 break;
5755
5756 default:
5757 DPRINT( "class %u not implemented\n", class );
5759 }
5760 return STATUS_SUCCESS;
5761}
#define index(s, c)
Definition: various.h:29
unsigned long DWORD
Definition: ntddk_ex.h:95
GLuint index
Definition: glext.h:6031
GLenum GLuint GLsizei bufsize
Definition: glext.h:7473
static DWORD path_len
Definition: batch.c:31
static HMODULE dll
Definition: str.c:188
#define RTL_QUERY_ACTIVATION_CONTEXT_FLAG_NO_ADDREF
Definition: rtltypes.h:119
#define DWORD
Definition: nt_native.h:44
#define strlenW(s)
Definition: unicode.h:28
@ ASSEMBLY_SHARED_MANIFEST
Definition: actctx.c:462
@ ASSEMBLY_MANIFEST
Definition: actctx.c:461
static WCHAR * build_assembly_id(const struct assembly_identity *ai)
Definition: actctx.c:1124
static NTSTATUS find_query_actctx(HANDLE *handle, DWORD flags, ULONG class)
Definition: actctx.c:3403
WCHAR * directory
Definition: actctx.c:470
BSTR type
Definition: cache.c:326
struct dll_redirect * dlls
Definition: actctx.c:472
struct assembly_identity id
Definition: actctx.c:468
unsigned int num_dlls
Definition: actctx.c:473
struct file_info manifest
Definition: actctx.c:469
ULONG num_compat_contexts
Definition: actctx.c:477
ULONG ui_access
Definition: actctx.c:479
COMPATIBILITY_CONTEXT_ELEMENT * compat_contexts
Definition: actctx.c:476
ACTCTX_REQUESTED_RUN_LEVEL run_level
Definition: actctx.c:478
WCHAR * LPWSTR
Definition: xmlstorage.h:184

Referenced by BasepAllocateActivationContextActivationBlock(), CreateRemoteThread(), find_actctx_dll(), LdrpInitializeProcessCompat(), QueryActCtxW(), QueueUserAPC(), and RtlQueryInformationActiveActivationContext().

◆ RtlQueryProcessDebugInformation()

NTSYSAPI NTSTATUS WINAPI RtlQueryProcessDebugInformation ( ULONG  ,
ULONG  ,
PDEBUG_BUFFER   
)

◆ RtlQueryRegistryValues()

NTSYSAPI NTSTATUS WINAPI RtlQueryRegistryValues ( ULONG  ,
PCWSTR  ,
PRTL_QUERY_REGISTRY_TABLE  ,
PVOID  ,
PVOID   
)

Referenced by _IRQL_requires_max_(), AtapiRegCheckParameterValue(), AtapiRegGetStringParameterValue(), BaseInitializeStaticServerData(), BasepIsProcessAllowed(), ClassDeviceControl(), ClasspIsMediaChangeDisabledDueToHardwareLimitation(), ClasspIsMediaChangeDisabledForClass(), ClasspMediaChangeDeviceInstanceOverride(), ClasspScanForSpecialInRegistry(), CreateDeviceFromRegistry(), CreateGroupListRoutine(), DeleteFromLocalDatabase(), DeleteNoDriveLetterEntry(), DeleteRegistryDriveLetter(), DiskAddDevice(), DriverEntry(), EngpGetDisplayDriverAccelerationLevel(), EngpGetDisplayDriverParameters(), EnumerateBiosDiskEntries(), Ext2QueryGlobalParameters(), Ext2QueryVolumeParams(), FreeBT_GetRegistryDword(), FxRegistrySettingsInitialize(), GetComputerNameExW(), GetDriverName(), GetSystemVersionString(), HasNoDriveLetterEntry(), InitBadBlocks(), InitFunctionPtrs(), IopUnloadDriver(), IsOffline(), LoadGlobalSettings(), LsapInitAuthPackages(), MountMgrQuerySystemVolumeName(), MountmgrReadNoAutoMount(), MountMgrScrubRegistry(), MountMgrUniqueIdChangeRoutine(), NdisIAddDevice(), NpInitializeAliases(), NtfsQueryMftZoneReservation(), PciLocateKdDevices(), PiAttachFilterDrivers(), PiCallDriverAddDevice(), PnpRootCreateDevice(), QueryParameters(), QuerySymbolicLinkNamesFromStorage(), QueryTimeout(), QueryUniqueIdFromMaster(), ReadRegistryEntries(), RequestHandleMountQuerySuggestedLinkName(), RtlQueryTimeZoneInformation(), ScConnectControlPipe(), ScmCreateGroupList(), ScmCreateOrReferenceServiceImage(), SmpLoadDataFromRegistry(), USBH_RegQueryGenericUSBDeviceString(), USBPORT_GetDefaultBIOSx(), VfdLoadLink(), VideoPortGetRegistryParameters(), and ViLoadImagesFromRegistry().

◆ RtlQueryTimeZoneInformation()

NTSYSAPI NTSTATUS WINAPI RtlQueryTimeZoneInformation ( RTL_TIME_ZONE_INFORMATION )

◆ RtlQueryUnbiasedInterruptTime()

NTSYSAPI NTSTATUS WINAPI RtlQueryUnbiasedInterruptTime ( ULONGLONG )

◆ RtlQueueWorkItem()

NTSYSAPI NTSTATUS WINAPI RtlQueueWorkItem ( PRTL_WORK_ITEM_ROUTINE  ,
PVOID  ,
ULONG   
)

◆ RtlRaiseException()

NTSYSAPI void WINAPI RtlRaiseException ( PEXCEPTION_RECORD  )

◆ RtlRaiseStatus()

NTSYSAPI void WINAPI RtlRaiseStatus ( NTSTATUS  )

◆ RtlRandom()

NTSYSAPI ULONG WINAPI RtlRandom ( PULONG  )

◆ RtlReAllocateHeap()

NTSYSAPI PVOID WINAPI RtlReAllocateHeap ( HANDLE  HeapPtr,
ULONG  Flags,
PVOID  Ptr,
SIZE_T  Size 
)

Definition at line 2667 of file heap.c.

2671{
2672 PHEAP Heap = (PHEAP)HeapPtr;
2673 PHEAP_ENTRY InUseEntry, NewInUseEntry;
2674 PHEAP_ENTRY_EXTRA OldExtra, NewExtra;
2675 SIZE_T AllocationSize, FreeSize, DecommitSize;
2676 BOOLEAN HeapLocked = FALSE;
2677 PVOID NewBaseAddress;
2678 PHEAP_FREE_ENTRY SplitBlock, SplitBlock2;
2679 SIZE_T OldSize, Index, OldIndex;
2680 UCHAR FreeFlags;
2682 PVOID DecommitBase;
2683 SIZE_T RemainderBytes, ExtraSize;
2684 PHEAP_VIRTUAL_ALLOC_ENTRY VirtualAllocBlock;
2685 EXCEPTION_RECORD ExceptionRecord;
2686 UCHAR SegmentOffset;
2687
2688 /* Return success in case of a null pointer */
2689 if (!Ptr)
2690 {
2692 return NULL;
2693 }
2694
2695 /* Force heap flags */
2696 Flags |= Heap->ForceFlags;
2697
2698 /* Call special heap */
2700 return RtlDebugReAllocateHeap(Heap, Flags, Ptr, Size);
2701
2702 /* Make sure size is valid */
2703 if (Size >= 0x80000000)
2704 {
2706 return NULL;
2707 }
2708
2709 /* Calculate allocation size and index */
2710 if (Size)
2712 else
2713 AllocationSize = 1;
2715
2716 /* Add up extra stuff, if it is present anywhere */
2719 Heap->PseudoTagEntries)
2720 {
2722 }
2723
2724 /* Acquire the lock if necessary */
2725 if (!(Flags & HEAP_NO_SERIALIZE))
2726 {
2728 HeapLocked = TRUE;
2729 /* Do not acquire the lock anymore for re-entrant call */
2731 }
2732
2733 /* Get the pointer to the in-use entry */
2734 InUseEntry = (PHEAP_ENTRY)Ptr - 1;
2735
2736 /* If that entry is not really in-use, we have a problem */
2737 if (!(InUseEntry->Flags & HEAP_ENTRY_BUSY))
2738 {
2740
2741 /* Release the lock and return */
2742 if (HeapLocked)
2744 return Ptr;
2745 }
2746
2747 if (InUseEntry->Flags & HEAP_ENTRY_VIRTUAL_ALLOC)
2748 {
2749 /* This is a virtually allocated block. Get its size */
2750 OldSize = RtlpGetSizeOfBigBlock(InUseEntry);
2751
2752 /* Convert it to an index */
2753 OldIndex = (OldSize + InUseEntry->Size) >> HEAP_ENTRY_SHIFT;
2754
2755 /* Calculate new allocation size and round it to the page size */
2758 }
2759 else
2760 {
2761 /* Usual entry */
2762 OldIndex = InUseEntry->Size;
2763
2764 OldSize = (OldIndex << HEAP_ENTRY_SHIFT) - InUseEntry->UnusedBytes;
2765 }
2766
2767 /* Calculate new index */
2769
2770 /* Check for 4 different scenarios (old size, new size, old index, new index) */
2771 if (Index <= OldIndex)
2772 {
2773 /* Difference must be greater than 1, adjust if it's not so */
2774 if (Index + 1 == OldIndex)
2775 {
2776 Index++;
2777 AllocationSize += sizeof(HEAP_ENTRY);
2778 }
2779
2780 /* Calculate new size */
2781 if (InUseEntry->Flags & HEAP_ENTRY_VIRTUAL_ALLOC)
2782 {
2783 /* Simple in case of a virtual alloc - just an unused size */
2784 InUseEntry->Size = (USHORT)(AllocationSize - Size);
2785 ASSERT(InUseEntry->Size >= sizeof(HEAP_VIRTUAL_ALLOC_ENTRY));
2786 }
2787 else if (InUseEntry->Flags & HEAP_ENTRY_EXTRA_PRESENT)
2788 {
2789 /* There is extra stuff, take it into account */
2790 OldExtra = (PHEAP_ENTRY_EXTRA)(InUseEntry + InUseEntry->Size - 1);
2791 NewExtra = (PHEAP_ENTRY_EXTRA)(InUseEntry + Index - 1);
2792 *NewExtra = *OldExtra;
2793
2794 // FIXME Tagging, TagIndex
2795
2796 /* Update unused bytes count */
2797 InUseEntry->UnusedBytes = (UCHAR)(AllocationSize - Size);
2798 }
2799 else
2800 {
2801 // FIXME Tagging, SmallTagIndex
2802 InUseEntry->UnusedBytes = (UCHAR)(AllocationSize - Size);
2803 }
2804
2805 /* If new size is bigger than the old size */
2806 if (Size > OldSize)
2807 {
2808 /* Zero out that additional space if required */
2809 if (Flags & HEAP_ZERO_MEMORY)
2810 {
2811 RtlZeroMemory((PCHAR)Ptr + OldSize, Size - OldSize);
2812 }
2813 else if (Heap->Flags & HEAP_FREE_CHECKING_ENABLED)
2814 {
2815 /* Fill it on free if required */
2816 RemainderBytes = OldSize & (sizeof(ULONG) - 1);
2817
2818 if (RemainderBytes)
2819 RemainderBytes = 4 - RemainderBytes;
2820
2821 if (Size > (OldSize + RemainderBytes))
2822 {
2823 /* Calculate actual amount of extra bytes to fill */
2824 ExtraSize = (Size - (OldSize + RemainderBytes)) & ~(sizeof(ULONG) - 1);
2825
2826 /* Fill them if there are any */
2827 if (ExtraSize != 0)
2828 {
2829 RtlFillMemoryUlong((PCHAR)(InUseEntry + 1) + OldSize + RemainderBytes,
2830 ExtraSize,
2832 }
2833 }
2834 }
2835 }
2836
2837 /* Fill tail of the heap entry if required */
2839 {
2840 RtlFillMemory((PCHAR)(InUseEntry + 1) + Size,
2843 }
2844
2845 /* Check if the difference is significant or not */
2846 if (Index != OldIndex)
2847 {
2848 /* Save flags */
2849 FreeFlags = InUseEntry->Flags & ~HEAP_ENTRY_BUSY;
2850
2851 if (FreeFlags & HEAP_ENTRY_VIRTUAL_ALLOC)
2852 {
2853 /* This is a virtual block allocation */
2854 VirtualAllocBlock = CONTAINING_RECORD(InUseEntry, HEAP_VIRTUAL_ALLOC_ENTRY, BusyBlock);
2855
2856 // FIXME Tagging!
2857
2858 DecommitBase = (PCHAR)VirtualAllocBlock + AllocationSize;
2859 DecommitSize = (OldIndex << HEAP_ENTRY_SHIFT) - AllocationSize;
2860
2861 /* Release the memory */
2862 Status = ZwFreeVirtualMemory(NtCurrentProcess(),
2863 (PVOID *)&DecommitBase,
2864 &DecommitSize,
2865 MEM_RELEASE);
2866
2867 if (!NT_SUCCESS(Status))
2868 {
2869 DPRINT1("HEAP: Unable to release memory (pointer %p, size 0x%x), Status %08x\n", DecommitBase, DecommitSize, Status);
2870 }
2871 else
2872 {
2873 /* Otherwise reduce the commit size */
2874 VirtualAllocBlock->CommitSize -= DecommitSize;
2875 }
2876 }
2877 else
2878 {
2879 /* Reduce size of the block and possibly split it */
2880 SplitBlock = (PHEAP_FREE_ENTRY)(InUseEntry + Index);
2881
2882 /* Initialize this entry */
2883 SplitBlock->Flags = FreeFlags;
2884 SplitBlock->PreviousSize = (USHORT)Index;
2885 SplitBlock->SegmentOffset = InUseEntry->SegmentOffset;
2886
2887 /* Remember free size */
2888 FreeSize = InUseEntry->Size - Index;
2889
2890 /* Set new size */
2891 InUseEntry->Size = (USHORT)Index;
2892 InUseEntry->Flags &= ~HEAP_ENTRY_LAST_ENTRY;
2893
2894 /* Is that the last entry */
2895 if (FreeFlags & HEAP_ENTRY_LAST_ENTRY)
2896 {
2897 SegmentOffset = SplitBlock->SegmentOffset;
2898 ASSERT(SegmentOffset < HEAP_SEGMENTS);
2899
2900 /* Set its size and insert it to the list */
2901 SplitBlock->Size = (USHORT)FreeSize;
2902 RtlpInsertFreeBlockHelper(Heap, SplitBlock, FreeSize, FALSE);
2903
2904 /* Update total free size */
2905 Heap->TotalFreeSize += FreeSize;
2906 }
2907 else
2908 {
2909 /* Get the block after that one */
2910 SplitBlock2 = (PHEAP_FREE_ENTRY)((PHEAP_ENTRY)SplitBlock + FreeSize);
2911
2912 if (SplitBlock2->Flags & HEAP_ENTRY_BUSY)
2913 {
2914 /* It's in use, add it here*/
2915 SplitBlock->Size = (USHORT)FreeSize;
2916
2917 /* Update previous size of the next entry */
2918 ((PHEAP_FREE_ENTRY)((PHEAP_ENTRY)SplitBlock + FreeSize))->PreviousSize = (USHORT)FreeSize;
2919
2920 /* Insert it to the list */
2921 RtlpInsertFreeBlockHelper(Heap, SplitBlock, FreeSize, FALSE);
2922
2923 /* Update total size */
2924 Heap->TotalFreeSize += FreeSize;
2925 }
2926 else
2927 {
2928 /* Next entry is free, so merge with it */
2929 SplitBlock->Flags = SplitBlock2->Flags;
2930
2931 /* Remove it, update total size */
2932 RtlpRemoveFreeBlock(Heap, SplitBlock2, FALSE);
2933 Heap->TotalFreeSize -= SplitBlock2->Size;
2934
2935 /* Calculate total free size */
2936 FreeSize += SplitBlock2->Size;
2937
2938 if (FreeSize <= HEAP_MAX_BLOCK_SIZE)
2939 {
2940 SplitBlock->Size = (USHORT)FreeSize;
2941
2942 if (!(SplitBlock->Flags & HEAP_ENTRY_LAST_ENTRY))
2943 {
2944 /* Update previous size of the next entry */
2945 ((PHEAP_FREE_ENTRY)((PHEAP_ENTRY)SplitBlock + FreeSize))->PreviousSize = (USHORT)FreeSize;
2946 }
2947 else
2948 {
2949 SegmentOffset = SplitBlock->SegmentOffset;
2950 ASSERT(SegmentOffset < HEAP_SEGMENTS);
2951 }
2952
2953 /* Insert the new one back and update total size */
2954 RtlpInsertFreeBlockHelper(Heap, SplitBlock, FreeSize, FALSE);
2955 Heap->TotalFreeSize += FreeSize;
2956 }
2957 else
2958 {
2959 /* Just add it */
2960 RtlpInsertFreeBlock(Heap, SplitBlock, FreeSize);
2961 }
2962 }
2963 }
2964 }
2965 }
2966 }
2967 else
2968 {
2969 /* We're growing the block */
2970 if ((InUseEntry->Flags & HEAP_ENTRY_VIRTUAL_ALLOC) ||
2971 !RtlpGrowBlockInPlace(Heap, Flags, InUseEntry, Size, Index))
2972 {
2973 /* Growing in place failed, so growing out of place */
2975 {
2976 DPRINT1("Realloc in place failed, but it was the only option\n");
2977 Ptr = NULL;
2978 }
2979 else
2980 {
2981 /* Clear tag bits */
2982 Flags &= ~HEAP_TAG_MASK;
2983
2984 /* Process extra stuff */
2985 if (InUseEntry->Flags & HEAP_ENTRY_EXTRA_PRESENT)
2986 {
2987 /* Preserve user settable flags */
2988 Flags &= ~HEAP_SETTABLE_USER_FLAGS;
2989
2990 Flags |= HEAP_SETTABLE_USER_VALUE | ((InUseEntry->Flags & HEAP_ENTRY_SETTABLE_FLAGS) << 4);
2991
2992 /* Get pointer to the old extra data */
2993 OldExtra = RtlpGetExtraStuffPointer(InUseEntry);
2994
2995 /* Save tag index if it was set */
2996 if (OldExtra->TagIndex &&
2997 !(OldExtra->TagIndex & HEAP_PSEUDO_TAG_FLAG))
2998 {
2999 Flags |= OldExtra->TagIndex << HEAP_TAG_SHIFT;
3000 }
3001 }
3002 else if (InUseEntry->SmallTagIndex)
3003 {
3004 /* Take small tag index into account */
3005 Flags |= InUseEntry->SmallTagIndex << HEAP_TAG_SHIFT;
3006 }
3007
3008 /* Allocate new block from the heap */
3009 NewBaseAddress = RtlAllocateHeap(HeapPtr,
3011 Size);
3012
3013 /* Proceed if it didn't fail */
3014 if (NewBaseAddress)
3015 {
3016 /* Get new entry pointer */
3017 NewInUseEntry = (PHEAP_ENTRY)NewBaseAddress - 1;
3018
3019 /* Process extra stuff if it exists */
3020 if (NewInUseEntry->Flags & HEAP_ENTRY_EXTRA_PRESENT)
3021 {
3022 NewExtra = RtlpGetExtraStuffPointer(NewInUseEntry);
3023
3024 if (InUseEntry->Flags & HEAP_ENTRY_EXTRA_PRESENT)
3025 {
3026 OldExtra = RtlpGetExtraStuffPointer(InUseEntry);
3027 NewExtra->Settable = OldExtra->Settable;
3028 }
3029 else
3030 {
3031 RtlZeroMemory(NewExtra, sizeof(*NewExtra));
3032 }
3033 }
3034
3035 /* Copy actual user bits */
3036 if (Size < OldSize)
3037 RtlMoveMemory(NewBaseAddress, Ptr, Size);
3038 else
3039 RtlMoveMemory(NewBaseAddress, Ptr, OldSize);
3040
3041 /* Zero remaining part if required */
3042 if (Size > OldSize &&
3044 {
3045 RtlZeroMemory((PCHAR)NewBaseAddress + OldSize, Size - OldSize);
3046 }
3047
3048 /* Free the old block */
3049 RtlFreeHeap(HeapPtr, Flags, Ptr);
3050 }
3051
3052 Ptr = NewBaseAddress;
3053 }
3054 }
3055 }
3056
3057 /* Did resizing fail? */
3059 {
3060 /* Generate an exception if required */
3061 ExceptionRecord.ExceptionCode = STATUS_NO_MEMORY;
3062 ExceptionRecord.ExceptionRecord = NULL;
3063 ExceptionRecord.NumberParameters = 1;
3064 ExceptionRecord.ExceptionFlags = 0;
3065 ExceptionRecord.ExceptionInformation[0] = AllocationSize;
3066
3067 RtlRaiseException(&ExceptionRecord);
3068 }
3069
3070 /* Release the heap lock if it was acquired */
3071 if (HeapLocked)
3073
3074 return Ptr;
3075}
#define HEAP_ZERO_MEMORY
Definition: compat.h:134
#define ROUND_UP(n, align)
Definition: eventvwr.h:34
IN PFCB IN PFILE_OBJECT FileObject IN ULONG AllocationSize
Definition: fatprocs.h:322
#define RtlFillMemory(Dest, Length, Fill)
Definition: winternl.h:599
#define RtlFillMemoryUlong(dst, len, val)
Definition: mkhive.h:55
#define PCHAR
Definition: match.c:90
NTSYSAPI VOID NTAPI RtlRaiseException(_In_ PEXCEPTION_RECORD ExceptionRecord)
#define HEAP_FREE_CHECKING_ENABLED
Definition: nt_native.h:1698
#define HEAP_GENERATE_EXCEPTIONS
Definition: nt_native.h:1694
#define HEAP_TAIL_CHECKING_ENABLED
Definition: nt_native.h:1697
#define HEAP_TAG_SHIFT
Definition: nt_native.h:1724
#define HEAP_SETTABLE_USER_VALUE
Definition: nt_native.h:1704
#define HEAP_PSEUDO_TAG_FLAG
Definition: nt_native.h:1723
#define HEAP_REALLOC_IN_PLACE_ONLY
Definition: nt_native.h:1696
#define ARENA_INUSE_FILLER
Definition: oleaut.c:105
BOOLEAN NTAPI RtlFreeHeap(HANDLE HeapPtr, ULONG Flags, PVOID Ptr)
Definition: heap.c:2267
PVOID NTAPI RtlAllocateHeap(IN PVOID HeapPtr, IN ULONG Flags, IN SIZE_T Size)
Definition: heap.c:2049
BOOLEAN NTAPI RtlpGrowBlockInPlace(IN PHEAP Heap, IN ULONG Flags, IN PHEAP_ENTRY InUseEntry, IN SIZE_T Size, IN SIZE_T Index)
Definition: heap.c:2392
VOID NTAPI RtlpInsertFreeBlockHelper(PHEAP Heap, PHEAP_FREE_ENTRY FreeEntry, SIZE_T BlockSize, BOOLEAN NoFill)
Definition: heap.c:238
SIZE_T NTAPI RtlpGetSizeOfBigBlock(PHEAP_ENTRY HeapEntry)
Definition: heap.c:500
PHEAP_ENTRY_EXTRA NTAPI RtlpGetExtraStuffPointer(PHEAP_ENTRY HeapEntry)
Definition: heap.c:2632
static VOID RtlpRemoveFreeBlock(PHEAP Heap, PHEAP_FREE_ENTRY FreeEntry, BOOLEAN NoFill)
Definition: heap.c:422
struct _HEAP_ENTRY_EXTRA HEAP_ENTRY_EXTRA
#define HEAP_ENTRY_SHIFT
Definition: heap.h:21
#define HEAP_ENTRY_EXTRA_PRESENT
Definition: heap.h:41
#define HEAP_EXTRA_FLAGS_MASK
Definition: heap.h:35
struct _HEAP_ENTRY_EXTRA * PHEAP_ENTRY_EXTRA
#define HEAP_TAIL_FILL
Definition: heap.h:27
PVOID NTAPI RtlDebugReAllocateHeap(HANDLE HeapPtr, ULONG Flags, PVOID Ptr, SIZE_T Size)
Definition: heapdbg.c:195
#define HEAP_MAX_BLOCK_SIZE
Definition: heap.h:23
#define HEAP_ENTRY_SETTABLE_FLAGS
Definition: heap.h:48
struct _HEAP_FREE_ENTRY * PHEAP_FREE_ENTRY
struct _HEAP_ENTRY HEAP_ENTRY
#define HEAP_ENTRY_SIZE
Definition: heap.h:17
#define HEAP_ENTRY_LAST_ENTRY
Definition: heap.h:44
struct _EXCEPTION_RECORD * ExceptionRecord
Definition: compat.h:210
DWORD ExceptionCode
Definition: compat.h:208
DWORD NumberParameters
Definition: compat.h:212
DWORD ExceptionFlags
Definition: compat.h:209
ULONG_PTR ExceptionInformation[EXCEPTION_MAXIMUM_PARAMETERS]
Definition: compat.h:213
Definition: heap.h:292
ULONG_PTR Settable
Definition: heap.h:299
USHORT TagIndex
Definition: heap.h:298
SIZE_T CommitSize
Definition: heap.h:311
ULONG_PTR AlignRound
Definition: heap.h:249
ULONG_PTR AlignMask
Definition: heap.h:250
PHEAP_PSEUDO_TAG_ENTRY PseudoTagEntries
Definition: heap.h:258
#define FIELD_OFFSET(t, f)
Definition: typedefs.h:255
#define RtlMoveMemory(Destination, Source, Length)
Definition: typedefs.h:264
_In_ WDFCOLLECTION _In_ ULONG Index

Referenced by add_assembly(), add_compat_context(), add_dependent_assembly_id(), add_dll_redirect(), add_entity(), add_entry(), AddDiskToList(), CmdStartProcess(), com_class_add_progid(), CSR_API(), DesktopHeapReAlloc(), EmulatorCopyMemory(), FindFirstStreamW(), GlobalReAlloc(), InitFunctionPtrs(), LdrpSearchPath(), LocalReAlloc(), lookup_winsxs(), main(), PnpEventThread(), ReAllocateLayoutBuffer(), ReAllocBuffer(), RegpCopyTree(), RtlDebugReAllocateHeap(), SdbpReAlloc(), START_TEST(), and UserHeapReAlloc().

◆ RtlRegisterWait()

NTSYSAPI NTSTATUS WINAPI RtlRegisterWait ( PHANDLE  ,
HANDLE  ,
RTL_WAITORTIMERCALLBACKFUNC  ,
PVOID  ,
ULONG  ,
ULONG   
)

◆ RtlReleaseActivationContext()

◆ RtlReleasePebLock()

◆ RtlReleaseResource()

NTSYSAPI void WINAPI RtlReleaseResource ( LPRTL_RWLOCK  )

◆ RtlReleaseSRWLockExclusive()

NTSYSAPI void WINAPI RtlReleaseSRWLockExclusive ( RTL_SRWLOCK )

◆ RtlReleaseSRWLockShared()

NTSYSAPI void WINAPI RtlReleaseSRWLockShared ( RTL_SRWLOCK )

◆ RtlRemoveVectoredExceptionHandler()

NTSYSAPI ULONG WINAPI RtlRemoveVectoredExceptionHandler ( PVOID  )

◆ RtlRestoreLastWin32Error()

NTSYSAPI void WINAPI RtlRestoreLastWin32Error ( DWORD  )

◆ RtlSecondsSince1970ToTime()

NTSYSAPI void WINAPI RtlSecondsSince1970ToTime ( DWORD  ,
LARGE_INTEGER  
)

◆ RtlSecondsSince1980ToTime()

NTSYSAPI void WINAPI RtlSecondsSince1980ToTime ( DWORD  ,
LARGE_INTEGER  
)

◆ RtlSelfRelativeToAbsoluteSD()

NTSYSAPI NTSTATUS WINAPI RtlSelfRelativeToAbsoluteSD ( PSECURITY_DESCRIPTOR  ,
PSECURITY_DESCRIPTOR  ,
PDWORD  ,
PACL  ,
PDWORD  ,
PACL  ,
PDWORD  ,
PSID  ,
PDWORD  ,
PSID  ,
PDWORD   
)

Referenced by fcb_get_sd(), and MakeAbsoluteSD().

◆ RtlSetAllBits()

◆ RtlSetBits()

◆ RtlSetControlSecurityDescriptor()

◆ RtlSetCriticalSectionSpinCount()

NTSYSAPI ULONG WINAPI RtlSetCriticalSectionSpinCount ( RTL_CRITICAL_SECTION ,
ULONG   
)

◆ RtlSetCurrentDirectory_U()

NTSYSAPI NTSTATUS WINAPI RtlSetCurrentDirectory_U ( const UNICODE_STRING )

◆ RtlSetCurrentEnvironment()

NTSYSAPI void WINAPI RtlSetCurrentEnvironment ( PWSTR  NewEnvironment,
PWSTR OldEnvironment 
)

Definition at line 263 of file env.c.

265{
266 PVOID EnvPtr;
267
268 DPRINT("NewEnvironment 0x%p OldEnvironment 0x%p\n",
269 NewEnvironment, OldEnvironment);
270
272
273 EnvPtr = NtCurrentPeb()->ProcessParameters->Environment;
274 NtCurrentPeb()->ProcessParameters->Environment = NewEnvironment;
275
276 if (OldEnvironment != NULL)
277 *OldEnvironment = EnvPtr;
278
280}

◆ RtlSetDaclSecurityDescriptor()

◆ RtlSetEnvironmentVariable()

NTSYSAPI NTSTATUS WINAPI RtlSetEnvironmentVariable ( PWSTR Environment,
PUNICODE_STRING  Name,
PUNICODE_STRING  Value 
)

Definition at line 287 of file env.c.

290{
293 size_t hole_len, new_len, env_len = 0;
294 WCHAR *new_env = 0, *env_end = 0, *wcs, *env, *val = 0, *tail = 0, *hole = 0;
295 PWSTR head = NULL;
296 SIZE_T size = 0, new_size;
297 LONG f = 1;
299
300 DPRINT("RtlSetEnvironmentVariable(Environment %p Name %wZ Value %wZ)\n",
302
303 /* Variable name must not be empty */
304 if (Name->Length < sizeof(WCHAR))
306
307 /* Variable names can't contain a '=' except as a first character. */
308 for (wcs = Name->Buffer + 1;
309 wcs < Name->Buffer + (Name->Length / sizeof(WCHAR));
310 wcs++)
311 {
312 if (*wcs == L'=')
314 }
315
316 if (Environment)
317 {
318 env = *Environment;
319 }
320 else
321 {
323 env = NtCurrentPeb()->ProcessParameters->Environment;
324 }
325
326 if (env)
327 {
328 /* get environment length */
329 wcs = env_end = env;
330 do
331 {
332 env_end += wcslen(env_end) + 1;
333 }
334 while (*env_end);
335 env_end++;
336 env_len = env_end - env;
337 DPRINT("environment length %lu characters\n", env_len);
338
339 /* find where to insert */
340 while (*wcs)
341 {
342 var.Buffer = wcs++;
343 wcs = wcschr(wcs, L'=');
344 if (wcs == NULL)
345 {
346 wcs = var.Buffer + wcslen(var.Buffer);
347 }
348 if (*wcs)
349 {
350 var.Length = (USHORT)(wcs - var.Buffer) * sizeof(WCHAR);
351 var.MaximumLength = var.Length;
352 val = ++wcs;
353 wcs += wcslen(wcs);
355 if (f >= 0)
356 {
357 if (f) /* Insert before found */
358 {
359 hole = tail = var.Buffer;
360 }
361 else /* Exact match */
362 {
363 head = var.Buffer;
364 tail = ++wcs;
365 hole = val;
366 }
367 goto found;
368 }
369 }
370 wcs++;
371 }
372 hole = tail = wcs; /* Append to environment */
373 }
374
375found:
376 if (Value != NULL && Value->Buffer != NULL)
377 {
378 hole_len = tail - hole;
379 /* calculate new environment size */
380 new_size = Value->Length + sizeof(WCHAR);
381 /* adding new variable */
382 if (f)
383 new_size += Name->Length + sizeof(WCHAR);
384 new_len = new_size / sizeof(WCHAR);
385 if (hole_len < new_len)
386 {
387 /* enlarge environment size */
388 /* check the size of available memory */
389 new_size += (env_len - hole_len) * sizeof(WCHAR);
390 new_size = ROUND_UP(new_size, PAGE_SIZE);
391 mbi.RegionSize = 0;
392 DPRINT("new_size %lu\n", new_size);
393
394 if (env)
395 {
397 env,
399 &mbi,
401 NULL);
402 if (!NT_SUCCESS(Status))
403 {
404 if (Environment == NULL)
405 {
407 }
408 return(Status);
409 }
410 }
411
412 if (new_size > mbi.RegionSize)
413 {
414 /* reallocate memory area */
416 (PVOID)&new_env,
417 0,
418 &new_size,
421 if (!NT_SUCCESS(Status))
422 {
423 if (Environment == NULL)
424 {
426 }
427 return(Status);
428 }
429
430 if (env)
431 {
432 memmove(new_env,
433 env,
434 (hole - env) * sizeof(WCHAR));
435 hole = new_env + (hole - env);
436 }
437 else
438 {
439 /* absolutely new environment */
440 tail = hole = new_env;
441 *hole = 0;
442 env_end = hole + 1;
443 }
444 }
445 }
446
447 /* move tail */
448 memmove (hole + new_len, tail, (env_end - tail) * sizeof(WCHAR));
449
450 if (new_env)
451 {
452 /* we reallocated environment, let's free the old one */
453 if (Environment)
454 *Environment = new_env;
455 else
456 NtCurrentPeb()->ProcessParameters->Environment = new_env;
457
458 if (env)
459 {
460 size = 0;
462 (PVOID)&env,
463 &size,
465 }
466 }
467
468 /* and now copy given stuff */
469 if (f)
470 {
471 /* copy variable name and '=' character */
472 memmove(hole,
473 Name->Buffer,
474 Name->Length);
475 hole += Name->Length / sizeof(WCHAR);
476 *hole++ = L'=';
477 }
478
479 /* copy value */
480 memmove(hole,
481 Value->Buffer,
482 Value->Length);
483 hole += Value->Length / sizeof(WCHAR);
484 *hole = 0;
485 }
486 else
487 {
488 /* remove the environment variable */
489 if (f == 0)
490 {
492 tail,
493 (env_end - tail) * sizeof(WCHAR));
494 }
495 }
496
497 if (Environment == NULL)
498 {
500 }
501
502 return(Status);
503}
struct outqueuenode * tail
Definition: adnsresfilter.c:66
struct outqueuenode * head
Definition: adnsresfilter.c:66
Definition: bufpool.h:45
static LPCWSTR LPCWSTR LPCWSTR env
Definition: db.cpp:170
ULONG RtlCompareUnicodeString(PUNICODE_STRING s1, PUNICODE_STRING s2, BOOLEAN UpCase)
Definition: string_lib.cpp:31
GLsizeiptr size
Definition: glext.h:5919
#define memmove(s1, s2, n)
Definition: mkisofs.h:881

◆ RtlSetGroupSecurityDescriptor()

NTSYSAPI NTSTATUS WINAPI RtlSetGroupSecurityDescriptor ( PSECURITY_DESCRIPTOR  ,
PSID  ,
BOOLEAN   
)

◆ RtlSetHeapInformation()

NTSYSAPI NTSTATUS WINAPI RtlSetHeapInformation ( HANDLE  ,
HEAP_INFORMATION_CLASS  ,
PVOID  ,
SIZE_T   
)

Referenced by HeapSetInformation().

◆ RtlSetIoCompletionCallback()

NTSYSAPI NTSTATUS WINAPI RtlSetIoCompletionCallback ( HANDLE  ,
PRTL_OVERLAPPED_COMPLETION_ROUTINE  ,
ULONG   
)

◆ RtlSetLastWin32Error()

NTSYSAPI void WINAPI RtlSetLastWin32Error ( DWORD  )

◆ RtlSetLastWin32ErrorAndNtStatusFromNtStatus()

◆ RtlSetOwnerSecurityDescriptor()

◆ RtlSetSaclSecurityDescriptor()

NTSYSAPI NTSTATUS WINAPI RtlSetSaclSecurityDescriptor ( PSECURITY_DESCRIPTOR  ,
BOOLEAN  ,
PACL  ,
BOOLEAN   
)

◆ RtlSetThreadErrorMode()

NTSYSAPI NTSTATUS WINAPI RtlSetThreadErrorMode ( DWORD  ,
LPDWORD   
)

Referenced by GetVolumeInformationW().

◆ RtlSetTimeZoneInformation()

NTSYSAPI NTSTATUS WINAPI RtlSetTimeZoneInformation ( const RTL_TIME_ZONE_INFORMATION )

◆ RtlSizeHeap()

NTSYSAPI SIZE_T WINAPI RtlSizeHeap ( HANDLE  ,
ULONG  ,
const void  
)

◆ RtlSleepConditionVariableCS()

NTSYSAPI NTSTATUS WINAPI RtlSleepConditionVariableCS ( RTL_CONDITION_VARIABLE ,
RTL_CRITICAL_SECTION ,
const LARGE_INTEGER  
)

◆ RtlSleepConditionVariableSRW()

NTSYSAPI NTSTATUS WINAPI RtlSleepConditionVariableSRW ( RTL_CONDITION_VARIABLE ,
RTL_SRWLOCK ,
const LARGE_INTEGER ,
ULONG   
)

◆ RtlStringFromGUID()

◆ RtlSubAuthorityCountSid()

NTSYSAPI LPBYTE WINAPI RtlSubAuthorityCountSid ( PSID  )

◆ RtlSubAuthoritySid()

NTSYSAPI LPDWORD WINAPI RtlSubAuthoritySid ( PSID  ,
DWORD   
)

◆ RtlSystemTimeToLocalTime()

NTSYSAPI NTSTATUS WINAPI RtlSystemTimeToLocalTime ( const LARGE_INTEGER ,
PLARGE_INTEGER   
)

◆ RtlTimeFieldsToTime()

NTSYSAPI BOOLEAN WINAPI RtlTimeFieldsToTime ( PTIME_FIELDS  ,
PLARGE_INTEGER   
)

◆ RtlTimeToElapsedTimeFields()

NTSYSAPI void WINAPI RtlTimeToElapsedTimeFields ( const LARGE_INTEGER ,
PTIME_FIELDS   
)

◆ RtlTimeToSecondsSince1970()

NTSYSAPI BOOLEAN WINAPI RtlTimeToSecondsSince1970 ( const LARGE_INTEGER ,
LPDWORD   
)

◆ RtlTimeToSecondsSince1980()

NTSYSAPI BOOLEAN WINAPI RtlTimeToSecondsSince1980 ( const LARGE_INTEGER ,
LPDWORD   
)

◆ RtlTimeToTimeFields()

NTSYSAPI void WINAPI RtlTimeToTimeFields ( const LARGE_INTEGER ,
PTIME_FIELDS   
)

◆ RtlTryAcquireSRWLockExclusive()

NTSYSAPI BOOLEAN WINAPI RtlTryAcquireSRWLockExclusive ( RTL_SRWLOCK )

◆ RtlTryAcquireSRWLockShared()

NTSYSAPI BOOLEAN WINAPI RtlTryAcquireSRWLockShared ( RTL_SRWLOCK )

◆ RtlTryEnterCriticalSection()

NTSYSAPI BOOL WINAPI RtlTryEnterCriticalSection ( RTL_CRITICAL_SECTION )

◆ RtlUlongByteSwap()

static ULONG RtlUlongByteSwap ( ULONG  i)
inlinestatic

Definition at line 3007 of file winternl.h.

3008{
3009#if defined(__i386__) && defined(__GNUC__)
3010 ULONG ret;
3011 __asm__("bswap %0" : "=r" (ret) : "0" (i) );
3012 return ret;
3013#else
3014 return ((ULONG)RtlUshortByteSwap((USHORT)i) << 16) | RtlUshortByteSwap((USHORT)(i >> 16));
3015#endif
3016}
__asm__(".p2align 4, 0x90\n" ".seh_proc __seh2_global_filter_func\n" "__seh2_global_filter_func:\n" "\tpush %rbp\n" "\t.seh_pushreg %rbp\n" "\tsub $32, %rsp\n" "\t.seh_stackalloc 32\n" "\t.seh_endprologue\n" "\tmov %rdx, %rbp\n" "\tjmp *%rax\n" "__seh2_global_filter_func_exit:\n" "\t.p2align 4\n" "\tadd $32, %rsp\n" "\tpop %rbp\n" "\tret\n" "\t.seh_endproc")
int ret
#define RtlUshortByteSwap(_x)
Definition: rtlfuncs.h:3197

◆ RtlUlonglongByteSwap()

NTSYSAPI ULONGLONG __cdecl RtlUlonglongByteSwap ( ULONGLONG  )

◆ RtlUnicodeStringToAnsiSize()

NTSYSAPI DWORD WINAPI RtlUnicodeStringToAnsiSize ( const UNICODE_STRING )

◆ RtlUnicodeStringToAnsiString()

NTSYSAPI NTSTATUS WINAPI RtlUnicodeStringToAnsiString ( PANSI_STRING  ,
PCUNICODE_STRING  ,
BOOLEAN   
)

◆ RtlUnicodeStringToInteger()

NTSYSAPI NTSTATUS WINAPI RtlUnicodeStringToInteger ( const UNICODE_STRING str,
ULONG  base,
ULONG value 
)

Definition at line 982 of file unicode.c.

986{
987 LPWSTR lpwstr = str->Buffer;
988 USHORT CharsRemaining = str->Length / sizeof(WCHAR);
989 WCHAR wchCurrent;
990 int digit;
991 ULONG RunningTotal = 0;
992 char bMinus = 0;
993
994 while (CharsRemaining >= 1 && *lpwstr <= ' ')
995 {
996 lpwstr++;
997 CharsRemaining--;
998 }
999
1000 if (CharsRemaining >= 1)
1001 {
1002 if (*lpwstr == '+')
1003 {
1004 lpwstr++;
1005 CharsRemaining--;
1006 }
1007 else if (*lpwstr == '-')
1008 {
1009 bMinus = 1;
1010 lpwstr++;
1011 CharsRemaining--;
1012 }
1013 }
1014
1015 if (base == 0)
1016 {
1017 base = 10;
1018
1019 if (CharsRemaining >= 2 && lpwstr[0] == '0')
1020 {
1021 if (lpwstr[1] == 'b')
1022 {
1023 lpwstr += 2;
1024 CharsRemaining -= 2;
1025 base = 2;
1026 }
1027 else if (lpwstr[1] == 'o')
1028 {
1029 lpwstr += 2;
1030 CharsRemaining -= 2;
1031 base = 8;
1032 }
1033 else if (lpwstr[1] == 'x')
1034 {
1035 lpwstr += 2;
1036 CharsRemaining -= 2;
1037 base = 16;
1038 }
1039 }
1040 }
1041 else if (base != 2 && base != 8 && base != 10 && base != 16)
1042 {
1044 }
1045
1046 if (value == NULL)
1047 {
1049 }
1050
1051 while (CharsRemaining >= 1)
1052 {
1053 wchCurrent = *lpwstr;
1054
1055 if (wchCurrent >= '0' && wchCurrent <= '9')
1056 {
1057 digit = wchCurrent - '0';
1058 }
1059 else if (wchCurrent >= 'A' && wchCurrent <= 'Z')
1060 {
1061 digit = wchCurrent - 'A' + 10;
1062 }
1063 else if (wchCurrent >= 'a' && wchCurrent <= 'z')
1064 {
1065 digit = wchCurrent - 'a' + 10;
1066 }
1067 else
1068 {
1069 digit = -1;
1070 }
1071
1072 if (digit < 0 || (ULONG)digit >= base) break;
1073
1074 RunningTotal = RunningTotal * base + digit;
1075 lpwstr++;
1076 CharsRemaining--;
1077 }
1078
1079 *value = bMinus ? (0 - RunningTotal) : RunningTotal;
1080 return STATUS_SUCCESS;
1081}

◆ RtlUnicodeStringToOemSize()

NTSYSAPI DWORD WINAPI RtlUnicodeStringToOemSize ( const UNICODE_STRING )

◆ RtlUnicodeStringToOemString()

NTSYSAPI NTSTATUS WINAPI RtlUnicodeStringToOemString ( POEM_STRING  ,
PCUNICODE_STRING  ,
BOOLEAN   
)

◆ RtlUnicodeToMultiByteN()

NTSYSAPI NTSTATUS WINAPI RtlUnicodeToMultiByteN ( LPSTR  ,
DWORD  ,
LPDWORD  ,
LPCWSTR  ,
DWORD   
)

◆ RtlUnicodeToMultiByteSize()

NTSYSAPI NTSTATUS WINAPI RtlUnicodeToMultiByteSize ( PULONG  ,
PCWSTR  ,
ULONG   
)

◆ RtlUnicodeToOemN()

NTSYSAPI NTSTATUS WINAPI RtlUnicodeToOemN ( LPSTR  ,
DWORD  ,
LPDWORD  ,
LPCWSTR  ,
DWORD   
)

◆ RtlUniform()

NTSYSAPI ULONG WINAPI RtlUniform ( PULONG  )

◆ RtlUnlockHeap()

NTSYSAPI BOOLEAN WINAPI RtlUnlockHeap ( HANDLE  HeapPtr)

Definition at line 3143 of file heap.c.

3144{
3145 PHEAP Heap = (PHEAP)HeapPtr;
3146
3147 /* Check for page heap */
3149 {
3150 return RtlpPageHeapUnlock(Heap);
3151 }
3152
3153 /* Check if it's really a heap */
3154 if (Heap->Signature != HEAP_SIGNATURE) return FALSE;
3155
3156 /* Unlock if it's lockable */
3157 if (!(Heap->Flags & HEAP_NO_SERIALIZE))
3158 {
3160 }
3161
3162 return TRUE;
3163}
#define HEAP_SIGNATURE
Definition: heap.h:51
BOOLEAN NTAPI RtlpPageHeapUnlock(HANDLE HeapPtr)
Definition: heappage.c:2429
ULONG Signature
Definition: heap.h:234

Referenced by GlobalAlloc(), GlobalFlags(), GlobalFree(), GlobalHandle(), GlobalLock(), GlobalReAlloc(), GlobalSize(), GlobalUnlock(), HeapUnlock(), LocalAlloc(), LocalFlags(), LocalReAlloc(), and LocalUnlock().

◆ RtlUnwind()

NTSYSAPI void WINAPI RtlUnwind ( PVOID  ,
PVOID  ,
PEXCEPTION_RECORD  ,
PVOID   
)

◆ RtlUpcaseUnicodeChar()

NTSYSAPI WCHAR WINAPI RtlUpcaseUnicodeChar ( WCHAR  )

◆ RtlUpcaseUnicodeString()

NTSYSAPI NTSTATUS WINAPI RtlUpcaseUnicodeString ( UNICODE_STRING ,
const UNICODE_STRING ,
BOOLEAN   
)

◆ RtlUpcaseUnicodeStringToAnsiString()

NTSYSAPI NTSTATUS WINAPI RtlUpcaseUnicodeStringToAnsiString ( STRING ,
const UNICODE_STRING ,
BOOLEAN   
)

◆ RtlUpcaseUnicodeStringToCountedOemString()

◆ RtlUpcaseUnicodeStringToOemString()

NTSYSAPI NTSTATUS WINAPI RtlUpcaseUnicodeStringToOemString ( STRING ,
const UNICODE_STRING ,
BOOLEAN   
)

◆ RtlUpcaseUnicodeToMultiByteN()

NTSYSAPI NTSTATUS WINAPI RtlUpcaseUnicodeToMultiByteN ( LPSTR  ,
DWORD  ,
LPDWORD  ,
LPCWSTR  ,
DWORD   
)

◆ RtlUpcaseUnicodeToOemN()

NTSYSAPI NTSTATUS WINAPI RtlUpcaseUnicodeToOemN ( LPSTR  ,
DWORD  ,
LPDWORD  ,
LPCWSTR  ,
DWORD   
)

◆ RtlUpdateTimer()

NTSYSAPI NTSTATUS WINAPI RtlUpdateTimer ( HANDLE  TimerQueue,
HANDLE  Timer,
DWORD  DueTime,
DWORD  Period 
)

Definition at line 504 of file timerqueue.c.

506{
507 struct queue_timer *t = Timer;
508 struct timer_queue *q = t->q;
509
511 /* Can't change a timer if it was once-only or destroyed. */
512 if (t->expire != EXPIRE_NEVER)
513 {
514 t->period = Period;
516 }
518
519 return STATUS_SUCCESS;
520}
static void queue_move_timer(struct queue_timer *t, ULONGLONG time, BOOL set_event)
Definition: timerqueue.c:140
static ULONGLONG queue_current_time(void)
Definition: timerqueue.c:107
#define EXPIRE_NEVER
Definition: timerqueue.c:64
_In_ WDFTIMER _In_ LONGLONG DueTime
Definition: wdftimer.h:190
_In_ LARGE_INTEGER _In_ ULONG Period
Definition: kefuncs.h:1313

◆ RtlUpperChar()

NTSYSAPI CHAR WINAPI RtlUpperChar ( CHAR  )

◆ RtlUpperString()

NTSYSAPI void WINAPI RtlUpperString ( STRING ,
const STRING  
)

◆ RtlUshortByteSwap()

static USHORT RtlUshortByteSwap ( USHORT  s)
inlinestatic

Definition at line 3003 of file winternl.h.

3004{
3005 return (s >> 8) | (s << 8);
3006}

◆ RtlValidAcl()

NTSYSAPI BOOLEAN WINAPI RtlValidAcl ( PACL  )

◆ RtlValidateHeap()

NTSYSAPI BOOLEAN WINAPI RtlValidateHeap ( HANDLE  ,
ULONG  ,
LPCVOID   
)

◆ RtlValidRelativeSecurityDescriptor()

NTSYSAPI BOOLEAN WINAPI RtlValidRelativeSecurityDescriptor ( PSECURITY_DESCRIPTOR  ,
ULONG  ,
SECURITY_INFORMATION   
)

Referenced by fsctl_set_xattr(), and open_fcb().

◆ RtlValidSecurityDescriptor()

NTSYSAPI NTSTATUS WINAPI RtlValidSecurityDescriptor ( PSECURITY_DESCRIPTOR  )

◆ RtlValidSid()

NTSYSAPI BOOLEAN WINAPI RtlValidSid ( PSID  )

◆ RtlVerifyVersionInfo()

NTSYSAPI NTSTATUS WINAPI RtlVerifyVersionInfo ( const RTL_OSVERSIONINFOEXW ,
DWORD  ,
DWORDLONG   
)

◆ RtlWakeAllConditionVariable()

NTSYSAPI void WINAPI RtlWakeAllConditionVariable ( RTL_CONDITION_VARIABLE )

◆ RtlWakeConditionVariable()

NTSYSAPI void WINAPI RtlWakeConditionVariable ( RTL_CONDITION_VARIABLE )

◆ RtlWalkHeap()

NTSYSAPI NTSTATUS WINAPI RtlWalkHeap ( HANDLE  ,
PVOID   
)

Referenced by HeapWalk().

◆ RtlWow64EnableFsRedirection()

NTSYSAPI NTSTATUS WINAPI RtlWow64EnableFsRedirection ( BOOLEAN  )

◆ RtlWow64EnableFsRedirectionEx()

NTSYSAPI NTSTATUS WINAPI RtlWow64EnableFsRedirectionEx ( ULONG  ,
ULONG  
)

◆ RtlWriteRegistryValue()

◆ RtlZombifyActivationContext()

NTSYSAPI NTSTATUS WINAPI RtlZombifyActivationContext ( HANDLE  Context)

Definition at line 5357 of file actctx.c.

5358{
5360
5362 return STATUS_SUCCESS;
5363
5365}
#define ACTCTX_FAKE_HANDLE
Definition: actctx.c:43

Referenced by ZombifyActCtx().

◆ vDbgPrintEx()

NTSYSAPI NTSTATUS WINAPI vDbgPrintEx ( ULONG  ,
ULONG  ,
LPCSTR  ,
__ms_va_list   
)

◆ vDbgPrintExWithPrefix()

NTSYSAPI NTSTATUS WINAPI vDbgPrintExWithPrefix ( LPCSTR  ,
ULONG  ,
ULONG  ,
LPCSTR  ,
__ms_va_list   
)

Referenced by StorPortDebugPrint().

◆ wine_nt_to_unix_file_name()

NTSYSAPI NTSTATUS CDECL wine_nt_to_unix_file_name ( const UNICODE_STRING nameW,
ANSI_STRING unix_name_ret,
UINT  disposition,
BOOLEAN  check_case 
)

◆ wine_uninterrupted_read_memory()

NTSYSAPI SIZE_T CDECL wine_uninterrupted_read_memory ( const void addr,
void buffer,
SIZE_T  size 
)

◆ wine_uninterrupted_write_memory()

NTSYSAPI SIZE_T CDECL wine_uninterrupted_write_memory ( void addr,
const void buffer,
SIZE_T  size 
)

◆ wine_unix_to_nt_file_name()

NTSYSAPI NTSTATUS CDECL wine_unix_to_nt_file_name ( const ANSI_STRING name,
UNICODE_STRING nt 
)

Referenced by wine_get_dos_file_name().