ReactOS 0.4.16-dev-287-g2d3f3a1
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(), 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 */
1008 RtlActivateActivationContextUnsafeFast(&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 */
1036 RtlDeactivateActivationContextUnsafeFast(&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 */
1050 RtlActivateActivationContextUnsafeFast(&ActCtx,
1052
1053 _SEH2_TRY
1054 {
1055 /* Do TLS callbacks */
1057 }
1059 {
1060 /* Do nothing */
1061 }
1062 _SEH2_END;
1063
1064 /* Deactivate the ActCtx */
1065 RtlDeactivateActivationContextUnsafeFast(&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 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:447
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:165
#define _SEH2_EXCEPT(...)
Definition: pseh2_64.h:66
#define _SEH2_END
Definition: pseh2_64.h:155
#define _SEH2_TRY
Definition: pseh2_64.h:55
#define SharedUserData
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:73
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 */
1133 RtlActivateActivationContextUnsafeFast(&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 */
1169 RtlDeactivateActivationContextUnsafeFast(&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 */
1184 RtlActivateActivationContextUnsafeFast(&ActCtx,
1186
1187 _SEH2_TRY
1188 {
1189 /* Do TLS callbacks */
1191 }
1193 {
1194 /* Do nothing */
1195 }
1196 _SEH2_END;
1197
1198 /* Deactivate the ActCtx */
1199 RtlDeactivateActivationContextUnsafeFast(&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:84
NTSYSAPI void WINAPI RtlAcquirePebLock(void)
Definition: libsupp.c:74
NTSYSAPI void WINAPI RtlFreeThreadActivationContextStack(void)
Definition: actctx.c:5515
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:1469

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:33
#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:158
#define JOB_OBJECT_ASSIGN_PROCESS
Definition: pstypes.h:201
_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:1507
#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:879
_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

Referenced by InitSysCalls(), and Test_SyscallPerformance().

◆ 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 STATUS_NOT_IMPLEMENTED
Definition: d3dkmdt.h:42
#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:430
@ JobObjectBasicAndIoAccountingInformation
Definition: pstypes.h:436
@ JobObjectBasicAccountingInformation
Definition: pstypes.h:429
@ JobObjectSecurityLimitInformation
Definition: pstypes.h:433
@ JobObjectExtendedLimitInformation
Definition: pstypes.h:437
@ JobObjectBasicProcessIdList
Definition: pstypes.h:431
@ JobObjectJobSetInformation
Definition: pstypes.h:438
#define JOB_OBJECT_QUERY
Definition: pstypes.h:203
#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_INVALID_INFO_CLASS
Definition: ntstatus.h:240
#define _SEH2_YIELD(__stmt)
Definition: pseh2_64.h:168
#define ProbeForWriteUlong(Ptr)
Definition: probe.h:36
JOBOBJECT_BASIC_ACCOUNTING_INFORMATION BasicInfo
Definition: pstypes.h:1597
LARGE_INTEGER ThisPeriodTotalUserTime
Definition: pstypes.h:1486
ULONGLONG OtherTransferCount
Definition: pstypes.h:1514
LARGE_INTEGER TotalKernelTime
Definition: pstypes.h:1485
ULONG LimitFlags
Definition: pstypes.h:1494
ULONG TotalProcesses
Definition: pstypes.h:1489
ULONG ActiveProcessLimit
Definition: pstypes.h:1497
LIST_ENTRY ProcessListHead
Definition: pstypes.h:1482
UCHAR PriorityClass
Definition: pstypes.h:1499
ULONGLONG OtherOperationCount
Definition: pstypes.h:1511
LARGE_INTEGER PerJobUserTimeLimit
Definition: pstypes.h:1493
ULONG Affinity
Definition: pstypes.h:1498
ULONG ActiveProcesses
Definition: pstypes.h:1490
ULONG PeakProcessMemoryUsed
Definition: pstypes.h:1518
ULONG ProcessMemoryLimit
Definition: pstypes.h:1516
ULONGLONG ReadTransferCount
Definition: pstypes.h:1512
ULONG SchedulingClass
Definition: pstypes.h:1508
ULONG TotalPageFaultCount
Definition: pstypes.h:1488
ULONG MinimumWorkingSetSize
Definition: pstypes.h:1495
ULONG PeakJobMemoryUsed
Definition: pstypes.h:1519
ULONG TotalTerminatedProcesses
Definition: pstypes.h:1491
ULONG MaximumWorkingSetSize
Definition: pstypes.h:1496
LARGE_INTEGER TotalUserTime
Definition: pstypes.h:1484
ULONGLONG ReadOperationCount
Definition: pstypes.h:1509
LARGE_INTEGER ThisPeriodTotalKernelTime
Definition: pstypes.h:1487
ULONGLONG WriteOperationCount
Definition: pstypes.h:1510
EX_PUSH_LOCK MemoryLimitsLock
Definition: pstypes.h:1526
ULONG JobMemoryLimit
Definition: pstypes.h:1517
ULONGLONG WriteTransferCount
Definition: pstypes.h:1513
ERESOURCE JobLock
Definition: pstypes.h:1483
LARGE_INTEGER PerProcessUserTimeLimit
Definition: pstypes.h:1492
struct _EJOB * Job
Definition: pstypes.h:1304
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:1552
JOBOBJECT_BASIC_LIMIT_INFORMATION BasicLimitInformation
Definition: pstypes.h:1603
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:205
#define JOB_OBJECT_SET_ATTRIBUTES
Definition: pstypes.h:202
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:2183
#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:204
_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:1150
@ 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:639
struct _KTHREAD * NextThread
Definition: ketypes.h:640
ULONG ReadySummary
Definition: ketypes.h:799
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()

◆ RtlAcquireSRWLockShared()

◆ 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 5373 of file actctx.c.

5374{
5376
5378}
#define actctx
Definition: kernel32.h:8
static void actctx_addref(ACTIVATION_CONTEXT *actctx)
Definition: actctx.c:1224
static ACTIVATION_CONTEXT * check_actctx(HANDLE h)
Definition: actctx.c:1207

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()

NTSYSAPI BOOLEAN WINAPI RtlAreBitsClear ( PCRTL_BITMAP  ,
ULONG  ,
ULONG   
)

◆ RtlAreBitsSet()

NTSYSAPI BOOLEAN WINAPI RtlAreBitsSet ( PCRTL_BITMAP  ,
ULONG  ,
ULONG   
)

◆ 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()

NTSYSAPI void WINAPI RtlClearAllBits ( PRTL_BITMAP  )

◆ RtlClearBits()

NTSYSAPI void WINAPI RtlClearBits ( PRTL_BITMAP  ,
ULONG  ,
ULONG   
)

◆ RtlCompactHeap()

NTSYSAPI ULONG WINAPI RtlCompactHeap ( HANDLE  Heap,
ULONG  Flags 
)

Definition at line 3103 of file heap.c.

3105{
3107 return 0;
3108}
#define UNIMPLEMENTED
Definition: ntoskrnl.c:15

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:4409
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:4492
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
#define STATUS_NO_MEMORY
Definition: d3dkmdt.h:51
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
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 STATUS_PENDING
Definition: d3dkmdt.h:43
#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_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
#define STATUS_INVALID_HANDLE
Definition: d3dkmdt.h:40
uint32_t entry
Definition: isohybrid.c:63
NTSTATUS NTAPI NtSetEvent(IN HANDLE EventHandle, OUT PLONG PreviousState OPTIONAL)
Definition: event.c:455
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:5230
_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 1748 of file heap.c.

1749{
1750 PHEAP Heap = (PHEAP)HeapPtr;
1751 PLIST_ENTRY Current;
1752 PHEAP_UCR_SEGMENT UcrSegment;
1753 PHEAP_VIRTUAL_ALLOC_ENTRY VirtualEntry;
1755 SIZE_T Size;
1756 LONG i;
1758
1759 if (!HeapPtr) return NULL;
1760
1761 /* Call page heap routine if required */
1762 if (Heap->ForceFlags & HEAP_FLAG_PAGE_ALLOCS) return RtlpPageHeapDestroy(HeapPtr);
1763
1764 /* Call special heap */
1765 if (RtlpHeapIsSpecial(Heap->Flags))
1766 {
1767 if (!RtlDebugDestroyHeap(Heap)) return HeapPtr;
1768 }
1769
1770 /* Check for a process heap */
1771 if (RtlpGetMode() == UserMode &&
1772 HeapPtr == NtCurrentPeb()->ProcessHeap) return HeapPtr;
1773
1774 /* Free up all big allocations */
1775 Current = Heap->VirtualAllocdBlocks.Flink;
1776 while (Current != &Heap->VirtualAllocdBlocks)
1777 {
1778 VirtualEntry = CONTAINING_RECORD(Current, HEAP_VIRTUAL_ALLOC_ENTRY, Entry);
1779 BaseAddress = (PVOID)VirtualEntry;
1780 Current = Current->Flink;
1781 Size = 0;
1782 ZwFreeVirtualMemory(NtCurrentProcess(),
1783 &BaseAddress,
1784 &Size,
1785 MEM_RELEASE);
1786 }
1787
1788 /* Delete tags and remove heap from the process heaps list in user mode */
1789 if (RtlpGetMode() == UserMode)
1790 {
1791 // FIXME DestroyTags
1793 }
1794
1795 /* Delete the heap lock */
1796 if (!(Heap->Flags & HEAP_NO_SERIALIZE))
1797 {
1798 /* Delete it if it wasn't user allocated */
1799 if (!(Heap->Flags & HEAP_LOCK_USER_ALLOCATED))
1801
1802 /* Clear out the lock variable */
1803 Heap->LockVariable = NULL;
1804 }
1805
1806 /* Free UCR segments if any were created */
1807 Current = Heap->UCRSegments.Flink;
1808 while (Current != &Heap->UCRSegments)
1809 {
1810 UcrSegment = CONTAINING_RECORD(Current, HEAP_UCR_SEGMENT, ListEntry);
1811
1812 /* Advance to the next descriptor */
1813 Current = Current->Flink;
1814
1815 BaseAddress = (PVOID)UcrSegment;
1816 Size = 0;
1817
1818 /* Release that memory */
1819 ZwFreeVirtualMemory(NtCurrentProcess(),
1820 &BaseAddress,
1821 &Size,
1822 MEM_RELEASE);
1823 }
1824
1825 /* Go through segments and destroy them */
1826 for (i = HEAP_SEGMENTS - 1; i >= 0; i--)
1827 {
1828 Segment = Heap->Segments[i];
1830 }
1831
1832 return NULL;
1833}
HANDLE ProcessHeap
Definition: servman.c:15
struct _HEAP * PHEAP
KPROCESSOR_MODE NTAPI RtlpGetMode(VOID)
Definition: libsupp.c:55
NTSTATUS NTAPI RtlDeleteHeapLock(IN OUT PHEAP_LOCK Lock)
Definition: libsupp.c:103
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:1137
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 1557 of file ldrapi.c.

1558{
1559 /* Return the internal global */
1561}
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 5874 of file actctx.c.

5876{
5879
5880 TRACE("%08x %s %u %s %p\n", flags, debugstr_guid(guid), section_kind,
5881 debugstr_us(section_name), data);
5882
5883#ifdef __REACTOS__
5884 status = RtlpFindActivationContextSection_CheckParameters(flags, guid, section_kind, section_name, data);
5885 if (!NT_SUCCESS(status))
5886 {
5887 DPRINT1("RtlFindActivationContextSectionString() failed with status %x\n", status);
5888 return status;
5889 }
5890
5892
5893 /* if there is no data, but params are valid,
5894 we return that sxs key is not found to be at least somehow compatible */
5895 if (!data)
5896 {
5897 DPRINT("RtlFindActivationContextSectionString() failed with status %x\n", status);
5898 return status;
5899 }
5900#else
5901 if (guid)
5902 {
5903 FIXME("expected guid == NULL\n");
5905 }
5906 if (flags & ~FIND_ACTCTX_SECTION_KEY_RETURN_HACTCTX)
5907 {
5908 FIXME("unknown flags %08x\n", flags);
5910 }
5911 if ((data && data->cbSize < offsetof(ACTCTX_SECTION_KEYED_DATA, ulAssemblyRosterIndex)) ||
5912 !section_name || !section_name->Buffer)
5913 {
5914 WARN("invalid parameter\n");
5916 }
5917#endif // __REACTOS__
5918
5920 ASSERT(NtCurrentTeb()->ActivationContextStackPointer);
5921
5922 DPRINT("ActiveFrame: %p\n",NtCurrentTeb()->ActivationContextStackPointer->ActiveFrame);
5923 if (NtCurrentTeb()->ActivationContextStackPointer->ActiveFrame)
5924 {
5925 ACTIVATION_CONTEXT *actctx = check_actctx(NtCurrentTeb()->ActivationContextStackPointer->ActiveFrame->ActivationContext);
5926 if (actctx) status = find_string( actctx, section_kind, section_name, flags, data );
5927 }
5928
5929 DPRINT("status %x\n", status);
5930 if (status != STATUS_SUCCESS)
5931 status = find_string( process_actctx, section_kind, section_name, flags, data );
5932
5933 if (status != STATUS_SUCCESS)
5934 status = find_string( implicit_actctx, section_kind, section_name, flags, data );
5935
5936 DPRINT("RtlFindActivationContextSectionString() returns status %x\n", status);
5937 return status;
5938}
#define FIXME(fmt,...)
Definition: precomp.h:53
#define WARN(fmt,...)
Definition: precomp.h:61
GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * data
Definition: gl.h:1950
GLbitfield flags
Definition: glext.h:7161
#define debugstr_guid
Definition: kernel32.h:35
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
#define offsetof(TYPE, MEMBER)
static ACTIVATION_CONTEXT * implicit_actctx
Definition: actctx.c:771
static ACTIVATION_CONTEXT * process_actctx
Definition: actctx.c:770
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:5100
#define TRACE(s)
Definition: solgame.cpp:4
LPCSTR debugstr_us(const UNICODE_STRING *us)
Definition: wine_debug.c:136

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()

NTSYSAPI ULONG WINAPI RtlFindClearBits ( PCRTL_BITMAP  ,
ULONG  ,
ULONG   
)

◆ RtlFindClearBitsAndSet()

NTSYSAPI ULONG WINAPI RtlFindClearBitsAndSet ( PRTL_BITMAP  ,
ULONG  ,
ULONG   
)

◆ RtlFindClearRuns()

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

◆ RtlFindLastBackwardRunClear()

NTSYSAPI ULONG WINAPI RtlFindLastBackwardRunClear ( PCRTL_BITMAP  ,
ULONG  ,
PULONG   
)

◆ 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   
)

◆ 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()

NTSYSAPI ULONG WINAPI RtlFindNextForwardRunClear ( PCRTL_BITMAP  ,
ULONG  ,
PULONG   
)

◆ RtlFindNextForwardRunSet()

NTSYSAPI ULONG WINAPI RtlFindNextForwardRunSet ( PCRTL_BITMAP  ,
ULONG  ,
PULONG   
)

◆ RtlFindSetBits()

NTSYSAPI ULONG WINAPI RtlFindSetBits ( PCRTL_BITMAP  ,
ULONG  ,
ULONG   
)

◆ 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 2286 of file heap.c.

2291{
2292 PHEAP Heap;
2293 PHEAP_ENTRY HeapEntry;
2294 USHORT TagIndex = 0;
2295 SIZE_T BlockSize;
2296 PHEAP_VIRTUAL_ALLOC_ENTRY VirtualEntry;
2299
2300 /* Freeing NULL pointer is a legal operation */
2301 if (!Ptr) return TRUE;
2302
2303 /* Get pointer to the heap and force flags */
2304 Heap = (PHEAP)HeapPtr;
2305 Flags |= Heap->ForceFlags;
2306
2307 /* Call special heap */
2309 return RtlDebugFreeHeap(Heap, Flags, Ptr);
2310
2311 /* Get pointer to the heap entry */
2312 HeapEntry = (PHEAP_ENTRY)Ptr - 1;
2313
2314 /* Protect with SEH in case the pointer is not valid */
2315 _SEH2_TRY
2316 {
2317 /* Check this entry, fail if it's invalid */
2318 if (!(HeapEntry->Flags & HEAP_ENTRY_BUSY) ||
2319 (((ULONG_PTR)Ptr & 0x7) != 0) ||
2320 (HeapEntry->SegmentOffset >= HEAP_SEGMENTS))
2321 {
2322 /* This is an invalid block */
2323 DPRINT1("HEAP: Trying to free an invalid address %p!\n", Ptr);
2325 _SEH2_YIELD(return FALSE);
2326 }
2327 }
2329 {
2330 /* The pointer was invalid */
2331 DPRINT1("HEAP: Trying to free an invalid address %p!\n", Ptr);
2333 _SEH2_YIELD(return FALSE);
2334 }
2335 _SEH2_END;
2336
2337 /* Lock if necessary */
2338 if (!(Flags & HEAP_NO_SERIALIZE))
2339 {
2341 Locked = TRUE;
2342 }
2343
2344 if (HeapEntry->Flags & HEAP_ENTRY_VIRTUAL_ALLOC)
2345 {
2346 /* Big allocation */
2347 VirtualEntry = CONTAINING_RECORD(HeapEntry, HEAP_VIRTUAL_ALLOC_ENTRY, BusyBlock);
2348
2349 /* Remove it from the list */
2350 RemoveEntryList(&VirtualEntry->Entry);
2351
2352 // TODO: Tagging
2353
2354 BlockSize = 0;
2355 Status = ZwFreeVirtualMemory(NtCurrentProcess(),
2356 (PVOID *)&VirtualEntry,
2357 &BlockSize,
2358 MEM_RELEASE);
2359
2360 if (!NT_SUCCESS(Status))
2361 {
2362 DPRINT1("HEAP: Failed releasing memory with Status 0x%08X. Heap %p, ptr %p, base address %p\n",
2363 Status, Heap, Ptr, VirtualEntry);
2365 }
2366 }
2367 else
2368 {
2369 /* Normal allocation */
2370 BlockSize = HeapEntry->Size;
2371
2372 // TODO: Tagging
2373
2374 /* Coalesce in kernel mode, and in usermode if it's not disabled */
2375 if (RtlpGetMode() == KernelMode ||
2377 {
2378 HeapEntry = (PHEAP_ENTRY)RtlpCoalesceFreeBlocks(Heap,
2379 (PHEAP_FREE_ENTRY)HeapEntry,
2380 &BlockSize,
2381 FALSE);
2382 }
2383
2384 /* See if we should decommit this block */
2385 if ((BlockSize >= Heap->DeCommitFreeBlockThreshold) ||
2386 (Heap->TotalFreeSize + BlockSize >= Heap->DeCommitTotalFreeThreshold))
2387 {
2388 RtlpDeCommitFreeBlock(Heap, (PHEAP_FREE_ENTRY)HeapEntry, BlockSize);
2389 }
2390 else
2391 {
2392 /* Insert into the free list */
2393 RtlpInsertFreeBlock(Heap, (PHEAP_FREE_ENTRY)HeapEntry, BlockSize);
2394
2395 if (RtlpGetMode() == UserMode &&
2396 TagIndex != 0)
2397 {
2398 // FIXME: Tagging
2400 }
2401 }
2402 }
2403
2404 /* Release the heap lock */
2406
2407 return TRUE;
2408}
NTSTATUS NTAPI RtlEnterHeapLock(IN OUT PHEAP_LOCK Lock, IN BOOLEAN Exclusive)
Definition: libsupp.c:110
NTSTATUS NTAPI RtlLeaveHeapLock(IN OUT PHEAP_LOCK Lock)
Definition: libsupp.c:135
#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:1169
PHEAP_FREE_ENTRY NTAPI RtlpInsertFreeBlock(PHEAP Heap, PHEAP_FREE_ENTRY FreeEntry, SIZE_T BlockSize)
Definition: heap.c:358
static VOID RtlpDeCommitFreeBlock(PHEAP Heap, PHEAP_FREE_ENTRY FreeEntry, SIZE_T Size)
Definition: heap.c:847
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 5515 of file actctx.c.

5516{
5517#ifdef __REACTOS__
5518 RtlFreeActivationContextStack(NtCurrentTeb()->ActivationContextStackPointer);
5519 NtCurrentTeb()->ActivationContextStackPointer = NULL;
5520#else
5522
5523 frame = NtCurrentTeb()->ActivationContextStack.ActiveFrame;
5524 while (frame)
5525 {
5528 RtlFreeHeap( GetProcessHeap(), 0, frame );
5529 frame = prev;
5530 }
5531 NtCurrentTeb()->ActivationContextStack.ActiveFrame = NULL;
5532#endif // __REACTOS__
5533}
#define GetProcessHeap()
Definition: compat.h:736
void WINAPI RtlReleaseActivationContext(HANDLE handle)
Definition: actctx.c:5384
struct _ACTIVATION_CONTEXT * ActivationContext
Definition: winternl.h:250
struct _RTL_ACTIVATION_CONTEXT_STACK_FRAME * Previous
Definition: winternl.h:249

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 5539 of file actctx.c.

5540{
5541 if (NtCurrentTeb()->ActivationContextStackPointer->ActiveFrame)
5542 {
5543 *handle = NtCurrentTeb()->ActivationContextStackPointer->ActiveFrame->ActivationContext;
5545 }
5546 else
5547 *handle = 0;
5548
5549 return STATUS_SUCCESS;
5550}
void WINAPI RtlAddRefActivationContext(HANDLE handle)
Definition: actctx.c:5373

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 421 of file debug.c.

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

◆ 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 95 of file libsupp.c.

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

Referenced by FatalExit(), RtlAssert(), 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()

NTSYSAPI void WINAPI RtlInitializeBitMap ( PRTL_BITMAP  ,
PULONG  ,
ULONG   
)

◆ 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 )

Referenced by InitializeSRWLock().

◆ 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 5556 of file actctx.c.

5557{
5559
5560 for (frame = NtCurrentTeb()->ActivationContextStackPointer->ActiveFrame; frame; frame = frame->Previous)
5561 if (frame->ActivationContext == handle) return TRUE;
5562 return FALSE;
5563}

◆ 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:40
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:923
#define IS_TEXT_UNICODE_UNICODE_MASK
Definition: winnt_old.h:927
#define IS_TEXT_UNICODE_REVERSE_ASCII16
Definition: winnt_old.h:916
#define IS_TEXT_UNICODE_NOT_ASCII_MASK
Definition: winnt_old.h:930
#define IS_TEXT_UNICODE_NULL_BYTES
Definition: winnt_old.h:926
#define IS_TEXT_UNICODE_REVERSE_CONTROLS
Definition: winnt_old.h:920
#define IS_TEXT_UNICODE_REVERSE_MASK
Definition: winnt_old.h:928
#define IS_TEXT_UNICODE_DBCS_LEADBYTE
Definition: winnt_old.h:925
#define IS_TEXT_UNICODE_CONTROLS
Definition: winnt_old.h:919
#define IS_TEXT_UNICODE_ODD_LENGTH
Definition: winnt_old.h:924
#define IS_TEXT_UNICODE_REVERSE_SIGNATURE
Definition: winnt_old.h:922
#define IS_TEXT_UNICODE_NOT_UNICODE_MASK
Definition: winnt_old.h:929
#define IS_TEXT_UNICODE_STATISTICS
Definition: winnt_old.h:917
#define IS_TEXT_UNICODE_ASCII16
Definition: winnt_old.h:915
#define IS_TEXT_UNICODE_SIGNATURE
Definition: winnt_old.h:921
#define IS_TEXT_UNICODE_REVERSE_STATISTICS
Definition: winnt_old.h:918
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(), ActivateActCtx(), 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(), DeleteHKCRValue(), 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(), GetCurrentActCtx(), 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(), QueryActCtxW(), QueryWorkingSet(), QueryWorkingSetEx(), ReadEventLogA(), ReadEventLogW(), ReadFileScatter(), RegCloseKey(), RegCopyTreeW(), RegCreateKeyExW(), RegDeleteKeyExW(), 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(), WTSEnumerateProcessesW(), and ZombifyActCtx().

◆ RtlNtStatusToDosErrorNoTeb()

NTSYSAPI ULONG WINAPI RtlNtStatusToDosErrorNoTeb ( NTSTATUS  )

◆ RtlNumberOfClearBits()

NTSYSAPI ULONG WINAPI RtlNumberOfClearBits ( PCRTL_BITMAP  )

◆ RtlNumberOfSetBits()

NTSYSAPI ULONG WINAPI RtlNumberOfSetBits ( PCRTL_BITMAP  )

◆ 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:2369
_In_ const STRING _In_ BOOLEAN CaseInsensitive
Definition: rtlfuncs.h:2371
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:65
#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 5572 of file actctx.c.

5575{
5578
5579 TRACE("%08x %p %p %u %p %ld %p\n", flags, handle,
5580 subinst, class, buffer, bufsize, retlen);
5581
5582 if (retlen) *retlen = 0;
5583 if ((status = find_query_actctx( &handle, flags, class ))) return status;
5584
5585 switch (class)
5586 {
5587 case ActivationContextBasicInformation:
5588 {
5589 ACTIVATION_CONTEXT_BASIC_INFORMATION *info = buffer;
5590
5591 if (retlen) *retlen = sizeof(*info);
5592 if (!info || bufsize < sizeof(*info)) return STATUS_BUFFER_TOO_SMALL;
5593
5594 info->hActCtx = handle;
5595 info->dwFlags = 0; /* FIXME */
5597 }
5598 break;
5599
5600 case ActivationContextDetailedInformation:
5601 {
5602 ACTIVATION_CONTEXT_DETAILED_INFORMATION *acdi = buffer;
5603 struct assembly *assembly = NULL;
5604 SIZE_T len, manifest_len = 0, config_len = 0, appdir_len = 0;
5605 LPWSTR ptr;
5606
5608
5609 if (actctx->num_assemblies) assembly = actctx->assemblies;
5610
5611 if (assembly && assembly->manifest.info)
5612 manifest_len = wcslen(assembly->manifest.info) + 1;
5613 if (actctx->config.info) config_len = wcslen(actctx->config.info) + 1;
5614 if (actctx->appdir.info) appdir_len = wcslen(actctx->appdir.info) + 1;
5615 len = sizeof(*acdi) + (manifest_len + config_len + appdir_len) * sizeof(WCHAR);
5616
5617 if (retlen) *retlen = len;
5618 if (!buffer || bufsize < len) return STATUS_BUFFER_TOO_SMALL;
5619
5620 acdi->dwFlags = 0;
5621 acdi->ulFormatVersion = assembly ? 1 : 0; /* FIXME */
5622 acdi->ulAssemblyCount = actctx->num_assemblies;
5623 acdi->ulRootManifestPathType = assembly ? assembly->manifest.type : 0 /* FIXME */;
5624 acdi->ulRootManifestPathChars = assembly && assembly->manifest.info ? manifest_len - 1 : 0;
5625 acdi->ulRootConfigurationPathType = actctx->config.type;
5626 acdi->ulRootConfigurationPathChars = actctx->config.info ? config_len - 1 : 0;
5627 acdi->ulAppDirPathType = actctx->appdir.type;
5628 acdi->ulAppDirPathChars = actctx->appdir.info ? appdir_len - 1 : 0;
5629 ptr = (LPWSTR)(acdi + 1);
5630 if (manifest_len)
5631 {
5632 acdi->lpRootManifestPath = ptr;
5633 memcpy(ptr, assembly->manifest.info, manifest_len * sizeof(WCHAR));
5634 ptr += manifest_len;
5635 }
5636 else acdi->lpRootManifestPath = NULL;
5637 if (config_len)
5638 {
5639 acdi->lpRootConfigurationPath = ptr;
5640 memcpy(ptr, actctx->config.info, config_len * sizeof(WCHAR));
5641 ptr += config_len;
5642 }
5643 else acdi->lpRootConfigurationPath = NULL;
5644 if (appdir_len)
5645 {
5646 acdi->lpAppDirPath = ptr;
5647 memcpy(ptr, actctx->appdir.info, appdir_len * sizeof(WCHAR));
5648 }
5649 else acdi->lpAppDirPath = NULL;
5650 }
5651 break;
5652
5653 case AssemblyDetailedInformationInActivationContext:
5654 {
5655 ACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION *afdi = buffer;
5656 struct assembly *assembly;
5657 WCHAR *assembly_id;
5658 DWORD index;
5659 SIZE_T len, id_len = 0, ad_len = 0, path_len = 0;
5660 LPWSTR ptr;
5661
5663 if (!subinst) return STATUS_INVALID_PARAMETER;
5664
5665 index = *(DWORD*)subinst;
5666 if (!index || index > actctx->num_assemblies) return STATUS_INVALID_PARAMETER;
5667
5668 assembly = &actctx->assemblies[index - 1];
5669
5670 if (!(assembly_id = build_assembly_id( &assembly->id ))) return STATUS_NO_MEMORY;
5671 id_len = wcslen(assembly_id) + 1;
5672 if (assembly->directory) ad_len = wcslen(assembly->directory) + 1;
5673
5674 if (assembly->manifest.info &&
5676 path_len = wcslen(assembly->manifest.info) + 1;
5677
5678 len = sizeof(*afdi) + (id_len + ad_len + path_len) * sizeof(WCHAR);
5679
5680 if (retlen) *retlen = len;
5681 if (!buffer || bufsize < len)
5682 {
5683 RtlFreeHeap( GetProcessHeap(), 0, assembly_id );
5685 }
5686
5687 afdi->ulFlags = 0; /* FIXME */
5688 afdi->ulEncodedAssemblyIdentityLength = (id_len - 1) * sizeof(WCHAR);
5689 afdi->ulManifestPathType = assembly->manifest.type;
5690 afdi->ulManifestPathLength = assembly->manifest.info ? (path_len - 1) * sizeof(WCHAR) : 0;
5691 /* FIXME afdi->liManifestLastWriteTime = 0; */
5692 afdi->ulPolicyPathType = ACTIVATION_CONTEXT_PATH_TYPE_NONE; /* FIXME */
5693 afdi->ulPolicyPathLength = 0;
5694 /* FIXME afdi->liPolicyLastWriteTime = 0; */
5695 afdi->ulMetadataSatelliteRosterIndex = 0; /* FIXME */
5696 afdi->ulManifestVersionMajor = 1;
5697 afdi->ulManifestVersionMinor = 0;
5698 afdi->ulPolicyVersionMajor = 0; /* FIXME */
5699 afdi->ulPolicyVersionMinor = 0; /* FIXME */
5700 afdi->ulAssemblyDirectoryNameLength = ad_len ? (ad_len - 1) * sizeof(WCHAR) : 0;
5701 ptr = (LPWSTR)(afdi + 1);
5702 afdi->lpAssemblyEncodedAssemblyIdentity = ptr;
5703 memcpy( ptr, assembly_id, id_len * sizeof(WCHAR) );
5704 ptr += id_len;
5705 if (path_len)
5706 {
5707 afdi->lpAssemblyManifestPath = ptr;
5708 memcpy(ptr, assembly->manifest.info, path_len * sizeof(WCHAR));
5709 ptr += path_len;
5710 } else afdi->lpAssemblyManifestPath = NULL;
5711 afdi->lpAssemblyPolicyPath = NULL; /* FIXME */
5712 if (ad_len)
5713 {
5714 afdi->lpAssemblyDirectoryName = ptr;
5715 memcpy(ptr, assembly->directory, ad_len * sizeof(WCHAR));
5716 }
5717 else afdi->lpAssemblyDirectoryName = NULL;
5718 RtlFreeHeap( GetProcessHeap(), 0, assembly_id );
5719 }
5720 break;
5721
5722 case FileInformationInAssemblyOfAssemblyInActivationContext:
5723 {
5724 const ACTIVATION_CONTEXT_QUERY_INDEX *acqi = subinst;
5725 ASSEMBLY_FILE_DETAILED_INFORMATION *afdi = buffer;
5726 struct assembly *assembly;
5727 struct dll_redirect *dll;
5728 SIZE_T len, dll_len = 0;
5729 LPWSTR ptr;
5730
5732 if (!acqi) return STATUS_INVALID_PARAMETER;
5733
5734 if (acqi->ulAssemblyIndex >= actctx->num_assemblies)
5736 assembly = &actctx->assemblies[acqi->ulAssemblyIndex];
5737
5738 if (acqi->ulFileIndexInAssembly >= assembly->num_dlls)
5740 dll = &assembly->dlls[acqi->ulFileIndexInAssembly];
5741
5742 if (dll->name) dll_len = wcslen(dll->name) + 1;
5743 len = sizeof(*afdi) + dll_len * sizeof(WCHAR);
5744
5745 if (!buffer || bufsize < len)
5746 {
5747 if (retlen) *retlen = len;
5749 }
5750 if (retlen) *retlen = 0; /* yes that's what native does !! */
5751 afdi->ulFlags = ACTIVATION_CONTEXT_SECTION_DLL_REDIRECTION;
5752 afdi->ulFilenameLength = dll_len ? (dll_len - 1) * sizeof(WCHAR) : 0;
5753 afdi->ulPathLength = 0; /* FIXME */
5754 ptr = (LPWSTR)(afdi + 1);
5755 if (dll_len)
5756 {
5757 afdi->lpFileName = ptr;
5758 memcpy( ptr, dll->name, dll_len * sizeof(WCHAR) );
5759 } else afdi->lpFileName = NULL;
5760 afdi->lpFilePath = NULL; /* FIXME */
5761 }
5762 break;
5763
5764 case CompatibilityInformationInActivationContext:
5765 {
5766 /*ACTIVATION_CONTEXT_COMPATIBILITY_INFORMATION*/DWORD *acci = buffer;
5767 COMPATIBILITY_CONTEXT_ELEMENT *elements;
5768 struct assembly *assembly = NULL;
5770 SIZE_T len;
5771
5773
5774 if (actctx->num_assemblies) assembly = actctx->assemblies;
5775
5776 if (assembly)
5778 len = sizeof(*acci) + num_compat_contexts * sizeof(COMPATIBILITY_CONTEXT_ELEMENT);
5779
5780 if (retlen) *retlen = len;
5781 if (!buffer || bufsize < len) return STATUS_BUFFER_TOO_SMALL;
5782
5783 *acci = num_compat_contexts;
5784 elements = (COMPATIBILITY_CONTEXT_ELEMENT*)(acci + 1);
5785 for (n = 0; n < num_compat_contexts; ++n)
5786 {
5787 elements[n] = assembly->compat_contexts[n];
5788 }
5789 }
5790 break;
5791
5792 case RunlevelInformationInActivationContext:
5793 {
5794 ACTIVATION_CONTEXT_RUN_LEVEL_INFORMATION *acrli = buffer;
5795 struct assembly *assembly;
5796 SIZE_T len;
5797
5799
5800 len = sizeof(*acrli);
5801 if (retlen) *retlen = len;
5802 if (!buffer || bufsize < len)
5804
5805 assembly = actctx->assemblies;
5806
5807 acrli->ulFlags = 0;
5808 acrli->RunLevel = assembly ? assembly->run_level : ACTCTX_RUN_LEVEL_UNSPECIFIED;
5809 acrli->UiAccess = assembly ? assembly->ui_access : 0;
5810 }
5811 break;
5812
5813 default:
5814 FIXME( "class %u not implemented\n", class );
5816 }
5817 return STATUS_SUCCESS;
5818}
#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
@ ASSEMBLY_SHARED_MANIFEST
Definition: actctx.c:520
@ ASSEMBLY_MANIFEST
Definition: actctx.c:519
static WCHAR * build_assembly_id(const struct assembly_identity *ai)
Definition: actctx.c:1173
static NTSTATUS find_query_actctx(HANDLE *handle, DWORD flags, ULONG class)
Definition: actctx.c:3535
WCHAR * directory
Definition: actctx.c:528
BSTR type
Definition: cache.c:326
struct dll_redirect * dlls
Definition: actctx.c:530
struct assembly_identity id
Definition: actctx.c:526
unsigned int num_dlls
Definition: actctx.c:531
struct file_info manifest
Definition: actctx.c:527
ULONG num_compat_contexts
Definition: actctx.c:535
ULONG ui_access
Definition: actctx.c:537
COMPATIBILITY_CONTEXT_ELEMENT * compat_contexts
Definition: actctx.c:534
ACTCTX_REQUESTED_RUN_LEVEL run_level
Definition: actctx.c:536
WCHAR * LPWSTR
Definition: xmlstorage.h:184

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

◆ 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 2686 of file heap.c.

2690{
2691 PHEAP Heap = (PHEAP)HeapPtr;
2692 PHEAP_ENTRY InUseEntry, NewInUseEntry;
2693 PHEAP_ENTRY_EXTRA OldExtra, NewExtra;
2694 SIZE_T AllocationSize, FreeSize, DecommitSize;
2695 BOOLEAN HeapLocked = FALSE;
2696 PVOID NewBaseAddress;
2697 PHEAP_FREE_ENTRY SplitBlock, SplitBlock2;
2698 SIZE_T OldSize, Index, OldIndex;
2699 UCHAR FreeFlags;
2701 PVOID DecommitBase;
2702 SIZE_T RemainderBytes, ExtraSize;
2703 PHEAP_VIRTUAL_ALLOC_ENTRY VirtualAllocBlock;
2704 EXCEPTION_RECORD ExceptionRecord;
2705 UCHAR SegmentOffset;
2706
2707 /* Return success in case of a null pointer */
2708 if (!Ptr)
2709 {
2711 return NULL;
2712 }
2713
2714 /* Force heap flags */
2715 Flags |= Heap->ForceFlags;
2716
2717 /* Call special heap */
2719 return RtlDebugReAllocateHeap(Heap, Flags, Ptr, Size);
2720
2721 /* Make sure size is valid */
2722 if (Size >= 0x80000000)
2723 {
2725 return NULL;
2726 }
2727
2728 /* Calculate allocation size and index */
2729 if (Size)
2731 else
2732 AllocationSize = 1;
2734
2735 /* Add up extra stuff, if it is present anywhere */
2738 Heap->PseudoTagEntries)
2739 {
2741 }
2742
2743 /* Acquire the lock if necessary */
2744 if (!(Flags & HEAP_NO_SERIALIZE))
2745 {
2747 HeapLocked = TRUE;
2748 /* Do not acquire the lock anymore for re-entrant call */
2750 }
2751
2752 /* Get the pointer to the in-use entry */
2753 InUseEntry = (PHEAP_ENTRY)Ptr - 1;
2754
2755 /* If that entry is not really in-use, we have a problem */
2756 if (!(InUseEntry->Flags & HEAP_ENTRY_BUSY))
2757 {
2759
2760 /* Release the lock and return */
2761 if (HeapLocked)
2763 return Ptr;
2764 }
2765
2766 if (InUseEntry->Flags & HEAP_ENTRY_VIRTUAL_ALLOC)
2767 {
2768 /* This is a virtually allocated block. Get its size */
2769 OldSize = RtlpGetSizeOfBigBlock(InUseEntry);
2770
2771 /* Convert it to an index */
2772 OldIndex = (OldSize + InUseEntry->Size) >> HEAP_ENTRY_SHIFT;
2773
2774 /* Calculate new allocation size and round it to the page size */
2777 }
2778 else
2779 {
2780 /* Usual entry */
2781 OldIndex = InUseEntry->Size;
2782
2783 OldSize = (OldIndex << HEAP_ENTRY_SHIFT) - InUseEntry->UnusedBytes;
2784 }
2785
2786 /* Calculate new index */
2788
2789 /* Check for 4 different scenarios (old size, new size, old index, new index) */
2790 if (Index <= OldIndex)
2791 {
2792 /* Difference must be greater than 1, adjust if it's not so */
2793 if (Index + 1 == OldIndex)
2794 {
2795 Index++;
2796 AllocationSize += sizeof(HEAP_ENTRY);
2797 }
2798
2799 /* Calculate new size */
2800 if (InUseEntry->Flags & HEAP_ENTRY_VIRTUAL_ALLOC)
2801 {
2802 /* Simple in case of a virtual alloc - just an unused size */
2803 InUseEntry->Size = (USHORT)(AllocationSize - Size);
2804 ASSERT(InUseEntry->Size >= sizeof(HEAP_VIRTUAL_ALLOC_ENTRY));
2805 }
2806 else if (InUseEntry->Flags & HEAP_ENTRY_EXTRA_PRESENT)
2807 {
2808 /* There is extra stuff, take it into account */
2809 OldExtra = (PHEAP_ENTRY_EXTRA)(InUseEntry + InUseEntry->Size - 1);
2810 NewExtra = (PHEAP_ENTRY_EXTRA)(InUseEntry + Index - 1);
2811 *NewExtra = *OldExtra;
2812
2813 // FIXME Tagging, TagIndex
2814
2815 /* Update unused bytes count */
2816 InUseEntry->UnusedBytes = (UCHAR)(AllocationSize - Size);
2817 }
2818 else
2819 {
2820 // FIXME Tagging, SmallTagIndex
2821 InUseEntry->UnusedBytes = (UCHAR)(AllocationSize - Size);
2822 }
2823
2824 /* If new size is bigger than the old size */
2825 if (Size > OldSize)
2826 {
2827 /* Zero out that additional space if required */
2828 if (Flags & HEAP_ZERO_MEMORY)
2829 {
2830 RtlZeroMemory((PCHAR)Ptr + OldSize, Size - OldSize);
2831 }
2832 else if (Heap->Flags & HEAP_FREE_CHECKING_ENABLED)
2833 {
2834 /* Fill it on free if required */
2835 RemainderBytes = OldSize & (sizeof(ULONG) - 1);
2836
2837 if (RemainderBytes)
2838 RemainderBytes = 4 - RemainderBytes;
2839
2840 if (Size > (OldSize + RemainderBytes))
2841 {
2842 /* Calculate actual amount of extra bytes to fill */
2843 ExtraSize = (Size - (OldSize + RemainderBytes)) & ~(sizeof(ULONG) - 1);
2844
2845 /* Fill them if there are any */
2846 if (ExtraSize != 0)
2847 {
2848 RtlFillMemoryUlong((PCHAR)(InUseEntry + 1) + OldSize + RemainderBytes,
2849 ExtraSize,
2851 }
2852 }
2853 }
2854 }
2855
2856 /* Fill tail of the heap entry if required */
2858 {
2859 RtlFillMemory((PCHAR)(InUseEntry + 1) + Size,
2862 }
2863
2864 /* Check if the difference is significant or not */
2865 if (Index != OldIndex)
2866 {
2867 /* Save flags */
2868 FreeFlags = InUseEntry->Flags & ~HEAP_ENTRY_BUSY;
2869
2870 if (FreeFlags & HEAP_ENTRY_VIRTUAL_ALLOC)
2871 {
2872 /* This is a virtual block allocation */
2873 VirtualAllocBlock = CONTAINING_RECORD(InUseEntry, HEAP_VIRTUAL_ALLOC_ENTRY, BusyBlock);
2874
2875 // FIXME Tagging!
2876
2877 DecommitBase = (PCHAR)VirtualAllocBlock + AllocationSize;
2878 DecommitSize = (OldIndex << HEAP_ENTRY_SHIFT) - AllocationSize;
2879
2880 /* Release the memory */
2881 Status = ZwFreeVirtualMemory(NtCurrentProcess(),
2882 (PVOID *)&DecommitBase,
2883 &DecommitSize,
2884 MEM_RELEASE);
2885
2886 if (!NT_SUCCESS(Status))
2887 {
2888 DPRINT1("HEAP: Unable to release memory (pointer %p, size 0x%x), Status %08x\n", DecommitBase, DecommitSize, Status);
2889 }
2890 else
2891 {
2892 /* Otherwise reduce the commit size */
2893 VirtualAllocBlock->CommitSize -= DecommitSize;
2894 }
2895 }
2896 else
2897 {
2898 /* Reduce size of the block and possibly split it */
2899 SplitBlock = (PHEAP_FREE_ENTRY)(InUseEntry + Index);
2900
2901 /* Initialize this entry */
2902 SplitBlock->Flags = FreeFlags;
2903 SplitBlock->PreviousSize = (USHORT)Index;
2904 SplitBlock->SegmentOffset = InUseEntry->SegmentOffset;
2905
2906 /* Remember free size */
2907 FreeSize = InUseEntry->Size - Index;
2908
2909 /* Set new size */
2910 InUseEntry->Size = (USHORT)Index;
2911 InUseEntry->Flags &= ~HEAP_ENTRY_LAST_ENTRY;
2912
2913 /* Is that the last entry */
2914 if (FreeFlags & HEAP_ENTRY_LAST_ENTRY)
2915 {
2916 SegmentOffset = SplitBlock->SegmentOffset;
2917 ASSERT(SegmentOffset < HEAP_SEGMENTS);
2918
2919 /* Set its size and insert it to the list */
2920 SplitBlock->Size = (USHORT)FreeSize;
2921 RtlpInsertFreeBlockHelper(Heap, SplitBlock, FreeSize, FALSE);
2922
2923 /* Update total free size */
2924 Heap->TotalFreeSize += FreeSize;
2925 }
2926 else
2927 {
2928 /* Get the block after that one */
2929 SplitBlock2 = (PHEAP_FREE_ENTRY)((PHEAP_ENTRY)SplitBlock + FreeSize);
2930
2931 if (SplitBlock2->Flags & HEAP_ENTRY_BUSY)
2932 {
2933 /* It's in use, add it here*/
2934 SplitBlock->Size = (USHORT)FreeSize;
2935
2936 /* Update previous size of the next entry */
2937 ((PHEAP_FREE_ENTRY)((PHEAP_ENTRY)SplitBlock + FreeSize))->PreviousSize = (USHORT)FreeSize;
2938
2939 /* Insert it to the list */
2940 RtlpInsertFreeBlockHelper(Heap, SplitBlock, FreeSize, FALSE);
2941
2942 /* Update total size */
2943 Heap->TotalFreeSize += FreeSize;
2944 }
2945 else
2946 {
2947 /* Next entry is free, so merge with it */
2948 SplitBlock->Flags = SplitBlock2->Flags;
2949
2950 /* Remove it, update total size */
2951 RtlpRemoveFreeBlock(Heap, SplitBlock2, FALSE);
2952 Heap->TotalFreeSize -= SplitBlock2->Size;
2953
2954 /* Calculate total free size */
2955 FreeSize += SplitBlock2->Size;
2956
2957 if (FreeSize <= HEAP_MAX_BLOCK_SIZE)
2958 {
2959 SplitBlock->Size = (USHORT)FreeSize;
2960
2961 if (!(SplitBlock->Flags & HEAP_ENTRY_LAST_ENTRY))
2962 {
2963 /* Update previous size of the next entry */
2964 ((PHEAP_FREE_ENTRY)((PHEAP_ENTRY)SplitBlock + FreeSize))->PreviousSize = (USHORT)FreeSize;
2965 }
2966 else
2967 {
2968 SegmentOffset = SplitBlock->SegmentOffset;
2969 ASSERT(SegmentOffset < HEAP_SEGMENTS);
2970 }
2971
2972 /* Insert the new one back and update total size */
2973 RtlpInsertFreeBlockHelper(Heap, SplitBlock, FreeSize, FALSE);
2974 Heap->TotalFreeSize += FreeSize;
2975 }
2976 else
2977 {
2978 /* Just add it */
2979 RtlpInsertFreeBlock(Heap, SplitBlock, FreeSize);
2980 }
2981 }
2982 }
2983 }
2984 }
2985 }
2986 else
2987 {
2988 /* We're growing the block */
2989 if ((InUseEntry->Flags & HEAP_ENTRY_VIRTUAL_ALLOC) ||
2990 !RtlpGrowBlockInPlace(Heap, Flags, InUseEntry, Size, Index))
2991 {
2992 /* Growing in place failed, so growing out of place */
2994 {
2995 DPRINT1("Realloc in place failed, but it was the only option\n");
2996 Ptr = NULL;
2997 }
2998 else
2999 {
3000 /* Clear tag bits */
3001 Flags &= ~HEAP_TAG_MASK;
3002
3003 /* Process extra stuff */
3004 if (InUseEntry->Flags & HEAP_ENTRY_EXTRA_PRESENT)
3005 {
3006 /* Preserve user settable flags */
3007 Flags &= ~HEAP_SETTABLE_USER_FLAGS;
3008
3009 Flags |= HEAP_SETTABLE_USER_VALUE | ((InUseEntry->Flags & HEAP_ENTRY_SETTABLE_FLAGS) << 4);
3010
3011 /* Get pointer to the old extra data */
3012 OldExtra = RtlpGetExtraStuffPointer(InUseEntry);
3013
3014 /* Save tag index if it was set */
3015 if (OldExtra->TagIndex &&
3016 !(OldExtra->TagIndex & HEAP_PSEUDO_TAG_FLAG))
3017 {
3018 Flags |= OldExtra->TagIndex << HEAP_TAG_SHIFT;
3019 }
3020 }
3021 else if (InUseEntry->SmallTagIndex)
3022 {
3023 /* Take small tag index into account */
3024 Flags |= InUseEntry->SmallTagIndex << HEAP_TAG_SHIFT;
3025 }
3026
3027 /* Allocate new block from the heap */
3028 NewBaseAddress = RtlAllocateHeap(HeapPtr,
3030 Size);
3031
3032 /* Proceed if it didn't fail */
3033 if (NewBaseAddress)
3034 {
3035 /* Get new entry pointer */
3036 NewInUseEntry = (PHEAP_ENTRY)NewBaseAddress - 1;
3037
3038 /* Process extra stuff if it exists */
3039 if (NewInUseEntry->Flags & HEAP_ENTRY_EXTRA_PRESENT)
3040 {
3041 NewExtra = RtlpGetExtraStuffPointer(NewInUseEntry);
3042
3043 if (InUseEntry->Flags & HEAP_ENTRY_EXTRA_PRESENT)
3044 {
3045 OldExtra = RtlpGetExtraStuffPointer(InUseEntry);
3046 NewExtra->Settable = OldExtra->Settable;
3047 }
3048 else
3049 {
3050 RtlZeroMemory(NewExtra, sizeof(*NewExtra));
3051 }
3052 }
3053
3054 /* Copy actual user bits */
3055 if (Size < OldSize)
3056 RtlMoveMemory(NewBaseAddress, Ptr, Size);
3057 else
3058 RtlMoveMemory(NewBaseAddress, Ptr, OldSize);
3059
3060 /* Zero remaining part if required */
3061 if (Size > OldSize &&
3063 {
3064 RtlZeroMemory((PCHAR)NewBaseAddress + OldSize, Size - OldSize);
3065 }
3066
3067 /* Free the old block */
3068 RtlFreeHeap(HeapPtr, Flags, Ptr);
3069 }
3070
3071 Ptr = NewBaseAddress;
3072 }
3073 }
3074 }
3075
3076 /* Did resizing fail? */
3078 {
3079 /* Generate an exception if required */
3080 ExceptionRecord.ExceptionCode = STATUS_NO_MEMORY;
3081 ExceptionRecord.ExceptionRecord = NULL;
3082 ExceptionRecord.NumberParameters = 1;
3083 ExceptionRecord.ExceptionFlags = 0;
3084 ExceptionRecord.ExceptionInformation[0] = AllocationSize;
3085
3086 RtlRaiseException(&ExceptionRecord);
3087 }
3088
3089 /* Release the heap lock if it was acquired */
3090 if (HeapLocked)
3092
3093 return Ptr;
3094}
#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:323
#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:2286
PVOID NTAPI RtlAllocateHeap(IN PVOID HeapPtr, IN ULONG Flags, IN SIZE_T Size)
Definition: heap.c:2068
BOOLEAN NTAPI RtlpGrowBlockInPlace(IN PHEAP Heap, IN ULONG Flags, IN PHEAP_ENTRY InUseEntry, IN SIZE_T Size, IN SIZE_T Index)
Definition: heap.c:2411
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:513
PHEAP_ENTRY_EXTRA NTAPI RtlpGetExtraStuffPointer(PHEAP_ENTRY HeapEntry)
Definition: heap.c:2651
static VOID RtlpRemoveFreeBlock(PHEAP Heap, PHEAP_FREE_ENTRY FreeEntry, BOOLEAN NoFill)
Definition: heap.c:431
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()

◆ RtlReleaseSRWLockShared()

◆ 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()

NTSYSAPI void WINAPI RtlSetAllBits ( PRTL_BITMAP  )

◆ RtlSetBits()

NTSYSAPI void WINAPI RtlSetBits ( PRTL_BITMAP  ,
ULONG  ,
ULONG   
)

◆ 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" "\tsub %rbp, %rax\n" "\tpush %rbp\n" "\t.seh_pushreg %rbp\n" "\tsub $32, %rsp\n" "\t.seh_stackalloc 32\n" "\t.seh_endprologue\n" "\tsub %rax, %rdx\n" "\tmov %rdx, %rbp\n" "\tjmp *%r8\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:3214

◆ 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 3162 of file heap.c.

3163{
3164 PHEAP Heap = (PHEAP)HeapPtr;
3165
3166 /* Check for page heap */
3168 {
3169 return RtlpPageHeapUnlock(Heap);
3170 }
3171
3172 /* Check if it's really a heap */
3173 if (Heap->Signature != HEAP_SIGNATURE) return FALSE;
3174
3175 /* Unlock if it's lockable */
3176 if (!(Heap->Flags & HEAP_NO_SERIALIZE))
3177 {
3179 }
3180
3181 return TRUE;
3182}
#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  handle)

Definition at line 5396 of file actctx.c.

5397{
5398 FIXME("%p: stub\n", handle);
5399
5401 return STATUS_SUCCESS;
5402
5404}
#define ACTCTX_FAKE_HANDLE
Definition: actctx.c:63

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().