Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- {
- Ìîäóëü: NtDll
- Îïèñàíèå: Èíòåðôåéñ ê äèíàìè÷åñêîé áèáëèîòåêå NTDLL.DLL.
- Îïèñàíèå ñòðóêòóð è ïðîòîòèïîâ ôóíêöèé ïðèâåäåíî íà îñíîâå
- èíôîðìàöèè èç êíèãè Ãýðè Íåááåòà "Ñïðàâî÷íèê ïî áàçîâûì ôóíêöèÿì
- API Windows NT/2000",
- èñõîäíûõ òåêñòîâ ïðîãðàììû NTINFO Ñâåíà Øðàéáåðà (ñïàñèáî Digitman)
- MSDN (http://msdn.microsoft.com)
- ôàéëà ntdll.pas ((c) Alex Konshin 5 jul 2000 (alexk@mtgroup.ru)
- è ñîáñòâåííûõ èññëåäîâàíèé.
- Àâòîð: Èãîðü Øåâ÷åíêî
- Äàòà ñîçäàíèÿ: 31.08.2002
- Èñòîðèÿ èçìåíåíèé:
- ....
- 01.02.2005 Äîáàâëåíà ñòðóêòóðà èíôîðìàöèè ñåàíñà (îáùàÿ äëÿ íåñêîëüêèõ âûçî-
- âîâ NtQuerySystemInformation
- }
- unit NtDll;
- {$Z+}
- interface
- uses
- HsNtDef, Windows, NtPEB;
- type
- USHORT = Word;
- LONG = LongInt;
- PLARGE_INTEGER = ^LARGE_INTEGER;
- PRTL_RELATIVE_NAME = Pointer; //TODO:
- PPWideChar = ^PWideChar;
- PPVoid = ^PVOID;
- PPImageNTHeaders = ^PImageNTHeaders;
- LUID = LARGE_INTEGER;
- PLUID = ^LUID;
- KEY_VALUE_INFORMATION_CLASS = Integer;
- KEY_INFORMATION_CLASS = Integer;
- PBOOLEAN = ^ByteBool;
- PSECURITY_QUALITY_OF_SERVICE = PSecurityQualityOfService;
- PATOM = ^ATOM;
- PLONG = ^LongInt;
- ULONGLONG = Int64;
- PTOKEN_PRIVILEGES = PTokenPrivileges;
- TIMER_TYPE = Integer; //TODO:
- PUSHORT = ^USHORT;
- EVENT_INFO_CLASS = Integer; //TODO:
- ATOM_INFO_CLASS = Integer; //TODO:
- JOBOBJECTINFOCLASS = Integer; //TODO:
- SECTION_INFORMATION_CLASS = Integer; //TODO:
- SECURITY_INFORMATION = Integer; //TODO:
- FS_INFORMATION_CLASS = Integer; //TODO:
- PSID_IDENTIFIER_AUTHORITY = ^SID_IDENTIFIER_AUTHORITY;
- PPSID = ^PSID;
- PPBYTE = ^PBYTE;
- SIZE_T = Cardinal;
- PHEAP_INFO = Pointer; //TODO: Îïèñàíèå ñòðóêòóðû !!!!
- PRTL_HANDLE_TABLE = Pointer; //TODO: Îïèñàíèå ñòðóêòóðû !!!!
- PROCESS_PARAMETERS = TRTL_USER_PROCESS_PARAMETERS;
- PPROCESS_PARAMETERS = ^PROCESS_PARAMETERS;
- PPPROCESS_PARAMETERS = ^PPROCESS_PARAMETERS;
- RTL_PATH_TYPE = Integer;
- PRTL_PATH_TYPE = ^RTL_PATH_TYPE;
- PPUNICODE_STRING = ^PUNICODE_STRING;
- PDBGUI_WAIT_STATE_CHANGE = Pointer; //TODO:
- LPDEBUG_EVENT = PDebugEvent;
- PPACL = ^PACL;
- PLPWSTR = ^LPWSTR;
- RTL_OSVERSIONINFOW = OSVERSIONINFOW;
- PRTL_OSVERSIONINFOW = ^RTL_OSVERSIONINFOW;
- SECURITY_IMPERSONATION_LEVEL = Integer; //TODO:
- PPDWORD = ^PDWORD;
- PRTL_HEAP_TAG_INFO = Pointer; //TODO:
- PEXCEPTION_RECORD = ^EXCEPTION_RECORD;
- PRTL_TIME_ZONE_INFORMATION = Pointer; //TODO:
- PRTL_HEAP_USAGE = Pointer; //TODO:
- PRTL_HEAP_WALK_ENTRY = Pointer; //TODO:
- PPMESSAGE_RESOURCE_ENTRY = Pointer; //TODO:
- POWER_ACTION = Integer; //TODO:
- SYSTEM_POWER_STATE = Integer; //TODO:
- POWER_INFORMATION_LEVEL = Integer; //TODO:
- DEVICE_POWER_STATE = Integer; //TODO:
- PDEVICE_POWER_STATE = ^DEVICE_POWER_STATE;
- PIMAGE_RESOURCE_DATA_ENTRY = Pointer; //TODO:
- PPIMAGE_RESOURCE_DATA_ENTRY = ^PIMAGE_RESOURCE_DATA_ENTRY;
- PCPTABLEINFO = Pointer; //TODO:
- PPSTRING = ^PANSI_STRING;
- ACL_INFORMATION_CLASS = Integer; //TODO:
- PGENERIC_MAPPING = ^GENERIC_MAPPING;
- POBJECT_TYPE_LIST = Pointer; //TODO:
- PTOKEN_GROUPS = ^TOKEN_GROUPS;
- TOKEN_INFORMATION_CLASS = Integer; //TODO:
- PPRIVILEGE_SET = ^PRIVILEGE_SET;
- PHMODULE = ^HMODULE;
- { Áàçîâàÿ èíôîðìàöèÿ îá îáúåêòå }
- TOBJECT_BASIC_INFORMATION = packed record
- Attributes: ULONG;
- GrantedAccess: ACCESS_MASK;
- HandleCount: ULONG;
- PointerCount: ULONG;
- PagedPoolUsage: ULONG;
- NonPagedPoolUsage: ULONG;
- Reserved1: ULONG;
- Reserved2: ULONG;
- Reserved3: ULONG;
- NameInformationLength: ULONG;
- TypeInformationLength: ULONG;
- SecurityDescriptorLength: ULONG;
- CreateTime: TLargeInteger;
- end;
- OBJECT_BASIC_INFORMATION = TOBJECT_BASIC_INFORMATION;
- POBJECT_BASIC_INFORMATION = ^TOBJECT_BASIC_INFORMATION;
- { Èíôîðìàöèÿ î òèïå îáúåêòà - ïåðåìåííîé äëèíû }
- TOBJECT_TYPE_INFORMATION = packed record
- Name: TUNICODE_STRING;
- ObjectCount: ULONG;
- HandleCount: ULONG;
- Reserved1: array[1..4] of ULONG;
- PeakObjectCount: ULONG;
- PeakHandleCount: ULONG;
- Reserved2: array[1..4] of ULONG;
- InvalidAttributes: ULONG;
- GenericMapping: GENERIC_MAPPING;
- ValidAccess: ULONG;
- Unknown: Byte;
- MaintainHandleDatabase: ByteBool;
- PoolType: Word;
- PagedPoolUsage: ULONG;
- NonpagedPoolUsage: ULONG;
- end;
- POBJECT_TYPE_INFORMATION = ^TOBJECT_TYPE_INFORMATION;
- { Èíôîðìàöèÿ îá èìåíè îáúåêòà - ïåðåìåííîé äëèíû }
- TOBJECT_NAME_INFORMATION = packed record
- Name: TUNICODE_STRING;
- end;
- POBJECT_NAME_INFORMATION = ^TOBJECT_NAME_INFORMATION;
- { Èíôîðìàöèÿ îá ýëåìåíòå êàòàëîãà }
- TDIRECTORY_BASIC_INFOMATION = packed record
- ObjectName: TUNICODE_STRING;
- ObjectTypeName: TUNICODE_STRING;
- end;
- DIRECTORY_BASIC_INFOMATION = TDIRECTORY_BASIC_INFOMATION;
- PDIRECTORY_BASIC_INFOMATION = ^DIRECTORY_BASIC_INFOMATION;
- { NtQuerySystemInformation }
- { Áàçîâàÿ èíôîðìàöèÿ î ñèñòåìå }
- SYSTEM_BASIC_INFORMATION = packed record
- AlwaysZero: ULONG;
- MaximumIncrement: ULONG;
- PhysicalPageSize: ULONG;
- NumberOfPhysicalPages: ULONG;
- LowestPhysicalPage: ULONG;
- HighestPhysicalPage: ULONG;
- AllocationGranularity: ULONG;
- LowestUserAddress: ULONG;
- HighestUserAddress: ULONG;
- ActiveProcessors: ULONG;
- NumberProcessors: UCHAR;
- Filler: array[0..2] of char;
- end;
- PSYSTEM_BASIC_INFORMATION = ^SYSTEM_BASIC_INFORMATION;
- { Èíôîðìàöèÿ î ïðîöåññîðå }
- SYSTEM_PROCESSOR_INFORMATION = packed record
- ProcessorArchitecture: USHORT;
- ProcessorLevel: USHORT;
- ProcessorRevision: USHORT;
- Unknown: USHORT;
- FeatureBits: ULONG;
- end;
- PSYSTEM_PROCESSOR_INFORMATION = ^SYSTEM_PROCESSOR_INFORMATION;
- { Áèòû èíôîðìàöèè î ïðîöåññîðå }
- const
- PFB_VME = 1;
- PFB_TCS = 2;
- PFB_CR4 = 4;
- PFB_CMOV = 8;
- PFB_PGE = $10;
- PFB_PSE = $20;
- PFB_MTRR = $40;
- PFB_CXS = $80;
- PFB_MMX = $100;
- PFB_PAT = $400;
- PFB_FXSR = $800;
- PFB_SIMD = $2000;
- type
- { Ôîðìàò âðåìåíè (ñòðóêòóðà àíàëîãè÷íà SYSTEMTIME â Win32 API }
- TIME_FIELDS = packed record
- Year: WORD;
- Month: WORD;
- Day: WORD;
- Hour: WORD;
- Minute: WORD;
- Second: WORD;
- Milliseconds: WORD;
- Weekday: WORD;
- end;
- PTIME_FIELDS = ^TIME_FIELDS;
- { Èíôîðìàöèÿ î ïðîèçâîäèòåëüíîñòè ñèñòåìû }
- SYSTEM_PERFORMANCE_INFORMATION = packed record
- IdleTime: LARGE_INTEGER;
- ReadTransferCount: LARGE_INTEGER;
- WriteTransferCount: LARGE_INTEGER;
- OtherTransferCount: LARGE_INTEGER;
- ReadOperationCount: ULONG;
- WriteOperationCount: ULONG;
- OtherOperationCount: ULONG;
- AvailablePages: ULONG;
- TotalCommittedPages: ULONG;
- TotalCommitLimit: ULONG;
- PeakCommitment: ULONG;
- PageFaults: ULONG;
- WriteCopyFaults: ULONG;
- TransitionFaults: ULONG;
- Reserved1: ULONG;
- DemandZeroFaults: ULONG;
- PagesRead: ULONG;
- PageReadIos: ULONG;
- Reserved2: array[0..1] of ULONG;
- PageFilePagesWritten: ULONG;
- PageFilePageWriteIos: ULONG;
- MappedFilePagesWritten: ULONG;
- MappedFilePageWriteIos: ULONG;
- PagedPoolUsage: ULONG;
- NonPagedPoolUsage: ULONG;
- PagedPoolAllocs: ULONG;
- PagedPoolFrees: ULONG;
- NonPagedPoolAllocs: ULONG;
- NonPagedPoolFrees: ULONG;
- TotalFreeSystemPtes: ULONG;
- SystemCodePage: ULONG;
- TotalSystemDriverPages: ULONG;
- TotalSystemCodePages: ULONG;
- SmallNonPagedLookasideListAllocateHits: ULONG;
- SmallPagedLookasideListAllocateHits: ULONG;
- Reserved3: ULONG;
- MMSystemCachePage: ULONG;
- PagedPoolPage: ULONG;
- SystemDriverPage: ULONG;
- FastReadNoWait: ULONG;
- FastReadWait: ULONG;
- FastReadResourceMiss: ULONG;
- FastReadNonPossible: ULONG;
- FastMdlReadNoWait: ULONG;
- FastMdlReadWait: ULONG;
- FastMdlReadResourceMiss: ULONG;
- FastMdlReadNonPossible: ULONG;
- MapDataNoWait: ULONG;
- MapDataWait: ULONG;
- MapDataNoWaitMiss: ULONG;
- MapDataWaitMiss: ULONG;
- PinMappedDataCount: ULONG;
- PinReadNoWait: ULONG;
- PinReadWait: ULONG;
- PinReadNoWaitMiss: ULONG;
- PinReadWaitMiss: ULONG;
- CopyReadNoWait: ULONG;
- CopyReadWait: ULONG;
- CopyReadNoWaitMiss: ULONG;
- CopyReadWaitMiss: ULONG;
- MdlReadNoWait: ULONG;
- MdlReadWait: ULONG;
- MdlReadNoWaitMiss: ULONG;
- MdlReadWaitMiss: ULONG;
- ReadAheadIos: ULONG;
- LazyWriteIos: ULONG;
- LazyWritePages: ULONG;
- DataFlushes: ULONG;
- DataPages: ULONG;
- ContextSwitches: ULONG;
- FirstLevelTbFills: ULONG;
- SecondlevelTbFills: ULONG;
- SystemCalls: ULONG;
- end;
- PSYSTEM_PERFORMANCE_INFORMATION = ^SYSTEM_PERFORMANCE_INFORMATION;
- { Èíôîðìàöèÿ î òåêóùåì âðåìåíè è ÷àñîâîì ïîÿñå }
- SYSTEM_TIME_OF_DAY_INFORMATION = packed record
- BootTime: LARGE_INTEGER;
- CurrentTime: LARGE_INTEGER;
- TimeZoneBias: LARGE_INTEGER;
- CurrentTimeZoneId: ULONG;
- Reserved: ULONG;
- end;
- PSYSTEM_TIME_OF_DAY_INFORMATION = ^SYSTEM_TIME_OF_DAY_INFORMATION;
- { Èíôîðìàöèÿ î ïðîöåññàõ è ïîòîêàõ }
- THREAD_STATE = Integer;
- KWAIT_REASON = Integer;
- KPRIORITY = Integer;
- POOL_TYPE = Integer;
- { Îïèñàíèå ïîòîêà }
- SYSTEM_THREADS = packed record
- KernelTime: LARGE_INTEGER;
- UserTime: LARGE_INTEGER;
- CreateTime: LARGE_INTEGER;
- WaitTime: ULONG;
- StartAddress: PVOID;
- ClientId: CLIENT_ID;
- Priority: KPRIORITY;
- BasePriority: KPRIORITY;
- ContextSwitchCount: ULONG;
- State: THREAD_STATE;
- WaitReason: KWAIT_REASON;
- Reserved: ULONG;
- end;
- SYSTEM_THREADS_ARRAY = array[0..1024] of SYSTEM_THREADS;
- PSYSTEM_THREADS_ARRAY = ^SYSTEM_THREADS_ARRAY;
- { Ñ÷åò÷èêè âèðòóàëüíîé ïàìÿòè }
- VM_COUNTERS = packed record
- PeakVirtualSize: ULONG;
- VirtualSize: ULONG;
- PageFaultCount: ULONG;
- PeakWorkingSetSize: ULONG;
- WorkingSetSize: ULONG;
- QuotaPeakPagedPoolUsage: ULONG;
- QuotaPagedPoolUsage: ULONG;
- QuotaPeakNonPagedPoolUsage: ULONG;
- QuotaNonPagedPoolUsage: ULONG;
- PageFileUsage: ULONG;
- PeakPageFileUsage: ULONG;
- end;
- {Ñ÷åò÷èêè ââîäà-âûâîäà. Ýòà ñòðóêòóðà ñóùåñòâóåò òîëüêî â Windows 2000 è âûøå}
- IO_COUNTERS = packed record
- ReadOperationCount: LARGE_INTEGER;
- WriteOperationCount: LARGE_INTEGER;
- OtherOperationCount: LARGE_INTEGER;
- ReadTransferCount: LARGE_INTEGER;
- WriteTransferCount: LARGE_INTEGER;
- OtherTransferCount: LARGE_INTEGER;
- end;
- { Èíôîðìàöèÿ î ïðîöåññå äëÿ Windows 2000 è âûøå }
- SYSTEM_PROCESSES_NT2000 = packed record
- NextEntryDelta: ULONG;
- ThreadCount: ULONG;
- Reserved1: array[0..5] of ULONG;
- CreateTime: LARGE_INTEGER;
- UserTime: LARGE_INTEGER;
- KernelTime: LARGE_INTEGER;
- ProcessName: UNICODE_STRING;
- BasePriority: KPRIORITY;
- ProcessId: ULONG;
- InheritedFromProcessId: ULONG;
- HandleCount: ULONG;
- Reserved2: array[0..1] of ULONG;
- VmCounters: VM_COUNTERS;
- PrivatePageCount: ULONG;
- IoCounters: IO_COUNTERS;
- // Threads : array[0..0] of SYSTEM_THREADS;
- end;
- PSYSTEM_PROCESSES_NT2000 = ^SYSTEM_PROCESSES_NT2000;
- { Èíôîðìàöèÿ î ïðîöåññå äëÿ Windows NT 4 (îòëè÷àåòñÿ îò àíàëîãè÷íîé ñòðóêòóðû
- äëÿ Windows 2000 îòñóòñòâèåì IoCounters) }
- SYSTEM_PROCESSES_NT4 = packed record
- NextEntryDelta: ULONG;
- ThreadCount: ULONG;
- Reserved1: array[0..5] of ULONG;
- CreateTime: LARGE_INTEGER;
- UserTime: LARGE_INTEGER;
- KernelTime: LARGE_INTEGER;
- ProcessName: UNICODE_STRING;
- BasePriority: KPRIORITY;
- ProcessId: ULONG;
- InheritedFromProcessId: ULONG;
- HandleCount: ULONG;
- Reserved2: array[0..1] of ULONG;
- VmCounters: VM_COUNTERS;
- PrivatePageCount: ULONG;
- end;
- PSYSTEM_PROCESSES_NT4 = ^SYSTEM_PROCESSES_NT4;
- { Èíôîðìàöèÿ î êîëè÷åñòâå ñèñòåìíûõ âûçîâîâ (òîëüêî äëÿ êîíòðîëüíîé âåðñèè
- ÿäðà }
- SYSTEM_CALLS_INFORMATION = packed record
- Size: ULONG;
- NumberOfDescriprorTables: ULONG;
- NumberOfRoutinesInTable: array[0..0] of ULONG;
- //CallCounts : array[0..] of ULONG;
- end;
- PSYSTEM_CALLS_INFORMATION = ^SYSTEM_CALLS_INFORMATION;
- { Èíôîðìàöèÿ îá àïïàðàòíîé êîíôèãóðàöèè ñèñòåìû }
- SYSTEM_CONFIGURATION_INFORMATION = packed record
- DiskCount: ULONG;
- FloppyCount: ULONG;
- CdRomCount: ULONG;
- TapeCount: ULONG;
- SerialCount: ULONG;
- ParallelCount: ULONG;
- end;
- PSYSTEM_CONFIGURATION_INFORMATION = ^SYSTEM_CONFIGURATION_INFORMATION;
- { Èíôîðìàöèÿ î âðåìåíè ðàáîòû ïðîöåññîðà â ðàçëè÷íûõ ðåæèìàõ. Äëÿ êàæäîãî
- ïðîöåññîðà â ñèñòåìå âîçâðàùàåòñÿ ïî ñòðóêòóðå }
- SYSTEM_PROCESSOR_TIMES = packed record
- IdleTime: LARGE_INTEGER;
- KernelTime: LARGE_INTEGER;
- UserTime: LARGE_INTEGER;
- DpcTime: LARGE_INTEGER;
- InterruptTime: LARGE_INTEGER;
- InterruptCount: ULONG;
- end;
- PSYSTEM_PROCESSOR_TIMES = ^SYSTEM_PROCESSOR_TIMES;
- { Èíôîðìàöèÿ î ãëîáàëüíûõ íàñòðîéêàõ ñèñòåìû }
- SYSTEM_GLOBAL_FLAG = packed record
- GlobalFlag: ULONG;
- end;
- PSYSTEM_GLOBAL_FLAG = ^SYSTEM_GLOBAL_FLAG;
- { Èíôîðìàöèÿ î çàãðóæåííûõ ìîäóëÿõ ðåæèìà ÿäðà }
- SYSTEM_MODULE_INFORMATION = packed record
- Reserved: array[0..1] of ULONG;
- Base: PVOID;
- Size: ULONG;
- Flags: ULONG;
- Index: USHORT;
- Unknown: USHORT;
- LoadCount: USHORT;
- ModuleNameOffset: USHORT;
- ImageName: array[0..255] of char; { ANSI }
- end;
- PSYSTEM_MODULE_INFORMATION = ^SYSTEM_MODULE_INFORMATION;
- SYSTEM_MODULE_INFORMATION_ARRAY = array[0..16384] of
- SYSTEM_MODULE_INFORMATION;
- { Ìàññèâ èíôîðìàöèè äëÿ êëàññà SystemModuleInformation }
- SYSTEM_MODULES_INFORMATION = packed record
- Count: ULONG;
- Data: SYSTEM_MODULE_INFORMATION_ARRAY;
- end;
- PSYSTEM_MODULES_INFORMATION = ^SYSTEM_MODULES_INFORMATION;
- { Èíôîðìàöèÿ î áëîêèðîâêàõ ñèñòåìû }
- SYSTEM_LOCK_INFORMATION = packed record
- Address: PVOID;
- FType: USHORT;
- Reserved1: USHORT;
- ExclusiveOwnerThread: ULONG;
- ActiveCount: ULONG;
- ContentionCount: ULONG;
- Reserved2: array[0..1] of ULONG;
- NumberOfSharedWaiters: ULONG;
- NumberOfExclusiveWaiters: ULONG;
- end;
- PSYSTEM_LOCK_INFORMATION = ^SYSTEM_LOCK_INFORMATION;
- SYSTEM_LOCK_INFORMATION_ARRAY = array[0..16384] of SYSTEM_LOCK_INFORMATION;
- { Ìàññèâ èíôîðìàöèè äëÿ êëàññà SystemLockInformation }
- SYSTEM_LOCKS_INFORMATION = packed record
- Count: ULONG;
- Data: SYSTEM_LOCK_INFORMATION_ARRAY;
- end;
- PSYSTEM_LOCKS_INFORMATION = ^SYSTEM_LOCKS_INFORMATION;
- { Èíôîðìàöèÿ î äåñêðèïòîðå }
- SYSTEM_HANDLE_INFORMATION = packed record
- PID: ULONG; { Èäåíòèôèêàòîð ïðîöåññà, âëàäåþùåãî äàííûì äåñêðèïòîðîì }
- ObjectType: UCHAR; { Òèï îáúåêòà, èäåíòèôèöèðóåìîãî äàííûì äåñêðèïòîðîì }
- Flags: UCHAR; { Ôëàãè äåñêðèïòîðà }
- Handle: USHORT; { Çíà÷åíèå äåñêðèïòîðà }
- FObject: PVOID; { Àäðåñ îáúåêòà, èäåíòèôèöèðóåìîãî äàííûì äåñêðèïòîðîì }
- GrantedAccess: ACCESS_MASK; { Ñòåïåíü äîñòóïà ê îáúåêòó, ïðåäîñòàâëåííàÿ
- â ìîìåíò ñîçäàíèÿ äàííîãî äåñêðèïòîðà }
- end;
- PSYSTEM_HANDLE_INFORMATION = ^SYSTEM_HANDLE_INFORMATION;
- SYSTEM_HANDLE_INFORMATION_ARRAY = array[0..16384] of SYSTEM_HANDLE_INFORMATION;
- { Ìàññèâ èíôîðìàöèè äëÿ êëàññà SystemHandleInformation }
- SYSTEM_HANDLES_INFORMATION = packed record
- Count: ULONG;
- Data: SYSTEM_HANDLE_INFORMATION_ARRAY;
- end;
- PSYSTEM_HANDLES_INFORMATION = ^SYSTEM_HANDLES_INFORMATION;
- { Èíôîðìàöèÿ îá îáúåêòàõ âûäàåòñÿ òîëüêî â òîì ñëó÷àå, åñëè â ñèñòåìå
- óñòàíîâëåí ãëîáàëüíûé ôëàã FLG_MAINTAIN_OBJECT_TYPELIST }
- { Èíôîðìàöèÿ îá îáúåêòàõ }
- SYSTEM_OBJECT_INFORMATION = packed record
- NextEntryOffset: ULONG;
- ObjectAddress: PVOID;
- CreatorProcessId: ULONG;
- Unknown: USHORT;
- Flags: USHORT;
- PointerCount: ULONG;
- HandleCount: ULONG;
- PagedPoolUsage: ULONG;
- NonPagedPoolUsage: ULONG;
- ExclusiveProcessId: ULONG;
- SecurityDescriptor: PSECURITY_DESCRIPTOR;
- Name: UNICODE_STRING;
- end;
- PSYSTEM_OBJECT_INFORMATION = ^SYSTEM_OBJECT_INFORMATION;
- SYSTEM_OBJECT_INFORMATION_ARRAY = array[0..16384] of
- SYSTEM_OBJECT_INFORMATION;
- PSYSTEM_OBJECT_INFORMATION_ARRAY = ^SYSTEM_OBJECT_INFORMATION_ARRAY;
- { Èíôîðìàöèÿ î òèïå îáúåêòà }
- SYSTEM_OBJECT_TYPE_INFORMATION = packed record
- NextEntryOffset: ULONG;
- ObjectCount: ULONG;
- HandleCount: ULONG;
- TypeNumber: ULONG;
- InvalidAttributes: ULONG;
- GenericMapping: GENERIC_MAPPING;
- ValidAccessMask: ACCESS_MASK;
- PoolType: POOL_TYPE;
- { Ñâåí Øðàéáåð. Íåááåò ïðåäïîëàãàåò òîëüêî íàëè÷èå ïîëÿ Unknown : UCHAR }
- SecurityRequired: UCHAR;
- Unknown: UCHAR;
- UnknownW: USHORT;
- Name: UNICODE_STRING;
- //Objects : SYSTEM_OBJECT_INFORMATION_ARRAY;
- end;
- PSYSTEM_OBJECT_TYPE_INFORMATION = ^SYSTEM_OBJECT_TYPE_INFORMATION;
- { Èíôîðìàöèÿ î ôàéëàõ ïîäêà÷êè }
- SYSTEM_PAGEFILE_INFORMATION = packed record
- NextEntryOffset: ULONG;
- CurrentSize: ULONG;
- TotalUsed: ULONG;
- PeakUsed: ULONG;
- FileName: UNICODE_STRING;
- end;
- PSYSTEM_PAGEFILE_INFORMATION = ^SYSTEM_PAGEFILE_INFORMATION;
- { Èíôîðìàöèÿ îá ýìóëÿöèè êîìàíä âèðòóàëüíîé ìàøèíîé ÄÎÑ }
- SYSTEM_INSTRUCTION_EMULATION_INFORMATION = packed record
- SegmentNotPresent: ULONG;
- TwoByteOpcode: ULONG;
- ESPrefix: ULONG;
- CSPrefix: ULONG;
- SSPrefix: ULONG;
- DSPrefix: ULONG;
- FSPrefix: ULONG;
- GSPrefix: ULONG;
- OPER32Prefix: ULONG;
- ADDR32Prefix: ULONG;
- INSB: ULONG;
- INSW: ULONG;
- OUTSB: ULONG;
- OUTSW: ULONG;
- PUSHFD: ULONG;
- POPFD: ULONG;
- INTnn: ULONG;
- INTO: ULONG;
- IRETD: ULONG;
- INBimm: ULONG;
- INWimm: ULONG;
- OUTBimm: ULONG;
- OUTWimm: ULONG;
- INB: ULONG;
- INW: ULONG;
- OUTB: ULONG;
- OUTW: ULONG;
- LOCKPrefix: ULONG;
- REPNEPrefix: ULONG;
- REPPrefix: ULONG;
- HLT: ULONG;
- CLI: ULONG;
- STI: ULONG;
- GenericInvalidOpcode: ULONG;
- end;
- PSYSTEM_INSTRUCTION_EMULATION_INFORMATION =
- ^SYSTEM_INSTRUCTION_EMULATION_INFORMATION;
- { Èíôîðìàöèÿ î ðàáî÷åì íàáîðå ñèñòåìû }
- SYSTEM_CACHE_INFORMATION = packed record
- SystemCacheWsSize: ULONG;
- SystemCacheWsPeakSize: ULONG;
- SystemCacheWsFaults: ULONG;
- SystemCacheWsMinimum: ULONG;
- SystemCacheWsMaximum: ULONG;
- TransitionSharedPages: ULONG;
- TransitionSharedPagesPeak: ULONG;
- Reserved: array[0..1] of ULONG;
- end;
- PSYSTEM_CACHE_INFORMATION = ^SYSTEM_CACHE_INFORMATION;
- { Èíôîðìàöèÿ îá èñïîëüçîâàíèè ïàìÿòè ñ âêëþ÷åííûìè òåãàìè }
- SYSTEM_POOL_TAG_INFORMATION = packed record
- Tag: array[0..3] of Char;
- PagedPoolAllocs: ULONG;
- PagedPoolFrees: ULONG;
- PagedPoolUsage: ULONG;
- NonPagedPoolAllocs: ULONG;
- NonPagedPoolFrees: ULONG;
- NonPagedPoolUsage: ULONG;
- end;
- PSYSTEM_POOL_TAG_INFORMATION = ^SYSTEM_POOL_TAG_INFORMATION;
- SYSTEM_POOL_TAG_INFORMATION_ARRAY = array[0..16384] of
- SYSTEM_POOL_TAG_INFORMATION;
- { Ìàññèâ èíôîðìàöèè äëÿ êëàññà SystemPoolTagInformation }
- SYSTEM_POOL_TAGS_INFORMATION = packed record
- Count: ULONG;
- Data: SYSTEM_POOL_TAG_INFORMATION_ARRAY;
- end;
- { Èíôîðìàöèÿ î ñòàòèñòèêå èñïîëüçîâàíèÿ ïðîöåññîðà ñèñòåìîé }
- { Â ýòîì èíôîðìàöèîííîì êëàññå âîçâðàùàåòñÿ ìàññèâ ñòðóêòóð, ðàçìåð ìàññèâà
- ðàâåí ÷èñëó ïðîöåññîðîâ â ñèñòåìå }
- SYSTEM_PROCESSOR_STATISTICS = packed record
- ContextSwitches: ULONG;
- DpcCount: ULONG;
- DpcRequestRate: ULONG;
- TimeIncrement: ULONG;
- DpcBypassCount: ULONG;
- ApcBypassCount: ULONG;
- end;
- PSYSTEM_PROCESSOR_STATISTICS = ^SYSTEM_PROCESSOR_STATISTICS;
- { Èíôîðìàöèÿ îá îòëîæåííûõ âûçîâàõ ïðîöåäóð (DPC) }
- SYSTEM_DPC_INFORMATION = packed record
- Reserved: ULONG;
- MaximumDpcQueueDepth: ULONG;
- MinimumDpcRate: ULONG;
- AdjustDpcThreshold: ULONG;
- IdealDpcRate: ULONG;
- end;
- PSYSTEM_DPC_INFORMATION = ^SYSTEM_DPC_INFORMATION;
- { Çàãðóçêà äðàéâåðà ðåæèìà ÿäðà. Ýòîò êëàññ èíôîðìàöèè èñïîëüçóåòñÿ òîëüêî ïðè
- óñòàíîâêå è ìîæåò áûòü âûçâàí òîëüêî èç ðåæèìà ÿäðà }
- SYSTEM_LOAD_IMAGE = packed record
- ModuleName: UNICODE_STRING;
- ModuleBase: PVOID;
- Unknown: PVOID;
- EntryPoint: PVOID;
- ExportDirectory: PVOID;
- end;
- PSYSTEM_LOAD_IMAGE = ^SYSTEM_LOAD_IMAGE;
- { Âûãðóçêà äðàéâåðà ðåæèìà ÿäðà. Îãðàíè÷åíèÿ òå æå ñàìûå, ÷òî è ïðè çàãðóçêå }
- SYSTEM_UNLOAD_IMAGE = packed record
- ModuleBase: PVOID;
- end;
- { Èíôîðìàöèÿ î ðàçðåøåíèè ñèñòåìíîãî òàéìåðà }
- SYSTEM_TIME_ADJUSTMENT = packed record
- TimeAdjustment: ULONG;
- MaximumIncrement: ULONG;
- TimeSynchronization: BOOLEAN;
- Filler: array[0..2] of Char;
- end;
- PSYSTEM_TIME_ADJUSTMENT = ^SYSTEM_TIME_ADJUSTMENT;
- { Èíôîðìàöèÿ î äàìïå àâàðèéíîãî çàâåðøåíèÿ }
- SYSTEM_CRASH_DUMP_INFORMATION_NT2000 = packed record
- CrashDumpSectionHandle: THandle;
- Unknown: THandle; //Òîëüêî â Windows 2000
- end;
- PSYSTEM_CRASH_DUMP_INFORMATION_NT2000 = ^SYSTEM_CRASH_DUMP_INFORMATION_NT2000;
- { Èíôîðìàöèÿ î äàìïå àâàðèéíîãî çàâåðøåíèÿ äëÿ Windows NT4 }
- SYSTEM_CRASH_DUMP_INFORMATION_NT4 = packed record
- CrashDumpSectionHandle: THandle;
- end;
- PSYSTEM_CRASH_DUMP_INFORMATION_NT4 = ^SYSTEM_CRASH_DUMP_INFORMATION_NT4;
- { Èíôîðìàöèÿ îá èñêëþ÷åíèÿõ }
- SYSTEM_EXCEPTION_INFORMATION = packed record
- AlignmentFixupCount: ULONG;
- ExceptionDispatchCount: ULONG;
- FloatingEmulationCount: ULONG;
- ByteWordEmulationCount: ULONG;
- end;
- PSYSTEM_EXCEPTION_INFORMATION = ^SYSTEM_EXCEPTION_INFORMATION;
- { Èíôîðìàöèÿ î ñîñòîÿíèè äàìïà àâàðèéíîãî çàâåðøåíèÿ }
- SYSTEM_CRASH_DUMP_STATE_INFORMATION_NT2000 = packed record
- CrashDumpSectionExists: ULONG;
- Unknown: ULONG; //Òîëüêî â Windows 2000
- end;
- PSYSTEM_CRASH_DUMP_STATE_INFORMATION_NT2000 =
- ^SYSTEM_CRASH_DUMP_STATE_INFORMATION_NT2000;
- { Èíôîðìàöèÿ î ñîñòîÿíèè äàìïà àâàðèéíîãî çàâåðøåíèÿ äëÿ Windows NT4 }
- SYSTEM_CRASH_DUMP_STATE_INFORMATION_NT4 = packed record
- CrashDumpSectionExists: ULONG;
- end;
- PSYSTEM_CRASH_DUMP_STATE_INFORMATION_NT4 =
- ^SYSTEM_CRASH_DUMP_STATE_INFORMATION_NT4;
- { Èíôîðìàöèÿ îá îòëàä÷èêå ÿäðà }
- SYSTEM_KERNEL_DEBUGGER_INFORMATION = packed record
- DebuggerEnabled: BOOLEAN;
- DebuggerNotPresent: BOOLEAN;
- end;
- PSYSTEM_KERNEL_DEBUGGER_INFORMATION = ^SYSTEM_KERNEL_DEBUGGER_INFORMATION;
- { Èíôîðìàöèÿ î ñ÷åò÷èêàõ ïåðåêëþ÷åíèÿ êîíòåêñòà }
- SYSTEM_CONTEXT_SWITCH_INFORMATION = packed record
- ContextSwitches: ULONG;
- ContextSwitchCounters: array [0..10] of ULONG;
- end;
- PSYSTEM_CONTEXT_SWITCH_INFORMATION = ^SYSTEM_CONTEXT_SWITCH_INFORMATION;
- { Èíôîðìàöèÿ î êâîòàõ ðååñòðà â âûãðóæàåìîì ïóëå }
- SYSTEM_REGISTRY_QUOTA_INFORMATION = packed record
- RegistryQuota: ULONG;
- RegistryQuotaInUse: ULONG;
- PagedPoolSize: ULONG;
- end;
- PSYSTEM_REGISTRY_QUOTA_INFORMATION = ^SYSTEM_REGISTRY_QUOTA_INFORMATION;
- { Çàãðóçêà è âûçîâ äðàéâåðà ðåæèìà ÿäðà. Îãðàíè÷åíèÿ òå æå ñàìûå, ÷òî è äëÿ
- çàãðóçêè }
- SYSTEM_LOAD_AND_CALL_IMAGE = packed record
- ModuleName: UNICODE_STRING;
- end;
- PSYSTEM_LOAD_AND_CALL_IMAGE = ^SYSTEM_LOAD_AND_CALL_IMAGE;
- { Èíôîðìàöèÿ î ïëàíîâûõ ïåðèîäàõ âûïîëíåíèÿ ïðèîðèòåòíîãî ïðèëîæåíèÿ }
- SYSTEM_PRIORITY_SEPARATION = packed record
- PrioritySeparation: ULONG;
- end;
- PSYSTEM_PRIORITY_SEPARATION = ^SYSTEM_PRIORITY_SEPARATION;
- { Èíôîðìàöèÿ î âðåìåííîé çîíå }
- SYSTEM_TIME_ZONE_INFORMATION = packed record
- Bias: LongInt;
- StandardName: array[0..31] of WideChar;
- StandardDate: TIME_FIELDS;
- StandardBias: LongInt;
- DayLightName: array[0..31] of WideChar;
- DayLightDate: TIME_FIELDS;
- DayLightBias: LongInt;
- end;
- PSYSTEM_TIME_ZONE_INFORMATION = ^SYSTEM_TIME_ZONE_INFORMATION;
- { Èíôîðìàöèÿ îá àññîöèàòèâíûõ ñïèñêàõ. Èíôîðìàöèÿ ýòîãî êëàññà äîñòóïíà òîëüêî
- â ðåæèìå ÿäðà (???) }
- SYSTEM_LOOKASIDE_INFORMATION = packed record
- Depth: USHORT;
- MaximumDepth: USHORT;
- TotalAllocates: ULONG;
- AllocateMisses: ULONG;
- TotalFrees: ULONG;
- FreeMisses: ULONG;
- PoolType: POOL_TYPE;
- Tag: ULONG;
- Size: ULONG;
- end;
- PSYSTEM_LOOKASIDE_INFORMATION = ^SYSTEM_LOOKASIDE_INFORMATION;
- { Èíôîðìàöèÿ î îøèáêå âðåìåíè. Èíôîðìàöèîííûé êëàññ SystemSetTimeSlipEvent
- äîïñêàåò òîëüêî óñòàíîâêó. }
- SYSTEM_SET_TIME_SLIP_EVENT = packed record
- TimeSlipEvent: THandle;
- end;
- PSYSTEM_SET_TIME_SLIP_EVENT = ^SYSTEM_SET_TIME_SLIP_EVENT;
- { Ñîçäàíèå ñåàíñà Terminal Services. Äîïóñêàåò òîëüêî óñòàíîâêó }
- SYSTEM_CREATE_SESSION = packed record
- SessionId: ULONG;
- end;
- PSYSTEM_CREATE_SESSION = ^SYSTEM_CREATE_SESSION;
- { Óäàëåíèå ñåàíñà Terminal Services. Äîïóñêàåò òîëüêî óñòàíîâêó }
- SYSTEM_DELETE_SESSION = packed record
- SessionId: ULONG;
- end;
- PSYSTEM_DELETE_SESSION = ^SYSTEM_DELETE_SESSION;
- { Èíôîðìàöèÿ î áàçîâîì àäðåñå ÿäðà }
- SYSTEM_RANGE_START_INFORMATION = packed record
- SystemRangeStart: PVOID;
- end;
- PSYSTEM_RANGE_START_INFORMATION = ^SYSTEM_RANGE_START_INFORMATION;
- { Èíôîðìàöèÿ ñåàíñà }
- SYSTEM_SESSION_INFORMATION = packed record
- SessionId: ULONG;
- BufferSize: ULONG;
- Buffer: PVOID;
- end;
- PSYSTEM_SESSION_INFORMATION = ^SYSTEM_SESSION_INFORMATION;
- { Èíôîðìàöèÿ î ïðîöåññàõ ñåàíñà }
- SYSTEM_SESSION_PROCESSES_INFORMATION = SYSTEM_SESSION_INFORMATION;
- PSYSTEM_SESSION_PROCESSES_INFORMATION = ^SYSTEM_SESSION_PROCESSES_INFORMATION;
- { Èíôîðìàöèÿ î ïðåäâàðèòåëüíîé çàãðóçêå }
- SYSTEM_PREFETCHER_INFORMATION = packed record
- Code: ULONG;
- Magic: ULONG;
- Unknown: ULONG;
- AddData: PVOID;
- AddDataSize: ULONG;
- end;
- PSYSTEM_PREFETCHER_INFORMATION = ^SYSTEM_PREFETCHER_INFORMATION;
- { NtQueryVolumeInformation }
- { Îáùàÿ èíôîðìàöèÿ î òîìå (èíôîðìàöèîííûé êëàññ FileFsVolumeInformation) }
- FILE_FS_VOLUME_INFORMATION = packed record
- VolumeCreationTime: TLargeInteger;
- VolumeSerialNumber: ULONG;
- VolumeNameLength: ULONG;
- Unknown: UCHAR;
- VolumeName: array[0..0] of WideChar;
- end;
- PFILE_FS_VOLUME_INFORMATION = ^FILE_FS_VOLUME_INFORMATION;
- { Èíôîðìàöèÿ î êâîòàõ òîìà (èíôîðìàöèîííûé êëàññ FileFsControlInformation) }
- { !!! Âíèìàíèå !!! Çàïèñü äîëæíà áûòü âûðîâíåíà ïî ãðàíèöå äâîéíîãî ñëîâà
- â ïðîòèâíîì ñëó÷àå ôóíêöèÿ âîçâðàùàåò STATUS_DATATYPE_MISALIGNMENT }
- FILE_FS_CONTROL_INFORMATION = record
- Reserved: array[0..2] of TLargeInteger;
- DefaultQuotaThreshold: TLargeInteger;
- DefaultQuotaLimit: TLargeInteger;
- QuotaFlags: ULONG;
- Reserved2: ULONG; { Íåááåò íå óïîìèíàåò ýòî ïîëå, èëè îíî òîëüêî äëÿ XP
- èëè Íåááåò îøèáñÿ ñ âûðàâíèâàíèåì }
- end;
- PFILE_FS_CONTROL_INFORMATION = ^FILE_FS_CONTROL_INFORMATION;
- { NtQueryInformationFile }
- //Èíôîðìàöèÿ î ôàéëå:
- type
- TFileBasicInformation = record
- CreationTime: LARGE_INTEGER;
- LastAccessTime: LARGE_INTEGER;
- LastWriteTime: LARGE_INTEGER;
- ChangeTime: LARGE_INTEGER;
- FileAttributes: ULONG;
- end;
- FILE_BASIC_INFORMATION = TFileBasicInformation;
- PFileBasicInformation = ^TFileBasicInformation;
- PFILE_BASIC_INFORMATION = ^TFileBasicInformation;
- TFileStandardInformation = packed record
- AllocationSize: LARGE_INTEGER;
- EndOfFile: LARGE_INTEGER;
- NumberOfLinks: ULONG;
- DeletePending: Boolean;
- Directory: Boolean;
- end;
- FILE_STANDARD_INFORMATION = TFileStandardInformation;
- PFileStandardInformation = ^TFileStandardInformation;
- TFilePositionInformation = record
- CurrentByteOffset: LARGE_INTEGER;
- end;
- FILE_POSITION_INFORMATION = TFilePositionInformation;
- PFilePositionInformation = ^TFilePositionInformation;
- TFileAlignmentInformation = record
- AlignmentRequirement: ULONG;
- end;
- FILE_ALIGNMENT_INFORMATION = TFileAlignmentInformation;
- PFileAlignmentInformation = ^TFileAlignmentInformation;
- TFileNameInformation = packed record
- FileNameLength: ULONG;
- FileName: array[0..0] of WideChar;
- end;
- FILE_NAME_INFORMATION = TFileNameInformation;
- PFileNameInformation = ^TFileNameInformation;
- TFileNetworkOpenInformation = record
- CreationTime: LARGE_INTEGER;
- LastAccessTime: LARGE_INTEGER;
- LastWriteTime: LARGE_INTEGER;
- ChangeTime: LARGE_INTEGER;
- AllocationSize: LARGE_INTEGER;
- EndOfFile: LARGE_INTEGER;
- FileAttributes: ULONG;
- end;
- FILE_NETWORK_OPEN_INFORMATION = TFileNetworkOpenInformation;
- PFileNetworkOpenInformation = ^TFileNetworkOpenInformation;
- PFULL_FILE_ATTRIBUTES = PFileNetworkOpenInformation;
- TFileAttributeTagInformation = packed record
- FileAttributes: ULONG;
- ReparseTag: ULONG;
- end;
- FILE_ATTRIBUTE_TAG_INFORMATION = TFileAttributeTagInformation;
- PFileAttributeTagInformation = ^TFileAttributeTagInformation;
- TFileDispositionInformation = packed record
- DeleteFile: Boolean;
- end;
- FILE_DISPOSITION_INFORMATION = TFileDispositionInformation;
- PFileDispositionInformation = ^TFileDispositionInformation;
- TFileEndOfFileInformation = record
- EndOfFile: LARGE_INTEGER;
- end;
- FILE_END_OF_FILE_INFORMATION = TFileEndOfFileInformation;
- PFileEndOfFileInformation = ^TFileEndOfFileInformation;
- TFileFullEAIinformation = packed record
- NextEntryOffset: ULONG;
- Flags: Byte;
- EaNameLength: Byte;
- EaValueLength: Word;
- EaName: array[0..0] of Char;
- end;
- FILE_FULL_EA_INFORMATION = TFileFullEAIinformation;
- PFileFullEAIinformation = ^TFileFullEAIinformation;
- TFileDirectoryInformation = packed record
- NextEntryOffset: ULONG;
- FileIndex: ULONG;
- CreationTime: LARGE_INTEGER;
- LastAccessTime: LARGE_INTEGER;
- LastWriteTime: LARGE_INTEGER;
- ChangeTime: LARGE_INTEGER;
- EndOfFile: LARGE_INTEGER;
- AllocationSize: LARGE_INTEGER;
- FileAttributes: ULONG;
- FileNameLength: ULONG;
- FileName: array[0..0] of WideChar;
- end;
- FILE_DIRECTORY_INFORMATION = TFileDirectoryInformation;
- PFileDirectoryInformation = ^TFileDirectoryInformation;
- PFILE_DIRECTORY_INFORMATION = PFileDirectoryInformation;
- //
- // ×òåíèå/çàïèñü ôàéëà "âðàçáðîñ"
- //
- FILE_SEGMENT_ELEMENT = packed record
- Alignment: ULONGLONG;
- end;
- PFILE_SEGMENT_ELEMENT = ^FILE_SEGMENT_ELEMENT;
- //
- // Îáúåêò "Ñåêöèÿ" (Section)
- //
- SECTION_INHERIT = Integer;
- const
- ViewShare = 1;
- ViewUnmap = 2;
- //-------------------------------------------------------------
- // Define the file attributes values
- //
- // Note: 0x00000008 is reserved for use for the old DOS VOLID (volume ID)
- // and is therefore not considered valid in NT.
- //
- // Note: 0x00000010 is reserved for use for the old DOS SUBDIRECTORY flag
- // and is therefore not considered valid in NT. This flag has
- // been disassociated with file attributes since the other flags are
- // protected with READ_ and WRITE_ATTRIBUTES access to the file.
- //
- // Note: Note also that the order of these flags is set to allow both the
- // FAT and the Pinball File Systems to directly set the attributes
- // flags in attributes words without having to pick each flag out
- // individually. The order of these flags should not be changed!
- //
- const
- FILE_ATTRIBUTE_READONLY = $00000001;
- FILE_ATTRIBUTE_HIDDEN = $00000002;
- FILE_ATTRIBUTE_SYSTEM = $00000004;
- //OLD DOS VOLID $00000008
- FILE_ATTRIBUTE_DIRECTORY = $00000010;
- FILE_ATTRIBUTE_ARCHIVE = $00000020;
- FILE_ATTRIBUTE_DEVICE = $00000040;
- FILE_ATTRIBUTE_NORMAL = $00000080;
- FILE_ATTRIBUTE_TEMPORARY = $00000100;
- FILE_ATTRIBUTE_SPARSE_FILE = $00000200;
- FILE_ATTRIBUTE_REPARSE_POINT = $00000400;
- FILE_ATTRIBUTE_COMPRESSED = $00000800;
- FILE_ATTRIBUTE_OFFLINE = $00001000;
- FILE_ATTRIBUTE_NOT_CONTENT_INDEXED = $00002000;
- FILE_ATTRIBUTE_ENCRYPTED = $00004000;
- FILE_ATTRIBUTE_VALID_FLAGS = $00007fb7;
- FILE_ATTRIBUTE_VALID_SET_FLAGS = $000031a7;
- FILE_READ_DATA = $0001; // file & pipe
- FILE_LIST_DIRECTORY = $0001; // directory
- FILE_WRITE_DATA = $0002; // file & pipe
- FILE_ADD_FILE = $0002; // directory
- FILE_APPEND_DATA = $0004; // file
- FILE_ADD_SUBDIRECTORY = $0004; // directory
- FILE_CREATE_PIPE_INSTANCE = $0004; // named pipe
- FILE_READ_EA = $0008; // file & directory
- FILE_WRITE_EA = $0010; // file & directory
- FILE_EXECUTE = $0020; // file
- FILE_TRAVERSE = $0020; // directory
- FILE_DELETE_CHILD = $0040; // directory
- FILE_READ_ATTRIBUTES = $0080; // all
- FILE_WRITE_ATTRIBUTES = $0100; // all
- FILE_ALL_ACCESS = STANDARD_RIGHTS_REQUIRED or SYNCHRONIZE or $01FF;
- FILE_GENERIC_READ = STANDARD_RIGHTS_READ or FILE_READ_DATA or
- FILE_READ_ATTRIBUTES or FILE_READ_EA or SYNCHRONIZE;
- FILE_GENERIC_WRITE = STANDARD_RIGHTS_WRITE or FILE_WRITE_DATA or
- FILE_WRITE_ATTRIBUTES or FILE_WRITE_EA or FILE_APPEND_DATA or SYNCHRONIZE;
- FILE_GENERIC_EXECUTE = STANDARD_RIGHTS_EXECUTE or FILE_READ_ATTRIBUTES or
- FILE_EXECUTE or SYNCHRONIZE;
- // Define the create disposition values
- FILE_SUPERSEDE = $00000000;
- FILE_OPEN = $00000001;
- FILE_CREATE = $00000002;
- FILE_OPEN_IF = $00000003;
- FILE_OVERWRITE = $00000004;
- FILE_OVERWRITE_IF = $00000005;
- FILE_MAXIMUM_DISPOSITION = $00000005;
- // Íàáîð ôëàãîâ äëÿ ïàðàìåòðà CreateOptions
- FILE_DIRECTORY_FILE = $00000001;
- FILE_WRITE_THROUGH = $00000002;
- FILE_SEQUENTIAL_ONLY = $00000004;
- FILE_NO_INTERMEDIATE_BUFFERING = $00000008;
- FILE_SYNCHRONOUS_IO_ALERT = $00000010;
- FILE_SYNCHRONOUS_IO_NONALERT = $00000020;
- FILE_NON_DIRECTORY_FILE = $00000040;
- FILE_CREATE_TREE_CONNECTION = $00000080;
- FILE_COMPLETE_IF_OPLOCKED = $00000100;
- FILE_NO_EA_KNOWLEDGE = $00000200;
- FILE_OPEN_FOR_RECOVERY = $00000400;
- FILE_RANDOM_ACCESS = $00000800;
- FILE_DELETE_ON_CLOSE = $00001000;
- FILE_OPEN_BY_FILE_ID = $00002000;
- FILE_OPEN_FOR_BACKUP_INTENT = $00004000;
- FILE_NO_COMPRESSION = $00008000;
- FILE_RESERVE_OPFILTER = $00100000;
- FILE_OPEN_REPARSE_POINT = $00200000;
- FILE_OPEN_NO_RECALL = $00400000;
- FILE_OPEN_FOR_FREE_SPACE_QUERY = $00800000;
- FILE_COPY_STRUCTURED_STORAGE = $00000041;
- FILE_STRUCTURED_STORAGE = $00000441;
- FILE_VALID_OPTION_FLAGS = $00ffffff;
- FILE_VALID_PIPE_OPTION_FLAGS = $00000032;
- FILE_VALID_MAILSLOT_OPTION_FLAGS = $00000032;
- FILE_VALID_SET_FLAGS = $00000036;
- { Ñïåöèôè÷åñêèå ïðàâà äëÿ äèñïåò÷åðà îáúåêòîâ }
- const
- OBJECT_TYPE_CREATE = $0001;
- OBJECT_TYPE_ALL_ACCESS = STANDARD_RIGHTS_REQUIRED or OBJECT_TYPE_CREATE;
- { Ñïåöèôè÷åñêèå ïðàâà äëÿ îáúåêòà "Ñåêöèÿ" }
- const
- SECTION_QUERY = $0001;
- SECTION_MAP_WRITE = $0002;
- SECTION_MAP_READ = $0004;
- SECTION_MAP_EXECUTE = $0008;
- SECTION_EXTEND_SIZE = $0010;
- SECTION_ALL_ACCESS = STANDARD_RIGHTS_REQUIRED or SECTION_QUERY or
- SECTION_MAP_WRITE or SECTION_MAP_READ or SECTION_MAP_EXECUTE or
- SECTION_EXTEND_SIZE;
- SEGMENT_ALL_ACCESS = SECTION_ALL_ACCESS;
- PAGE_NOACCESS = $01;
- PAGE_READONLY = $02;
- PAGE_READWRITE = $04;
- PAGE_WRITECOPY = $08;
- PAGE_EXECUTE = $10;
- PAGE_EXECUTE_READ = $20;
- PAGE_EXECUTE_READWRITE = $40;
- PAGE_EXECUTE_WRITECOPY = $80;
- PAGE_GUARD = $100;
- PAGE_NOCACHE = $200;
- PAGE_WRITECOMBINE = $400;
- MEM_COMMIT = $1000;
- MEM_RESERVE = $2000;
- MEM_DECOMMIT = $4000;
- MEM_RELEASE = $8000;
- MEM_FREE = $10000;
- MEM_PRIVATE = $20000;
- MEM_MAPPED = $40000;
- MEM_RESET = $80000;
- MEM_TOP_DOWN = $100000;
- MEM_LARGE_PAGES = $20000000;
- MEM_4MB_PAGES = $80000000;
- SEC_RESERVE = $4000000;
- const
- { Ðàñøèôðîâêà ôëàãîâ Quota Flags äëÿ ñòðóêòóðû FILE_FS_CONTROL_INFORMATION }
- FS_VOLUME_QUOTAS_ENABLED = 1;
- FS_VOLUME_QUOTAS_NOALLOCATE = 2;
- FS_VOLUME_QUOTAS_DISABLED = $100; { Îòêëþ÷åííûå êâîòû }
- FS_VOLUME_QUOTA_THRESHOLD_EXCEED_AUDIT = $10; { Â êîìáèíàöèè ñ 1 è 2 }
- FS_VOLUME_QUOTA_EXCEED_AUDIT = $20; { Â êîìáèíàöèè ñ 1 è 2 }
- const
- { Ðàñøèôðîâêà KWAIT_REASON - êîäû ïðè÷èíû îæèäàíèÿ ïîòîêà }
- MIN_WAIT_REASON = 0;
- KWR_Executive = 0;
- KWR_FreePage = 1;
- KWR_PageIn = 2;
- KWR_PoolAllocation = 3;
- KWR_DelayExecution = 4;
- KWR_Suspended = 5;
- KWR_UserRequest = 6;
- KWR_WrExecutive = 7;
- KWR_WrFreePage = 8;
- KWR_WrPageIn = 9;
- KWR_WrPoolAllocation = 10;
- KWR_WrDelayExecution = 11;
- KWR_WrSuspended = 12;
- KWR_WrUserRequest = 13;
- KWR_WrEventPair = 14;
- KWR_WrQueue = 15;
- KWR_WrLpcReceive = 16;
- KWR_WrLpcReply = 17;
- KWR_WrVirtualMemory = 18;
- KWR_WrPageOut = 19;
- KWR_WrRendezvous = 20;
- KWR_Spare2 = 21;
- KWR_Spare3 = 22;
- KWR_Spare4 = 23;
- KWR_Spare5 = 24;
- KWR_Spare6 = 25;
- KWR_WrKernel = 26;
- MAX_WAIT_REASON = 26;
- { Ðàñøèôðîâêà THREAD_STATE - ñîñòîÿíèå ïîòîêà }
- MIN_THREAD_STATE = 0;
- THREAD_STATE_INITIALIZED = 0;
- THREAD_STATE_READY = 1;
- THREAD_STATE_RUNNING = 2;
- THREAD_STATE_STANDBY = 3;
- THREAD_STATE_TERMINATED = 4;
- THREAD_STATE_WAIT = 5;
- THREAD_STATE_TRANSITION = 6;
- THREAD_STATE_UNKNOWN = 7;
- MAX_THREAD_STATE = 7;
- { Áèòû â GlobalFlag }
- FLG_STOP_ON_EXCEPTION = 1;
- FLG_SHOW_LDR_SNAPS = 2;
- FLG_DEBUG_INITIAL_COMMAND = 4;
- FLG_STOP_ON_HUNG_GUI = 8;
- FLG_HEAP_ENABLE_TAIL_CHECK = $10;
- FLG_HEAP_ENABLE_FREE_CHECK = $20;
- FLG_HEAP_VALIDATE_PARAMETERS = $40;
- FLG_HEAP_VALIDATE_ALL = $80;
- FLG_POOL_ENABLE_TAIL_CHECK = $100;
- FLG_POOL_ENABLE_FREE_CHECK = $200;
- FLG_POOL_ENABLE_TAGGING = $400;
- FLG_HEAP_ENABLE_TAGGING = $800;
- FLG_USER_STACK_TRACE_DB = $1000;
- FLG_KERNEL_STACK_TRACE_DB = $2000;
- FLG_MAINTAIN_OBJECT_TYPELIST = $4000;
- FLG_HEAP_ENABLE_TAG_BY_DLL = $8000;
- FLG_IGNORE_DEBUG_PRIV = $10000;
- FLG_ENABLE_CSRDEBUG = $20000;
- FLG_ENABLE_KDEBUG_SYMBOL_LOAD = $40000;
- FLG_DISABLE_PAGE_KERNEL_STACK = $80000;
- FLG_HEAP_ENABLE_CALL_TRACING = $100000;
- FLG_HEAP_DISABLE_COALESCING = $200000;
- FLG_ENABLE_CLOSE_EXCEPTIONS = $400000;
- FLG_ENABLE_EXCEPTION_LOGGING = $800000;
- FLG_ENABLE_DBGPRINT_BUFFERING = $8000000;
- { Pàñøèôðîâêà POOL_TYPE }
- NonPagedPool = 0;
- PagedPool = 1;
- NonPagedPoolMustSucceed = 2;
- DontUseThisType = 3;
- NonPagedPoolCacheAligned = 4;
- PagedPoolCacheAligned = 5;
- NonPagedPoolCacheAlignedMustS = 6;
- NonPagedPoolSession = 32;
- PagedPoolSession = 33;
- NonPagedPoolMustSucceedSession = 34;
- DontUseThisTypeSession = 35;
- NonPagedPoolCacheAlignedSession = 36;
- PagedPoolCacheAlignedSession = 37;
- NonPagedPoolCacheAlignedMustSSession = 38;
- { Îáúåêò "Ïîðò" (Ëîêàëüíûé âûçîâ ïðîöåäóð) }
- type
- LPCSECTIONINFO = packed record
- Length: ULONG;
- SectionHandle: THANDLE;
- Param1: ULONG;
- SectionSize: ULONG;
- ClientBaseAddress: ULONG;
- ServerBaseAddress: ULONG;
- end;
- PLPCSECTIONINFO = ^LPCSECTIONINFO;
- PORT_MESSAGE_HEADER = packed record
- DataSize: WORD; //0 Ðàçìåð äàííûõ â áàéòàõ
- MessageSize: WORD; //2 Ðàçìåð ñîîáùåíèÿ â áàéòàõ, âêëþ÷àÿ ðàçìåð
- // çàãîëîâêà, äàííûõ è âñåãî äîïîëíèòåëüíîãî
- // ïðîñòðàíñòâà, êîòîðîå ìîæåò ïîíàäîáèòüñÿ äëÿ
- // ðàçìåùåíèÿ äàííûõ.
- MessageType: WORD; //4
- VirtualRangesOffset: WORD; //6 Ñìåùåíèå â áàéòàõ îò íà÷àë çàãîëîâêà äî
- // ìàññèâà âèðòóàëüíûõ àäðåñîâ
- Pid: DWORD; //8 // Èäåíòèôèêàòîðû ïðîöåññà è
- Tid: DWORD; //0x000C // ïîòîêà êëèåíòà, îòïðàâèâøåãî ñîîáùåíèå
- MessageId: ULONG; //0x0010 // ×èñëîâîé èäåíòèôèêàòîð êîíêðåòíîãî ýêçåìïëÿðà
- // ñîîáùåíèÿ.
- SectionSize: ULONG; //0x0014 // Ðàçìåð â áàéòàõ ðàçäåëà, ñîçäàííîãî
- // îòïðàâèòåëåì ñîîáùåíèÿ.
- //Data: array[1..DataSize] of UChar; //0x18
- end;
- // Ðàçìåð äàííûõ, êîòðûå ìîãó áûòü ïåðåäàíû ÷åðåç PORT_MESSAGE ñîñòàâëÿåò
- // ïðèìåðíî 300 áàéò, äëÿ ïåðåäà÷è äàííûõ áîëüøåãî ðàçìåðà íåîáõîäèìî
- // ñîçäàâàòü îáúåêò "ñåêöèÿ" è ïåðåäàâàòü äàííûå â ýòîì îáúåêòå.
- PLPCMESSAGE = ^PORT_MESSAGE_HEADER;
- PORT_SECTION_WRITE = packed record //Àëèàñ äëÿ LPCSECTIONINFO
- Length: ULONG;
- SectionHandle: THANDLE;
- SectionOffset: ULONG;
- ViewSize: ULONG;
- ViewBase: ULONG;
- TargetViewBase: ULONG;
- end;
- PPORT_SECTION_WRITE = ^PORT_SECTION_WRITE;
- PORT_SECTION_READ = packed record
- Length: ULONG;
- ViewSize: ULONG;
- ViewBase: ULONG;
- end;
- PPORT_SECTION_READ = ^PORT_SECTION_READ;
- //Message types (â PORT_MESSAGE_HEADER)
- const
- LPC_NEW_MESSAGE = 0;
- LPC_REQUEST = 1;
- LPC_REPLY = 2;
- LPC_DATAGRAM = 3;
- LPC_LOST_REPLY = 4;
- LPC_PORT_CLOSED = 5;
- LPC_CLIENT_DIED = 6;
- LPC_EXCEPTION = 7;
- LPC_DEBUG_EVENT = 8;
- LPC_ERROR_EVENT = 9;
- LPC_CONNECTION_REQUEST = 10;
- // Ïîäñèñòåìà Win32 (CSRSS)
- type
- CSR_API_NUMBER = Integer;
- //Áóôåð àðãóìåíòîâ ñîîáùåíèÿ ñåðâåðó
- CSR_CAPTURE_HEADER = packed record
- OriginalSize: LONG; //0x0000
- OriginalData: PVOID; //0x0004
- PointersCount: LONG; //0x0008
- NextPointerPosition: LONG; //0x000C
- DataPointers: array[0..0] of PVOID; //0x0010
- end;
- PCSR_CAPTURE_HEADER = ^CSR_CAPTURE_HEADER;
- PPCSR_CAPTURE_HEADER = ^PCSR_CAPTURE_HEADER;
- //Èäåíòèôèêàöèÿ ñîîáùåíèÿ ñåðâåðó è àðãóìåíòû
- CSRSS_MESSAGE = packed record
- Arguments: PCSR_CAPTURE_HEADER; //0 - 0x0018
- OpCode: CSR_API_NUMBER; //4 - 0x001C
- Status: ULONG; //8 - 0x0020
- Reserved: ULONG; //0x000C - 0x0024
- end;
- //Ñîîáùåíèå ñåðâåðó
- CSR_API_MESSAGE = packed record
- hdr: PORT_MESSAGE_HEADER;
- msg: CSRSS_MESSAGE;
- // MessageData: array [0..x] of ULONG; //0x0028
- end;
- PCSR_API_MESSAGE = ^CSR_API_MESSAGE;
- //Ïîòîêè
- type
- STACKINFO = packed record
- FixedStackBase: PVOID;
- FixedStackLimit: PVOID;
- ExpandableStackBase: PVOID;
- StackLimit: PVOID;
- AllocationBase: PVOID;
- end;
- PSTACKINFO = ^STACKINFO;
- { Áèòîâûå êàðòû }
- RTL_BITMAP = packed record
- SizeOfBitMap: ULONG; //0 Number of bits in bit map
- Buffer: PULONG; //4 Pointer to the bit map itself
- end;
- PRTL_BITMAP = ^RTL_BITMAP;
- { Òàáëèöà ëîêàëüíûõ äåñêðèïòîðîâ }
- PRTL_HANDLE_TABLE_ENTRY = ^RTL_HANDLE_TABLE_ENTRY;
- RTL_HANDLE_TABLE_ENTRY = packed record
- Next: PRTL_HANDLE_TABLE_ENTRY;
- end;
- { Èíôîðìàöèÿ îòëàä÷èêà }
- RTL_DEBUG_INFORMATION = packed record
- //TODO: Îïèñàíèå ñòðóêòóðû!!!!
- end;
- PRTL_DEBUG_INFORMATION = ^RTL_DEBUG_INFORMATION;
- { Èíôîðìàöèÿ î âåðñèè ñèñòåìû }
- TOsVersionInfoExW = packed record
- ov: TOsVersionInfoW;
- wServicePackMajor: Word;
- wServicePackMinor: Word;
- wSuiteMask: Word;
- wProductType: Byte;
- wReserved: Byte;
- end;
- RTL_OSVERSIONINFOEXW = TOsVersionInfoExW;
- PRTL_OSVERSIONINFOEXW = ^RTL_OSVERSIONINFOEXW;
- { Óïðàâëåíèå ïèòàíèåì }
- TLatencyTime = (LT_DONT_CARE, LT_LOWEST_LATENCY);
- LATENCY_TIME = TLatencyTime;
- { Îáúåêòû }
- TObjectInfoClass = (
- { NtQueryObject/NtSetInformationObject êëàññ èíôîðìàöèè îáúåêòà }
- ObjectBasicInformation, { = 0 Áàçîâàÿ èíôîðìàöèÿ îá îáúåêòå }
- ObjectNameInformation, { = 1 Èíôîðìàöèÿ îá èìåíè îáúåêòà }
- ObjectTypeInformation, { = 2 Èíôîðìàöèÿ îá òèïå îáúåêòà }
- ObjectAllTypesInformation, { = 3 Ïåðå÷èñëåíèå âñåõ òèïîâ îáúåêòîâ
- (òðåáóåò íàñòðîéêè GlobalFlags) }
- ObjectHandleInformation { = 4 Èíôîðìàöèÿ îá àòðèáóòàõ äåñêðèïòîðà îáúåêòà }
- );
- OBJECT_INFO_CLASS = TObjectInfoClass;
- const
- //
- //Çíà÷åíèÿ ïàðàìåòðà RelativeTo ôóíêöèè RtlCheckRegistryKey
- //
- RTL_REGISTRY_ABSOLUTE = 0; // Path is a full path
- RTL_REGISTRY_SERVICES = 1; // \Registry\Machine\System\CurrentControlSet\Services
- RTL_REGISTRY_CONTROL = 2; // \Registry\Machine\System\CurrentControlSet\Control
- RTL_REGISTRY_WINDOWS_NT = 3; // \Registry\Machine\Software\Microsoft\Windows NT\CurrentVersion
- RTL_REGISTRY_DEVICEMAP = 4; // \Registry\Machine\Hardware\DeviceMap
- RTL_REGISTRY_USER = 5; // \Registry\User\CurrentUser
- RTL_REGISTRY_MAXIMUM = 6;
- RTL_REGISTRY_HANDLE = $40000000; // Low order bits are registry handle
- RTL_REGISTRY_OPTIONAL = $80000000; // Indicates the key node is optional
- //
- // The following flags specify how the Name field of a RTL_QUERY_REGISTRY_TABLE
- // entry is interpreted. A NULL name indicates the end of the table.
- //
- RTL_QUERY_REGISTRY_SUBKEY = $00000001; // Name is a subkey and remainder of
- // table or until next subkey are value
- // names for that subkey to look at.
- RTL_QUERY_REGISTRY_TOPKEY = $00000002; // Reset current key to original key for
- // this and all following table entries.
- RTL_QUERY_REGISTRY_REQUIRED = $00000004; // Fail if no match found for this table
- // entry.
- RTL_QUERY_REGISTRY_NOVALUE = $00000008; // Used to mark a table entry that has no
- // value name, just wants a call out, not
- // an enumeration of all values.
- RTL_QUERY_REGISTRY_NOEXPAND = $00000010; // Used to suppress the expansion of
- // REG_MULTI_SZ into multiple callouts or
- // to prevent the expansion of environment
- // variable values in REG_EXPAND_SZ
- RTL_QUERY_REGISTRY_DIRECT = $00000020; // QueryRoutine field ignored. EntryContext
- // field points to location to store value.
- // For null terminated strings, EntryContext
- // points to UNICODE_STRING structure that
- // that describes maximum size of buffer.
- // If .Buffer field is NULL then a buffer is
- // allocated.
- //
- RTL_QUERY_REGISTRY_DELETE = $00000040; // Used to delete value keys after they
- // are queried.
- type
- RTL_QUERY_REGISTRY_TABLE = packed record
- QueryRoutine: Pointer;
- Flags: ULONG;
- Name: LPWSTR;
- EntryContext: PVOID;
- DefaultType: ULONG;
- DefaultData: PVOID;
- DefaultLength: ULONG;
- end;
- PRTL_QUERY_REGISTRY_TABLE = ^RTL_QUERY_REGISTRY_TABLE;
- const
- REG_NOTIFY_CHANGE_NAME = ($00000001); // Create or delete (child)
- REG_NOTIFY_CHANGE_ATTRIBUTES = ($00000002);
- REG_NOTIFY_CHANGE_LAST_SET = ($00000004); // time stamp
- REG_NOTIFY_CHANGE_SECURITY = ($00000008);
- type
- AUDIT_EVENT_TYPE = (
- AuditEventObjectAccess,
- AuditEventDirectoryServiceAccess
- );
- PAUDIT_EVENT_TYPE = ^AUDIT_EVENT_TYPE;
- TOKEN_TYPE = (
- TokenReserved,
- TokenPrimary,
- TokenImpersonation
- );
- PTOKEN_TYPE = ^TOKEN_TYPE;
- HEAP_INFORMATION_CLASS = (
- HeapCompatibilityInformation
- );
- //
- // Êîíñòàíòû Side-by-side
- //
- type
- ACTIVATION_CONTEXT_INFO_CLASS = (
- ActivationContextReserved, //0
- ActivationContextBasicInformation, //1,
- ActivationContextDetailedInformation, //2,
- AssemblyDetailedInformationInActivationContext, //3,
- FileInformationInAssemblyOfAssemblyInActivationContext, //4,
- MaxActivationContextInfoClass //5
- //
- // compatibility with old names
- //
- // AssemblyDetailedInformationInActivationContxt = 3,
- // FileInformationInAssemblyOfAssemblyInActivationContxt = 4
- );
- ACTIVATION_CONTEXT_QUERY_INDEX = packed record
- ulAssemblyIndex: DWORD;
- ulFileIndexInAssembly: DWORD;
- end;
- PACTIVATION_CONTEXT_QUERY_INDEX = ^ACTIVATION_CONTEXT_QUERY_INDEX;
- const
- ACTIVATION_CONTEXT_PATH_TYPE_NONE = 1;
- ACTIVATION_CONTEXT_PATH_TYPE_WIN32_FILE = 2;
- ACTIVATION_CONTEXT_PATH_TYPE_URL = 3;
- ACTIVATION_CONTEXT_PATH_TYPE_ASSEMBLYREF = 4;
- type
- ASSEMBLY_FILE_DETAILED_INFORMATION = packed record
- ulFlags: DWORD;
- ulFilenameLength: DWORD;
- ulPathLength: DWORD;
- lpFileName: PWideChar;
- lpFilePath: PWideChar;
- end;
- PASSEMBLY_FILE_DETAILED_INFORMATION = ^ASSEMBLY_FILE_DETAILED_INFORMATION;
- ASSEMBLY_DLL_REDIRECTION_DETAILED_INFORMATION =
- ASSEMBLY_FILE_DETAILED_INFORMATION;
- PASSEMBLY_DLL_REDIRECTION_DETAILED_INFORMATION =
- PASSEMBLY_FILE_DETAILED_INFORMATION;
- ACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION = packed record
- ulFlags: DWORD;
- ulEncodedAssemblyIdentityLength: DWORD; // in bytes
- ulManifestPathType: DWORD; // ACTIVATION_CONTEXT_PATH_TYPE_*
- ulManifestPathLength: DWORD; // in bytes
- liManifestLastWriteTime: LARGE_INTEGER; // FILETIME
- ulPolicyPathType: DWORD; // ACTIVATION_CONTEXT_PATH_TYPE_*
- ulPolicyPathLength: DWORD; // in bytes
- liPolicyLastWriteTime: LARGE_INTEGER; // FILETIME
- ulMetadataSatelliteRosterIndex: DWORD;
- ulManifestVersionMajor: DWORD; // 1
- ulManifestVersionMinor: DWORD; // 0
- ulPolicyVersionMajor: DWORD; // 0
- ulPolicyVersionMinor: DWORD; // 0
- ulAssemblyDirectoryNameLength: DWORD; // in bytes
- lpAssemblyEncodedAssemblyIdentity: PWideChar;
- lpAssemblyManifestPath: PWideChar;
- lpAssemblyPolicyPath: PWideChar;
- lpAssemblyDirectoryName: PWideChar;
- ulFileCount: DWORD;
- end;
- PACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION =
- ^ACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION;
- ACTIVATION_CONTEXT_DETAILED_INFORMATION = packed record
- dwFlags: DWORD;
- ulFormatVersion: DWORD;
- ulAssemblyCount: DWORD;
- ulRootManifestPathType: DWORD;
- ulRootManifestPathChars: DWORD;
- ulRootConfigurationPathType: DWORD;
- ulRootConfigurationPathChars: DWORD;
- ulAppDirPathType: DWORD;
- ulAppDirPathChars: DWORD;
- lpRootManifestPath: PWideChar;
- lpRootConfigurationPath: PWideChar;
- lpAppDirPath: PWideChar;
- end;
- PACTIVATION_CONTEXT_DETAILED_INFORMATION =
- ^ACTIVATION_CONTEXT_DETAILED_INFORMATION;
- const
- ACTIVATION_CONTEXT_SECTION_ASSEMBLY_INFORMATION = 1;
- ACTIVATION_CONTEXT_SECTION_DLL_REDIRECTION = 2;
- ACTIVATION_CONTEXT_SECTION_WINDOW_CLASS_REDIRECTION = 3;
- ACTIVATION_CONTEXT_SECTION_COM_SERVER_REDIRECTION = 4;
- ACTIVATION_CONTEXT_SECTION_COM_INTERFACE_REDIRECTION = 5;
- ACTIVATION_CONTEXT_SECTION_COM_TYPE_LIBRARY_REDIRECTION = 6;
- ACTIVATION_CONTEXT_SECTION_COM_PROGID_REDIRECTION = 7;
- ACTIVATION_CONTEXT_SECTION_GLOBAL_OBJECT_RENAME_TABLE = 8;
- ACTIVATION_CONTEXT_SECTION_CLR_SURROGATES = 9;
- QUERY_ACTCTX_FLAG_USE_ACTIVE_ACTCTX = $00000004;
- QUERY_ACTCTX_FLAG_ACTCTX_IS_HMODULE = $00000008;
- QUERY_ACTCTX_FLAG_ACTCTX_IS_ADDRESS = $00000010;
- QUERY_ACTCTX_FLAG_NO_ADDREF = $80000000;
- { Mark 1 }
- { API ïîäñèñòåìû Win32 Client-Server }
- { Âûäåëåíèå áóôåðà äëÿ àðãóìåíòîâ ñîîáùåíèÿ ñåðâåðó }
- function CsrAllocateCaptureBuffer(
- CountMessagePointers, Size: ULONG): PCSR_CAPTURE_HEADER; stdcall;
- { Ïîìåùåíèå óêàçàòåëÿ â áóôåð ñîîáùåíèÿ ñåðâåðó }
- function CsrAllocateMessagePointer(CaptureBuffer: PCSR_CAPTURE_HEADER;
- Length: ULONG; Pointer: PPVOID): ULONG; stdcall;
- { Ïîìåùåíèå áóôåðà â áóôåð ñîîáùåíèÿ ñåðâåðó }
- procedure CsrCaptureMessageBuffer(CaptureBuffer: PCSR_CAPTURE_HEADER;
- Buffer: PVOID; Length: ULONG; CapturedBuffer: PPVOID); stdcall;
- { Ïîìåùåíèå ñòðîêè â áóôåð ñîîáùåíèÿ ñåðâåðó }
- procedure CsrCaptureMessageString(CaptureBuffer: PCSR_CAPTURE_HEADER;
- AString: LPSTR; Length: ULONG; MaximumLength: ULONG;
- CapturedString: PSTRING); stdcall;
- function CsrCaptureMessageMultiUnicodeStringsInPlace (
- pCaptureMessage: PPCSR_CAPTURE_HEADER; NumberOfStrings: ULONG;
- Strings: PPUNICODE_STRING): NTSTATUS; stdcall;
- { Âûçîâ ñåðâåðà }
- function CsrClientCallServer(m: PCSR_API_MESSAGE;
- CaptureBuffer: PCSR_CAPTURE_HEADER; ApiNumber: CSR_API_NUMBER;
- ArgLength: ULONG): NTSTATUS; stdcall;
- { Ïîäêëþ÷åíèå ê ñåðâåðó }
- function CsrClientConnectToServer (ObjectDirectory: PWideChar;
- ServerIndex: Integer; CallbackInfo: Pointer; MessageBuffer: Pointer;
- BufferSize: LPDWORD; ServerProcess: PBYTE): NTSTATUS; stdcall;
- { Îñîáîæäåíèå áóôåðà àðóìåíòîâ ñîîáùåíèÿ }
- procedure CsrFreeCaptureBuffer(CaptureBuffer: PCSR_CAPTURE_HEADER); stdcall;
- { Ïîëó÷íèå èäåíòèôèêàòîðà òåêóùåãî ïðîöåññà }
- function CsrGetProcessId: DWORD; stdcall;
- { Óêàçàíèå íà òðåâîæíûé ïîòîê }
- function CsrIdentifyAlertableThread: NTSTATUS; stdcall;
- { Ñîçäàíèå íîâîãî ïîòîêà â ïîäñèñòåìå Win32}
- procedure CsrNewThread; stdcall;
- { API îòëàä÷èêà }
- procedure DbgBreakPoint; stdcall;
- { Ñîåäèíåíèå ñ îòëàä÷èêîì }
- function DbgUiConnectToDbg: NTSTATUS; stdcall;
- { Ïðîäîëæåíèå âûïîëíåíèÿ îòëàæèâàåìîé ïðîãðàììû }
- function DbgUiContinue(AppClientId: PCLIENT_ID;
- ContinueStatus: NTSTATUS): NTSTATUS; stdcall;
- { Ïðåîáðàçîâàíèå ñòðóêòóðû îæèäàíèÿ ñîáûòèÿ îòëàä÷èêà }
- function DbgUiConvertStateChangeStructure(
- StateChange: PDBGUI_WAIT_STATE_CHANGE;
- lpDebugEvent: LPDEBUG_EVENT): NTSTATUS; stdcall;
- { Îòëàäêà àêòèâíîãî ïðîöåññà }
- function DbgUiDebugActiveProcess(ProcessHandle: THANDLE): NTSTATUS; stdcall;
- { Ïîëó÷åíèå îáúåêòà îòëàäêè òåêóùåãî ïîòîêà }
- function DbgUiGetThreadDebugObject: PVOID; stdcall;
- { Îñòàíîâ îòëàæèâàåìîãî ïðîöåññà }
- function DbgUiIssueRemoteBreakin(ProcessHandle: THANDLE): NTSTATUS; stdcall;
- { Çàâåðøåíèå îòëàäêè }
- function DbgUiStopDebugging(ProcessHandle: THANDLE): NTSTATUS; stdcall;
- { Èçìåíåíèå îæèäàíèÿ ñîáûòèÿ îòëàäêè }
- function DbgUiWaitStateChange(StateChange: PDBGUI_WAIT_STATE_CHANGE;
- Timeout: PLARGE_INTEGER): NTSTATUS; stdcall;
- { API çàãðóç÷èêà (Loader API) }
- { Ïîëó÷åíèå äîñòóïà ê óêàçàííîìó ðåñóðñó }
- function LdrAccessResource(DllHandle: PVOID;
- ResourceDataEntry: PIMAGE_RESOURCE_DATA_ENTRY;
- Address: PPVOID; Size: PULONG): NTSTATUS; stdcall;
- { Ïðîâåðêà âîçìîæíîñòè çàãðóçêè àëüòåðíàòèâíûõ ðåñóðñíûõ ìîäóëåé }
- function LdrAlternateResourcesEnabled: BOOL; stdcall;
- { Ðàçðóøàåò îáðàç }
- procedure LdrDestroyOutOfProcessImage(AImage: PVOID); stdcall;
- { Çàïðåò âûçîâîâ DLLMain ñ ïàðàìåòðîì dwReason ðàâíûì DLL_THREAD_XXXXX }
- procedure LdrDisableThreadCalloutsForDll (hMod: THandle); stdcall;
- { Âûçûâàåò âíåøíþþ ôóíêöèþ äëÿ çàãðóæåííîãî ìîäóëÿ ñ óêàçàííûì áàçîâûì àäðåñîì }
- procedure LdrEnumerateLoadedModules(dwReserved: DWORD;
- Enumerator: Pointer; //Àäðåñ ôóíêöèè, âûçûâàåìîé çàãðóç÷èêîì
- ImageBaseAddress: PVOID); stdcall;
- { Ïîèñê ðåñóðñà }
- function LdrFindResource_U (DllHandle: PVOID;
- ResourceIdPath: PULONG; ResourceIdPathLength: ULONG;
- ResourceDataEntry: PPIMAGE_RESOURCE_DATA_ENTRY): NTSTATUS; stdcall;
- { Ïîèñê êàòàëîãà ðåñóðñîâ }
- function LdrFindResourceDirectory_U (DllHandle: PVOID;
- ResourceIdPath: PULONG;
- ResourceIdPathLength: ULONG;
- ResourceDataEntry: PPIMAGE_RESOURCE_DATA_ENTRY): NTSTATUS; stdcall;
- { Âûãðóçêà âñåõ àëüòåðíàòèâíî çàãðóæåííûõ ìîäóëåé }
- function LdrFlushAlternateResourceModules: BOOL; stdcall;
- { Ïîëó÷åíèå àäðåñà çàãðóæåííîãî îáðàçà.
- Íå ñîâñåì êîððåêòíî óêàçûâàòü PHandle äëÿ ïàðàìåòðà DllHandle, íî òèï
- HModule îïðåäåëåí â Delphi êàê THandle }
- function LdrGetDllHandle (Path: LPWSTR; { Ïóòü äëÿ ïîèñêà îáðàçà, çàãðóæåííîãî
- èç óêàçàííîãî êàòàëîãà
- (íåîáÿçàòåëüíûé ïàðàìåòð) }
- DllCharacteristics: PULONG; { Õàðàêòåðèñòèêè îáðàçà
- (êðèòåðèé ïîèñêà)
- (íåîáÿçàòåëüíûé ïàðàìåòð) }
- DllName: PUNICODE_STRING; { Èìÿ îáðàçà }
- DllHandle: PHandle { Àäðåñ ïåðåìåííîé äëÿ àäðåñà îáðàçà â
- ïàìÿòè }
- ): NTSTATUS; stdcall;
- { Ïîëó÷åíèå àäðåñà çàãðóæåííîãî ìîäóëÿ }
- function LdrGetDllHandleEx(dwFlags: DWORD; DllPath: LPWSTR;
- DllCharacteristics: PULONG; DllName: PUNICODE_STRING;
- DllHandle: PHMODULE): NTSTATUS; stdcall;
- { ïîëó÷åíèå àäðåñà ýêñïîðòèðóåìîé ïðîöåäóðû â çàãðóæåííîì ìîäóëå }
- function LdrGetProcedureAddress (ImageBase: PVOID; { Àäðåñ çàãðóæåííîãî ìîäóëÿ }
- ProcName: PANSI_STRING; { Èìÿ ïðîöåäóðû â ANSI-êîäèðîâêå }
- ProcedureOrdinalValue: PULONG; { Ïîðÿäêîâûé íîìåð ïðîöåäóðû }
- ProcedureAddress: PPvoid): NTSTATUS; stdcall; { Àäðåñ ïðîöåäóðû }
- { Çàãðóçêà îáðàçà ðåñóðñîâ (áåç íàñòðîéêè ññûëîê è áåç èíèöèàëèçàöèè ìîäóëÿ) }
- function LdrLoadAlternateResourceModule (
- DllHandle: THandle; { Àäðåñ îáðàçà â àäðåñíîì ïðîñòðàíñòâå ïðîöåññà }
- ModuleName: LPWSTR): THandle; stdcall; { Ïóòü ê îáðàçó }
- { Çàãðóçêà ìîäóëÿ áåç íàñòðîéêè ññûëîê }
- function LdrLoadAlternateResourceModuleEx(uLangID: WORD; Module: HMODULE;
- ModuleName: LPWSTR): PVOID; stdcall;
- { Çàãðóçêà îáðàçà â ïàìÿòü.
- Íå ñîâñåì êîððåêòíî óêàçûâàòü PHandle äëÿ ïàðàìåòðà DllHandle, íî òèï
- HModule îïðåäåëåí â Delphi êàê THandle }
- function LdrLoadDll (Path: LPWSTR; { Ïóòü äëÿ ïîèñêà îáðàçà
- (íåîáÿçàòåëüíûé ïàðàìåòð) }
- DllCharacteristics: PULONG; { Õàðàêòåðèñòèêè îáðàçà
- (íåîáÿçàòåëüíûé ïàðàìåòð) }
- DllName: PUNICODE_STRING; { Èìÿ îáðàçà }
- DllHandle: PHandle { Àäðåñ ïåðåìåííîé äëÿ àäðåñà îáðàçà â
- ïàìÿòè }
- ): NTSTATUS; stdcall;
- { Áëîêèðîâêà çàãðóç÷èêà }
- function LdrLockLoaderLock (LockType: Integer;
- var LockStatus, LockId: Integer): NTSTATUS; stdcall;
- { Ïîëó÷åíèå îïöèé èñïîëíÿåìîãî ôàéëà }
- function LdrQueryImageFileExecutionOptions (SubKey: PUNICODE_STRING;
- ValueName: LPWSTR; ValueSize: ULONG; Buffer: PVOID; BufferSize: ULONG;
- ReturnedLength: PULONG): NTSTATUS; stdcall;
- { Óñòàíîâêà âíåøíåé ôóíêöèè ïðîâåðêè ìàíèôåñòà ïðèëîæåíèÿ }
- procedure LdrSetDllManifestProber(ProberRoutine: Pointer); stdcall;
- { Çàâåðøåíèå ïðîöåññà }
- procedure LdrShutdownProcess; stdcall;
- { Çàâåðøåíèå ïîòîêà }
- procedure LdrShutdownThread; stdcall;
- { Âûãðóçêà îáðàçà ðåñóðñîâ }
- function LdrUnloadAlternateResourceModule(Module: PVOID): BOOL; stdcall;
- { Âûãðóçêà îáðàçà }
- function LdrUnloadDll (ImageBase: PVOID): NTSTATUS; stdcall;
- { Ðàçáëîêèðîâêà çàãðóç÷èêà }
- function LdrUnlockLoaderLock (LockType, LockId: Integer): NTSTATUS; stdcall;
- { Ñòàíäàðòàÿ êîäîâàÿ ñòðàíèöà ANSI }
- function NlsAnsiCodePage: WORD;
- { Ïðèíÿòèå èëè îòêëîíåíèå çàïðîñà íà ïîäêëþ÷åíèå ê ïîðòó }
- function NtAcceptConnectPort (PortHandle: PHANDLE; PortIdentifier: ULONG;
- LpcMessage: PLPCMESSAGE; Accept: ULONG; WriteSection: PPORT_SECTION_WRITE;
- ReadSection: PPORT_SECTION_READ): NTSTATUS; stdcall;
- { Ïðîâåðÿåò ïðàâà äîñòóïà ìàðêåðà }
- function NtAccessCheck(SecurityDescriptor: PSECURITY_DESCRIPTOR;
- hTokenClient: THANDLE; DesiredAccess: ACCESS_MASK;
- pGenericMapping: PGENERIC_MAPPING; pPrivilegeSet: PPRIVILEGE_SET;
- pPrivilegeSetLength: PULONG; pAccessGranted: PACCESS_MASK;
- AccessGrantedReturnStatus: PNTSTATUS): NTSTATUS; stdcall;
- { Ïðîâåðÿåò ïðàâà äîñòóïà ìàðêåðà è ãåíåðèðóåò ïðåäóïðåæäåíèÿ àóäèòà, åñëè
- èäåíòèôèêàòîð äîñòóïà îáëàäàåò SACL }
- function NtAccessCheckAndAuditAlarm(SubSystemName: PUNICODE_STRING;
- HandleId: PVOID; ObjectTypeName, ObjectName: PUNICODE_STRING;
- SecurityDescriptor: PSECURITY_DESCRIPTOR; DesiredAccess: ACCESS_MASK;
- pGenericMapping: PGENERIC_MAPPING; bObjectCreation: BOOL;
- pAccessGranted: PACCESS_MASK; AccessGrantedReturnStatus: PNTSTATUS;
- bGenerateOnClose: PBOOLEAN): NTSTATUS; stdcall;
- { Ïðîâåðÿåò ïðàâà äîñòóïà ìàðêåðà }
- function NtAccessCheckByType(pSecurityDescriptor: PSECURITY_DESCRIPTOR;
- PrincipalSelfSid: PSID; hClientToken: THANDLE; DesiredAccess: ACCESS_MASK;
- ObjectTypeList: POBJECT_TYPE_LIST; ObjectTypeListLength: ULONG;
- pGenericMapping: PGENERIC_MAPPING; pPrivilegeSet: PPRIVILEGE_SET;
- pPrivilegeSetLength: PULONG; pAccessGranted: PACCESS_MASK;
- AccessGrantedReturnStatus: PNTSTATUS): NTSTATUS; stdcall;
- { Ïðîâåðÿåò ïðàâà äîñòóïà ìàðêåðà è ãåíåðèðóåò ïðåäóïðåæäåíèÿ àóäèòà, åñëè
- èäåíòèôèêàòîð äîñòóïà îáëàäàåò SACL }
- function NtAccessCheckByTypeAndAuditAlarm(SubSystemName: PUNICODE_STRING;
- HandleId: PVOID; ObjectTypeName, ObjectName: PUNICODE_STRING;
- SecurityDescriptor: PSECURITY_DESCRIPTOR; PrincipalSelfSid: PSID;
- DesiredAccess: ACCESS_MASK; AuditType: AUDIT_EVENT_TYPE; Flags: ULONG;
- ObjectTypeList: POBJECT_TYPE_LIST; ObjectTypeListLength: ULONG;
- pGenericMapping: PGENERIC_MAPPING; bObjectCreation: BOOL;
- pAccessGranted: PACCESS_MASK; AccessGrantedReturnStatus: PNTSTATUS;
- bGenerateOnClose: PBOOLEAN): NTSTATUS; stdcall;
- { Ïðîâåðÿåò ïðàâà äîñòóïà ìàðêåðà }
- function NtAccessCheckByTypeResultList(
- pSecurityDescriptor: PSECURITY_DESCRIPTOR; PrincipalSelfSid: PSID;
- hClientToken: THANDLE; DesiredAccess: ACCESS_MASK;
- ObjectTypeList: POBJECT_TYPE_LIST; ObjectTypeListLength: ULONG;
- pGenericMapping: PGENERIC_MAPPING; pPrivilegeSet: PPRIVILEGE_SET;
- pPrivilegeSetLength: PULONG; pAccessGranted: PACCESS_MASK;
- AccessGrantedReturnStatus: PNTSTATUS): NTSTATUS; stdcall;
- { Ïðîâåðÿåò ïðàâà äîñòóïà ìàðêåðà è ãåíåðèðóåò ïðåäóïðåæäåíèÿ àóäèòà, åñëè
- èäåíòèôèêàòîð äîñòóïà îáëàäàåò SACL }
- function NtAccessCheckByTypeResultListAndAuditAlarm(
- SubSystemName: PUNICODE_STRING; HandleId: PVOID;
- ObjectTypeName, ObjectName: PUNICODE_STRING;
- SecurityDescriptor: PSECURITY_DESCRIPTOR; PrincipalSelfSid: PSID;
- DesiredAccess: ACCESS_MASK; AuditType: AUDIT_EVENT_TYPE; Flags: ULONG;
- ObjectTypeList: POBJECT_TYPE_LIST; ObjectTypeListLength: ULONG;
- pGenericMapping: PGENERIC_MAPPING; bObjectCreation: BOOLEAN;
- pAccessGranted: PACCESS_MASK; AccessGrantedReturnStatus: PNTSTATUS;
- bGenerateOnClose: PBOOLEAN): NTSTATUS; stdcall;
- { Ïðîâåðÿåò ïðàâà äîñòóïà ìàðêåðà è ãåíåðèðóåò ïðåäóïðåæäåíèÿ àóäèòà, åñëè
- èäåíòèôèêàòîð äîñòóïà îáëàäàåò SACL }
- function NtAccessCheckByTypeResultListAndAuditAlarmByHandle(
- SubsystemName: PUNICODE_STRING; HandleId: PVOID; TokenHandle: THANDLE;
- ObjectTypeName, ObjectName: PUNICODE_STRING;
- SecurityDescriptor: PSECURITY_DESCRIPTOR; PrincipalSelfSid: PSID;
- DesiredAccess: ACCESS_MASK; AuditType: AUDIT_EVENT_TYPE; Flags: ULONG;
- ObjectTypeList: POBJECT_TYPE_LIST; ObjectTypeListLength: ULONG;
- GenericMapping: PGENERIC_MAPPING; ObjectCreation: BOOL;
- GrantedAccessList: PACCESS_MASK; AccessStatusList: PULONG;
- GenerateOnClose: PULONG): NTSTATUS; stdcall;
- { Äîáàâëåíèå ãëîáàëüíîãî (???) àòîìà }
- function NtAddAtom (pString: LPWSTR; StringLength: ULONG;
- Atom: PATOM): NTSTATUS; stdcall;
- { Èçìåíÿåò àòðèáóòû ãðóïï â ìàðêåðå äîñòóïà }
- function NtAdjustGroupsToken(hToken: THANDLE; ResetToDefault: BOOL;
- pNewTokenGroups: PTOKEN_GROUPS; pOldTokenGroupsLength: ULONG;
- pOldTokenGroups: PTOKEN_GROUPS;
- pOldTokenGroupsActualLength: PULONG): NTSTATUS; stdcall;
- { Èçìåíåíèå ïðèâèëåãèé ìàðêåðà äîñòóïà }
- function NtAdjustPrivilegesToken (hToken: THANDLE;
- DisableAllPrivileges: Boolean; pNewPrivlegeSet: PTOKEN_PRIVILEGES;
- PreviousPrivilegeSetBufferLength: ULONG;
- pPreviousPrivlegeSet: PTOKEN_PRIVILEGES;
- PreviousPrivlegeSetReturnLength: PULONG): NTSTATUS; stdcall;
- { Ïîñûëêà òðåâîæíîãî ñèãíàëà ïîòîêó }
- function NtAlertThread(hThread: THANDLE): NTSTATUS; stdcall;
- { Ñîçäàåò ëîêàëüíî-óíèêàëüíûé èäåíòèôèêàòîð }
- function NtAllocateLocallyUniqueId(Luid: PLUID): NTSTATUS; stdcall;
- { Âûäåëÿåò ôèçè÷åñêóþ ïàìÿòü }
- function NtAllocateUserPhysicalPages(ProcessHandle: THANDLE;
- NumberOfPages, PageFrameNumbers: PULONG): NTSTATUS; stdcall;
- { Âûäåëåíèå âèðòóàëüíîé ïàìÿòè }
- function NtAllocateVirtualMemory (hProcess: THANDLE;
- PreferredBaseAddress: PVOID; nLowerZeroBits: DWORD;
- SizeRequestedAllocated: LPDWORD;
- AllocationType, ProtectionAttributes: DWORD): NTSTATUS; stdcall;
- { TODO: ÷òî äåëàåò ôóíêöèÿ }
- function NtApphelpCacheControl(ControlCode: LONG;
- ControlData: PVOID): NTSTATUS; stdcall;
- { Ïîäêëþ÷åíèå ïðîöåññà ê îáúåêòó Job }
- function NtAssignProcessToJobObject (
- hJob, hProcess: THANDLE): NTSTATUS; stdcall;
- { TODO: ÷òî äåëàåò ôóíêöèÿ }
- function NtAssociateProcessWithReserve(
- ProcessHandle, ReserveHandle: THANDLE): NTSTATUS; stdcall;
- { Îòìåíà ïîñëàííîãî çàïðîñà íà ïðîáóæäåíèå óñòðîéñòâà }
- function NtCancelDeviceWakeupRequest(DeviceHandle: THANDLE): NTSTATUS; stdcall;
- { Îòìåíà îïåðàöèè ââîäà/âûâîäà, ñâÿçàííîé ñ ôàéëîì }
- function NtCancelIoFile (hFile: THANDLE;
- IoStatusBlock: PIoStatusBlock): NTSTATUS; stdcall;
- { Îòìåíà òàéìåðà }
- function NtCancelTimer (TimerHandle: THANDLE;
- CurrentState: PBOOLEAN): NTSTATUS; stdcall;
- { Óñòàíîâêà ñîáûòèÿ â çàíÿòîå ñîñòîÿíèå }
- function NtClearEvent (hEvent: THANDLE): NTSTATUS; stdcall;
- { Çàêðûòèå îïèñàòåëÿ }
- function NtClose (AHandle: THandle): NTSTATUS; stdcall;
- { Ãåíåðèðóåò ïðåäóïðåæäåíèå àóäèòà, â ðåçóëüòàòå çàêðûòèÿ äåñêðèïòîðà îáúåêòà }
- function NtCloseObjectAuditAlarm(SubSystemName: PUNICODE_STRING;
- HandleId: PVOID; bGenerateOnClose: BOOL): NTSTATUS; stdcall;
- { Ïîäòâåðæäàåò òðàíçàêöèþ }
- function NtCommitTransaction(TransactionHandle: THANDLE;
- AddInfo: ULONG): NTSTATUS; stdcall;
- { Çàâåðøåíèå ñîåäèíåíèÿ ñ ïîðòîì }
- function NtCompleteConnectPort (PortHandle: THANDLE): NTSTATUS; stdcall;
- { Ïîäêëþ÷åíèå ê ïîðòó }
- function NtConnectPort (PortHandle: PHANDLE; PortName: PUNICODE_STRING;
- SecurityQos: PSECURITY_QUALITY_OF_SERVICE;
- WriteSection: PPORT_SECTION_WRITE; ReadSection: PPORT_SECTION_READ;
- MaxMesageSize: PULONG; ConnectInfo: PVOID;
- pConnectInfoLength: PULONG): NTSTATUS; stdcall;
- { Ñîçäàíèå îáúåêòà êàòàëîãà (Directory) }
- function NtCreateDirectoryObject (DirectoryHandle: PHandle;
- DesiredAccess: ACCESS_MASK;
- ObjectAttributes: POBJECT_ATTRIBUTES): NTSTATUS; stdcall;
- { Ñîçäàíèå îáúåêòà "Ñîáûòèå" }
- function NtCreateEvent (EventHandle: PHANDLE; DesiredAccess: ACCESS_MASK;
- ObjectAttributes: POBJECT_ATTRIBUTES; EventType: Integer;
- InitialState: BOOL): NTSTATUS; stdcall;
- { Ñîçäàíèå îáúåêòà "Ôàéë" }
- function NtCreateFile (FileHandle: PHandle; const DesiredAccess: ACCESS_MASK;
- ObjectAttributes: POBJECT_ATTRIBUTES; IoStatusBlock: PIoStatusBlock;
- AllocationSize: PLARGE_INTEGER;
- FileAttributes, ShareAccess, CreateDisposition, CreateOptions: ULONG;
- EaBuffer: PVOID; EaLength: ULONG): NTSTATUS; stdcall;
- { Ñîçäàíèå îáúåêòà "Çàäàíèå" (Job) }
- function NtCreateJobObject (phJob: PHANDLE; DesiredAccess: ACCESS_MASK;
- ObjectAttributes: POBJECT_ATTRIBUTES): NTSTATUS; stdcall;
- { Ñîçäàíèå êëþ÷à ðååñòðà }
- function NtCreateKey (phKey: PHandle; DesiredAccess: ACCESS_MASK;
- ObjectAttributes: POBJECT_ATTRIBUTES; TitleIndex: ULONG;
- AClass: PUNICODE_STRING; CreateOptions: ULONG;
- pDisposition: PULONG): NTSTATUS; stdcall;
- { Ñîçäàíèå îáúåêòà "Ïî÷òîâûé ÿùèê" }
- function NtCreateMailSlotFile (hMailSlot: PHANDLE; DesiredAccess: ACCESS_MASK;
- ObjectAttributes: POBJECT_ATTRIBUTES; IoStatusBlock: PIoStatusBlock;
- CreateOptions, InBufferSize, nMaxMessageSize: ULONG;
- ReadTimeout: PLARGE_INTEGER): NTSTATUS; stdcall;
- { Ñîçäàíèå îáúåêòà "Ìóòàíò" }
- function NtCreateMutant (hMutex: PHandle; AccessMask: ACCESS_MASK;
- ObjectAttributes: POBJECT_ATTRIBUTES; bOwnMutant: Boolean): NTSTATUS; stdcall;
- { Ñîçäàíèå îáúåêòà "Èìåíîâàííûé êàíàë" }
- function NtCreateNamedPipeFile (hPipe: PHANDLE; DesiredAccess: ACCESS_MASK;
- ObjectAttributes: POBJECT_ATTRIBUTES; IoStatusBlock: PIOSTATUSBLOCK;
- AllocationSize: PLARGE_INTEGER;
- FileAttributes, ShareAccess, PipeType, PipeReadMode, PipeWaitMode,
- nMaxInstances, nOutBufferSize, nInBufferSize: ULONG;
- DefaultTimeOut: PLARGE_INTEGER): NTSTATUS; stdcall;
- { Ñîçäàíèå îáúåêòà "Ïîðò LPC" }
- function NtCreatePort (PortHandle: PHANDLE; ObjectAttributes: OBJECT_ATTRIBUTES;
- MaxConnectInfoLength, MaxDataLength, MaxPoolUsage: ULONG): NTSTATUS; stdcall;
- { Ñîçäàíèå îáúåêòà "Ñåêöèÿ" }
- function NtCreateSection (phSection: PHANDLE; DesiredAccess: ACCESS_MASK;
- ObjectAttributes: POBJECT_ATTRIBUTES; MaximumSize: PLARGE_INTEGER;
- SectionPageProtection, AllocationAttributes: ULONG;
- hFile: THANDLE): NTSTATUS; stdcall;
- { Ñîçäàíèå îáúåêòà "Ñåìàôîð" }
- function NtCreateSemaphore (hSemaphore: PHANDLE; AccessMask: ACCESS_MASK;
- ObjectAttributes: POBJECT_ATTRIBUTES;
- InitialCount, MaximumCount: ULONG): NTSTATUS; stdcall;
- { Ñîçäàíèå îáúåêòà ñèìâîëüíîé ñâÿçè (Symbolic Link) }
- function NtCreateSymbolicLinkObject (SymbolicLinkHandle: PHandle;
- DesiredAccess: ACCESS_MASK;
- ObjectAttributes: POBJECT_ATTRIBUTES;
- SubstituteString: PUNICODE_STRING): NTSTATUS; stdcall;
- { Ñîçäàíèå îáúåêòà "ïîòîê" }
- function NtCreateThread(phThread: PHANDLE; AccessMask: ACCESS_MASK;
- ObjectAttributes: POBJECT_ATTRIBUTES; hProcess: THANDLE;
- pClientId: PCLIENT_ID; pContext: PCONTEXT; pStackInfo: PSTACKINFO;
- bSuspended: BOOL): NTSTATUS; stdcall;
- { Ñîçäàíèå îáúåêòà "Òàéìåð" }
- function NtCreateTimer (TimerHandle: PHandle; DesiredAccess: ACCESS_MASK;
- ObjectAttributes: POBJECT_ATTRIBUTES;
- TimerType: TIMER_TYPE): NTSTATUS; stdcall;
- { Ñîçäàíèå îáúåêòà "ïîðò" ñ îæèäàíèåì }
- function NtCreateWaitablePort(PortHandle: PHANDLE;
- ObjectAttributes: POBJECT_ATTRIBUTES;
- MaxConnectInfoLength, MaxDataLength, Reserved: ULONG): NTSTATUS; stdcall;
- { Ïîëó÷åíèå àäðåñà Thread Environment block }
- function NtCurrentTEB: Pointer;
- { Îòëàäêà àêòèâíîãî ïðîöåññà }
- function NtDebugActiveProcess(ProcessHandle: THANDLE;
- DebugObject: PVOID): NTSTATUS; stdcall;
- { Çàäåðæêà èñïîëíåíèÿ ïîòîêà íà óêàçàííîå âðåìÿ }
- function NtDelayExecution (bAlertable: ULONG;
- pDuration: PLARGE_INTEGER): NTSTATUS; stdcall;
- { Óäàëåíèå àòîìà }
- function NtDeleteAtom (AAtom: ATOM): NTSTATUS; stdcall;
- { Óäàëÿåò ôàéë }
- function NtDeleteFile(ObjectAttributes: POBJECT_ATTRIBUTES): NTSTATUS; stdcall;
- { Óäàëåíèå êëþ÷à ðååñòðà }
- function NtDeleteKey (KeyHandle: THANDLE): NTSTATUS; stdcall;
- { Ãåíåðèðóåò ïðåäóïðåæäåíèå àóäèòà, â ðåçóëüòàòå óäàëåíèÿ äåñêðèïòîðà îáúåêòà }
- function NtDeleteObjectAuditAlarm(SubSystemName: PUNICODE_STRING;
- HandleId: PVOID; bGenerateOnClose: BOOL): NTSTATUS; stdcall;
- { Óäàëåíèå çíà÷åíèå êëþ÷à ðååñòðà }
- function NtDeleteValueKey (hKey: THANDLE;
- pValueName: PUNICODE_STRING): NTSTATUS; stdcall;
- { Óïðàâëåíèå ôàéëîì èëè óñòðîéñòâîì }
- function NtDeviceIoControlFile (hFile, hEvent: THANDLE;
- IoApcRoutine: Pointer; IoApcContext: PVOID; IoStatusBlock: PIOSTATUSBLOCK;
- DeviceIoControlCode: ULONG; InBuffer: PVOID; InBufferLength: ULONG;
- OutBuffer: PVOID; OutBufferLength: ULONG): NTSTATUS; stdcall;
- { TODO: ÷òî äåëàåò ôóíêöèÿ }
- function NtDisassociateProcessFromReserve(
- ProcessHandle: THANDLE): NTSTATUS; stdcall;
- { TODO: ÷òî äåëàåò ôóíêöèÿ }
- function NtDisjoinThreadFromReserve(hThread: THANDLE): NTSTATUS; stdcall;
- { Äóáëèðîâàíèå äåñêðèïòîðà îáúåêòà }
- function NtDuplicateObject (SourceProcessHandle, SourceHandle,
- TargetProcessHandle : THandle; TargetHandle : PHandle;
- DesiredAccess: ACCESS_MASK; Attributes: ULONG; //OBJ_xxx
- Options: ULONG): NTSTATUS; stdcall;
- { Äóáëèðóåò ìàðêåð äîñòóïà }
- function NtDuplicateToken(hToken: THANDLE; DesiredAccess: ACCESS_MASK;
- ObjectAttributes: POBJECT_ATTRIBUTES; bMakeTokenEffectiveOnly: BOOL;
- TokenType: TOKEN_TYPE; phNewToken: PHANDLE): NTSTATUS; stdcall;
- { Ïåðå÷èñëåíèå êëþ÷åé ðååñòðà }
- function NtEnumerateKey (hKey: THANDLE; Index: ULONG;
- KeyInfoClass: KEY_INFORMATION_CLASS; KeyInfoBuffer: PVOID;
- KeyInfoBufferLength: ULONG; BytesCopied: PULONG): NTSTATUS; stdcall;
- { Ïåðå÷èñëåíèå çíà÷åíèé êëþ÷à ðååñòðà }
- function NtEnumerateValueKey (hKey: THANDLE; Index: ULONG;
- KeyValueInfoClass: KEY_VALUE_INFORMATION_CLASS; KeyValueInfoBuffer: PVOID;
- KeyValueInfoBufferLength: ULONG; BytesCopied: PULONG): NTSTATUS; stdcall;
- { Ñîçäàåò íîâûé ìàðêåð äîñòóïà ïðèìåíÿÿ îãðàíè÷åíèÿ ê ñóùåñòâóþùåìó }
- function NtFilterToken(ExistingTokenHandle: THANDLE; Flags: ULONG;
- SidsToDisable: PTOKEN_GROUPS; PrivilegesToDelete: PTOKEN_PRIVILEGES;
- SidsToRestrict: PTOKEN_GROUPS; NewTokenHandle: PHANDLE): NTSTATUS; stdcall;
- { Ïîèñê àòîìà }
- function NtFindAtom (pString: PWideChar; StringLength: ULONG;
- AAtom: PATOM): NTSTATUS; stdcall;
- { Ñáðîñ äàííûõ ôàéëà èç êýøà íà íîñèòåëü }
- function NtFlushBuffersFile(hFile: THANDLE;
- IoStatusBlock: PIOSTATUSBLOCK): NTSTATUS; stdcall;
- { Î÷èñòêà êýøà èíñòðóêöèé ïðîöåññîðà }
- function NtFlushInstructionCache(hProcess: THANDLE; BaseAddressRegion: PVOID;
- RegionSize: ULONG): NTSTATUS; stdcall;
- { Ñáðîñ äàííûõ êëþ÷à ðååñòðà èç êýøà }
- function NtFlushKey(KeyHandle: THANDLE): NTSTATUS; stdcall;
- { Îñâîáîæäåíèå âèðòóàëüíîé ïàìÿòè ïîñëå ñáðîñà åå â ôàéë }
- function NtFlushVirtualMemory (hProcess: THANDLE; StartingAddress: PVOID;
- SizeToFlush: PULONG; IoStatusBlock: PIOSTATUSBLOCK): NTSTATUS; stdcall;
- { Îñâîáîæäàåò ôèçè÷åñêóþ ïàìÿòü }
- function NtFreeUserPhysicalPages(ProcessHandle: THANDLE;
- NumberOfPages, PageFrameNumbers: PULONG): NTSTATUS; stdcall;
- { Îñâîáîæäåíèå âèðòóàëüíîé ïàìÿòè }
- function NtFreeVirtualMemory(hProcess: THANDLE; StartingAddress: PVOID;
- SizeRequestedReleased: LPDWORD; ReleaseType: UINT): NTSTATUS; stdcall;
- { Âûïîëíÿåò îïåðàöèþ ôàéëîâîé ñèñòåìû äëÿ îáúåêòà "Ôàéë" }
- function NtFsControlFile(hFile, hEvent: THANDLE; IoApcRoutine: Pointer;
- IoApcContext: PVOID; IoStatusBlock: PIOSTATUSBLOCK; FileSystemControlCode:
- ULONG; InBuffer: PVOID; InBufferLength: ULONG; OutBuffer: PVOID;
- OutBufferLength: ULONG): NTSTATUS; stdcall;
- { Ïîëó÷åíèå êîíòåêñòà îáúåêòà "Ïîòîê" }
- function NtGetContextThread(hThread: THANDLE;
- pContext: PCONTEXT): NTSTATUS; stdcall;
- { Ïîëó÷åíèå íîìåðà òåêóùåãî ïðîöåññîðà }
- function NtGetCurrentProcessorNumber: Integer; stdcall;
- { Ïîëó÷àåò ñîñòîÿíèå ïèòàíèÿ óñòðîéñòâà }
- function NtGetDevicePowerState(DeviceHandle: THANDLE;
- DevicePowerState: PDEVICE_POWER_STATE): NTSTATUS; stdcall;
- { Ïîëó÷åíèå èíôîðìàöèè î ìîäèôèêàöèè ñòðàíèö ïðîöåññà }
- function NtGetWriteWatch(ProcessHandle: THANDLE; Flags: ULONG;
- BaseAddress: PVOID; RegionSize: ULONG;
- Buffer, BufferEntries, Granularity: PULONG): NTSTATUS; stdcall;
- { Óñòàíàâëèâàåò ìàðêåð îëèöåòâîðåíèÿ ïîòîêà â ñîñòîÿíèå àíîíèìíîãî ìàðêåðà }
- function NtImpersonateAnonymousToken(hThread: THANDLE): NTSTATUS; stdcall;
- { Ïåðåâîïëîùåíèå â êëèåíòà ïîðòà }
- function NtImpersonateClientOfPort(PortHandle: THANDLE;
- LpcMessage: PLPCMESSAGE): NTSTATUS; stdcall;
- { Çàïðîñ ôóíêöèè óïðàâëåíèÿ ïèòàíèåì }
- function NtInitiatePowerAction(SystemAction: POWER_ACTION;
- MinSystemState: SYSTEM_POWER_STATE; Flags: ULONG;
- Asynchronous: BOOL): NTSTATUS; stdcall;
- { Âõîäèò ëè ïðîöåññ â óêàçàííîå çàäàíèå }
- function NtIsProcessInJob(ProcessHandle, JobHandle: THANDLE): NTSTATUS; stdcall;
- { Ñîîáùàåò, áûëà ëè ðàáîòû ñèñòåìû âîçîáíîâëåíà â ðåçóëüòàòå ñïëàíèðîâàííîãî
- ñîáûòèÿ èëè â îòâåò íà äåéñòâèÿ ïîëüçîâàòåëÿ }
- function NtIsSystemResumeAutomatic: NTSTATUS; stdcall;
- { TODO: ÷òî äåëàåò ôóíêöèÿ }
- function NtJoinThreadToReserve(
- ThreadHandle, ReserveHandle: THANDLE): NTSTATUS; stdcall;
- { Ïðîñëóøèâàíèå ïîðòà }
- function NtListenPort(PortHandle: THANDLE;
- LpcMessage: PLPCMESSAGE): NTSTATUS; stdcall;
- { Çàãðóçêà äðàéâåðà }
- function NtLoadDriver (DriverRegistryEntry: PUNICODE_STRING): NTSTATUS; stdcall;
- { Äîáàâëÿåò êóñò êëþ÷åé â ñèñòåìíûé ðååñòð }
- function NtLoadKey(KeyNameAttributes,
- HiveFileNameAttributes: POBJECT_ATTRIBUTES): NTSTATUS; stdcall;
- { Áëîêèðîâêà ÷àñòè ôàéëà }
- function NtLockFile(hFile, hEvent: THANDLE; IoApcRoutine: Pointer;
- IoApcContext: PVOID; IoStatusBlock: PIOSTATUSBLOCK;
- FileOffset, Length: PLARGE_INTEGER; LockOperationKey: PULONG;
- bFailIfNotPossibleAtThisPoint, bExclusiveLock: BOOL): NTSTATUS; stdcall;
- { Áëîêèðîâêà ñòðàíèö âèðòóàëüíîé ïàìÿòè }
- function NtLockVirtualMemory(hProcess: THANDLE; BaseAddress: PPVOID;
- RegionSize: PULONG; LockType: ULONG): NTSTATUS; stdcall;
- { Îòîáðàæåíèå ôèçè÷åñêîé ïàìÿòè íà àäðåñíîãî ïðîñòðàíñòâî ïðîöåññà }
- function NtMapUserPhysicalPages(BaseAddress: PVOID;
- NumberOfPages, PageFrameNumbers: PULONG): NTSTATUS; stdcall;
- { Îòîáðàæåíèå ôèçè÷åñêîé ïàìÿòè "âðàçáðîñ" íà àäðåñíîãî ïðîñòðàíñòâî ïðîöåññà }
- function NtMapUserPhysicalPagesScatter(BaseAddresses: PPVOID;
- NumberOfPages, PageFrameNumbers: PULONG): NTSTATUS; stdcall;
- { Îòîáðàæåíèå ñåêöèè íà àäðåñíîå ïðîñòðàíñòâî ïðîöåññà }
- function NtMapViewOfSection (hSection: THandle; hProcess: THandle;
- BaseAddress: PPVoid; ZeroBits: ULONG; CommitSize: ULONG;
- SectionOffset: PLARGE_INTEGER; ViewSize: PULONG;
- InheritDisposition: SECTION_INHERIT; AllocationType: ULONG;
- Protect: ULONG): NTSTATUS; stdcall;
- { Èçìåíåíèå àòðèáóòîâ îáúåêòà, äåëàþùåå îáúåêò âðåìåííûì }
- function NtMakeTemporaryObject (AHandle: THandle): NTSTATUS; stdcall;
- { Êîíòðîëèðóåò èçìåíåíèÿ â êàòàëîãå }
- function NtNotifyChangeDirectoryFile(hFile, hEvent: THANDLE;
- IoApcRoutine: Pointer; IoApcContext: PVOID; IoStatusBlock: PIOSTATUSBLOCK;
- ChangeBuffer: PVOID; ChangeBufferLength, NotifyFilter: ULONG;
- bWatchSubtree: BOOL): NTSTATUS; stdcall;
- { Îïîâåùàåò îá èçìåíåíèè êëþ÷à ðååñòðà èëè åãî àòðèáóòîâ }
- function NtNotifyChangeKey(hKey, hEvent: THANDLE; ApcRoutine: Pointer;
- ApcRoutineContext: PVOID; IoStatusBlock: PIOSTATUSBLOCK; NotifyFilter: ULONG;
- bWatchSubtree: BOOL; RegChangesDataBuffer: PVOID;
- RegChangesDataBufferLength: ULONG; bAynchronous: BOOL): NTSTATUS; stdcall;
- { Êîíòðîëèðóåò èçìåíåíèÿ äëÿ îäíîãî èëè äâóõ êëþ÷åé }
- function NtNotifyChangeMultipleKeys(KeyHandle: THANDLE; Flags: ULONG;
- KeyObjectAttributes: POBJECT_ATTRIBUTES; EventHandle: THANDLE;
- ApcRoutine: Pointer; ApcContext: PVOID; IoStatusBlock: PIOSTATUSBLOCK;
- NotifyFilter: ULONG; WatchSubTree: BOOL; Buffer: PVOID; BufferLength: ULONG;
- Asynchronous: BOOL): NTSTATUS; stdcall;
- { Îòêðûòèå îáúåêòà êàòàëîãà (Directory) }
- function NtOpenDirectoryObject (DirectoryHandle: PHandle;
- DesiredAccess: ACCESS_MASK;
- ObjectAttributes: POBJECT_ATTRIBUTES): NTSTATUS; stdcall;
- { Îòêðûòèå îáúåêòà "Ñîáûòèå" }
- function NtOpenEvent(hEvent: PHANDLE; DesiredAccess: ACCESS_MASK;
- ObjectAttributes: POBJECT_ATTRIBUTES): NTSTATUS; stdcall;
- { Îòêðûòèå îáúåêòà "Ôàéë" }
- function NtOpenFile (FileHandle: PHandle; const DesiredAccess: ACCESS_MASK;
- ObjectAttributes: POBJECT_ATTRIBUTES; IoStatusBlock: PIoStatusBlock;
- const ShareAccess, OpenOptions: ULONG) : NTSTATUS; stdcall;
- { Îòêðûòèå îáúåêòà "Çàäàíèå" }
- function NtOpenJobObject(phJob: PHANDLE; DesiredAccess: ACCESS_MASK;
- ObjectAttributes: POBJECT_ATTRIBUTES): NTSTATUS; stdcall;
- { Îòêðûòèå îáúåêòà "êëþ÷ ðååñòðà" (Key) }
- function NtOpenKey (phKey: PHandle; DesiredAccess: ACCESS_MASK;
- oa: POBJECT_ATTRIBUTES): NTSTATUS; stdcall;
- { Îòêðûòèå îáúåêòà "Ìóòàíò" }
- function NtOpenMutant(hMutex: PHANDLE; DesiredAccess: ACCESS_MASK;
- ObjectAttributes: POBJECT_ATTRIBUTES): NTSTATUS; stdcall;
- { Ãåíåðèðóåò ïðåäóïðåæäåíèå àóäèòà, â ðåçóëüòàòå îòêðûòèÿ äåñêðèïòîðà îáúåêòà }
- function NtOpenObjectAuditAlarm(SubsystemName: PUNICODE_STRING; HandleId: PVOID;
- ObjectTypeName, ObjectName: PUNICODE_STRING;
- pSecurityDescriptor: PSECURITY_DESCRIPTOR; hTokenClient: THANDLE;
- DesiredAccess, GrantedAccess: ACCESS_MASK; pPrivilegeSet: PPRIVILEGE_SET;
- bObjectCreation, bAccessGranted: BOOL;
- bGenerateOnClose: PBOOLEAN): NTSTATUS; stdcall;
- { Ïîëó÷åíèå äåñêðèïòîðà ïðîöåññà }
- function NtOpenProcess (phProcess: PHandle; DesiredAccess: ACCESS_MASK;
- oa: POBJECT_ATTRIBUTES; pClientId: PCLIENT_ID): NTSTATUS; stdcall;
- { Ïîëó÷åíèå ìàðêåðà äîñòóïà ïðîöåññà }
- function NtOpenProcessToken (hProcess: THandle; DesiredAccess: ACCESS_MASK;
- hToken: PHandle): NTSTATUS; stdcall;
- { Îòêðûòèå îáúåêòà "Reserve" }
- function NtOpenReserve(ReserveHandle: PHANDLE; DesiredAccess: ACCESS_MASK;
- oa: POBJECT_ATTRIBUTES): NTSTATUS; stdcall;
- { Îòêðûòèå îáúåêòà "Ñåêöèÿ" (ðàçäåëÿåìàÿ ïàìÿòü) }
- function NtOpenSection(SectionHandle: PHANDLE; DesiredAccess: ACCESS_MASK;
- ObjectAttributes: POBJECT_ATTRIBUTES): NTSTATUS; stdcall;
- { Îòêðûòèå îáúåêòà "Ñåìàôîð" }
- function NtOpenSemaphore(hSemaphore: PHANDLE; DesiredAccess: ACCESS_MASK;
- ObjectAttributes: POBJECT_ATTRIBUTES): NTSTATUS; stdcall;
- { Îòêðûòèå îáúåêòà ñèìâîëüíîé ñâÿçè (Symbolic Link) }
- function NtOpenSymbolicLinkObject (SymbolicLinkHandle: PHandle;
- DesiredAccess: ACCESS_MASK;
- ObjectAttributes: POBJECT_ATTRIBUTES) : NTSTATUS; stdcall;
- { Îòêðûòèå îáúåêòà "Ïîòîê" }
- function NtOpenThread(phThread: PHANDLE; AccessMask: ACCESS_MASK;
- ObjectAttributes: POBJECT_ATTRIBUTES;
- pClientId: PCLIENT_ID): NTSTATUS; stdcall;
- { Ïîëó÷åíèå ìàðêåðà äîñòóïà ïîòîêà }
- function NtOpenThreadToken (hThread: THANDLE; DesiredAccess: ACCESS_MASK;
- bUseContextOfProcess: LongBool; phToken: PHANDLE): NTSTATUS; stdcall;
- { Îòêðûòèå îáúåêòà "Òàéìåð" }
- function NtOpenTimer(TimerHandle: PHANDLE; DesiredAccess: ACCESS_MASK;
- ObjectAttributes: POBJECT_ATTRIBUTES): NTSTATUS; stdcall;
- { Ïîëó÷åíèå/óñòàíîâêà ñîñòîÿíèÿ óïðàâëåíèÿ ïèòàíèåì }
- function NtPowerInformation(PowerInformationLevel: POWER_INFORMATION_LEVEL;
- InputBuffer: PVOID; InputBufferLength: ULONG; OutputBuffer: PVOID;
- OutputBufferLength: ULONG): NTSTATUS; stdcall;
- { Ïðîâåðÿåò, îáëàäàåò ëè ìàðêåð îïðåäåëåííûì íàáîðîì ïðàâ }
- function NtPrivilegeCheck(hToken: THANDLE; PrivilegeSet: PPRIVILEGE_SET;
- pbHasPrivileges: PBOOLEAN): NTSTATUS; stdcall;
- { Ãåíåðèðóåò ïðåäóïðåæäåíèå àóäèòà, îïèñûâàþùåå ïðèìåíåíèå ïðàâ }
- function NtPrivilegedServiceAuditAlarm(
- SubsystemName, ServiceName: PUNICODE_STRING; hToken: THANDLE;
- pPrivilegeSet: PPRIVILEGE_SET; AccessGranted: BOOL): NTSTATUS; stdcall;
- { Ãåíåðèðóåò ïðåäóïðåæäåíèå àóäèòà, îïèñûâàþùåå èñïîëüçîâàíèå ïðàâ ñîâìåñòíî ñ
- äåñêðèïòîðîì îáúåêòà }
- function NtPrivilegeObjectAuditAlarm(SubsystemName: PUNICODE_STRING;
- HandleId: PVOID; hToken: THANDLE; DesiredAccess: ACCESS_MASK;
- pPrivilegeSet: PPRIVILEGE_SET; AccessGranted: BOOL): NTSTATUS; stdcall;
- { Èçìåíåíèå àòðèáóòîâ çàùèòû áëîêà âèðòóàëüíîé ïàìÿòè }
- function NtProtectVirtualMemory(hProcess: THANDLE; BaseAddress: PPVOID;
- RegionSize: PULONG; Protect: ULONG; OldProtect: PULONG): NTSTATUS; stdcall;
- { Èçìåíåíèå ñîñòîÿíèÿ îáúåêòà "Ñîáûòèå" íà ñâîáîäíîå/çàíÿòîå }
- function NtPulseEvent(hEvent: THANDLE;
- PreviousState: PULONG): NTSTATUS; stdcall;
- { Ïîëó÷åíèå èíôîðìàöèè îá àòðèáóòàõ ôàéëà }
- function NtQueryAttributesFile(ObjectAttributes: POBJECT_ATTRIBUTES;
- pFileBasicInfo: PFILE_BASIC_INFORMATION): NTSTATUS; stdcall;
- { Ïîëó÷åíèå ðåãèîíà ïî óìîë÷àíèþ }
- function NtQueryDefaultLocale(bSystemOrThreadLocale: BOOL;
- DefaultLocale: PULONG): NTSTATUS; stdcall;
- { Ïîëó÷åíèå ÿçûêà èíòåðôåéñà ïî óìîë÷àíèþ }
- function NtQueryDefaultUILanguage(
- DefaultUILanguage: PUSHORT): NTSTATUS; stdcall;
- { Ïîëó÷åíèå èíôîðìàöèè î ôàéëå êàòàëîãà }
- function NtQueryDirectoryFile(FileHandle, Event: THandle;
- ApcRoutine: Pointer; ApcContext: Pointer;
- IoStatusBlock: PIoStatusBlock; FileInformation: Pointer;
- FileInformationLength: ULONG; FileInformationClass: Integer;
- ReturnSingleEntry: LongBool; FileName: PUNICODE_STRING;
- RestartScan: LongBool): NTSTATUS; stdcall;
- { Îïðîñ îáúåêòà êàòàëîãà }
- function NtQueryDirectoryObject (DirectoryHandle : THandle;
- Buffer : PVOID; BufferLength : ULONG; ReturnSingleEntry : Boolean;
- RestartScan : Boolean; Context : PDWORD;
- ReturnLength : PDWORD) : NTSTATUS; stdcall;
- { Ïîëó÷åíèå èíôîðìàöèè î ðàñøèðåííûõ àòðèáóòàõ ôàéëà }
- function NtQueryEaFile(hFile: THANDLE; IoStatusBlock: PIOSTATUSBLOCK;
- QueryEaBuffer: PVOID; QueryEaBufferLength: ULONG; bReturnSingleEa: BOOL;
- pListEa: PVOID; pListEaLength: ULONG; ListEaIndex: PULONG;
- bRestartQuery: BOOL): NTSTATUS; stdcall;
- { Ïîëó÷åíèå èíôîðìàöèè îá îáúåêòå "Ñîáûòèå" }
- function NtQueryEvent(hEvent: THANDLE; InfoClass: EVENT_INFO_CLASS;
- EventInfoBuffer: PVOID; EventInfoBufferSize: ULONG;
- BytesCopied: PULONG): NTSTATUS; stdcall;
- { Ïîëó÷åíèå ïîëíîé èíôîðìàöèè î àòðèáóòàõ ôàéëà }
- function NtQueryFullAttributesFile(FileObjectAttributes: POBJECT_ATTRIBUTES;
- FullFileAttributes: PFULL_FILE_ATTRIBUTES): NTSTATUS; stdcall;
- { Ïîëó÷åíèå èíôîðìàöèè îá àòîìå }
- function NtQueryInformationAtom(AnAtom: ATOM; AtomInfoClass: ATOM_INFO_CLASS;
- AtomInfoBuffer: PVOID; AtomInfoBufferLength: ULONG;
- BytesCopied: PULONG): NTSTATUS; stdcall;
- { Ïîëó÷åíèå èíôîðìàöèè î ôàéëå }
- function NtQueryInformationFile(FileHandle: THandle;
- IoStatusBlock: PIoStatusBlock; FileInformation: PVOID; Length: ULONG;
- FileInformationClass: Integer): NTSTATUS; stdcall;
- { Ïîëó÷åíèå èíôîðìàöèè î çàäàíèè }
- function NtQueryInformationJobObject(hJob: THANDLE;
- JobObjectInfoClass: JOBOBJECTINFOCLASS; JobObjectInfoBuffer: PVOID;
- JobObjectInfoBufferLength: ULONG; BytesReturned: PULONG): NTSTATUS; stdcall;
- { Ïîëó÷åíèå èíôîðìàöèè îá îáúåêòå "ïîðò" }
- function NtQueryInformationPort(PortHandle: THANDLE; InfoClass: ULONG;
- Buffer: PVOID; BufferSize: ULONG; BytesReturned: PULONG): NTSTATUS; stdcall;
- { Ïîëó÷åíèå èíôîðìàöèè î ïðîöåññå }
- function NtQueryInformationProcess (hProcess : THandle;
- ProcessInformationClass : LongInt; ProcessInformation : Pointer;
- ProcessInformationLength : ULONG; ReturnLength : PDWORD) : NTSTATUS; stdcall;
- { Ïîëó÷åíèå èíôîðìàöèè îá îáúåêòå "Reserve" }
- function NtQueryInformationReserve(ReserveHandle: THANDLE;
- InformationClass: Integer; InformationBuffer: PVOID;
- InformationBufferSize: ULONG; ReturnedLength: PULONG): NTSTATUS; stdcall;
- { Ïîëó÷åíèå èíôîðìàöèè î ïîòîêå. }
- function NtQueryInformationThread (hThread: THANDLE; ThreadInfoClass: Integer;
- ThreadInfoBuffer: PVOID; ThreadInfoBufferLength: ULONG;
- BytesReturned: PULONG): NTSTATUS; stdcall;
- { Ïîëó÷åíèå èíôîðìàöèè î ìàðêåðå äîñòóïà }
- function NtQueryInformationToken (hToken: THandle;
- TokenInformationType: Integer; TokenInformationBuffer: Pointer;
- TokenInformationBufferSize: ULONG; ReturnLength: PDWORD): NTSTATUS; stdcall;
- { Ïîëó÷åíèå ÿçûêà ëîêàëèçàöèè ñèñòåìû }
- function NtQueryInstallUILanguage(
- InstallUILanguage: PUSHORT): NTSTATUS; stdcall;
- { Ïîëó÷åíèå èíôîðìàöèè î êëþ÷å ðååñòðà }
- function NtQueryKey (KeyHandle: THandle; KeyInformationClass: Integer;
- KeyInformation: PVOID; Length: ULONG;
- ResultLength: LPDWORD): NTSTATUS; stdcall;
- { Ïîëó÷åíèå èíôîðìàöèè îá îáúåêòå }
- function NtQueryObject (ObjectHandle: THandle;
- ObjectInformationClass: OBJECT_INFO_CLASS; ObjectInformation: Pointer;
- ObjectInformationLength: ULONG;
- ReturnLength: PDWORD): NTSTATUS; stdcall;
- { Îïðåäåëåíèå òåêóùåãî çíà÷åíèÿ è ÷àñòîòû ñ÷åò÷èêà ñèñòåìíîãî ìîíèòîðà }
- function NtQueryPerformanceCounter(
- pPerformanceCount, pFrequency: PLARGE_INTEGER): NTSTATUS; stdcall;
- { Ïîëó÷åíèå èíôîðìàöèè îá îáúåêòå "Ðàçäåë" }
- function NtQuerySection(hSection: THANDLE;
- SectionInfoClass: SECTION_INFORMATION_CLASS; Buffer: PVOID;
- BufferSize: ULONG; BytesReturned: PULONG): NTSTATUS; stdcall;
- { Ïîëó÷åíèå èíôîðìàöèè, ñâÿçàííîé ñ áåçîïàñíîñòüþ îáúåêòà }
- function NtQuerySecurityObject(hObject: THANDLE;
- SecurityInfoRequested: SECURITY_INFORMATION;
- pSecurityDescriptor: PSECURITY_DESCRIPTOR; pSecurityDescriptorLength: ULONG;
- BytesRequired: PULONG): NTSTATUS; stdcall;
- { Îïðåäåëåíèå àäðåñàòà ñèìâîëüíîé ñâÿçè }
- function NtQuerySymbolicLinkObject (SymbolicLinkHandle: THandle;
- TargetName: PUNICODE_STRING;
- ReturnLength: PDWORD): NTSTATUS; stdcall;
- { Ñáîð èíôîðìàöèè î ñèñòåìå }
- function NtQuerySystemInformation (SystemInformationClass: LongInt;
- SystemInformation: Pointer; SystemInformationLength: ULONG;
- ReturnLength: PDWORD): NTSTATUS; stdcall;
- { Âîçâðàùàåò òåêóùåå ñèñòåìíîå âðåìÿ }
- function NtQuerySystemTime(pSystemTime: PLARGE_INTEGER): NTSTATUS; stdcall;
- { Ïîëó÷åíèå èíôîðìàöèè î çíà÷åíèè êëþ÷à ðååñòðà }
- function NtQueryValueKey (KeyHandle: THandle; ValueName: PUNICODE_STRING;
- KeyValueInformationClass: KEY_VALUE_INFORMATION_CLASS;
- KeyValueInformation: PVOID; KeyValueInformationLength: ULONG;
- ResultLength: PULONG): NTSTATUS; stdcall;
- { Ñáîð èíôîðìàöèè î ïàìÿòè }
- function NtQueryVirtualMemory (hProcess: THandle; Address: PVOID;
- MemoryInformationClass: Integer; MemoryInformationBuffer: PVOID;
- MemoryInformationBufferLength: ULONG;
- ReturnLength: PDWORD): NTSTATUS; stdcall;
- { Ñáîð èíôîðìàöèè î äèñêîâîì òîìå }
- function NtQueryVolumeInformationFile (Handle: THandle;
- IoStatusBlock: PIoStatusBlock; VolumeInformation: Pointer;
- VolumeInformationLength: ULONG;
- VolumeInformationClass: LongInt): NTSTATUS; stdcall;
- { Ïîñòàíîâêà àñèíõðîííîé ïðîöåäóðû â î÷åðåäü ïîòîêà }
- function NtQueueApcThread(hThread: THANDLE; ApcRoutine: Pointer;
- NormalContext, SystemArgument1, SystemArgument2: PVOID): NTSTATUS; stdcall;
- { Îïîâåùåíèå î ôàòàëüíîé îøèáêå }
- function NtRaiseHardError(Status: NTSTATUS; NumberOfArguments,
- StringArgumentMask : ULONG; Arguments: PULONG; ResponseOption: Integer;
- Response: PLONG): NTSTATUS; stdcall;
- { ×òåíèå ôàéëà }
- function NtReadFile (FileHandle: THandle; Event: THandle; ApcRoutine: Pointer;
- ApcContext: Pointer; IoStatusBlock: PIoStatusBlock; Buffer: Pointer;
- Length: ULONG; ByteOffset: PLARGE_INTEGER; Key: PDWORD): NTSTATUS; stdcall;
- { ×òåíèå ôàéëà "Âðàçáðîñ" }
- function NtReadFileScatter(hFile, hEvent: THANDLE; IoApcRoutine: Pointer;
- IoApcContext: PVOID; IoStatusBlock: PIOSTATUSBLOCK;
- aSegmentArray: PFILE_SEGMENT_ELEMENT; nBytesToRead: ULONG;
- FileOffset: PLARGE_INTEGER; LockOperationKey: PULONG): NTSTATUS; stdcall;
- { ×òåíèå âèðòóàëüíîé ïàìÿòè ïðîöåññà }
- function NtReadVirtualMemory (hProcess : THandle; BaseAddress, Buffer: PVOID;
- BytesToRead: ULONG; BytesRead: PULONG): NTSTATUS; stdcall;
- { Ðåãèñòðàöèÿ ïîðòà, êóäà áóäåò ïîñëàíî ñîîáùåíèå ïðè çàâåðøåíèè ïîòîêà }
- function NtRegisterThreadTerminatePort(PortHandle: THANDLE): NTSTATUS; stdcall;
- { Ïåðåâîä îáúåêòà "Mutant" â ñèãíàëüíîå ñîñòîÿíèå }
- function NtReleaseMutant(hMutant: THANDLE;
- bWasSignalled: PULONG): NTSTATUS; stdcall;
- { Îñâîáîæäåíèå îáúåêòà "Ñåìàôîð" }
- function NtReleaseSemaphore(hSemaphore: THANDLE; ReleaseCount: ULONG;
- PreviousCount: PULONG): NTSTATUS; stdcall;
- { TODO: ÷òî äåëàåò ôóíêöèÿ }
- function NtRelinquishBudget: NTSTATUS; stdcall;
- { Ëèêâèäèðóåò î÷åðåäü ñîîáùåíèé î çàâåðøåíèè ââîäà/âûâîäà â îáúåêòå çàâåðøåíèÿ
- ââîäà/âûâîäà }
- function NtRemoveIoCompletion(hIoCompletion: THANDLE;
- lpCompletionKey, lpCompletionValue: PULONG; IoStatusBlock: PIOSTATUSBLOCK;
- Timeout: PLARGE_INTEGER): NTSTATUS; stdcall;
- { Îòñîåäèíåíèå îòëàä÷èêà îò ïðîöåññà }
- function NtRemoveProcessDebug(ProcessHandle: THANDLE;
- DebugObject: PVOID): NTSTATUS; stdcall;
- { Çàìåíÿåò îäèí êóñò êëþ÷åé íà äðóãîé }
- function NtReplaceKey(NewHiveFile: POBJECT_ATTRIBUTES; hKey: THANDLE;
- BackupHiveFile: POBJECT_ATTRIBUTES): NTSTATUS; stdcall;
- { Îòâåò â ïîðò LPC }
- function NtReplyPort (PortHandle: THANDLE;
- LpcMessage: PLPCMESSAGE): NTSTATUS; stdcall;
- { Îòâåò, îæèäàíèå, ïîëó÷åíèå ñîîáùåíèÿ îò ïîðòà }
- function NtReplyWaitReceivePort (PortHandle: THANDLE; PortIdentifier: PULONG;
- LpcMessageOut, LpcMessageIn: PLPCMESSAGE): NTSTATUS; stdcall;
- { Îòâåò â ïîðò }
- function NtReplyWaitReplyPort(PortHandle: THANDLE;
- LpcMessage: PLPCMESSAGE): NTSTATUS; stdcall;
- { Çàïðîñ íà ïðîáóæäåíèå óñòðîéñòâà }
- function NtRequestDeviceWakeup (hDevice: THANDLE): NTSTATUS; stdcall;
- { Çàïðîñ â ïîðò }
- function NtRequestPort(PortHandle: THANDLE;
- LpcMessage: PLPCMESSAGE): NTSTATUS; stdcall;
- { Çàïðîñ, îæèäàíèå, îòâåò ïîðòó }
- function NtRequestWaitReplyPort (PortHandle: THANDLE;
- pLpcMessageIn, pLpcMessageOut: PLPCMESSAGE): NTSTATUS; stdcall;
- { Óñòàíîâêà âðåìåíè, â òå÷åíèå êîòîðîãî ñèñòåìà äîëæíà áûòü ïðèâåäåíà â
- ðàáîòîñïîñîáíîå ñîñòîÿíèå }
- function NtRequestWakeupLatency(Latency: LATENCY_TIME): NTSTATUS; stdcall;
- { Ñáðîñ îáúåêòà "Ñîáûòèå" }
- function NtResetEvent (hEvent: THANDLE; OldState: PBOOLEAN): NTSTATUS; stdcall;
- { Ñáðîñ èíôîðìàöèè ìîäèôèêàöèè ñòðàíèö }
- function NtResetWriteWatch(ProcessHandle: THANDLE; BaseAddress: PVOID;
- RegionSize: ULONG): NTSTATUS; stdcall;
- { Âîññòàíàâëèâàåò â ñèñòåìíîì ðååñòðå êëþ÷, ñîõðàíåííûé â ôàéëå }
- function NtRestoreKey(hKey, hFile: THANDLE; Flags: ULONG): NTSTATUS; stdcall;
- { Âîçîáíîâëåíèå âûïîëíåíèÿ ïîòîêà }
- function NtResumeThread (hThread: THANDLE;
- pSuspendCount: PULONG): NTSTATUS; stdcall;
- { Îòìåíÿåò òðàíçàêöèþ }
- function NtRollbackTransaction(TransactionHandle: THANDLE;
- AddInfo: ULONG): NTSTATUS; stdcall;
- { Ñîõðàíÿåò â ôàéë êîïèþ êëþ÷à è åãî âëîæåííûõ êëþ÷åé }
- function NtSaveKey(hKey, hFile: THANDLE): NTSTATUS; stdcall;
- { Áåçîïàñíîå ïîäêëþ÷åíèå ê ïîðòó }
- function NtSecureConnectPort (PortHandle: PHANDLE; PortName: PUNICODE_STRING;
- SecurityQos: PSECURITY_QUALITY_OF_SERVICE;
- WriteSection: PPORT_SECTION_WRITE; ServerSid: PSID;
- ReadSection: PPORT_SECTION_READ; MAxMessageSize: PULONG; ConnectData: PVOID;
- ConnectDataLength: PULONG): NTSTATUS; stdcall;
- { Óñòàíîâêà êîíòåêñòà ïîòîêà }
- function NtSetContextThread(hThread: THANDLE;
- pContext: PCONTEXT): NTSTATUS; stdcall;
- { Óñòàíîâêà ïîðòà äëÿ ïîëó÷åíèÿ ñîîáùåíèé î ñåðüåçíûõ îøèáêàõ }
- function NtSetDefaultHardErrorPort (hPort: THandle): NTSTATUS; stdcall;
- { Óñòàíîâêà äîïîëíèòåëüíûõ àòðèáóòîâ ôàéëà }
- function NtSetEaFile(hFile: THANDLE; IoStatusBlock: PIOSTATUSBLOCK;
- EaBuffer: PVOID; EaBufferLength: ULONG): NTSTATUS; stdcall;
- { Óñòàíîâêà îáúåêòà "Ñîáûòèå" â ñèãíàëüíîå ñîñòîÿíèå }
- function NtSetEvent (EventHandle: THANDLE;
- OldState: PBOOLEAN): NTSTATUS; stdcall;
- { Óñòàíîâêà ïàðàìåòðîâ îáúåêòà "îòëàäêà" }
- function NtSetInformationDebugObject(DebugObjectHandle: THANDLE;
- InformationClass: Integer; InformationBuffer: PVOID;
- InformationBufferSize: ULONG; Unknown: PULONG): NTSTATUS; stdcall;
- { Óñòàíîâêà èíôîðìàöèè ôàéëà }
- function NtSetInformationFile (FileHandle: THandle;
- IoStatusBlock: PIoStatusBlock; FileInformation: Pointer; Length: ULONG;
- FileInformationClass: Integer): NTSTATUS; stdcall;
- { Óñòàíîâêà ïàðàìåòðîâ îáúåêòà "Çàäàíèå" }
- function NtSetInformationJobObject(hJob: THANDLE;
- JobObjectInfoClass: JOBOBJECTINFOCLASS; JobObjectInfoBuffer: PVOID;
- JobObjectInfoBufferLength: ULONG): NTSTATUS; stdcall;
- { Óñòàíîâêà ïàðàìåòðîâ îáúåêòà }
- function NtSetInformationObject(hObject: THANDLE;
- ObjectInfoClass: OBJECT_INFO_CLASS; Buffer: PVOID;
- BufferSize: ULONG): NTSTATUS; stdcall;
- { Óñòàíîâêà èíôîðìàöèè ïðîöåññà }
- function NtSetInformationProcess (hProcess: THandle;
- ProcessInformationClass: LongInt; ProcessInformation: Pointer;
- ProcessInformationLength: ULONG): NTSTATUS; stdcall;
- { Óñòàíîâêà ïàðàìåòðîâ îáúåêòà "Reserve" }
- function NtSetInformationReserve(ReserveHandle: THANDLE;
- InformationClass: Integer; InformationBuffer: PVOID;
- InformationBufferSize: ULONG): NTSTATUS; stdcall;
- { Óñòàíîâêà ïàðàìåòðîâ ïîòîêà }
- function NtSetInformationThread (hThread: THANDLE; ThreadInfoClass: Integer;
- ThreadInfoBuffer: PVOID; ThreadInfoBufferLength: ULONG): NTSTATUS; stdcall;
- { Óñòàíàâëèâàåò ïàðàìåòðû ìàðêåðà äîñòóïà }
- function NtSetInformationToken(hToken: THANDLE;
- TokenInfoClass: TOKEN_INFORMATION_CLASS; TokenInfoBuffer: PVOID;
- TokenInfoBufferLength: ULONG): NTSTATUS; stdcall;
- { Óñòàíîâêà î÷åðåäè ñîîáùåíèé î çàâåðøåíèè ââîäà/âûâîäà äëÿ îáúåêòà çàâåðøåíèÿ
- ââîäà/âûâîäà }
- function NtSetIoCompletion(IoCompletionPortHandle: THANDLE;
- CompletionKey, CompletionValue: ULONG; CompletionStatus: NTSTATUS;
- CompletionInformation: ULONG): NTSTATUS; stdcall;
- { Óñòàíîâêà äîñòóïà ê îáúåêòó }
- function NtSetSecurityObject(hObj: THANDLE; SI: SECURITY_INFORMATION;
- pSD: PVOID): NTSTATUS; stdcall;
- { Óñòàíîâêà ñèñòåìíîé èíôîðìàöèè }
- function NtSetSystemInformation (SystemInformationClass: LongInt;
- SystemInformation: Pointer;
- SystemInformationLength: ULONG): NTSTATUS; stdcall;
- { Óñòàíîâêà ñèñòåìíîãî âðåìåíè }
- function NtSetSystemTime(
- pSystemTime, pOldsystemTime: PLARGE_INTEGER): NTSTATUS; stdcall;
- { Óñòàíàâëèâàåò óñëîâèÿ äëÿ âûïîëíåíèÿ òåêóùåãî ïîòîêà }
- function NtSetThreadExecutionState(ExecutionState: Integer;
- PreviousExecutionState: PInteger): NTSTATUS; stdcall;
- { Óñòàíîâêà ñâîéñòâ îáúåêòà "òàéìåð" }
- function NtSetTimer(TimerHandle: THANDLE; DueTime: PLARGE_INTEGER;
- TimerApcRoutine: Pointer; TimerContext: PVOID; WakeTimer: BOOL;
- Period: LONG; PreviousState: PBOOLEAN): NTSTATUS; stdcall;
- { Óñòàíîâêà çíà÷åíèÿ êëþ÷à ñèñòåìíîãî ðååñòðà }
- function NtSetValueKey (hKey: THANDLE; uValueName: PUNICODE_STRING;
- TitleIndex, ValueType: ULONG; pValueData: PVOID;
- pValueDataLength: ULONG): NTSTATUS; stdcall;
- { Óñòàíîâêà ïàðàìåòðîâ òîìà }
- function NtSetVolumeInformationFile(hFile: THANDLE;
- IoStatusBlock: PIOSTATUSBLOCK; VolumeInformationBuffer: PVOID;
- VolumeInformationBufferLength: ULONG;
- FileSystemInformationClass: FS_INFORMATION_CLASS): NTSTATUS; stdcall;
- { Óñòàíîâêà îáúåêòà â ñèãíàëüíîå ñîñòîÿíèå è îæèäàíèå äðóãîãî îáúåêòà }
- function NtSignalAndWaitForSingleObject(hSignalObject, hWaitObject: THANDLE;
- bAlertable: BOOL; Timeout: PLARGE_INTEGER): NTSTATUS; stdcall;
- { Ïðèîñòàíîâêà ïîòîêà }
- function NtSuspendThread(hThread: THANDLE;
- pSuspendCount: PULONG): NTSTATUS; stdcall;
- { Çàâåðøåíèå çàäàíèÿ }
- function NtTerminateJobObject(hJob: THANDLE;
- ExitCode: NTSTATUS): NTSTATUS; stdcall;
- { Çàâåðøåíèå ïðîöåññà }
- function NtTerminateProcess (hProcess: THandle;
- ExitCode: DWORD): NTSTATUS; stdcall;
- { Çàâåðøåíèå ïîòîêà }
- function NtTerminateThread (hThread: THandle;
- ExitCode: DWORD): NTSTATUS; stdcall;
- { Ïðîâåðêà òðåâîæíîãî ñîñòîÿíèÿ ïîòîêà }
- function NtTestAlert: NTSTATUS; stdcall;
- { Âûãðóçêà äðàéâåðà }
- function NtUnloadDriver(
- DriverRegistryEntry: PUNICODE_STRING): NTSTATUS; stdcall;
- { Óäàëÿåò êóñò êëþ÷åé èç ñèñòåìíîãî ðååñòðà }
- function NtUnloadKey(KeyNameAttributes: POBJECT_ATTRIBUTES): NTSTATUS; stdcall;
- { Ðàçáëîêèðîâêà ó÷àñòêà ôàéëà }
- function NtUnlockFile(hFile: THANDLE; IoStatusBlock: PIOSTATUSBLOCK;
- FileOffset, Length: PLARGE_INTEGER;
- LockOperationKey: PULONG): NTSTATUS; stdcall;
- { Ðàçáëîêèðîâêà ñòðàíèö âèðòóàëüíîé ïàìÿòè }
- function NtUnlockVirtualMemory(hProcess: THANDLE; BaseAddress: PPVOID;
- RegionSize: PULONG; UnlockTypeRequested: ULONG): NTSTATUS; stdcall;
- { Óäàëåíèå îòîáðàæåíèÿ ñåêöèè }
- function NtUnmapViewOfSection (hProcess: THandle;
- BaseAddress: Pointer): NTSTATUS; stdcall;
- { Óïðàâëåíèå ìåíåäæåðîì âèðòóàëüíûõ ìàøèí DOS }
- function NtVdmControl(ControlCode: ULONG;
- ControlData: PVOID): NTSTATUS; stdcall;
- { Îæèäàíèå ïåðåõîäà íåñêîëüêèõ (èëè îäíîãî èç) îáúåêòîâ â ñèãíàëüíîå ñîñòîÿíèå }
- function NtWaitForMultipleObjects(NumberOfHandles: ULONG;
- ArrayOfHandles: PHANDLE; WaitType: Integer; Alertable: BOOL;
- Timeout: ULONG): NTSTATUS; stdcall;
- { Îæèäàíèå îáúåêòà }
- function NtWaitForSingleObject (Handle: THandle;
- Alertable: LongBool; Timeout: PLARGE_INTEGER): NTSTATUS; stdcall;
- { Çàïèñü â ôàéë }
- function NtWriteFile (FileHandle: THandle; Event: THandle;
- ApcRoutine: Pointer; ApcContext:Pointer; IoStatusBlock: PIoStatusBlock;
- Buffer: Pointer; Length: ULONG; ByteOffset: PLARGE_INTEGER;
- Key: PDWORD): NTSTATUS; stdcall;
- { Çàïèñü ôàéëà "âðàçáðîñ" }
- function NtWriteFileGather(hFile, hEvent: THANDLE; IoApcRoutine: Pointer;
- IoApcContext: PVOID; IoStatusBlock: PIOSTATUSBLOCK;
- aSegmentArray: PFILE_SEGMENT_ELEMENT; nBytesToWrite: ULONG;
- FileOffset: PLARGE_INTEGER; LockOperationKey: PULONG): NTSTATUS; stdcall;
- { Çàïèñü â çíà÷åíèÿ â âèðòóàëüíóþ ïàìÿòü ïðîöåññà }
- function NtWriteVirtualMemory(hProcess: THANDLE; BaseAddress: PVOID;
- Buffer: PVOID; BytesToWrite: ULONG; BytesWritten: PULONG): NTSTATUS; stdcall;
- { Âûçîâ ïëàíèðîâùèêà ïîòîêîâ }
- function NtYieldExecution: NTSTATUS; stdcall;
- { RTL }
- { Áëîêèðîâêà áëîêà îêðóæåíèÿ ïðîöåññà }
- procedure RtlAcquirePebLock; stdcall;
- { Àêòèâàöèÿ êîíòåêñòà side-by-side }
- function RtlActivateActivationContext(dwFlags: DWORD; hActCtx: THANDLE;
- lpCookie: PPDWORD): NTSTATUS; stdcall;
- { Àêòèâàöèÿ êîíòåêñòà side-by-side }
- function RtlActivateActivationContextEx(dwFlags: DWORD; Teb: PVOID;
- hActCtx: THANDLE; lpCookie: PPDWORD): NTSTATUS; stdcall;
- { Äîáàâëåíèå â äåñêðèïòîð áåçîïàñíîñòè ðàçðåøàþùåãî ACE }
- function RtlAddAccessAllowedAce(pAcl: PACL; dwAceRevision: ULONG;
- AccessMask: ULONG; pSid: PSID): NTSTATUS; stdcall;
- { Äîáàâëÿåò ññûëêó íà êîíòåêñò àêòèâàöèè }
- procedure RtlAddRefActivationContext(hActCtx: THANDLE); stdcall;
- { Èçìåíÿåò ñîñòîÿíèå ïðèâèëåãèè â ìàðêåðå (CurrentThread-FALSE-CurrentProcess) }
- function RtlAdjustPrivilege(Privilege: ULONG; Enable, CurrentThread: BOOL;
- Enabled: PBOOLEAN): NTSTATUS; stdcall;
- { Ñîçäàíèå èäåíòèôèêàòîðà áåçîïàñíîñòè }
- function RtlAllocateAndInitializeSid(
- pIdentifierAuthority: PSID_IDENTIFIER_AUTHORITY;
- nSubAuthorityCount: Integer; dwSubAuthority0, dwSubAuthority1,
- dwSubAuthority2, dwSubAuthority3, dwSubAuthority4, dwSubAuthority5,
- dwSubAuthority6, dwSubAuthority7: DWORD; pSid: PPSID): NTSTATUS; stdcall;
- { Ñîçäàíèå äåñêðèïòîðà â ëîêàëüíîé òàáëèöå äåñêðèïòîðîâ }
- function RtlAllocateHandle(HandleTable: PRTL_HANDLE_TABLE;
- HandleIndex: PULONG): PRTL_HANDLE_TABLE_ENTRY; stdcall;
- { Âûäåëåíèå ïàìÿòè èç êó÷è }
- function RtlAllocateHeap (Heap: THandle; AllocationFlags: DWORD;
- Size: DWORD): Pointer; stdcall;
- { Ïåðåâîä ANSI-ñèìâîëà â Unicode-ñèìâîë }
- function RtlAnsiCharToUnicodeChar(SourceCharacter: PPBYTE): WCHAR; stdcall;
- { Âîçâðàùåò ðàçìåð áóôåðà äëÿ ïåðåêîäèðîâêè èç ANSI â Unicode }
- function RtlAnsiStringToUnicodeSize(AAnsiString: PANSI_STRING): ULONG; stdcall;
- { Ïðåîáðàçîâàíèå ANSI-ñòðîêè â UNICODE-ñòðîêó }
- function RtlAnsiStringToUnicodeString (DestinationString: PUNICODE_STRING;
- SourceString: PANSI_STRING;
- AllocateDestinationString: BOOL): NTSTATUS; stdcall;
- { Êîíêàòåíàöèÿ Unicode-ñòðîê }
- function RtlAppendUnicodeStringToString(
- Destination, Source: PUNICODE_STRING): NTSTATUS; stdcall;
- { Êîíêàòåíàöèÿ ñòðîêè â Unicode }
- function RtlAppendUnicodeToString (us: PUNICODE_STRING;
- sAppend: LPCWSTR): NTSTATUS; stdcall;
- { Îñòàíàâëèâàåò ïðèëîæåíèå ïîäñèñòåìîé ïðîâåðêè ïðèëîæåíèé }
- procedure RtlApplicationVerifierStop(Code: ULONG; Message: LPSTR;
- Param1: ULONG; Description1: LPSTR; Param2: ULONG; Description2: LPSTR;
- Param3: ULONG; Description3: LPSTR; Param4: ULONG;
- Description4: LPSTR); stdcall;
- { Óñòàíîâëåí ëè íàáîð áèòîâ }
- function RtlAreBitsSet(BitMapHeader: PRTL_BITMAP;
- StartingIndex, Length: ULONG): BOOL; stdcall;
- { Ïðåîáðàçîâàíèå ANSI-ñòðîêè â ÷èñëî }
- function RtlCharToInteger(AString: LPSTR; Base: ULONG;
- Value: PULONG): NTSTATUS; stdcall;
- { Ïðîâåðêà ïóòè ê êëþ÷ó ðååñòðà }
- function RtlCheckRegistryKey(RelativeTo: ULONG;
- Path: LPWSTR): NTSTATUS; stdcall;
- { Ñáðîñ áèòîâ â áèòîâîé êàðòå }
- procedure RtlClearBits(BitMapHeader: PRTL_BITMAP;
- StartingIndex, NumberToClear: ULONG); stdcall;
- { Óïëîòíåíèå êó÷è }
- function RtlCompactHeap(HeapHandle: PVOID; Flags: ULONG): SIZE_T; stdcall;
- { Ñðàâíåíèå äâóõ ó÷àñòêîâ ïàìÿòè }
- function RtlCompareMemory(Source1, Source2: PVOID;
- Length: SIZE_T): SIZE_T; stdcall;
- { Ñðàâíèâàåò ANSI-ñòðîêè }
- function RtlCompareString(String1, String2: PSTRING;
- CaseInSensitive: BOOL): LONG; stdcall;
- { Ñðàâíåíèå äâóõ Unicode-ñòðîê }
- function RtlCompareUnicodeString(String1, String2: PUNICODE_STRING;
- CaseInSensitive: BOOL): LONG; stdcall;
- { Ïðåîáðàçîâàíèå èäåíòèôèêàòîðà áåçîïàñíîñòè â Unicode-ñòðîêó }
- function RtlConvertSidToUnicodeString(UnicodeString: PUNICODE_STRING;
- Sid: PSID; AllocateDestinationString: BOOL): NTSTATUS; stdcall;
- { Êîïèðîâàíèå ëîêàëüíî-óíèêàëüíîãî èäåíòèôèêàòîðà }
- procedure RtlCopyLuid (DestLuid, SrcLuid: PLUID); stdcall;
- { Êîïèðîâàíèå ANSI-ñòðîêè }
- procedure RtlCopyString(DestinationString, SourceString: PSTRING); stdcall;
- { Êîïèðîâàíèå Unicode-ñòðîêè }
- procedure RtlCopyUnicodeString(
- DestinationString, SourceString: PUNICODE_STRING); stdcall;
- { Ñîçäàíèå ñïèñêà äîñòóïà }
- function RtlCreateAcl(Acl: PACL; nAclLength: ULONG;
- dwAclRevision: ULONG): NTSTATUS; stdcall;
- { Ñîçäàíèå òàáëèöû àòîìîâ }
- function RtlCreateAtomTable(InitSize: DWORD;
- pAtomTableHandle: PHANDLE): NTSTATUS; stdcall;
- { Ñîçäàíèå áëîêà ïåðåìåííûõ îêðóæåíèÿ }
- function RtlCreateEnvironment(CopyCurrent: BOOL;
- EnvironmentBlock: PPVOID): NTSTATUS; stdcall;
- { Ñîçäàíèå êó÷è }
- function RtlCreateHeap(AllocationFlags: ULONG; BaseAddress: PVOID;
- MaximumSize, InitialSize: ULONG; UnknownAddress: PVOID;
- HeapInfo: PHEAP_INFO): THANDLE; stdcall;
- { Ñîçäàíèå áëîêà ïàðàìåòðîâ ïðîöåññà }
- function RtlCreateProcessParameters(ProcessParameters: PPPROCESS_PARAMETERS;
- ImagePathName, DllPath, CurrentDirectory, CommandLine: PUNICODE_STRING;
- EnvironmentBlock: PVOID; WindowTitle, DesktopInfo,
- ShellInfo, RuntimeData: PUNICODE_STRING): NTSTATUS; stdcall;
- { Ñîçäàíèå áóôåðà îòëàäî÷÷íîé èíôîðìàöèè }
- function RtlCreateQueryDebugBuffer(MaximumCommit: ULONG;
- UseEventPair: BOOL): PRTL_DEBUG_INFORMATION; stdcall;
- { Ñîçäàíèå äåñêðèïòîðà áåçîïàñíîñòè }
- function RtlCreateSecurityDescriptor(
- SecurityDescriptor: PSECURITY_DESCRIPTOR; Revision: ULONG): NTSTATUS; stdcall;
- { Ñîçäàíèå êó÷è ñ òýãàìè }
- function RtlCreateTagHeap (Heap: THandle; Flags: ULONG;
- TagPrefix, TagNames: LPWSTR): DWORD; stdcall;
- { Ñîçäàíèå òàéìåðà â î÷åðåäè òàéìåðîâ }
- function RtlCreateTimer(TimerQueueHandle: THANDLE; Handle: PHANDLE;
- AFunction: Pointer; Context: PVOID;
- DueTime, Period, Flags: ULONG): NTSTATUS; stdcall;
- { Ñîçäàíèå î÷åðåäè òàéìåðîâ }
- function RtlCreateTimerQueue(TimerQueueHandle: PHANDLE): NTSTATUS; stdcall;
- { Ñîçäàíèå ñòðîêè UNICODE }
- function RtlCreateUnicodeString (us: PUNICODE_STRING;
- s: PWideChar): Boolean; stdcall;
- { Ñîçäàíèå ñòðîêè UNICODE èç null-terminated ANSI-ñòðîêè }
- function RtlCreateUnicodeStringFromAsciiz (us: PUNICODE_STRING;
- s: PAnsiChar): Boolean; stdcall;
- { Ïðåîáðàçîâàíèå èç çàäàííîé êîäîâîé ñòðàíèöû â Unicode-ñòðîêó }
- function RtlCustomCPToUnicodeN(CustomCP: PCPTABLEINFO; UnicodeString: LPWSTR;
- MaxBytesInUnicodeString: ULONG; BytesInUnicodeString: PULONG;
- CustomCPString: LPSTR; BytesInCustomCPString: ULONG): NTSTATUS; stdcall;
- { Ïåðåâîä âðåìåíè (???) â ñèñòåìíîå âðåìÿ }
- function RtlCutoverTimeToSystemTime(CutoverTime: PTIME_FIELDS;
- SystemTime: PLARGE_INTEGER; CurrentSystemTime: PLARGE_INTEGER;
- ThisYear: BOOL): BOOL; stdcall;
- { TODO: ÷òî äåëàåò ôóíêöèÿ }
- function RtlDefaultNpAcl(pAcl: PPACL): NTSTATUS; stdcall;
- { Óäàëåíèå àòîìà èç òàáëèöû àòîìîâ }
- function RtlDeleteAtomFromAtomTable(AtomTable: THANDLE;
- AnAtom: ATOM): NTSTATUS; stdcall;
- { Óäàëåíèå êðèòè÷åñêîãî ðàçäåëà }
- function RtlDeleteCriticalSection(
- var Section: TRTLCriticalSection): NTSTATUS; stdcall;
- { Óäàëåíèå òàéìåðà èç î÷åðåäè òàéìåðîâ }
- function RtlDeleteTimer(
- TimerQueueHandle, TimerToCancel, Event: THANDLE): NTSTATUS; stdcall;
- { Óäàëåíèå î÷åðåäè òàéìåðîâ }
- function RtlDeleteTimerQueue(QueueHandle: THANDLE): NTSTATUS; stdcall;
- { Óäàëåíèå î÷åðåäè òàéìåðîâ }
- function RtlDeleteTimerQueueEx(QueueHandle, Event: THANDLE): NTSTATUS; stdcall;
- { Óäàëÿåò îáúåêò "îæèäàíèå" èç ïóëà îæèäàþùèõ îáúåêòîâ }
- function RtlDeregisterWait(WaitHandle: THANDLE): NTSTATUS; stdcall;
- { Óäàëÿåò îáúåêò "îæèäàíèå" èç ïóëà îæèäàþùèõ îáúåêòîâ }
- function RtlDeregisterWaitEx(WaitHandle, Event: THANDLE): NTSTATUS; stdcall;
- { Ðàçðóøåíèå áëîêà ïåðåìåííûõ îêðóæåíèÿ }
- function RtlDestroyEnvironment(Environment: PVOID): NTSTATUS; stdcall;
- { Ðàçðóøåíèå êó÷è }
- function RtlDestroyHeap (hHeap: THandle): PVOID; stdcall;
- { Óäàëåíèå áëîêà ïàðàìåòðîâ ïðîöåññà }
- function RtlDestroyProcessParameters(
- ProcessParameters: PPROCESS_PARAMETERS): NTSTATUS; stdcall;
- { Ðàçðóøåíèå áëîêà îòëàäî÷íîé èíôîðìàöèè }
- function RtlDestroyQueryDebugBuffer(
- Buffer: PRTL_DEBUG_INFORMATION): NTSTATUS; stdcall;
- { Îïðåäåëåíèå òèïà èìåíè ïóòè DOS (êàòàëîã, óñòðîéñòâî, etc }
- function RtlDetermineDosPathNameType_U(
- DosFileName: LPWSTR): RTL_PATH_TYPE; stdcall;
- { Ïðîèñõîäèò ëè çàâåðøåíèå ðàáîòû Dll (âûãðóçêà ???) }
- function RtlDllShutdownInProgress: Boolean; stdcall;
- { Ïðåîáðàçîâàíèå èìåíè DNS â èìÿ êîìïüþòåðà }
- function RtlDnsHostNameToComputerName(
- ComputerNameString, DnsHostNameString: PUNICODE_STRING;
- AllocateComputerNameString: BOOL): NTSTATUS; stdcall;
- { Ïðîâåðêà, ñóùåñòâóåò ëè óêàçàííûé ôàéë }
- function RtlDoesFileExists_U(FileName: LPWSTR): BOOL; stdcall;
- { Ïðåîáðàçîâàíèå èìåíè ôàéëà DOS â èìÿ ôàéëà NT }
- function RtlDosPathNameToNtPathName_U (const DosFileName: PWideChar;
- NtFileName: PUNICODE_STRING; FilePart: PPWideChar;
- RelativeName: PRTL_RELATIVE_NAME): Boolean; stdcall;
- { Ïîèñê ôàéëà â êàòàëîãàõ, óêàçàííûõ â PATH }
- function RtlDosSearchPath_U(lpPath, lpFileName, lpExtension: LPWSTR;
- nBufferLength: ULONG; lpBuffer: LPWSTR;
- lpFilePart: PLPWSTR): ULONG; stdcall;
- { Âõîä â êðèòè÷åñêóþ ñåêöèþ }
- procedure RtlEnterCriticalSection (var Section: TRTLCriticalSection); stdcall;
- { Ñðàâíåíèå èäåíòèôèêàòîðîâ áåçîïàñíîñòè }
- function RtlEqualSid(sid1: PSID; sid2: PSID): BOOL; stdcall;
- { Ñðàâíåíèå ANSI-ñòðîê }
- function RtlEqualString (String1, String2: PAnsiString;
- CaseInSensitive: Boolean): Boolean; stdcall;
- { Ñðàâíåíèå Unicode-ñòðîê }
- function RtlEqualUnicodeString (String1, String2: PUnicodeString;
- CaseInSensitive: Boolean): Boolean; stdcall;
- { Ïðåîáðàçîâàíèå èìåí ïåðåìåííûõ îêðóæåíèÿ â çíà÷åíèÿ }
- function RtlExpandEnvironmentStrings_U(Environment: PVOID;
- Source, Destination: PUNICODE_STRING;
- ReturnedLength: PULONG): NTSTATUS; stdcall;
- { Äåëåíèå 64-áèòíîãî ÷èñëà íà 32-õ áèòíîå }
- function RtlExtendedLargeIntegerDivide(Dividend: LARGE_INTEGER;
- Divisor: ULONG; Remainder: PULONG): int64; stdcall;
- { Ðàñøèðåíèå ñóùåñòâóþùåé êó÷è }
- function RtlExtendHeap(HeapHandle: PVOID; Flags: ULONG; Base: PVOID;
- Size: SIZE_T): NTSTATUS; stdcall;
- { Ïîèñê ñáðîøåííûõ áèòîâ è èõ óñòàíîâêà }
- function RtlFindClearBitsAndSet(BitMapHeader: PRTL_BITMAP;
- NumberToFind, HintIndex: ULONG): ULONG; stdcall;
- { Ïîèñê òåêñòà ñîîáùåíèÿ äëÿ óêàçàííîãî êîäà }
- function RtlFindMessage(DllHandle: PVOID;
- MessageTableId, MessageLanguageId, MessageId: ULONG;
- MessageEntry: PPMESSAGE_RESOURCE_ENTRY): NTSTATUS; stdcall;
- { Ñáðîñ êåøà ïàìÿòè }
- function RtlFlushSecureMemoryCache(MemoryAddress: PVOID;
- dwUnknown: DWORD): BOOL; stdcall;
- { Ïîëó÷åíèå èìåíè êëþ÷à ðååñòðà òåêóùåãî ïîëüçîâàòåëÿ }
- function RtlFormatCurrentUserKeyPath(
- CurrentUserKeyPath: PUNICODE_STRING): NTSTATUS; stdcall;
- { Ôîðìàòèðîâàíèå ñîîáùåíèÿ }
- function RtlFormatMessage(MessageFormat: LPWSTR; MaximumWidth: ULONG;
- IgnoreInserts, ArgumentsAreAnsi, ArgumentsAreAnArray: BOOL;
- Arguments: PVOID; Buffer: LPWSTR; Length: ULONG;
- ReturnLength: PULONG): NTSTATUS; stdcall;
- { Îñâîáîæäàåò êîíòåêñòû àêòèâàöèè â ñòåêå ïîòîêà }
- procedure RtlFreeThreadActivationContextStack; stdcall;
- { Îñâîáîæäåíèå ANSI-ñòðîêè ñ äèíàìè÷åñêè âûäåëåííûì áóôåðîì }
- procedure RtlFreeAnsiString (Buffer: PAnsiString); stdcall;
- { Îñîáîæäåíèå äåñêðèïòîðà }
- function RtlFreeHandle(HandleTable: PRTL_HANDLE_TABLE;
- Handle: PRTL_HANDLE_TABLE_ENTRY): BOOL; stdcall;
- { Îñâîáîæäåíèå ïàìÿòè â êó÷å }
- function RtlFreeHeap (Heap: THandle; FreeingFlags: DWORD;
- Memory: Pointer): Boolean; stdcall;
- { Îñâîáîæäåíèå ïàìÿòè ñòðîêè }
- procedure RtlFreeOemString(OemString: PSTRING); stdcall;
- { Îñâîáîæäåíèå ïàìÿòè èäåíòèôèêàòîðà áåçîïàñíîñòè }
- function RtlFreeSid(Sid: PSID): NTSTATUS; stdcall;
- { Îñâîáîæäåíèå Unicode-ñòðîêè ñ äèíàìè÷åñêè âûäåëåííûì áóôåðîì }
- procedure RtlFreeUnicodeString (Buffer: PUnicodeString); stdcall;
- { Ïîëó÷åíèå ýëåìåíòà ñïèñêà óïðàâëåíèÿ äîñòóïîì }
- function RtlGetAce(pAcl: PACL; dwAceIndex: DWORD;
- pAce: PPvoid): NTSTATUS; stdcall;
- { Ïîëó÷åíèå àêòèâíîãî êîíòåêñòà àêòèâàöèè }
- function RtlGetActiveActivationContext(pActCtx: PHANDLE): NTSTATUS; stdcall;
- { Ïîëó÷åíèå àäðåñà Process Environment block }
- function RtlGetCurrentPEB: Pointer;
- { Ïîëó÷åíèå òåêóùåãî êàòàëîãà }
- function RtlGetCurrentDirectory_U(nBufferLength: ULONG;
- lpBuffer: LPWSTR): ULONG; stdcall;
- { Ïîëó÷åíèå ñïèñêà óïðàâëåíèÿ äîñòóïîì }
- function RtlGetDaclSecurityDescriptor(
- pSecurityDescriptor: PSECURITY_DESCRIPTOR; lpbDaclPresent: PBOOLEAN;
- pDacl: PPACL; lpbDaclDefaulted: PBOOLEAN): NTSTATUS; stdcall;
- { Ïîëó÷åíèå ôðåéìà ñòåêà }
- function RtlGetFrame: PVOID; stdcall;
- { Ïîëó÷åíèå ïîëíîãî ïóòè }
- function RtlGetFullPathName_U(FileName: PUNICODE_STRING;
- nBufferLength: ULONG; lpBuffer: LPWSTR; lpFilePart: PLPWSTR;
- NameInvalid: PBOOLEAN; InputPathType: PRTL_PATH_TYPE): ULONG; stdcall;
- { Ïîëó÷åíèå ïîñëåäíåé îøèáêè Native API }
- function RtlGetLastNtStatus: NTSTATUS; stdcall;
- { Ïîëó÷åíèå ïîñëåäíåé îøèáêè Win32 }
- function RtlGetLastWin32Error: DWORD; stdcall;
- { Ìàêñèìàëüíàÿ äëèíà ïóòè â ôîðìàòå NT }
- function RtlGetLongestNtPathLength: DWORD; stdcall;
- { Ïîëó÷åíèå ãëîáàëüíûõ ôëàãîâ NT }
- function RtlGetNtGlobalFlags: DWORD; stdcall;
- { Ïîëó÷åíèå êó÷ ïðîöåññà }
- function RtlGetProcessHeaps(NumberOfHeapsToReturn: ULONG;
- ProcessHeaps: PPVOID): ULONG; stdcall;
- { Ïîëó÷åíèå òåêóùåãî ðåæèìà îáðàáîòêè îøèáîê ïîòîêà }
- function RtlGetThreadErrorMode: DWORD; stdcall;
- { Ïîëó÷åíèå ïîëüçîâàòåëüñêîé èíôîðìàöèè êó÷è }
- function RtlGetUserInfoHeap(HeapHandle: PVOID; Flags: ULONG;
- BaseAddress: PVOID; UserValue: PPVOID; UserFlags: PULONG): BOOL; stdcall;
- { Ïîëó÷åíèå èíôîðìàöèè î âåðñèè ñèñòåìû }
- function RtlGetVersion(
- lpVersionInformation: PRTL_OSVERSIONINFOW): NTSTATUS; stdcall;
- { Ïîëó÷åíèå GUID èç ñòðîêè }
- function RtlGUIDFromString(GuidString: PUNICODE_STRING;
- Guid: PGUID): NTSTATUS; stdcall;
- { Ïåðåâîä àäðåñà êàòàëîãà PE-ôàéëà â àäðåñ äàííûõ }
- function RtlImageDirectoryEntryToData(Base: PVOID; MappedAsImage: BOOL;
- DirectoryEntry: USHORT; Size: PULONG): PVOID; stdcall;
- { Çàãîëîâîê PE-ôàéëà äëÿ óêàçàííîãî ìîäóëÿ }
- function RtlImageNtHeader (hMod: HMODULE): PImageNTHeaders; stdcall;
- { Àíàëèç è ïîëó÷åíèå çàãîëîâêà PE-ôàéëà äëÿ óêàçàííîãî ìîäóëÿ,
- ðàçìåð ìîäóëÿ ìîæåò ïðåâûøàòü 4 ãèãàáàéòà. }
- function RtlImageNtHeaderEx (dwFlags: DWORD; ImageBase: HMODULE;
- ImageSize, ImageSizeHigh: ULONG;
- NtHeaders: PPImageNTHeaders): NTSTATUS; stdcall;
- { Çàâåðøåíèå îëèöåòâîðåíèÿ }
- function RtlImpersonateSelf(
- ImpersonationLevel: SECURITY_IMPERSONATION_LEVEL): NTSTATUS; stdcall;
- { Èíèöèàëèçàöèÿ ñòðîêè Ansi }
- procedure RtlInitAnsiString (var Buffer: TANSI_STRING;
- Source: PAnsiChar); stdcall;
- { Èíèöèàëèçàöèÿ êðèòè÷åñêîé ñåêöèè }
- function RtlInitializeCriticalSection (
- var Section: TRTLCriticalSection): NTSTATUS; stdcall;
- { Èíèöèàëèçàöèÿ êðèòè÷åñêîé ñåêöèè è ñ÷åò÷èêà ñïèí-áëîêèðîâîê }
- function RtlInitializeCriticalSectionAndSpinCount (
- var Section: TRTLCriticalSection; SpinCount: DWORD): NTSTATUS; stdcall;
- { Èíèöèàëèçàöèÿ òàáëèöû äåñêðèïòîðîâ }
- procedure RtlInitializeHandleTable(MaximumNumberOfHandles,
- SizeOfHandleTableEntry: ULONG; HandleTable: PRTL_HANDLE_TABLE); stdcall;
- { Èíèöèàëèçàöèÿ èäåíòèôèêàòîðà áåçîïàñíîñòè }
- function RtlInitializeSid(Sid: PSID;
- pIdentifierAuthority: PSID_IDENTIFIER_AUTHORITY;
- nSubAuthorityCount: Integer): BOOL; stdcall;
- { Èíèöèàëèçàöèÿ ñòðîêè (Ansi) }
- procedure RtlInitString (var Buffer: TANSI_STRING;
- Source: PAnsiChar); stdcall;
- { Èíèöèàëèçàöèÿ ñòðîêè Unicode }
- procedure RtlInitUnicodeString (var Buffer: TUNICODE_STRING;
- Source: PWideChar); stdcall;
- { Ïåðåâîä ÷èñëà â ñèìâîëüíîå ïðåäñòàâëåíèå }
- function RtlIntegerToChar(Value, Base: ULONG; OutputLength: LONG;
- AString: LPSTR): NTSTATUS; stdcall;
- { Ïåðåâîä ÷èñëà â Unicode-ñòðîêó }
- function RtlIntegerToUnicodeString(Value, Base: ULONG;
- AString: PUNICODE_STRING): NTSTATUS; stdcall;
- { Ïðîâåðÿåò, ÿâëÿåòñÿ ëè àêòèâíûì óêàçàííûé êîíòåêñò àêòèâàöèè }
- function RtlIsActivationContextActive(hActCtx: THANDLE): BOOL; stdcall;
- { ßâëÿåòñÿ ëè ïóòü èìåíåì DOS-óñòðîéñòâà }
- function RtlIsDosDeviceName_U (PathName: LPWSTR): BOOL; stdcall;
- { Ñîîòâåòñòâóåò ëè èìÿ ñòàíäàðòó DOS }
- function RtlIsNameLegalDOS8Dot3(Name: PUNICODE_STRING; OemName: PPSTRING;
- NameContainsSpaces: PBOOLEAN): BOOL; stdcall;
- { ßâëÿåòñÿ ëè êîäèðîâêà òåêñòà Unicode }
- function RtlIsTextUnicode(Buffer: PVOID; Size: ULONG;
- AResult: PULONG): BOOL; stdcall;
- { ßâëÿåòñÿ ëè äåñêðèïòîð êîððåêòíûì }
- function RtlIsValidHandle(HandleTable: PRTL_HANDLE_TABLE;
- Handle: PRTL_HANDLE_TABLE_ENTRY): BOOL; stdcall;
- { Âûõîä èç êðèòè÷åñêîé ñåêöèè }
- procedure RtlLeaveCriticalSection (var Section: TRTLCriticalSection); stdcall;
- { Îïðåäåëåíèå ðàçìåðà èäåíòèôèêàòîðà áåçîïàñíîñòè }
- function RtlLengthRequiredSid(nSubAuthorityCount: Integer): ULONG; stdcall;
- { Îïðåäåëåíèå ðàçìåðà äåñêðèïòîðà áåçîïàñíîñòè }
- function RtlLengthSecurityDescriptor(
- SecurityDescriptor: PSECURITY_DESCRIPTOR): ULONG; stdcall;
- { Îïðåäåëåíèå ðàçìåðà çàäàííîãî èäåíòèôèêàòîðà áåçîïàñíîñòè }
- function RtlLengthSid(Sid: PSID): DWORD; stdcall;
- { Áëîêèðîâêà êó÷è }
- function RtlLockHeap(HeapHandle: PVOID): BOOL; stdcall;
- { Ïðåîáðàçîâàíèå ñòðîêè èç êîäîâîé ñòðàíèöû Ansi èëè êîäîâîé ñòðàíèöû,
- óñòàíîâëåííîé ïî óìîë÷àíèþ â Unicode }
- function RtlMultiByteToUnicodeN (Dest: PWideChar; MaxDestBufferSize: DWORD;
- PDestBufferSize: LPDWORD; Source: PAnsiChar;
- SourceSize: DWORD): NTSTATUS; stdcall;
- { Îïðåäåëåíèå ðàçìåðà áóôåðà äëÿ ïðåîáðàçîâàíèÿ èç ANSI â Unicode }
- function RtlMultiByteToUnicodeSize(BytesInUnicodeString: PULONG;
- MultiByteString: LPSTR; BytesInMultiByteString: ULONG): NTSTATUS; stdcall;
- { Ïðåîáðàçîâàíèå ñòàòóñà ôóíêöèè Native API ê îøèáêå Win32 }
- function RtlNtStatusToDosError (Status: NTSTATUS): LongInt; stdcall;
- { Ïðåîáðàçîâàíèå ñòàòóñà ôóíêöèè Native API ê îøèáêå Win32 áåç çàíåñåíèÿ îøèáêè
- â áëîê îêðóæåíèÿ ïîòîêà. }
- function RtlNtStatusToDosErrorNoTeb (Status: NTSTATUS): LongInt; stdcall;
- { Ïåðåâîä ñòðîêè èç OEM-êîäèðîâêè â Unicode }
- function RtlOemStringToUnicodeString(DestinationString: PUNICODE_STRING;
- SourceString: PSTRING; AllocateDestinationString: BOOL): NTSTATUS; stdcall;
- { Ïðåîáðàçîâàíèå èç OEM-êîäèðîâêè â Unicode }
- function RtlOemToUnicodeN(UnicodeString: LPWSTR; MaxBytesInUnicodeString: ULONG;
- BytesInUnicodeString: PULONG; OemString: LPSTR;
- BytesInOemString: ULONG): NTSTATUS; stdcall;
- { Ïîëó÷åíèå äåñêðèïòîðà êëþ÷à ðååñòðà òåêóùåãî ïîëüçîâàòåëÿ }
- function RtlOpenCurrentUser(dwDesiredAccess: DWORD;
- phKey: PHANDLE): NTSTATUS; stdcall;
- { TODO: ÷òî äåëàåò ôóíêöèÿ }
- function RtlPcToFileHeader(PcValue: PVOID; BaseOfImage: PPVOID): PVOID; stdcall;
- function NtNotImplementedPointer : Pointer;stdcall;
- { ßâëÿåòñÿ îäíà ñòðîêà ïðåôèêñîì äðóãîé }
- function RtlPrefixString(String1, String2: PSTRING;
- CaseInSensitive: BOOL): BOOL; stdcall;
- { ßâëÿåòñÿ îäíà Unicode-ñòðîêà ïðåôèêñîì äðóãîé }
- function RtlPrefixUnicodeString(String1, String2: PUNICODE_STRING;
- CaseInSensitive: BOOL): BOOL; stdcall;
- { Ïðåêðàùåíèå îæèäàíèÿ êðèòè÷åñêîé ñåêöèè }
- procedure RtlpUnWaitCriticalSection (var Section: TRTLCriticalSection);
- { Îæèäàíèå êðèòè÷åñêîé ñåêöèè }
- procedure RtlpWaitForCriticalSection (var Section: TRTLCriticalSection);
- { Åñòü ëè àòîì â òàáëèöå àòîìîâ }
- function RtlQueryAtomInAtomTable(AtomTable: THANDLE; AAtom: ATOM;
- AtomUsage, AtomFlags: PULONG; AtomName: LPWSTR;
- AtomNameLength: LPDWORD): NTSTATUS; stdcall;
- { Ïîëó÷åíèå çíà÷åíèÿ ïåðåìåííîé îêðóæåíèÿ }
- function RtlQueryEnvironmentVariable_U (EnvBlock: PVOID;
- VarName, usResult: PUNICODE_STRING): NTSTATUS; stdcall;
- { Ïîëó÷åíèå èíôîðìàöèè î êó÷å }
- function RtlQueryHeapInformation(HeapHandle: PVOID;
- HeapInformationClass: HEAP_INFORMATION_CLASS; HeapInformation: PVOID;
- HeapInformationLength: SIZE_T; ReturnLength: PULONG): DWORD; stdcall;
- { Ïîëó÷åíèå èíôîðìàöèè î ñïèñêå êîíòðîëÿ äîñòóïà }
- function RtlQueryInformationAcl(Acl: PACL; AclInformation: PVOID;
- AclInformationLength: ULONG;
- AclInformationClass: ACL_INFORMATION_CLASS): NTSTATUS; stdcall;
- { Ïîëó÷åíèå èíôîðìàöèè î êîíòåêñòå àêòèâàöèè è ñáîðêàõ }
- function RtlQueryInformationActivationContext(dwFlags: DWORD;
- hActCtx: THANDLE; pvSubInstance: PVOID; InfoClass: ULONG; pvBuffer: PVOID;
- cbBuffer: SIZE_T; pcbWrittenOrRequired: PULONG): NTSTATUS; stdcall;
- { Âîçâðàùàåò èíôîðìàöèþ îá àêòèâíîì êîíòåêñòå àêòèâàöèè }
- function RtlQueryInformationActiveActivationContext(InfoClass: ULONG;
- pvBuffer: PVOID; cbBuffer: SIZE_T;
- pcbWrittenOrRequired: PULONG): NTSTATUS; stdcall;
- { Ïîëó÷åíèå îòëàäî÷íîé èíôîðìàöèè ïðîöåññà }
- function RtlQueryProcessDebugInformation(UniqueProcessId: THANDLE;
- Flags: ULONG; Buffer: PRTL_DEBUG_INFORMATION): NTSTATUS; stdcall;
- { Îïðîñ çíà÷åíèé êëþ÷åé ðååñòðà }
- function RtlQueryRegistryValues(RelativeTo: ULONG; Path: LPCWSTR;
- QueryTable: PRTL_QUERY_REGISTRY_TABLE;
- Context, Environment: PVOID): NTSTATUS; stdcall;
- { Îïðîñ êó÷è }
- function RtlQueryTagHeap(HeapHandle: PVOID; Flags: ULONG; TagIndex: USHORT;
- ResetCounters: BOOL; TagInfo: PRTL_HEAP_TAG_INFO): LPWSTR; stdcall;
- { Ïîìîùåíèå â î÷åðåäü çàäàíèÿ äëÿ ðàáî÷åãî ïîòîêà }
- function RtlQueueWorkItem(AFunction: Pointer; Context: PVOID;
- Flags: ULONG): NTSTATUS; stdcall;
- { Âîçáóæäåíèå èñêëþ÷èòåëüíîé ñèòóàöèè }
- procedure RtlRaiseException(ExceptionRecord: PEXCEPTION_RECORD); stdcall;
- { Âîçáóæäåíèå èñêëþ÷èòåëüíîé ñèòóàöèè ñ êîäîì îøèáêè }
- procedure RtlRaiseStatus (Status: NTSTATUS); stdcall;
- { Ïåðåðàñïðåäåëåíèå ïàìÿòè â êó÷å }
- function RtlReAllocateHeap(HeapHandle: PVOID; Flags: ULONG;
- BaseAddress: PVOID; Size: SIZE_T): PVOID; stdcall;
- { Ðåãèñòðàöèÿ îáúåêòà "îæèäàíèå" }
- function RtlRegisterWait(WaitHandle: PHANDLE; AHandle: THANDLE;
- AFunction: Pointer; Context: PVOID;
- Milliseconds, Flags: ULONG): NTSTATUS; stdcall;
- { Îñâîáîæäåíèå êîíòåêñòà àêòèâàöèè }
- procedure RtlReleaseActivationContext(hActCtx: THANDLE); stdcall;
- { Ñíÿòèå áëîêèðîâêè áëîêà îêðóæåíèÿ ïðîöåññà }
- procedure RtlReleasePebLock; stdcall;
- { Ïîâòîðíàÿ óñòàíîâêà ïîñëåäíåé îøèáêè Win32 }
- procedure RtlRestoreLastWin32Error (dwError: DWORD); stdcall;
- { Ðàñêîäèðîâàíèå Unicode-ñòðîêè }
- procedure RtlRunDecodeUnicodeString(Seed: BYTE;
- AString: PUNICODE_STRING); stdcall;
- { Êîäèðîâàíèå Unicode-ñòðîêè }
- procedure RtlRunEncodeUnicodeString(Seed: PBYTE; AString:
- PUNICODE_STRING); stdcall;
- { Óñòàíîâêà òåêóùåãî êàòàëîãà }
- function RtlSetCurrentDirectory_U(PathName: PUNICODE_STRING): NTSTATUS; stdcall;
- { Óñòàíîâêà ñïèñêà äîñòóïà äëÿ äåñêðèïòîðà áåçîïàñíîñòè }
- function RtlSetDaclSecurityDescriptor(
- SecurityDescriptor: PSECURITY_DESCRIPTOR; DaclPresent: BOOL; Dacl: PACL;
- DaclDefaulted: BOOL): NTSTATUS; stdcall;
- { Óñòàíîâêà çíà÷åíèÿ ïåðåìåííîé îêðóæåíèÿ }
- function RtlSetEnvironmentVariable(Environment: PPVOID;
- Name, Value: PUNICODE_STRING): NTSTATUS; stdcall;
- { Óñòàíîâêà ïàðàìåòðîâ êó÷è }
- function RtlSetHeapInformation(HeapHandle: PVOID;
- HeapInformationClass: HEAP_INFORMATION_CLASS; HeapInformation: PVOID;
- HeapInformationLength: SIZE_T): DWORD; stdcall;
- { Óñòàíîâêà àäðåñà àñèíõðîííîé ïðîöåäóðû çàâåðøåíèÿ ââîäà/âûâîäà }
- function RtlSetIoCompletionCallback(FileHandle: THANDLE;
- CompletionProc: Pointer; Flags: ULONG): NTSTATUS; stdcall;
- { Óñòàíîâêà âðåìåííîé çîíû }
- function RtlSetTimeZoneInformation(
- TimeZoneInformation: PRTL_TIME_ZONE_INFORMATION): NTSTATUS; stdcall;
- { Óñòàíîâêà ðåæèìà îáðàáîòêè îøèáîê ïîòîêà }
- function RtlSetThreadErrorMode (ErrorMode: DWORD): NTSTATUS; stdcall;
- { Óñòàíîâêà ôóíêöèé ïóëà ïîòîêîâ äëÿ ñîçäàíèÿ è çàâåðøåíèÿ ïîòîêà }
- function RtlSetThreadPoolStartFunc(lpfnStartThreadFunc: Pointer;
- lpfnExitThreadFunc: Pointer): NTSTATUS; stdcall;
- { Óñòàíàâëèâàåò íàáîð ïîëüçîâàòåëüñêèõ ôóíêöèé äëÿ Unicode }
- procedure RtlSetUnicodeCallouts(Callouts: PVOID); stdcall;
- { Óñòàíîâêà ïîëüçîâàòåëüêîãî çíà÷åíèÿ äëÿ êó÷è }
- function RtlSetUserValueHeap(HeapHandle: PVOID; Flags: ULONG;
- BaseAddress, UserValue: PVOID): BOOL; stdcall;
- { Ïîëó÷åíèå ðàçìåðà êó÷è }
- function RtlSizeHeap(HeapHandle: PVOID; Flags: ULONG;
- BaseAddress: PVOID): SIZE_T; stdcall;
- { Ïðåîáðàçîâàíèå GUID â ñòðîêó }
- function RtlStringFromGUID(AGuid: PGUID;
- GuidString: PUNICODE_STRING): NTSTATUS; stdcall;
- { Ïîëó÷åíèå SubAuthority èç èäåíòèôèêàòîðà áåçîïàñíîñòè }
- function RtlSubAuthoritySid(Sid: PSID; nSubAuthority: ULONG): PULONG; stdcall;
- { Ïðåîáðàçîâàíèå âðåìåíè èç ñòðóêòóðû âî âðåìÿ UTC }
- function RtlTimeFieldsToTime(TimeFields: PTIME_FIELDS;
- Time: PLARGE_INTEGER): BOOL; stdcall;
- { Ïðåîáðàçîâàíèå âðåìåíè èç Int64 â íàáîð ïîëåé }
- procedure RtlTimeToTimeFields (ATime: PLARGE_INTEGER;
- ATimeFields: PTIME_FIELDS); stdcall;
- { Óëîâíûé âõîä â êðèòè÷åñêóþ ñåêöèþ }
- function RtlTryEnterCriticalSection (
- var Section: TRTLCriticalSection): Boolean; stdcall;
- { Ïðåîáðàçîâàíèå ñòðîêè Unicode â Ansi }
- function RtlUnicodeStringToAnsiString (AnsiString: PANSI_STRING;
- UnicodeString: PUNICODE_STRING; fAllocate: LongBool): NTSTATUS; stdcall;
- { Ïðåîáðàçîâàíèå Unicode-ñòðîêè â ÷èñëî }
- function RtlUnicodeStringToInteger(AString: PUNICODE_STRING; Base: ULONG;
- Value: PULONG): NTSTATUS; stdcall;
- { Ïðåîáðàçîâàíèå Unicode-ñòðîêè â OEM-ñòðîêó }
- function RtlUnicodeStringToOemString(DestinationString: PSTRING;
- SourceString: PUNICODE_STRING;
- AllocateDestinationString: BOOL): NTSTATUS; stdcall;
- { Ïðåîáðàçîâàíèå Unicode-ñòðîêè â ANSI-ñòðîêó }
- function RtlUnicodeToMultiByteN(Dest: LPSTR; DestSize: Integer;
- ReturnLength: PLONG; Source: LPWSTR; dwNumChars: Integer): NTSTATUS; stdcall;
- { Ðàñ÷åò ðàçìåðà áóôåðà äëÿ ïðåîáðàçîâàíèÿ Unicode-ñòðîêè â ANSI-ñòðîêó }
- function RtlUnicodeToMultiByteSize(pResult: LPDWORD; lpusString: PWideChar;
- cchusString: DWORD): NTSTATUS; stdcall;
- { Ïðåîáðàçîâàíèå èç Unicode â OEM-êîäèðîâêó }
- function RtlUnicodeToOemN(OemString: LPSTR; MaxBytesInOemString: ULONG;
- BytesInOemString: PULONG; UnicodeString: LPWSTR;
- BytesInUnicodeString: ULONG): NTSTATUS; stdcall;
- { Ðàçáëîêèðîâàíèå êó÷è }
- function RtlUnlockHeap(HeapHandle: PVOID): BOOL; stdcall;
- { Ðàñêðóòêà ñòåêà }
- procedure RtlUnwind(TargetFrame, TargetIp: PVOID;
- ExceptionRecord: PEXCEPTION_RECORD; ReturnValue: PVOID); stdcall;
- { Ïðåîáðàçîâàíèå Unicode-ñèìâîëà ê âåðõíåìó ðåãèñòðó }
- function RtlUpcaseUnicodeChar(SourceCharacter: WideChar): WideChar; stdcall;
- { Ïðåîáðàçîâàíèå Unicode-ñòðîêè ê âåðõíåìó ðåãèñòðó }
- function RtlUpcaseUnicodeString(DestinationString: PUNICODE_STRING;
- SourceString: PUNICODE_STRING;
- AllocateDestinationString: BOOL): NTSTATUS; stdcall;
- { Îáíîâëåíèå ïàðàìåòðîâ òàéìåðà }
- function RtlUpdateTimer(TimerQueueHandle, Timer: THANDLE;
- DueTime, Period: ULONG): NTSTATUS; stdcall;
- { Ïåðåâîäèò ñèìâîë â âåðõíèé ðåãèñòð }
- function RtlUpperChar(c: Char): Char; stdcall;
- { Ïåðåâîäèò ANSI-ñòðîêó â âåðõíèé ðåãèñòð }
- procedure RtlUpperString(DestinationString, SourceString: PSTRING); stdcall;
- { Ïîëó÷åíèå èíôîðìàöèè îá èñïîëüçîâàíèè êó÷è }
- function RtlUsageHeap(HeapHandle: PVOID; Flags: ULONG;
- Usage: PRTL_HEAP_USAGE): NTSTATUS; stdcall;
- { Ïðîâåðêà ñïèñêà óïðàâëåíèÿ äîñòóïîì }
- function RtlValidAcl(Acl: PACL): BOOL; stdcall;
- { Ïðîâåðêà êó÷è }
- function RtlValidateHeap(HeapHandle: PVOID; Flags: ULONG;
- BaseAddress: PVOID): BOOL; stdcall;
- { Ïðîâåðêà äåñêðèïòîðà áåçîïàñíîñòè }
- function RtlValidRelativeSecurityDescriptor(
- SecurityDescriptorInput: PSECURITY_DESCRIPTOR;
- SecurityDescriptorLength: ULONG;
- RequiredInformation: SECURITY_INFORMATION): BOOL; stdcall;
- { ßâëÿåòñÿ ëè êîððåêòíûì óêàçàííûé äåñêðèïòîð áåçîïàñíîñòè }
- function RtlValidSecurityDescriptor(
- SecurityDescriptor: PSECURITY_DESCRIPTOR): BOOL; stdcall;
- { Ïðîâåðêà êîððåêòíîñòè èäåíòèôèêàòîðà áåçîïàñíîñòè }
- function RtlValidSid(Sid: PSID): BOOL; stdcall;
- { Ïðîâåðêà ñîâïàäåíèÿ âåðñèè ñèñòåìû ñ çàäàííûìè çíà÷åíèÿìè }
- function RtlVerifyVersionInfo(VersionInfo: PRTL_OSVERSIONINFOEXW;
- TypeMask: ULONG; ConditionMask: ULONGLONG): NTSTATUS; stdcall;
- { Îáõîä êó÷è }
- function RtlWalkHeap(HeapHandle: PVOID;
- Entry: PRTL_HEAP_WALK_ENTRY): NTSTATUS; stdcall;
- { Ïîëó÷åíèå ðàçìåðà áóôåðà, íåîáõîäèìîãî äëÿ ïðåîáðàçîâàíèÿ èç ANSI â Unicode }
- function RtlxAnsiStringToUnicodeSize(AAnsiString: PANSI_STRING): ULONG; stdcall;
- { Ïîëó÷åíèå ðàçìåðà áóôåðà, íåîáõîäèìîãî äëÿ ïðåîáðàçîâàíèÿ èç OEM â Unicode }
- function RtlxOemStringToUnicodeSize(OemString: PSTRING): ULONG; stdcall;
- { Ïîëó÷åíèå ðàçìåðà áóôåðà, íåîáõîäèìîãî äëÿ ïðåîáðàçîâàíèÿ èç Unicode â ANSI }
- function RtlxUnicodeStringToAnsiSize(
- UnicodeString: PUNICODE_STRING): ULONG; stdcall;
- { Ïîëó÷åíèå ðàçìåðà áóôåðà, íåîáõîäèìîãî äëÿ ïðåîáðàçîâàíèÿ èç Unicode â OEM }
- function RtlxUnicodeStringToOemSize(
- UnicodeString: PUNICODE_STRING): ULONG; stdcall;
- { Îáúÿâëåíèå íåäåéñòâèòåëüíûì êîíòåêñòà àêòèâàöèè }
- function RtlZombifyActivationContext(hActCtx: THANDLE): NTSTATUS; stdcall;
- { Ñîåäèíåíèå Unicode-ñòðîê, çàêàí÷èâàþùèõñÿ íóëåì }
- function wcscat(s1: LPWSTR; s2: LPWSTR): LPWSTR; cdecl;
- { Óêàçàòåëü íà ïåðâûé ñèìâîâ â Unicode-ñòðîêå }
- function wcschr (const s: PWideChar; c: WideChar): PWideChar; cdecl;
- { Êîïèðîâàíèå Unicode-ñòðîêè }
- function wcscpy (const Dst, Src: PWideChar): PWideChar; cdecl;
- { Ñðàâíåíèå Unicode-ñòðîê, çàêàí÷èâàþùèõñÿ íóëåì }
- function wcscmp(s1: LPWSTR; s2: LPWSTR): Integer; cdecl;
- { Ïîëó÷åíèå äëèíû Unicode-ñòðîêè, çàêàí÷èâàþùåéñÿ íóëåì }
- function wcslen(s: LPWSTR): SIZE_T; cdecl;
- { Ïîèñê óêàçàòåëÿ íà ïîñëåäíèé çàäàííûé ñèìâîë â Unicode-ñòðîêå,
- çàêàí÷èâàþùåéñÿ íóëåì }
- function wcsrchr(s: LPWSTR; c: Integer): LPWSTR; cdecl;
- { Ñëóæåáíàÿ ôóíêöèÿ äëÿ îáëåã÷åíèÿ çàïîëíåíèÿ ïîëåé ñòðóêòóðû OBJECT_ATTRIBUTES}
- procedure InitializeObjectAttributes (P : POBJECT_ATTRIBUTES;
- N : PUNICODE_STRING; A : ULONG; R : THANDLE; S : PSECURITY_DESCRIPTOR);
- const
- { NtQuerySystemInformation/NtSetSystemInformation system information class codes }
- SystemBasicInformation = 0; { Áàçîâàÿ èíôîðìàöèÿ î ñèñòåìå }
- SystemProcessorInformation = 1; { Èíôîðìàöèÿ î ïðîöåññîðå }
- SystemPerformanceInformation = 2; { Èíôîðìàöèÿ î ïðîèçâîäèòåëüíîñòè }
- SystemTimeOfDayInformation = 3; { Èíôîðìàöèÿ î äàòå è âðåìåíè }
- SystemPathInformation = 4; { *** Íå ïîääåðæèâàåòñÿ *** }
- SystemProcessesAndThreadsInformation = 5; { Èíôîðìàöèÿ î ïðîöåññàõ è ïîòîêàõ }
- SystemCallCounts = 6; { Èíôîðìàöèÿ î âûçîâàõ îòëàäî÷íîé âåðñèè ÿäðà }
- SystemConfigurationInformation = 7; { Èíôîðìàöèÿ î êîíôèãóðàöèè }
- SystemProcessorTimes = 8; { }
- SystemGlobalFlag = 9; { Èíôîðìàöèÿ îá óñòàíîâëåííûõ ãëîáàëüíûõ ôëàãàõ ñèñòåìû}
- SystemCallTimeInformation = 10; { }
- SystemModuleInformation = 11; { }
- SystemLockInformation = 12; { }
- SystemStackTraceInformation = 13; { }
- SystemPagedPoolInformation = 14; { Checked build only. TODO: Íåò ñòðóêòóðû }
- SystemNonPagedPoolInformation = 15; { Checked build only. TODO: Íåò ñòðóêòóðû}
- SystemHandleInformation = 16; { Èíôîðìàöèÿ î äåñêðèïòîðàõ }
- SystemObjectInformation = 17; {}
- SystemPageFileinformation = 18; {}
- SystemInstructionEmulationCounts = 19; {}
- SystemCacheInformation = 21; {}
- SystemPoolTagInformation = 22; {}
- SystemProcessorStatistics = 23; {}
- SystemDpcInformation = 24; {}
- SystemSummaryMemoryInformation = 25; { }
- SystemLoadImage = 26; {}
- SystemUnloadImage = 27; {}
- SystemTimeAdjustment= 28; {}
- SystemFullMemoryInformation = 29; { }
- SystemCrashDumpInformation = 32; {}
- SystemExceptionInformation = 33; {}
- SystemCrashDumpStateInformation = 34; {}
- SystemKernelDebuggerInformation = 35; {}
- SystemContextSwitchInformation = 36; {}
- SystemRegistryQuotaInformation = 37; {}
- SystemLoadAndcallImage = 38; {}
- SystemPrioritySeparation = 39; {}
- SystemProcessorIdleInformation = 42; { }
- SystemLegacyDriverInformation = 43; { }
- SystemTimeZoneInformation = 44; {}
- SystemLookasideInformation = 45; {}
- SystemSetTimeSlipEvent = 46; {}
- SystemCreateSession = 47; {}
- SystemDeleteSession = 48; {}
- SystemRangeStartInformation = 50; {}
- SystemVerifierInformation = 51; {}
- SystemAddVerifier = 52; {}
- SystemSessionProcessesInformation = 53; {}
- {}
- SystemNumaProcessorMapInformation = 55; { }
- SystemPrefetcherInformation = 56; {Windows XP è âûøå}
- SystemSharedDataAlignment = 58; { }
- SystemComPlusPackageInformation = 59; { }
- SystemNumaAvailableMemoryInformation = 60; { }
- SystemProcessorPowerInformation = 61; { }
- SystemHandleInformationEx = 64; { }
- SystemLostDelayedWrites = 65; { }
- { èíôîðìàöèîííûå êëàññû NtQueryInformationProcess }
- 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; // Note: Òîëüêî â ðåæèìå ÿäðà
- 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;
- MaxProcessInfoClass = 33; // MaxProcessInfoClass should always be the last enum
- { èíôîðìàöèîííûå êëàññû NtQueryVolumeInformation }
- FileFsVolumeInformation = 1;
- FileFsLabelInformation = 2;
- FileFsSizeInformation = 3;
- FileFsDeviceInformation = 4;
- FileFsAttributeInformation = 5;
- FileFsControlInformation = 6;
- FileFsFullSizeInformation = 7;
- FileFsObjectIdInformation = 8;
- { èíôîðìàöèîííûå êëàññû NtQueryInformationFile }
- type
- TFileInformationClass = (
- __FileInformationNone,
- FileDirectoryInformation, //1
- FileFullDirectoryInformation, //2
- FileBothDirectoryInformation, //3
- FileBasicInformation, //4
- FileStandardInformation, //5
- FileInternalInformation, //6
- FileEaInformation, //7
- FileAccessInformation, //8
- FileNameInformation, //9
- FileRenameInformation, //10
- FileLinkInformation, //11
- FileNamesInformation, //12
- FileDispositionInformation, //13
- FilePositionInformation, //14
- FileFullEaInformation, //15
- FileModeInformation, //16
- FileAlignmentInformation, //17
- FileAllInformation, //18
- FileAllocationInformation, //19
- FileEndOfFileInformation, //20
- FileAlternateNameInformation, //21
- FileStreamInformation, //22
- FilePipeInformation, //23
- FilePipeLocalInformation, //24
- FilePipeRemoteInformation, //25
- FileMailslotQueryInformation, //26
- FileMailslotSetInformation, //27
- FileCompressionInformation, //28
- {
- FileCopyOnWriteInformation, //29
- FileCompletionInformation,
- FileMoveClusterInformation,
- FileOleClassIdInformation,
- FileOleStateBitsInformation,
- FileNetworkOpenInformation,
- FileObjectIdInformation,
- FileOleAllInformation,
- FileOleDirectoryInformation,
- FileContentIndexInformation,
- FileInheritContentIndexInformation,
- FileOleInformation,
- }
- FileObjectIdInformation, // 29
- FileCompletionInformation, // 30
- FileMoveClusterInformation, // 31
- FileQuotaInformation, // 32
- FileReparsePointInformation, // 33
- FileNetworkOpenInformation, // 34
- FileAttributeTagInformation, // 35
- FileTrackingInformation, // 36
- FileIdBothDirectoryInformation, // 37
- FileIdFullDirectoryInformation, // 38
- FileValidDataLengthInformation, // 39
- FileShortNameInformation, // 40
- FileMaximumInformation
- );
- FILE_INFORMATION_CLASS = TFileInformationClass;
- PFileInformationClass = ^TFileInformationClass;
- const
- { èíôîðìàöèîííûå êëàññû NtQueryInformationThread, NtSetInformationThread }
- ThreadBasicInformation = 0;
- ThreadTimes = 1;
- ThreadPriority = 2;
- ThreadBasePriority = 3;
- ThreadAffinityMask = 4;
- ThreadImpersonationToken = 5;
- ThreadDescriptorTableEntry = 6;
- ThreadEnableAlignmentFaultFixup = 7;
- ThreadEventPair_Reusable = 8;
- ThreadQuerySetWin32StartAddress = 9;
- ThreadZeroTlsCell = 10;
- ThreadPerformanceCount = 11;
- ThreadAmILastThread = 12;
- ThreadIdealProcessor = 13;
- ThreadPriorityBoost = 14;
- ThreadSetTlsArrayAddress = 15;
- ThreadIsIoPending = 16;
- ThreadHideFromDebugger = 17;
- ThreadBreakOnTermination = 18;
- MaxThreadInfoClass = 19;
- { èíôîðìàöèîííûå êëàññû NtQueryVirtualMemory }
- MemoryBasicInformation = 0;
- MemoryWorkingSetLimit = 1;
- MemorySectionName = 2;
- MemoryBasicVlmInformation = 3;
- { èíôîðìàöèîííûå êëàññû NtQueryValueKey }
- KeyValueBasicInformation = 0;
- KeyValueFullInformation = 1;
- KeyValuePartialInformation = 2;
- KeyValueFullInformationAligh64 = 3; //Ïðèñóòñòâóåò òîëüêî â Windows 2000 (è âûøå???)
- // ãàðàíòèðóåò âûðàâíèâàíèå äàííûõ íà
- // ãðàíèöó 64 áèò.
- type
- { Áàçîâàÿ èíôîðìàöèÿ çíà÷åíèÿ êëþ÷à ðååñòðà }
- TKEY_VALUE_BASIC_INFORMATION = packed record
- TitleIndex: ULONG; //Íå èñïîëüçóåòñÿ
- ValueType: ULONG;
- NameLength: ULONG;
- //Name: array[0..0] of WideChar;
- end;
- KEY_VALUE_BASIC_INFORMATION = TKEY_VALUE_BASIC_INFORMATION;
- PKEY_VALUE_BASIC_INFORMATION = ^TKEY_VALUE_BASIC_INFORMATION;
- { Ïîëíàÿ èíôîðìàöèÿ çíà÷åíèÿ êëþ÷à ðååñòðà }
- TKEY_VALUE_FULL_INFORMATION = packed record
- TitleIndex: ULONG; //Íå èñïîëüçóåòñÿ
- ValueType: ULONG;
- DataOffset: ULONG;
- DataLength: ULONG;
- NameLength: ULONG;
- //Name: array[0..0] of WideChar;
- //Data: array[1] of
- end;
- KEY_VALUE_FULL_INFORMATION = TKEY_VALUE_FULL_INFORMATION;
- PKEY_VALUE_FULL_INFORMATION = ^TKEY_VALUE_FULL_INFORMATION;
- { ×àñòè÷íàÿ èíôîðìàöèÿ çíà÷åíèÿ êëþ÷à ðååñòðà }
- TKEY_VALUE_PARTIAL_INFORMATION = packed record
- TitleIndex: ULONG; //Íå èñïîëüçóåòñÿ
- ValueType: ULONG;
- DataLength: ULONG;
- Data: array[0..0] of Char;
- end;
- KEY_VALUE_PARTIAL_INFORMATION = TKEY_VALUE_PARTIAL_INFORMATION;
- PKEY_VALUE_PARTIAL_INFORMATION = ^TKEY_VALUE_PARTIAL_INFORMATION;
- const
- //
- // Ïðàâà íà îáúåêò êàòàëîãà äèñïåò÷åðà îáúåêòîâ.
- //
- DIRECTORY_QUERY = $0001;
- DIRECTORY_TRAVERSE = $0002;
- DIRECTORY_CREATE_OBJECT = $0004;
- DIRECTORY_CREATE_SUBDIRECTORY = $0008;
- DIRECTORY_ALL_ACCESS = (STANDARD_RIGHTS_REQUIRED or $F);
- //
- // Ïðàâà íà îáúåêò ñèìâîëè÷åñêîé ññûëêè.
- //
- SYMBOLIC_LINK_QUERY = $0001;
- SYMBOLIC_LINK_ALL_ACCESS = (STANDARD_RIGHTS_REQUIRED or 1);
- //
- // Ïàðàìåòð "Options" ôóíêöèè NtDuplicateObject
- //
- DUPLICATE_CLOSE_SOURCE = $00000001;
- DUPLICATE_SAME_ACCESS = $00000002;
- DUPLICATE_SAME_ATTRIBUTES = $00000004;
- //
- // Ïàðàìåòð "Attributes" Ôóíêöèè NtDuplicateObject
- //
- HANDLE_FLAG_INHERIT = $00000001;
- HANDLE_FLAG_PROTECT_FROM_CLOSE = $00000002;
- implementation
- uses
- NtStatusDefs;
- { Mark 3 }
- type
- TCsrAllocateCaptureBuffer = function(
- CountMessagePointers, Size: ULONG): PCSR_CAPTURE_HEADER; stdcall;
- TCsrAllocateMessagePointer = function(CaptureBuffer: PCSR_CAPTURE_HEADER;
- Length: ULONG; Pointer: PPVOID): ULONG; stdcall;
- TCsrCaptureMessageBuffer = procedure(CaptureBuffer: PCSR_CAPTURE_HEADER;
- Buffer: PVOID; Length: ULONG; CapturedBuffer: PPVOID); stdcall;
- TCsrCaptureMessageString = procedure(CaptureBuffer: PCSR_CAPTURE_HEADER;
- AString: LPCSTR; Length: ULONG; MaximumLength: ULONG;
- CapturedString: PSTRING); stdcall;
- TCsrCaptureMessageMultiUnicodeStringsInPlace = function (
- pCaptureMessage: PPCSR_CAPTURE_HEADER; NumberOfStrings: ULONG;
- Strings: PPUNICODE_STRING): NTSTATUS; stdcall;
- TCsrClientCallServer = function(m: PCSR_API_MESSAGE;
- CaptureBuffer: PCSR_CAPTURE_HEADER; ApiNumber: CSR_API_NUMBER;
- ArgLength: ULONG): NTSTATUS; stdcall;
- TCsrClientConnectToServer = function (ObjectDirectory: PWideChar;
- ServerIndex: Integer; CallbackInfo: Pointer; MessageBuffer: Pointer;
- BufferSize: LPDWORD; ServerProcess: PBYTE): NTSTATUS; stdcall;
- TCsrClientConnectToServerXP = function (ObjectDirectory: PWideChar;
- ServerIndex: Integer; MessageBuffer: Pointer;
- BufferSize: LPDWORD; ServerProcess: PBYTE): NTSTATUS; stdcall;
- TCsrFreeCaptureBuffer = procedure(
- CaptureBuffer: PCSR_CAPTURE_HEADER); stdcall;
- TCsrGetProcessId = function: DWORD; stdcall;
- TCsrIdentifyAlertableThread = function: NTSTATUS; stdcall;
- TCsrNewThread = procedure; stdcall;
- TDbgBreakPoint = procedure; stdcall;
- TDbgUiConnectToDbg = function: NTSTATUS; stdcall;
- TDbgUiContinue = function(AppClientId: PCLIENT_ID;
- ContinueStatus: NTSTATUS): NTSTATUS; stdcall;
- TDbgUiConvertStateChangeStructure = function(
- StateChange: PDBGUI_WAIT_STATE_CHANGE;
- lpDebugEvent: LPDEBUG_EVENT): NTSTATUS; stdcall;
- TDbgUiDebugActiveProcess = function(
- ProcessHandle: THANDLE): NTSTATUS; stdcall;
- TDbgUiGetThreadDebugObject = function: PVOID; stdcall;
- TDbgUiIssueRemoteBreakin = function(
- ProcessHandle: THANDLE): NTSTATUS; stdcall;
- TDbgUiStopDebugging = function(ProcessHandle: THANDLE): NTSTATUS; stdcall;
- TDbgUiWaitStateChange = function(StateChange: PDBGUI_WAIT_STATE_CHANGE;
- Timeout: PLARGE_INTEGER): NTSTATUS; stdcall;
- TLdrAccessResource = function(DllHandle: PVOID;
- ResourceDataEntry: PIMAGE_RESOURCE_DATA_ENTRY; Address: PPVOID;
- Size: PULONG): NTSTATUS; stdcall;
- TLdrAlternateResourcesEnabled = function: BOOL; stdcall;
- TLdrDestroyOutOfProcessImage = procedure(AImage: PVOID); stdcall;
- TLdrDisableThreadCalloutsForDll = procedure (hMod: THandle); stdcall;
- TLdrEnumerateLoadedModules = procedure(dwdwReserved: DWORD;
- Enumerator: Pointer; ImageBaseAddress: PVOID); stdcall;
- TLdrFindResource_U = function(DllHandle: PVOID; ResourceIdPath: PULONG;
- ResourceIdPathLength: ULONG;
- ResourceDataEntry: PPIMAGE_RESOURCE_DATA_ENTRY): NTSTATUS; stdcall;
- TLdrFindResourceDirectory_U = function(DllHandle: PVOID;
- ResourceIdPath: PULONG; ResourceIdPathLength: ULONG;
- ResourceDataEntry: PPIMAGE_RESOURCE_DATA_ENTRY): NTSTATUS; stdcall;
- TLdrFlushAlternateResourceModules = function: BOOL; stdcall;
- TLdrGetDllHandle = function (Path: LPWSTR; DllCharacteristics: PULONG;
- DllName: PUNICODE_STRING; DllHandle: PHandle): NTSTATUS; stdcall;
- TLdrGetDllHandleEx = function(dwFlags: DWORD; DllPath: LPWSTR;
- DllCharacteristics: PULONG; DllName: PUNICODE_STRING;
- DllHandle: PHMODULE):NTSTATUS; stdcall;
- TLdrGetProcedureAddress = function (ImageBase: PVOID; ProcName: PANSI_STRING;
- ProcedureOrdinalValue: PULONG; ProcedureAddress: PPvoid): NTSTATUS; stdcall;
- TLdrLoadAlternateResourceModule = function (DllHandle: THandle;
- ModuleName: LPWSTR): THandle; stdcall;
- TLdrLoadAlternateResourceModuleEx = function(uLandID: WORD; Module: HMODULE;
- ModuleName: LPWSTR):PVOID; stdcall;
- TLdrLoadDll = function (Path: LPWSTR; DllCharacteristics: PULONG;
- DllName: PUNICODE_STRING; DllHandle: PHandle): NTSTATUS; stdcall;
- TLdrLockLoaderLock = function (LockType: Integer;
- var LockStatus, LockId: Integer): NTSTATUS; stdcall;
- TLdrQueryImageFileExecutionOptions = function (SubKey: PUNICODE_STRING;
- ValueName: LPWSTR; ValueSize: ULONG; Buffer: PVOID; BufferSize: ULONG;
- ReturnedLength: PULONG): NTSTATUS; stdcall;
- TLdrSetDllManifestProber = procedure(ProberRoutine: Pointer); stdcall;
- TLdrShutdownProcess = procedure; stdcall;
- TLdrShutdownThread = procedure; stdcall;
- TLdrUnloadAlternateResourceModule = function(Module: PVOID): BOOL; stdcall;
- TLdrUnloadDll = function (ImageBase: PVOID): NTSTATUS; stdcall;
- TLdrUnlockLoaderLock = function (
- LockType, LockId: Integer): NTSTATUS; stdcall;
- TNtAcceptConnectPort = function (PortHandle: PHANDLE; PortIdentifier: ULONG;
- LpcMessage: PLPCMESSAGE; Accept: ULONG; WriteSection: PPORT_SECTION_WRITE;
- ReadSection: PPORT_SECTION_READ): NTSTATUS; stdcall;
- TNtAccessCheck = function(SecurityDescriptor: PSECURITY_DESCRIPTOR;
- hTokenClient: THANDLE; DesiredAccess: ACCESS_MASK;
- pGenericMapping: PGENERIC_MAPPING; pPrivilegeSet: PPRIVILEGE_SET;
- pPrivilegeSetLength: PULONG; pAccessGranted: PACCESS_MASK;
- AccessGrantedReturnStatus: PNTSTATUS): NTSTATUS; stdcall;
- TNtAccessCheckAndAuditAlarm = function(SubSystemName: PUNICODE_STRING;
- HandleId: PVOID; ObjectTypeName, ObjectName: PUNICODE_STRING;
- SecurityDescriptor: PSECURITY_DESCRIPTOR; DesiredAccess: ACCESS_MASK;
- pGenericMapping: PGENERIC_MAPPING; bObjectCreation: BOOL;
- pAccessGranted: PACCESS_MASK; AccessGrantedReturnStatus: PNTSTATUS;
- bGenerateOnClose: PBOOLEAN): NTSTATUS; stdcall;
- TNtAccessCheckByType = function(pSecurityDescriptor: PSECURITY_DESCRIPTOR;
- PrincipalSelfSid: PSID; hClientToken: THANDLE; DesiredAccess: ACCESS_MASK;
- ObjectTypeList: POBJECT_TYPE_LIST; ObjectTypeListLength: ULONG;
- pGenericMapping: PGENERIC_MAPPING; pPrivilegeSet: PPRIVILEGE_SET;
- pPrivilegeSetLength: PULONG; pAccessGranted: PACCESS_MASK;
- AccessGrantedReturnStatus: PNTSTATUS): NTSTATUS; stdcall;
- TNtAccessCheckByTypeAndAuditAlarm = function(SubSystemName: PUNICODE_STRING;
- HandleId: PVOID; ObjectTypeName, ObjectName: PUNICODE_STRING;
- SecurityDescriptor: PSECURITY_DESCRIPTOR; PrincipalSelfSid: PSID;
- DesiredAccess: ACCESS_MASK; AuditType: AUDIT_EVENT_TYPE; Flags: ULONG;
- ObjectTypeList: POBJECT_TYPE_LIST; ObjectTypeListLength: ULONG;
- pGenericMapping: PGENERIC_MAPPING; bObjectCreation: BOOL;
- pAccessGranted: PACCESS_MASK; AccessGrantedReturnStatus: PNTSTATUS;
- bGenerateOnClose: PBOOLEAN): NTSTATUS; stdcall;
- TNtAccessCheckByTypeResultList = function(
- pSecurityDescriptor: PSECURITY_DESCRIPTOR; PrincipalSelfSid: PSID;
- hClientToken: THANDLE; DesiredAccess: ACCESS_MASK;
- ObjectTypeList: POBJECT_TYPE_LIST; ObjectTypeListLength: ULONG;
- pGenericMapping: PGENERIC_MAPPING; pPrivilegeSet: PPRIVILEGE_SET;
- pPrivilegeSetLength: PULONG; pAccessGranted: PACCESS_MASK;
- AccessGrantedReturnStatus: PNTSTATUS): NTSTATUS; stdcall;
- TNtAccessCheckByTypeResultListAndAuditAlarm = function(
- SubSystemName: PUNICODE_STRING; HandleId: PVOID;
- ObjectTypeName, ObjectName: PUNICODE_STRING;
- SecurityDescriptor: PSECURITY_DESCRIPTOR; PrincipalSelfSid: PSID;
- DesiredAccess: ACCESS_MASK; AuditType: AUDIT_EVENT_TYPE; Flags: ULONG;
- ObjectTypeList: POBJECT_TYPE_LIST; ObjectTypeListLength: ULONG;
- pGenericMapping: PGENERIC_MAPPING; bObjectCreation: BOOLEAN;
- pAccessGranted: PACCESS_MASK; AccessGrantedReturnStatus: PNTSTATUS;
- bGenerateOnClose: PBOOLEAN): NTSTATUS; stdcall;
- TNtAccessCheckByTypeResultListAndAuditAlarmByHandle = function(
- SubsystemName: PUNICODE_STRING; HandleId: PVOID; TokenHandle: THANDLE;
- ObjectTypeName, ObjectName: PUNICODE_STRING;
- SecurityDescriptor: PSECURITY_DESCRIPTOR; PrincipalSelfSid: PSID;
- DesiredAccess: ACCESS_MASK; AuditType: AUDIT_EVENT_TYPE; Flags: ULONG;
- ObjectTypeList: POBJECT_TYPE_LIST; ObjectTypeListLength: ULONG;
- GenericMapping: PGENERIC_MAPPING; ObjectCreation: BOOL;
- GrantedAccessList: PACCESS_MASK; AccessStatusList: PULONG;
- GenerateOnClose: PULONG): NTSTATUS; stdcall;
- TNtAddAtom = function (pString: LPWSTR; StringLength: ULONG;
- Atom: PATOM): NTSTATUS; stdcall;
- TNtAdjustGroupsToken = function(hToken: THANDLE; ResetToDefault: BOOL;
- pNewTokenGroups: PTOKEN_GROUPS; pOldTokenGroupsLength: ULONG;
- pOldTokenGroups: PTOKEN_GROUPS;
- pOldTokenGroupsActualLength: PULONG): NTSTATUS; stdcall;
- TNtAdjustPrivilegesToken = function (hToken: THANDLE;
- DisableAllPrivileges: Boolean; pNewPrivlegeSet: PTOKEN_PRIVILEGES;
- PreviousPrivilegeSetBufferLength: ULONG;
- pPreviousPrivlegeSet: PTOKEN_PRIVILEGES;
- PreviousPrivlegeSetReturnLength: PULONG): NTSTATUS; stdcall;
- TNtAlertThread = function(hThread: THANDLE): NTSTATUS; stdcall;
- TNtAllocateLocallyUniqueId = function(Luid: PLUID): NTSTATUS; stdcall;
- TNtAllocateUserPhysicalPages = function(ProcessHandle: THANDLE;
- NumberOfPages, PageFrameNumbers: PULONG): NTSTATUS; stdcall;
- TNtAllocateVirtualMemory = function (hProcess: THANDLE;
- PreferredBaseAddress: PVOID; nLowerZeroBits: DWORD;
- SizeRequestedAllocated: LPDWORD;
- AllocationType, ProtectionAttributes: DWORD): NTSTATUS; stdcall;
- TNtApphelpCacheControl = function(ControlCode: LONG;
- ControlData: PVOID): NTSTATUS; stdcall;
- TNtAssignProcessToJobObject = function (
- hJob, hProcess: THANDLE): NTSTATUS; stdcall;
- TNtAssociateProcessWithReserve = function(
- ProcessHandle, ReserveHandle: THANDLE): NTSTATUS; stdcall;
- TNtCancelDeviceWakeupRequest = function(
- DeviceHandle: THANDLE): NTSTATUS; stdcall;
- TNtCancelIoFile = function (hFile: THANDLE;
- IoStatusBlock: PIoStatusBlock): NTSTATUS; stdcall;
- TNtCancelTimer = function (TimerHandle: THANDLE;
- CurrentState: PBOOLEAN): NTSTATUS; stdcall;
- TNtClearEvent = function (hEvent: THANDLE): NTSTATUS; stdcall;
- TNtClose = function (AHandle : THandle) : NTSTATUS; stdcall;
- TNtCloseObjectAuditAlarm = function(SubSystemName: PUNICODE_STRING;
- HandleId: PVOID; bGenerateOnClose: BOOL): NTSTATUS; stdcall;
- TNtCommitTransaction = function(TransactionHandle: THANDLE;
- AddInfo: ULONG): NTSTATUS; stdcall;
- TNtCompleteConnectPort = function (PortHandle: THANDLE): NTSTATUS; stdcall;
- TNtConnectPort = function (PortHandle: PHANDLE; PortName: PUNICODE_STRING;
- SecurityQos: PSECURITY_QUALITY_OF_SERVICE;
- WriteSection: PPORT_SECTION_WRITE; ReadSection: PPORT_SECTION_READ;
- MaxMesageSize: PULONG; ConnectInfo: PVOID;
- pConnectInfoLength: PULONG): NTSTATUS; stdcall;
- TNtCreateDirectoryObject = function (DirectoryHandle: PHandle;
- DesiredAccess: ACCESS_MASK;
- ObjectAttributes: POBJECT_ATTRIBUTES): NTSTATUS; stdcall;
- TNtCreateEvent = function (EventHandle: PHANDLE; DesiredAccess: ACCESS_MASK;
- ObjectAttributes: POBJECT_ATTRIBUTES; EventType: Integer;
- InitialState: BOOL): NTSTATUS; stdcall;
- TNtCreateFile = function (FileHandle: PHandle;
- const DesiredAccess: ACCESS_MASK; ObjectAttributes: POBJECT_ATTRIBUTES;
- IoStatusBlock: PIoStatusBlock; AllocationSize: PLARGE_INTEGER;
- FileAttributes, ShareAccess, CreateDisposition, CreateOptions: ULONG;
- EaBuffer: PVOID; EaLength: ULONG): NTSTATUS; stdcall;
- TNtCreateJobObject = function (phJob: PHANDLE; DesiredAccess: ACCESS_MASK;
- ObjectAttributes: POBJECT_ATTRIBUTES): NTSTATUS; stdcall;
- TNtCreateKey = function (phKey: PHandle; DesiredAccess: ACCESS_MASK;
- ObjectAttributes: POBJECT_ATTRIBUTES; TitleIndex: ULONG;
- AClass: PUNICODE_STRING; CreateOptions: ULONG;
- pDisposition: PULONG): NTSTATUS; stdcall;
- TNtCreateMailSlotFile = function (hMailSlot: PHANDLE;
- DesiredAccess: ACCESS_MASK; ObjectAttributes: POBJECT_ATTRIBUTES;
- IoStatusBlock: PIoStatusBlock; CreateOptions, InBufferSize,
- nMaxMessageSize: ULONG; ReadTimeout: PLARGE_INTEGER): NTSTATUS; stdcall;
- TNtCreateMutant = function (hMutex: PHandle; AccessMask: ACCESS_MASK;
- ObjectAttributes: POBJECT_ATTRIBUTES;
- bOwnMutant: Boolean): NTSTATUS; stdcall;
- TNtCreateNamedPipeFile = function (hPipe: PHANDLE; DesiredAccess: ACCESS_MASK;
- ObjectAttributes: POBJECT_ATTRIBUTES; IoStatusBlock: PIOSTATUSBLOCK;
- AllocationSize: PLARGE_INTEGER;
- FileAttributes, ShareAccess, PipeType, PipeReadMode, PipeWaitMode,
- nMaxInstances, nOutBufferSize, nInBufferSize: ULONG;
- DefaultTimeOut: PLARGE_INTEGER):NTSTATUS; stdcall;
- TNtCreatePort = function (PortHandle: PHANDLE;
- ObjectAttributes: OBJECT_ATTRIBUTES; MaxConnectInfoLength, MaxDataLength,
- MaxPoolUsage: ULONG): NTSTATUS; stdcall;
- TNtCreateSection = function (phSection: PHANDLE; DesiredAccess: ACCESS_MASK;
- ObjectAttributes: POBJECT_ATTRIBUTES; MaximumSize: PLARGE_INTEGER;
- SectionPageProtection, AllocationAttributes: ULONG;
- hFile: THANDLE): NTSTATUS; stdcall;
- TNtCreateSemaphore = function(hSemaphore: PHANDLE; AccessMask: ACCESS_MASK;
- ObjectAttributes: POBJECT_ATTRIBUTES;
- InitialCount, MaximumCount: ULONG):NTSTATUS; stdcall;
- TNtCreateSymbolicLinkObject = function (SymbolicLinkHandle: PHandle;
- DesiredAccess: ACCESS_MASK; ObjectAttributes: POBJECT_ATTRIBUTES;
- SubstituteString: PUNICODE_STRING): NTSTATUS; stdcall;
- TNtCreateTimer = function(TimerHandle: PHandle; DesiredAccess: ACCESS_MASK;
- ObjectAttributes: POBJECT_ATTRIBUTES;
- TimerType: TIMER_TYPE): NTSTATUS; stdcall;
- TNtCreateThread = function(phThread: PHANDLE; AccessMask: ACCESS_MASK;
- ObjectAttributes: POBJECT_ATTRIBUTES; hProcess: THANDLE;
- pClientId: PCLIENT_ID; pContext: PCONTEXT; pStackInfo: PSTACKINFO;
- bSuspended: BOOL):NTSTATUS; stdcall;
- TNtCreateWaitablePort = function(PortHandle: PHANDLE;
- ObjectAttributes: POBJECT_ATTRIBUTES;
- MaxConnectInfoLength, MaxDataLength, Reserved: ULONG): NTSTATUS; stdcall;
- TNtDebugActiveProcess = function(ProcessHandle: THANDLE;
- DebugObject: PVOID): NTSTATUS; stdcall;
- TNtDelayExecution = function (bAlertable: ULONG;
- pDuration: PLARGE_INTEGER): NTSTATUS; stdcall;
- TNtDeleteAtom = function (AAtom: ATOM): NTSTATUS; stdcall;
- TNtDeleteFile = function(ObjectAttributes: POBJECT_ATTRIBUTES): NTSTATUS; stdcall;
- TNtDeleteKey = function (KeyHandle: THANDLE): NTSTATUS; stdcall;
- TNtDeleteObjectAuditAlarm = function(SubSystemName: PUNICODE_STRING;
- HandleId: PVOID; bGenerateOnClose: BOOL): NTSTATUS; stdcall;
- TNtDeleteValueKey = function (hKey: THANDLE;
- pValueName: PUNICODE_STRING):NTSTATUS; stdcall;
- TNtDeviceIoControlFile = function (hFile, hEvent: THANDLE;
- IoApcRoutine: Pointer; IoApcContext: PVOID; IoStatusBlock: PIOSTATUSBLOCK;
- DeviceIoControlCode: ULONG; InBuffer: PVOID; InBufferLength: ULONG;
- OutBuffer: PVOID; OutBufferLength: ULONG):NTSTATUS; stdcall;
- TNtDisassociateProcessFromReserve = function(
- ProcessHandle: THANDLE): NTSTATUS; stdcall;
- TNtDisjoinThreadFromReserve = function(hThread: THANDLE): NTSTATUS; stdcall;
- TNtDuplicateToken = function(hToken: THANDLE; DesiredAccess: ACCESS_MASK;
- ObjectAttributes: POBJECT_ATTRIBUTES; bMakeTokenEffectiveOnly: BOOL;
- TokenType: TOKEN_TYPE; phNewToken: PHANDLE): NTSTATUS; stdcall;
- TNtDuplicateObject = function (SourceProcessHandle, SourceHandle,
- TargetProcessHandle: THandle; TargetHandle: PHandle;
- DesiredAccess: ACCESS_MASK; Attributes: ULONG; //OBJ_xxx
- Options: ULONG): NTSTATUS; stdcall;
- TNtEnumerateKey = function (hKey: THANDLE; Index: ULONG;
- KeyInfoClass: KEY_INFORMATION_CLASS; KeyInfoBuffer: PVOID;
- KeyInfoBufferLength: ULONG; BytesCopied: PULONG): NTSTATUS; stdcall;
- TNtEnumerateValueKey = function (hKey: THANDLE; Index: ULONG;
- KeyValueInfoClass: KEY_VALUE_INFORMATION_CLASS; KeyValueInfoBuffer: PVOID;
- KeyValueInfoBufferLength: ULONG; BytesCopied: PULONG): NTSTATUS; stdcall;
- TNtFilterToken = function(ExistingTokenHandle: THANDLE; Flags: ULONG;
- SidsToDisable: PTOKEN_GROUPS; PrivilegesToDelete: PTOKEN_PRIVILEGES;
- SidsToRestrict: PTOKEN_GROUPS; NewTokenHandle: PHANDLE): NTSTATUS; stdcall;
- TNtFindAtom = function(pString: PWideChar; StringLength: ULONG;
- AAtom: PATOM): NTSTATUS; stdcall;
- TNtFlushBuffersFile = function(hFile: THANDLE;
- IoStatusBlock: PIOSTATUSBLOCK): NTSTATUS; stdcall;
- TNtFlushInstructionCache = function(hProcess: THANDLE; BaseAddressRegion:
- PVOID; RegionSize: ULONG): NTSTATUS; stdcall;
- TNtFlushKey = function(KeyHandle: THANDLE): NTSTATUS; stdcall;
- TNtFlushVirtualMemory = function(hProcess: THANDLE; StartingAddress: PVOID;
- SizeToFlush: PULONG; IoStatusBlock: PIOSTATUSBLOCK): NTSTATUS; stdcall;
- TNtFreeUserPhysicalPages = function(ProcessHandle: THANDLE;
- NumberOfPages, PageFrameNumbers: PULONG): NTSTATUS; stdcall;
- TNtFreeVirtualMemory = function(hProcess: THANDLE; StartingAddress:
- PVOID; SizeRequestedReleased: LPDWORD; ReleaseType: UINT):NTSTATUS; stdcall;
- TNtFsControlFile = function(hFile, hEvent: THANDLE; IoApcRoutine: Pointer;
- IoApcContext: PVOID; IoStatusBlock: PIOSTATUSBLOCK; FileSystemControlCode:
- ULONG; InBuffer: PVOID; InBufferLength: ULONG; OutBuffer: PVOID;
- OutBufferLength: ULONG):NTSTATUS; stdcall;
- TNtGetCurrentProcessorNumber = function : Integer; stdcall;
- TNtGetContextThread = function(hThread: THANDLE;
- pContext: PCONTEXT):NTSTATUS; stdcall;
- TNtGetDevicePowerState = function(DeviceHandle: THANDLE;
- DevicePowerState: PDEVICE_POWER_STATE): NTSTATUS; stdcall;
- TNtGetWriteWatch = function(ProcessHandle: THANDLE; Flags: ULONG;
- BaseAddress: PVOID; RegionSize: ULONG;
- Buffer, BufferEntries, Granularity: PULONG): NTSTATUS; stdcall;
- TNtImpersonateAnonymousToken = function(hThread: THANDLE): NTSTATUS; stdcall;
- TNtImpersonateClientOfPort = function(PortHandle: THANDLE;
- LpcMessage: PLPCMESSAGE): NTSTATUS; stdcall;
- TNtInitiatePowerAction = function(SystemAction: POWER_ACTION;
- MinSystemState: SYSTEM_POWER_STATE; Flags: ULONG;
- Asynchronous: BOOL): NTSTATUS; stdcall;
- TNtIsProcessInJob = function(
- ProcessHandle, JobHandle: THANDLE): NTSTATUS; stdcall;
- TNtIsSystemResumeAutomatic = function: NTSTATUS; stdcall;
- TNtJoinThreadToReserve = function(
- ThreadHandle, ReserveHandle: THANDLE): NTSTATUS; stdcall;
- TNtListenPort = function(PortHandle: THANDLE;
- LpcMessage: PLPCMESSAGE): NTSTATUS; stdcall;
- TNtLoadDriver = function(
- DriverRegistryEntry: PUNICODE_STRING): NTSTATUS; stdcall;
- TNtLoadKey = function(KeyNameAttributes,
- HiveFileNameAttributes: POBJECT_ATTRIBUTES): NTSTATUS; stdcall;
- TNtLockFile = function(hFile, hEvent: THANDLE; IoApcRoutine: Pointer;
- IoApcContext: PVOID; IoStatusBlock: PIOSTATUSBLOCK;
- FileOffset, Length: PLARGE_INTEGER; LockOperationKey: PULONG;
- bFailIfNotPossibleAtThisPoint, bExclusiveLock: BOOL):NTSTATUS; stdcall;
- TNtLockVirtualMemory = function(hProcess: THANDLE; BaseAddress: PPVOID;
- RegionSize: PULONG; LockType: ULONG):NTSTATUS; stdcall;
- TNtMakeTemporaryObject = function (AHandle: THandle): NTSTATUS; stdcall;
- TNtMapUserPhysicalPages = function(BaseAddress: PVOID;
- NumberOfPages, PageFrameNumbers: PULONG): NTSTATUS; stdcall;
- TNtMapUserPhysicalPagesScatter = function(BaseAddresses: PPVOID;
- NumberOfPages, PageFrameNumbers: PULONG): NTSTATUS; stdcall;
- TNtMapViewOfSection = function (hSection: THandle; hProcess: THandle;
- BaseAddress: PPVoid; ZeroBits: ULONG; CommitSize: ULONG;
- SectionOffset: PLARGE_INTEGER; ViewSize: PULONG;
- InheritDisposition: SECTION_INHERIT; AllocationType: ULONG;
- Protect: ULONG): NTSTATUS; stdcall;
- TNtNotifyChangeDirectoryFile = function(hFile, hEvent: THANDLE;
- IoApcRoutine: Pointer; IoApcContext: PVOID; IoStatusBlock: PIOSTATUSBLOCK;
- ChangeBuffer: PVOID; ChangeBufferLength, NotifyFilter: ULONG;
- bWatchSubtree: BOOL):NTSTATUS; stdcall;
- TNtNotifyChangeKey = function(hKey, hEvent: THANDLE; ApcRoutine: Pointer;
- ApcRoutineContext: PVOID; IoStatusBlock: PIOSTATUSBLOCK;
- NotifyFilter: ULONG; bWatchSubtree: BOOL; RegChangesDataBuffer: PVOID;
- RegChangesDataBufferLength: ULONG; bAynchronous: BOOL): NTSTATUS; stdcall;
- TNtNotifyChangeMultipleKeys = function(KeyHandle: THANDLE; Flags: ULONG;
- KeyObjectAttributes: POBJECT_ATTRIBUTES; EventHandle: THANDLE;
- ApcRoutine: Pointer; ApcContext: PVOID; IoStatusBlock: PIOSTATUSBLOCK;
- NotifyFilter: ULONG; WatchSubTree: BOOL; Buffer: PVOID; BufferLength: ULONG;
- Asynchronous: BOOL): NTSTATUS; stdcall;
- TNtOpenDirectoryObject = function (DirectoryHandle: PHandle;
- DesiredAccess: ACCESS_MASK;
- ObjectAttributes: POBJECT_ATTRIBUTES) : NTSTATUS; stdcall;
- TNtOpenEvent = function(hEvent: PHANDLE; DesiredAccess: ACCESS_MASK;
- ObjectAttributes: POBJECT_ATTRIBUTES):NTSTATUS; stdcall;
- TNtOpenFile = function (FileHandle: PHandle;
- const DesiredAccess: ACCESS_MASK; ObjectAttributes: POBJECT_ATTRIBUTES;
- IoStatusBlock: PIoStatusBlock;
- const ShareAccess, OpenOptions: ULONG): NTSTATUS; stdcall;
- TNtOpenJobObject = function(phJob: PHANDLE; DesiredAccess: ACCESS_MASK;
- ObjectAttributes: POBJECT_ATTRIBUTES):NTSTATUS; stdcall;
- TNtOpenKey = function (phKey: PHandle; DesiredAccess: ACCESS_MASK;
- oa: POBJECT_ATTRIBUTES): NTSTATUS; stdcall;
- TNtOpenMutant = function(hMutex: PHANDLE; DesiredAccess: ACCESS_MASK;
- ObjectAttributes: POBJECT_ATTRIBUTES):NTSTATUS; stdcall;
- TNtOpenObjectAuditAlarm = function(SubsystemName: PUNICODE_STRING;
- HandleId: PVOID; ObjectTypeName, ObjectName: PUNICODE_STRING;
- pSecurityDescriptor: PSECURITY_DESCRIPTOR; hTokenClient: THANDLE;
- DesiredAccess, GrantedAccess: ACCESS_MASK; pPrivilegeSet: PPRIVILEGE_SET;
- bObjectCreation, bAccessGranted: BOOL;
- bGenerateOnClose: PBOOLEAN): NTSTATUS; stdcall;
- TNtOpenProcess = function (phProcess: PHandle; DesiredAccess: ACCESS_MASK;
- oa: POBJECT_ATTRIBUTES; pClientId: PCLIENT_ID): NTSTATUS; stdcall;
- TNtOpenProcessToken = function (hProcess: THandle;
- DesiredAccess: ACCESS_MASK; hToken: PHandle): NTSTATUS; stdcall;
- TNtOpenReserve = function(ReserveHandle: PHANDLE; DesiredAccess: ACCESS_MASK;
- oa: POBJECT_ATTRIBUTES): NTSTATUS; stdcall;
- TNtOpenSection = function(SectionHandle: PHANDLE; DesiredAccess: ACCESS_MASK;
- ObjectAttributes: POBJECT_ATTRIBUTES):NTSTATUS; stdcall;
- TNtOpenSemaphore = function(hSemaphore: PHANDLE; DesiredAccess: ACCESS_MASK;
- ObjectAttributes: POBJECT_ATTRIBUTES):NTSTATUS; stdcall;
- TNtOpenSymbolicLinkObject = function (SymbolicLinkHandle: PHandle;
- DesiredAccess: ACCESS_MASK;
- ObjectAttributes: POBJECT_ATTRIBUTES): NTSTATUS; stdcall;
- TNtOpenThread = function(phThread: PHANDLE; AccessMask: ACCESS_MASK;
- ObjectAttributes: POBJECT_ATTRIBUTES;
- pClientId: PCLIENT_ID):NTSTATUS; stdcall;
- TNtOpenThreadToken = function (hThread: THANDLE; DesiredAccess: ACCESS_MASK;
- bUseContextOfProcess: LongBool; phToken: PHANDLE): NTSTATUS; stdcall;
- TNtOpenTimer = function(TimerHandle: PHANDLE; DesiredAccess: ACCESS_MASK;
- ObjectAttributes: POBJECT_ATTRIBUTES):NTSTATUS; stdcall;
- TNtPowerInformation = function(PowerInformationLevel: POWER_INFORMATION_LEVEL;
- InputBuffer: PVOID; InputBufferLength: ULONG; OutputBuffer: PVOID;
- OutputBufferLength: ULONG): NTSTATUS; stdcall;
- TNtPrivilegeCheck = function(hToken: THANDLE; PrivilegeSet: PPRIVILEGE_SET;
- pbHasPrivileges: PBOOLEAN): NTSTATUS; stdcall;
- TNtPrivilegedServiceAuditAlarm = function(
- SubsystemName, ServiceName: PUNICODE_STRING; hToken: THANDLE;
- pPrivilegeSet: PPRIVILEGE_SET; AccessGranted: BOOL): NTSTATUS; stdcall;
- TNtPrivilegeObjectAuditAlarm = function(SubsystemName: PUNICODE_STRING;
- HandleId: PVOID; hToken: THANDLE; DesiredAccess: ACCESS_MASK;
- pPrivilegeSet: PPRIVILEGE_SET; AccessGranted: BOOL): NTSTATUS; stdcall;
- TNtProtectVirtualMemory = function(hProcess: THANDLE; BaseAddress: PPVOID;
- RegionSize: PULONG; Protect: ULONG; OldProtect: PULONG):NTSTATUS; stdcall;
- TNtPulseEvent = function(hEvent: THANDLE;
- PreviousState: PULONG):NTSTATUS; stdcall;
- TNtQueryAttributesFile = function(ObjectAttributes: POBJECT_ATTRIBUTES;
- pFileBasicInfo: PFILE_BASIC_INFORMATION):NTSTATUS; stdcall;
- TNtQueryDefaultLocale = function(bSystemOrThreadLocale: BOOL;
- DefaultLocale: PULONG):NTSTATUS; stdcall;
- TNtQueryDefaultUILanguage = function(
- DefaultUILanguage: PUSHORT):NTSTATUS; stdcall;
- TNtQueryDirectoryFile = function (FileHandle, Event: THandle;
- ApcRoutine: Pointer; ApcContext: Pointer;
- IoStatusBlock: PIoStatusBlock; FileInformation: Pointer;
- FileInformationLength: ULONG; FileInformationClass: Integer;
- ReturnSingleEntry: LongBool; FileName: PUNICODE_STRING;
- RestartScan: LongBool): NTSTATUS; stdcall;
- TNtQueryDirectoryObject = function (DirectoryHandle: THandle;
- Buffer: PVOID; BufferLength: ULONG; ReturnSingleEntry: Boolean;
- RestartScan: Boolean; Context: PDWORD;
- ReturnLength: PDWORD): NTSTATUS; stdcall;
- TNtQueryEaFile = function(hFile: THANDLE; IoStatusBlock: PIOSTATUSBLOCK;
- QueryEaBuffer: PVOID; QueryEaBufferLength: ULONG; bReturnSingleEa: BOOL;
- pListEa: PVOID; pListEaLength: ULONG; ListEaIndex: PULONG;
- bRestartQuery: BOOL):NTSTATUS; stdcall;
- TNtQueryEvent = function(hEvent: THANDLE; InfoClass: EVENT_INFO_CLASS;
- EventInfoBuffer: PVOID; EventInfoBufferSize: ULONG;
- BytesCopied: PULONG):NTSTATUS; stdcall;
- TNtQueryFullAttributesFile = function(
- FileObjectAttributes: POBJECT_ATTRIBUTES; FullFileAttributes:
- PFULL_FILE_ATTRIBUTES):NTSTATUS; stdcall;
- TNtQueryInformationAtom = function(AnAtom: ATOM;
- AtomInfoClass: ATOM_INFO_CLASS; AtomInfoBuffer: PVOID;
- AtomInfoBufferLength: ULONG; BytesCopied: PULONG):NTSTATUS; stdcall;
- TNtQueryInformationFile = function (FileHandle: THandle;
- IoStatusBlock: PIoStatusBlock; FileInformation: PVOID; Length: ULONG;
- FileInformationClass: Integer): NTSTATUS; stdcall;
- TNtQueryInformationJobObject = function(hJob: THANDLE; JobObjectInfoClass:
- JOBOBJECTINFOCLASS; JobObjectInfoBuffer: PVOID;
- JobObjectInfoBufferLength: ULONG; BytesReturned: PULONG):NTSTATUS; stdcall;
- TNtQueryInformationPort = function(PortHandle: THANDLE; InfoClass: ULONG;
- Buffer: PVOID; BufferSize: ULONG; BytesReturned: PULONG): NTSTATUS; stdcall;
- TNtQueryInformationProcess = function (hProcess : THandle;
- ProcessInformationClass : LongInt; ProcessInformation : Pointer;
- ProcessInformationLength : ULONG;
- ReturnLength : PDWORD) : NTSTATUS; stdcall;
- TNtQueryInformationReserve = function(ReserveHandle: THANDLE;
- InformationClass: Integer; InformationBuffer: PVOID;
- InformationBufferSize: ULONG; ReturnedLength: PULONG): NTSTATUS; stdcall;
- TNtQueryInformationThread = function (hThread: THANDLE;
- ThreadInfoClass: Integer; ThreadInfoBuffer: PVOID;
- ThreadInfoBufferLength: ULONG; BytesReturned: PULONG): NTSTATUS; stdcall;
- TNtQueryInformationToken = function (hToken: THandle;
- TokenInformationType: Integer; TokenInformationBuffer: Pointer;
- TokenInformationBufferSize: ULONG;
- ReturnLength: PDWORD): NTSTATUS; stdcall;
- TNtQueryInstallUILanguage = function(
- InstallUILanguage: PUSHORT): NTSTATUS; stdcall;
- TNtQueryKey = function (KeyHandle: THandle; KeyInformationClass: Integer;
- KeyInformation: PVOID; Length: ULONG;
- ResultLength: LPDWORD):NTSTATUS; stdcall;
- TNtQueryQbject = function (ObjectHandle : THandle;
- ObjectInformationClass : OBJECT_INFO_CLASS; ObjectInformation : Pointer;
- ObjectInformationLength : ULONG; ReturnLength : PDWORD) : Integer; stdcall;
- TNtQueryPerformanceCounter = function(
- pPerformanceCount, pFrequency: PLARGE_INTEGER):NTSTATUS; stdcall;
- TNtQuerySection = function(hSection: THANDLE;
- SectionInfoClass: SECTION_INFORMATION_CLASS; Buffer: PVOID;
- BufferSize: ULONG; BytesReturned: PULONG):NTSTATUS; stdcall;
- TNtQuerySecurityObject = function(hObject: THANDLE;
- SecurityInfoRequested: SECURITY_INFORMATION;
- pSecurityDescriptor: PSECURITY_DESCRIPTOR; pSecurityDescriptorLength: ULONG;
- BytesRequired: PULONG):NTSTATUS; stdcall;
- TNtQuerySymbolicLinkObject = function (SymbolicLinkHandle: THandle;
- TargetName: PUNICODE_STRING; ReturnLength: PDWORD): NTSTATUS; stdcall;
- TNtQuerySystemInformation = function (SystemInformationClass : LongInt;
- SystemInformation : Pointer; SystemInformationLength : ULONG;
- ReturnLength : PDWORD) : NTSTATUS; stdcall;
- TNtQuerySystemTime = function(pSystemTime: PLARGE_INTEGER): NTSTATUS; stdcall;
- TNtQueryValueKey = function (KeyHandle: THandle; ValueName: PUNICODE_STRING;
- KeyValueInformationClass: KEY_VALUE_INFORMATION_CLASS;
- KeyValueInformation: PVOID; KeyValueInformationLength: ULONG;
- ResultLength: PULONG): NTSTATUS; stdcall;
- TNtQueryVirtualMemory = function (hProcess : THandle; Address : PVOID;
- MemoryInformationClass : Integer; MemoryInformationBuffer : PVOID;
- MemoryInformationBufferLength : ULONG;
- ReturnLength : PDWORD) : NTSTATUS; stdcall;
- TNtQueryVolumeInformationFile = function (Handle: THandle;
- IoStatusBlock: PIoStatusBlock; VolumeInformation: Pointer;
- VolumeInformationLength: ULONG;
- VolumeInformationClass: LongInt): NTSTATUS; stdcall;
- TNtQueueApcThread = function(hThread: THANDLE; ApcRoutine: Pointer;
- NormalContext, SystemArgument1, SystemArgument2: PVOID):NTSTATUS; stdcall;
- TNtRaiseHardError = function(Status: NTSTATUS; NumberOfArguments,
- StringArgumentMask: ULONG; Arguments: PULONG; ResponseOption: Integer;
- Response: PLONG):NTSTATUS; stdcall;
- TNtReadFile = function (FileHandle: THandle; Event: THandle;
- ApcRoutine: Pointer; ApcContext: Pointer; IoStatusBlock: PIoStatusBlock;
- Buffer: Pointer; Length: ULONG; ByteOffset: PLARGE_INTEGER;
- Key: PDWORD): NTSTATUS; stdcall;
- TNtReadFileScatter = function(hFile, hEvent: THANDLE; IoApcRoutine: Pointer;
- IoApcContext: PVOID; IoStatusBlock: PIOSTATUSBLOCK;
- aSegmentArray: PFILE_SEGMENT_ELEMENT; nBytesToRead: ULONG;
- FileOffset: PLARGE_INTEGER; LockOperationKey: PULONG):NTSTATUS; stdcall;
- TNtReadVirtualMemory = function (hProcess : THandle;
- BaseAddress, Buffer: PVOID; BytesToRead: ULONG;
- BytesRead: PULONG): NTSTATUS; stdcall;
- TNtRegisterThreadTerminatePort = function(
- PortHandle: THANDLE): NTSTATUS; stdcall;
- TNtReleaseMutant = function(hMutant: THANDLE;
- bWasSignalled: PULONG):NTSTATUS; stdcall;
- TNtReleaseSemaphore = function(hSemaphore: THANDLE; ReleaseCount: ULONG;
- PreviousCount: PULONG):NTSTATUS; stdcall;
- TNtRelinquishBudget = function: NTSTATUS; stdcall;
- TNtRemoveIoCompletion = function(hIoCompletion: THANDLE;
- lpCompletionKey, lpCompletionValue: PULONG;
- IoStatusBlock: PIOSTATUSBLOCK; Timeout: PLARGE_INTEGER):NTSTATUS; stdcall;
- TNtRemoveProcessDebug = function(ProcessHandle: THANDLE;
- DebugObject: PVOID): NTSTATUS; stdcall;
- TNtReplaceKey = function(NewHiveFile: POBJECT_ATTRIBUTES; hKey: THANDLE;
- BackupHiveFile: POBJECT_ATTRIBUTES): NTSTATUS; stdcall;
- TNtReplyPort = function (PortHandle: THANDLE;
- LpcMessage: PLPCMESSAGE): NTSTATUS; stdcall;
- TNtReplyWaitReceivePort = function (PortHandle: THANDLE;
- PortIdentifier: PULONG; LpcMessageOut,
- LpcMessageIn: PLPCMESSAGE): NTSTATUS; stdcall;
- TNtReplyWaitReplyPort = function(PortHandle: THANDLE;
- LpcMessage: PLPCMESSAGE): NTSTATUS; stdcall;
- TNtRequestDeviceWakeup = function (hDevice: THANDLE): NTSTATUS; stdcall;
- TNtRequestPort = function(PortHandle: THANDLE;
- LpcMessage: PLPCMESSAGE): NTSTATUS; stdcall;
- TNtRequestWaitReplyPort = function (PortHandle: THANDLE;
- pLpcMessageIn, pLpcMessageOut: PLPCMESSAGE): NTSTATUS; stdcall;
- TNtRequestWakeupLatency = function(Latency: LATENCY_TIME):NTSTATUS; stdcall;
- TNtResetEvent = function (hEvent: THANDLE;
- OldState: PBOOLEAN): NTSTATUS; stdcall;
- TNtResetWriteWatch = function(ProcessHandle: THANDLE; BaseAddress: PVOID;
- RegionSize: ULONG): NTSTATUS; stdcall;
- TNtRestoreKey = function(hKey, hFile: THANDLE;
- Flags: ULONG): NTSTATUS; stdcall;
- TNtResumeThread = function (hThread: THANDLE;
- pSuspendCount: PULONG): NTSTATUS; stdcall;
- TNtRollbackTransaction = function(TransactionHandle: THANDLE;
- AddInfo: ULONG): NTSTATUS; stdcall;
- TNtSaveKey = function(hKey, hFile: THANDLE): NTSTATUS; stdcall;
- TNtSecureConnectPort = function (PortHandle: PHANDLE;
- PortName: PUNICODE_STRING; SecurityQos: PSECURITY_QUALITY_OF_SERVICE;
- WriteSection: PPORT_SECTION_WRITE; ServerSid: PSID;
- ReadSection: PPORT_SECTION_READ; MAxMessageSize: PULONG; ConnectData: PVOID;
- ConnectDataLength: PULONG): NTSTATUS; stdcall;
- TNtSetContextThread = function(hThread: THANDLE;
- pContext: PCONTEXT):NTSTATUS; stdcall;
- TNtSetDefaultHardErrorPort = function (hPort: THandle): NTSTATUS; stdcall;
- TNtSetEaFile = function(hFile: THANDLE; IoStatusBlock: PIOSTATUSBLOCK;
- EaBuffer: PVOID; EaBufferLength: ULONG):NTSTATUS; stdcall;
- TNtSetEvent = function (EventHandle: THANDLE;
- OldState: PBOOLEAN): NTSTATUS; stdcall;
- TNtSetInformationDebugObject = function(DebugObjectHandle: THANDLE;
- InformationClass: Integer; InformationBuffer: PVOID;
- InformationBufferSize: ULONG; Unknown: PULONG): NTSTATUS; stdcall;
- TNtSetInformationFile = function (FileHandle: THandle;
- IoStatusBlock: PIoStatusBlock; FileInformation: Pointer; Length: ULONG;
- FileInformationClass: Integer): NTSTATUS; stdcall;
- TNtSetInformationJobObject = function(hJob: THANDLE;
- JobObjectInfoClass: JOBOBJECTINFOCLASS; JobObjectInfoBuffer: PVOID;
- JobObjectInfoBufferLength: ULONG):NTSTATUS; stdcall;
- TNtSetInformationObject = function(hObject: THANDLE;
- ObjectInfoClass: OBJECT_INFO_CLASS; Buffer: PVOID; BufferSize:
- ULONG):NTSTATUS; stdcall;
- TNtSetInformationProcess = function (hProcess: THandle;
- ProcessInformationClass: LongInt; ProcessInformation: Pointer;
- ProcessInformationLength: ULONG): NTSTATUS; stdcall;
- TNtSetInformationReserve = function(ReserveHandle: THANDLE;
- InformationClass: Integer; InformationBuffer: PVOID;
- InformationBufferSize: ULONG): NTSTATUS; stdcall;
- TNtSetInformationThread = function (hThread: THANDLE;
- ThreadInfoClass: Integer; ThreadInfoBuffer: PVOID;
- ThreadInfoBufferLength: ULONG): NTSTATUS; stdcall;
- TNtSetInformationToken = function(hToken: THANDLE;
- TokenInfoClass: TOKEN_INFORMATION_CLASS; TokenInfoBuffer: PVOID;
- TokenInfoBufferLength: ULONG): NTSTATUS; stdcall;
- TNtSetIoCompletion = function(IoCompletionPortHandle: THANDLE;
- CompletionKey, CompletionValue: ULONG; CompletionStatus: NTSTATUS;
- CompletionInformation: ULONG):NTSTATUS; stdcall;
- TNtSetSecurityObject = function(hObj: THANDLE; SI: SECURITY_INFORMATION;
- pSD: PVOID):NTSTATUS; stdcall;
- TNtSetSystemInformation = function (SystemInformationClass: LongInt;
- SystemInformation: Pointer;
- SystemInformationLength: ULONG): NTSTATUS; stdcall;
- TNtSetSystemTime = function(
- pSystemTime, pOldsystemTime: PLARGE_INTEGER):NTSTATUS; stdcall;
- TNtSetThreadExecutionState = function(ExecutionState: Integer;
- PreviousExecutionState: PInteger): NTSTATUS; stdcall;
- TNtSetTimer = function(TimerHandle: THANDLE; DueTime: PLARGE_INTEGER;
- TimerApcRoutine: Pointer; TimerContext: PVOID; WakeTimer: BOOL;
- Period: LONG; PreviousState: PBOOLEAN):NTSTATUS; stdcall;
- TNtSetValueKey = function (hKey: THANDLE; uValueName: PUNICODE_STRING;
- TitleIndex, ValueType: ULONG; pValueData: PVOID;
- pValueDataLength: ULONG): NTSTATUS; stdcall;
- TNtSetVolumeInformationFile = function(hFile: THANDLE;
- IoStatusBlock: PIOSTATUSBLOCK; VolumeInformationBuffer: PVOID;
- VolumeInformationBufferLength: ULONG;
- FileSystemInformationClass: FS_INFORMATION_CLASS):NTSTATUS; stdcall;
- TNtSignalAndWaitForSingleObject = function(
- hSignalObject, hWaitObject: THANDLE; bAlertable: BOOL;
- Timeout: PLARGE_INTEGER):NTSTATUS; stdcall;
- TNtSuspendThread = function(hThread: THANDLE;
- pSuspendCount: PULONG):NTSTATUS; stdcall;
- TNtTerminateJobObject = function(hJob: THANDLE;
- ExitCode: NTSTATUS):NTSTATUS; stdcall;
- TNtTerminateProcess = function (hProcess: THandle;
- ExitCode: DWORD): NTSTATUS; stdcall;
- TNtTerminateThread = function (hThread: THandle;
- ExitCode: DWORD): NTSTATUS; stdcall;
- TNtTestAlert = function: NTSTATUS; stdcall;
- TNtUnloadDriver = function(
- DriverRegistryEntry: PUNICODE_STRING): NTSTATUS; stdcall;
- TNtUnloadKey = function(
- KeyNameAttributes: POBJECT_ATTRIBUTES): NTSTATUS; stdcall;
- TNtUnlockFile = function(hFile: THANDLE; IoStatusBlock: PIOSTATUSBLOCK;
- FileOffset, Length: PLARGE_INTEGER;
- LockOperationKey: PULONG):NTSTATUS; stdcall;
- TNtUnlockVirtualMemory = function(hProcess: THANDLE; BaseAddress: PPVOID;
- RegionSize: PULONG; UnlockTypeRequested: ULONG):NTSTATUS; stdcall;
- TNtUnmapViewOfSection = function (hProcess: THandle;
- BaseAddress: Pointer): NTSTATUS; stdcall;
- TNtVdmControl = function(ControlCode: ULONG;
- ControlData: PVOID): NTSTATUS; stdcall;
- TNtWaitForMultipleObjects = function(NumberOfHandles: ULONG;
- ArrayOfHandles: PHANDLE; WaitType: Integer; Alertable: BOOL;
- Timeout: ULONG):NTSTATUS; stdcall;
- TNtWaitForSingleObject = function (Handle: THandle;
- Alertable: LongBool; Timeout: PLARGE_INTEGER): NTSTATUS; stdcall;
- TNtWriteFile = function (FileHandle: THandle; Event: THandle;
- ApcRoutine: Pointer; ApcContext:Pointer; IoStatusBlock: PIoStatusBlock;
- Buffer: Pointer; Length: ULONG; ByteOffset: PLARGE_INTEGER;
- Key: PDWORD): NTSTATUS; stdcall;
- TNtWriteFileGather = function(hFile, hEvent: THANDLE; IoApcRoutine: Pointer;
- IoApcContext: PVOID; IoStatusBlock: PIOSTATUSBLOCK;
- aSegmentArray: PFILE_SEGMENT_ELEMENT; nBytesToWrite: ULONG;
- FileOffset: PLARGE_INTEGER; LockOperationKey: PULONG): NTSTATUS; stdcall;
- TNtWriteVirtualMemory = function(hProcess: THANDLE; BaseAddress: PVOID;
- Buffer: PVOID; BytesToWrite: ULONG; BytesWritten: PULONG):NTSTATUS; stdcall;
- TNtYieldExecution = function:NTSTATUS; stdcall;
- TRtlActivateActivationContext = function(dwFlags: DWORD; hActCtx: THANDLE;
- lpCookie: PPDWORD):NTSTATUS; stdcall;
- TRtlActivateActivationContextEx = function(dwFlags: DWORD; Teb: PVOID;
- hActCtx: THANDLE; lpCookie: PPDWORD):NTSTATUS; stdcall;
- TRtlAddAccessAllowedAce = function(pAcl: PACL; dwAceRevision: ULONG;
- AccessMask: ULONG; pSid: PSID):NTSTATUS; stdcall;
- TRtlAddRefActivationContext = procedure(hActCtx: THANDLE); stdcall;
- TRtlAdjustPrivilege = function(Privilege: ULONG; Enable, CurrentThread: BOOL;
- Enabled: PBOOLEAN): NTSTATUS; stdcall;
- TRtlAllocateAndInitializeSid = function(
- pIdentifierAuthority: PSID_IDENTIFIER_AUTHORITY;
- nSubAuthorityCount: Integer; dwSubAuthority0, dwSubAuthority1,
- dwSubAuthority2, dwSubAuthority3, dwSubAuthority4, dwSubAuthority5,
- dwSubAuthority6, dwSubAuthority7: DWORD; pSid: PPSID):NTSTATUS; stdcall;
- TRtlAllocateHandle = function(HandleTable: PRTL_HANDLE_TABLE;
- HandleIndex: PULONG):PRTL_HANDLE_TABLE_ENTRY; stdcall;
- TRtlAllocateHeap = function (Heap: THandle; AllocationFlags: DWORD;
- Size: DWORD): Pointer; stdcall;
- TRtlAnsiCharToUnicodeChar = function(SourceCharacter: PPBYTE):WCHAR; stdcall;
- TRtlAnsiStringToUnicodeSize = function(
- AAnsiString: PANSI_STRING): ULONG; stdcall;
- TRtlAnsiStringToUnicodeString = function (DestinationString: PUNICODE_STRING;
- SourceString: PANSI_STRING;
- AllocateDestinationString: BOOL): NTSTATUS; stdcall;
- TRtlAppendUnicodeStringToString = function(
- Destination, Source: PUNICODE_STRING):NTSTATUS; stdcall;
- TRtlAppendUnicodeToString = function (us: PUNICODE_STRING;
- sAppend: LPCWSTR): NTSTATUS; stdcall;
- TRtlApplicationVerifierStop = procedure(Code: ULONG; Message: LPSTR;
- Param1: ULONG; Description1: LPSTR; Param2: ULONG; Description2: LPSTR;
- Param3: ULONG; Description3: LPSTR; Param4: ULONG;
- Description4: LPSTR); stdcall;
- TRtlAreBitsSet = function(BitMapHeader: PRTL_BITMAP;
- StartingIndex, Length: ULONG):BOOL; stdcall;
- TRtlCharToInteger = function(AString: LPSTR; Base: ULONG;
- Value: PULONG):NTSTATUS; stdcall;
- TRtlCheckRegistryKey = function(RelativeTo: ULONG;
- Path: LPWSTR): NTSTATUS; stdcall;
- TRtlClearBits = procedure(BitMapHeader: PRTL_BITMAP;
- StartingIndex, NumberToClear: ULONG); stdcall;
- TRtlCompactHeap = function(HeapHandle: PVOID; Flags: ULONG):SIZE_T; stdcall;
- TRtlCompareMemory = function(Source1, Source2: PVOID;
- Length: SIZE_T): SIZE_T; stdcall;
- TRtlCompareString = function(String1, String2: PSTRING;
- CaseInSensitive: BOOL): LONG; stdcall;
- TRtlCompareUnicodeString = function(String1, String2: PUNICODE_STRING;
- CaseInSensitive: BOOL):LONG; stdcall;
- TRtlConvertSidToUnicodeString = function(UnicodeString: PUNICODE_STRING;
- Sid: PSID; AllocateDestinationString: BOOL): NTSTATUS; stdcall;
- TRtlCopyLuid = procedure (DestLuid, SrcLuid: PLUID); stdcall;
- TRtlCopyString = procedure(DestinationString, SourceString: PSTRING); stdcall;
- TRtlCopyUnicodeString = procedure(
- DestinationString, SourceString: PUNICODE_STRING); stdcall;
- TRtlCreateAcl = function(Acl: PACL; nAclLength: ULONG;
- dwAclRevision: ULONG):NTSTATUS; stdcall;
- TRtlCreateAtomTable = function(InitSize: DWORD;
- pAtomTableHandle: PHANDLE):NTSTATUS; stdcall;
- TRtlCreateEnvironment = function(CopyCurrent: BOOL;
- EnvironmentBlock: PPVOID):NTSTATUS; stdcall;
- TRtlCreateHeap = function(AllocationFlags: ULONG; BaseAddress: PVOID;
- MaximumSize, InitialSize: ULONG; UnknownAddress: PVOID;
- HeapInfo: PHEAP_INFO):THANDLE; stdcall;
- TRtlCreateProcessParameters = function (
- ProcessParameters: PPPROCESS_PARAMETERS;
- ImagePathName, DllPath, CurrentDirectory, CommandLine: PUNICODE_STRING;
- EnvironmentBlock: PVOID; WindowTitle, DesktopInfo,
- ShellInfo, RuntimeData: PUNICODE_STRING): NTSTATUS; stdcall;
- TRtlCreateQueryDebugBuffer = function(MaximumCommit: ULONG;
- UseEventPair: BOOL):PRTL_DEBUG_INFORMATION; stdcall;
- TRtlCreateSecurityDescriptor = function(
- SecurityDescriptor: PSECURITY_DESCRIPTOR;
- Revision: ULONG):NTSTATUS; stdcall;
- TRtlCreateTagHeap = function (Heap: THandle; Flags: ULONG;
- TagPrefix, TagNames: LPWSTR): DWORD; stdcall;
- TRtlCreateTimer = function(TimerQueueHandle: THANDLE; Handle: PHANDLE;
- AFunction: Pointer; Context: PVOID;
- DueTime, Period, Flags: ULONG):NTSTATUS; stdcall;
- TRtlCreateTimerQueue = function(TimerQueueHandle: PHANDLE):NTSTATUS; stdcall;
- TRtlCreateUnicodeString = function (us: PUNICODE_STRING;
- s: PWideChar): Boolean; stdcall;
- TRtlCreateUnicodeStringFromAsciiz = function (us: PUNICODE_STRING;
- s: PAnsiChar): Boolean; stdcall;
- TRtlCustomCPToUnicodeN = function(CustomCP: PCPTABLEINFO;
- UnicodeString: LPWSTR; MaxBytesInUnicodeString: ULONG;
- BytesInUnicodeString: PULONG; CustomCPString: LPSTR;
- BytesInCustomCPString: ULONG): NTSTATUS; stdcall;
- TRtlCutoverTimeToSystemTime = function(CutoverTime: PTIME_FIELDS;
- SystemTime: PLARGE_INTEGER; CurrentSystemTime: PLARGE_INTEGER;
- ThisYear: BOOL):BOOL; stdcall;
- TRtlDefaultNpAcl = function(pAcl: PPACL): NTSTATUS; stdcall;
- TRtlDeleteAtomFromAtomTable = function(AtomTable: THANDLE;
- AnAtom: ATOM): NTSTATUS; stdcall;
- TRtlDeleteCriticalSection = function(
- var Section: TRTLCriticalSection):NTSTATUS; stdcall;
- TRtlDeleteTimer = function(
- TimerQueueHandle, TimerToCancel, Event: THANDLE):NTSTATUS; stdcall;
- TRtlDeleteTimerQueue = function(QueueHandle: THANDLE):NTSTATUS; stdcall;
- TRtlDeleteTimerQueueEx = function(
- QueueHandle, Event: THANDLE):NTSTATUS; stdcall;
- TRtlDeregisterWait = function(WaitHandle: THANDLE):NTSTATUS; stdcall;
- TRtlDeregisterWaitEx = function(WaitHandle, Event: THANDLE):NTSTATUS; stdcall;
- TRtlDestroyEnvironment = function(Environment: PVOID):NTSTATUS; stdcall;
- TRtlDestroyHeap = function (hHeap: THandle): PVOID; stdcall;
- TRtlDestroyProcessParameters = function(
- ProcessParameters: PPROCESS_PARAMETERS): NTSTATUS; stdcall;
- TRtlDestroyQueryDebugBuffer = function(
- Buffer: PRTL_DEBUG_INFORMATION):NTSTATUS; stdcall;
- TRtlDetermineDosPathNameType_U = function(
- DosFileName: LPWSTR):RTL_PATH_TYPE; stdcall;
- TRtlDllShutdownInProgress = function: Boolean; stdcall;
- TRtlDnsHostNameToComputerName = function(
- ComputerNameString, DnsHostNameString: PUNICODE_STRING;
- AllocateComputerNameString: BOOL):NTSTATUS; stdcall;
- TRtlDoesFileExists_U = function(FileName: LPWSTR): BOOL; stdcall;
- TRtlDosPathNameToNtPathName_U = function (const DosFileName: PWideChar;
- NtFileName: PUNICODE_STRING; FilePart: PPWideChar;
- RelativeName: PRTL_RELATIVE_NAME): Boolean; stdcall;
- TRtlDosSearchPath_U = function(lpPath, lpFileName, lpExtension: LPWSTR;
- nBufferLength: ULONG; lpBuffer: LPWSTR;
- lpFilePart: PLPWSTR): ULONG; stdcall;
- TRtlEnterCriticalSection = procedure (
- var Section: TRTLCriticalSection); stdcall;
- TRtlEqualSid = function(sid1: PSID; sid2: PSID): BOOL; stdcall;
- TRtlEqualString = function (String1, String2: PAnsiString;
- CaseInSensitive: Boolean): Boolean; stdcall;
- TRtlEqualUnicodeString = function (String1, String2: PUnicodeString;
- CaseInSensitive: Boolean): Boolean; stdcall;
- TRtlExpandEnvironmentStrings_U = function(Environment: PVOID;
- Source, Destination: PUNICODE_STRING;
- ReturnedLength: PULONG):NTSTATUS; stdcall;
- TRtlExtendedLargeIntegerDivide = function(Dividend: LARGE_INTEGER;
- Divisor: ULONG; Remainder: PULONG):int64; stdcall;
- TRtlExtendHeap = function(HeapHandle: PVOID; Flags: ULONG; Base: PVOID;
- Size: SIZE_T):NTSTATUS; stdcall;
- TRtlFindClearBitsAndSet = function(BitMapHeader: PRTL_BITMAP;
- NumberToFind, HintIndex: ULONG):ULONG; stdcall;
- TRtlFindMessage = function(DllHandle: PVOID;
- MessageTableId, MessageLanguageId, MessageId: ULONG;
- MessageEntry: PPMESSAGE_RESOURCE_ENTRY):NTSTATUS; stdcall;
- TRtlFlushSecureMemoryCache = function(MemoryAddress: PVOID;
- dwUnknown: DWORD):BOOL; stdcall;
- TRtlFormatCurrentUserKeyPath = function(
- CurrentUserKeyPath: PUNICODE_STRING):NTSTATUS; stdcall;
- TRtlFormatMessage = function(MessageFormat: LPWSTR; MaximumWidth: ULONG;
- IgnoreInserts, ArgumentsAreAnsi, ArgumentsAreAnArray: BOOL;
- Arguments: PVOID; Buffer: LPWSTR; Length: ULONG;
- ReturnLength: PULONG):NTSTATUS; stdcall;
- TRtlFreeThreadActivationContextStack = procedure; stdcall;
- TRtlFreeAnsiString = procedure (Buffer: PAnsiString); stdcall;
- TRtlFreeHandle = function(HandleTable: PRTL_HANDLE_TABLE;
- Handle: PRTL_HANDLE_TABLE_ENTRY):BOOL; stdcall;
- TRtlFreeHeap = function (Heap: THandle; FreeingFlags: DWORD;
- Memory: Pointer): Boolean; stdcall;
- TRtlFreeOemString = procedure(OemString: PSTRING); stdcall;
- TRtlFreeSid = function(Sid: PSID):NTSTATUS; stdcall;
- TRtlFreeUnicodeString = procedure (Buffer: PUnicodeString); stdcall;
- TRtlGetAce = function(pAcl: PACL; dwAceIndex: DWORD;
- pAce: PPvoid): NTSTATUS; stdcall;
- TRtlGetActiveActivationContext = function(pActCtx: PHANDLE):NTSTATUS; stdcall;
- TRtlGetCurrentDirectory_U = function(nBufferLength: ULONG;
- lpBuffer: LPWSTR):ULONG; stdcall;
- TRtlGetDaclSecurityDescriptor = function(
- pSecurityDescriptor: PSECURITY_DESCRIPTOR; lpbDaclPresent: PBOOLEAN;
- pDacl: PPACL; lpbDaclDefaulted: PBOOLEAN):NTSTATUS; stdcall;
- TRtlGetFrame = function:PVOID; stdcall;
- TRtlGetFullPathName_U = function(FileName: PUNICODE_STRING;
- nBufferLength: ULONG; lpBuffer: LPWSTR; lpFilePart: PLPWSTR;
- NameInvalid: PBOOLEAN; InputPathType: PRTL_PATH_TYPE):ULONG; stdcall;
- TRtlGetLastNtStatus = function: NTSTATUS; stdcall;
- TRtlGetLastWin32Error = function: DWORD; stdcall;
- TRtlGetLongestNtPathLength = function : DWORD; stdcall;
- TRtlGetNtGlobalFlags = function: DWORD; stdcall;
- TRtlGetProcessHeaps = function(NumberOfHeapsToReturn: ULONG;
- ProcessHeaps: PPVOID):ULONG; stdcall;
- TRtlGetThreadErrorMode = function: DWORD; stdcall;
- TRtlGetUserInfoHeap = function(HeapHandle: PVOID; Flags: ULONG;
- BaseAddress: PVOID; UserValue: PPVOID; UserFlags: PULONG):BOOL; stdcall;
- TRtlGetVersion = function(
- lpVersionInformation: PRTL_OSVERSIONINFOW):NTSTATUS; stdcall;
- TRtlGUIDFromString = function(GuidString: PUNICODE_STRING;
- Guid: PGUID):NTSTATUS; stdcall;
- TRtlImageDirectoryEntryToData = function(Base: PVOID; MappedAsImage: BOOL;
- DirectoryEntry: USHORT; Size: PULONG):PVOID; stdcall;
- TRtlImageNtHeader = function (hMod: HMODULE): PImageNTHeaders; stdcall;
- TRtlImageNtHeaderEx = function (dwFlags: DWORD; ImageBase: HMODULE;
- ImageSize, ImageSizeHigh: ULONG;
- NtHeaders: PPImageNTHeaders): NTSTATUS; stdcall;
- TRtlImpersonateSelf = function(
- ImpersonationLevel: SECURITY_IMPERSONATION_LEVEL):NTSTATUS; stdcall;
- TRtlInitAnsiString = procedure (var Buffer: TANSI_STRING;
- Source: PAnsiChar); stdcall;
- TRtlInitializeCriticalSection = function (
- var Section: TRTLCriticalSection): NTSTATUS; stdcall;
- TRtlInitializeCriticalSectionAndSpinCount = function (
- var Section : TRTLCriticalSection; SpinCount : DWORD) : NTSTATUS; stdcall;
- TRtlInitializeHandleTable = procedure(MaximumNumberOfHandles,
- SizeOfHandleTableEntry: ULONG; HandleTable: PRTL_HANDLE_TABLE); stdcall;
- TRtlInitializeSid = function(Sid: PSID;
- pIdentifierAuthority: PSID_IDENTIFIER_AUTHORITY;
- nSubAuthorityCount: Integer):BOOL; stdcall;
- TRtlInitString = procedure (var Buffer: TANSI_STRING;
- Source: PAnsiChar); stdcall;
- TRtlInitUnicodeString = procedure (var Buffer : TUNICODE_STRING;
- Source : PWideChar); stdcall;
- TRtlIntegerToChar = function(Value, Base: ULONG; OutputLength: LONG;
- AString: LPSTR):NTSTATUS; stdcall;
- TRtlIntegerToUnicodeString = function(Value, Base: ULONG;
- AString: PUNICODE_STRING):NTSTATUS; stdcall;
- TRtlIsActivationContextActive = function(hActCtx: THANDLE): BOOL; stdcall;
- TRtlIsDosDeviceName_U = function (PathName: LPWSTR): BOOL; stdcall;
- TRtlIsNameLegalDOS8Dot3 = function(Name: PUNICODE_STRING; OemName: PPSTRING;
- NameContainsSpaces: PBOOLEAN): BOOL; stdcall;
- TRtlIsTextUnicode = function(Buffer: PVOID; Size: ULONG;
- AResult: PULONG):BOOL; stdcall;
- TRtlIsValidHandle = function(HandleTable: PRTL_HANDLE_TABLE;
- Handle: PRTL_HANDLE_TABLE_ENTRY):BOOL; stdcall;
- TRtlLeaveCriticalSection = procedure (
- var Section: TRTLCriticalSection); stdcall;
- TRtlLengthRequiredSid = function(nSubAuthorityCount: Integer):ULONG; stdcall;
- TRtlLengthSecurityDescriptor = function(
- SecurityDescriptor: PSECURITY_DESCRIPTOR):ULONG; stdcall;
- TRtlLengthSid = function(Sid: PSID):DWORD; stdcall;
- TRtlLockHeap = function(HeapHandle: PVOID):BOOL; stdcall;
- TRtlMultiByteToUnicodeN = function (Dest: PWideChar; MaxDestBufferSize: DWORD;
- PDestBufferSize: LPDWORD; Source: PAnsiChar;
- SourceSize: DWORD): NTSTATUS; stdcall;
- TRtlMultiByteToUnicodeSize = function(BytesInUnicodeString: PULONG;
- MultiByteString: LPSTR; BytesInMultiByteString: ULONG): NTSTATUS; stdcall;
- TRtlNtStatusToDosError = function (Status : LongInt) : LongInt; stdcall;
- TRtlNtStatusToDosErrorNoTeb = function (Status : LongInt) : LongInt; stdcall;
- TRtlOemStringToUnicodeString = function(
- DestinationString: PUNICODE_STRING; SourceString: PSTRING;
- AllocateDestinationString: BOOL):NTSTATUS; stdcall;
- TRtlOemToUnicodeN = function(UnicodeString: LPWSTR;
- MaxBytesInUnicodeString: ULONG; BytesInUnicodeString: PULONG;
- OemString: LPSTR; BytesInOemString: ULONG): NTSTATUS; stdcall;
- TRtlOpenCurrentUser = function(dwDesiredAccess: DWORD;
- phKey: PHANDLE):NTSTATUS; stdcall;
- TRtlPcToFileHeader = function(PcValue: PVOID;
- BaseOfImage: PPVOID): PVOID; stdcall;
- TRtlPebLock = procedure; stdcall;
- TRtlPrefixString = function(String1, String2: PSTRING;
- CaseInSensitive: BOOL):BOOL; stdcall;
- TRtlPrefixUnicodeString = function(String1, String2: PUNICODE_STRING;
- CaseInSensitive: BOOL):BOOL; stdcall;
- TRtlpUnWaitCriticalSection = procedure (var Section: TRTLCriticalSection);
- TRtlpWaitForCriticalSection = procedure (var Section: TRTLCriticalSection);
- TRtlQueryAtomInAtomTable = function(AtomTable: THANDLE; AAtom: ATOM;
- AtomUsage, AtomFlags: PULONG; AtomName: LPWSTR;
- AtomNameLength: LPDWORD):NTSTATUS; stdcall;
- TRtlQueryEnvironmentVariable_U = function (EnvBlock: PVOID;
- VarName, usResult: PUNICODE_STRING): NTSTATUS; stdcall;
- TRtlQueryHeapInformation = function(HeapHandle: PVOID;
- HeapInformationClass: HEAP_INFORMATION_CLASS; HeapInformation: PVOID;
- HeapInformationLength: SIZE_T; ReturnLength: PULONG): DWORD; stdcall;
- TRtlQueryInformationAcl = function(Acl: PACL; AclInformation: PVOID;
- AclInformationLength: ULONG;
- AclInformationClass: ACL_INFORMATION_CLASS): NTSTATUS; stdcall;
- TRtlQueryInformationActivationContext = function(dwFlags: DWORD;
- hActCtx: THANDLE; pvSubInstance: PVOID; InfoClass: ULONG; pvBuffer: PVOID;
- cbBuffer: SIZE_T; pcbWrittenOrRequired: PULONG): NTSTATUS; stdcall;
- TRtlQueryInformationActiveActivationContext = function(InfoClass: ULONG;
- pvBuffer: PVOID; cbBuffer: SIZE_T;
- pcbWrittenOrRequired: PULONG): NTSTATUS; stdcall;
- TRtlQueryProcessDebugInformation = function(UniqueProcessId: THANDLE;
- Flags: ULONG; Buffer: PRTL_DEBUG_INFORMATION):NTSTATUS; stdcall;
- TRtlQueryRegistryValues = function(RelativeTo: ULONG; Path: LPCWSTR;
- QueryTable: PRTL_QUERY_REGISTRY_TABLE;
- Context, Environment: PVOID):NTSTATUS; stdcall;
- TRtlQueryTagHeap = function(HeapHandle: PVOID; Flags: ULONG; TagIndex: USHORT;
- ResetCounters: BOOL; TagInfo: PRTL_HEAP_TAG_INFO):LPWSTR; stdcall;
- TRtlQueueWorkItem = function(AFunction: Pointer; Context: PVOID;
- Flags: ULONG):NTSTATUS; stdcall;
- TRtlRaiseException = procedure(ExceptionRecord: PEXCEPTION_RECORD); stdcall;
- TRtlRaiseStatus = procedure (Status: NTSTATUS); stdcall;
- TRtlReAllocateHeap = function(HeapHandle: PVOID; Flags: ULONG;
- BaseAddress: PVOID; Size: SIZE_T):PVOID; stdcall;
- TRtlRegisterWait = function(WaitHandle: PHANDLE; AHandle: THANDLE;
- AFunction: Pointer; Context: PVOID;
- Milliseconds, Flags: ULONG):NTSTATUS; stdcall;
- TRtlReleaseActivationContext = procedure(hActCtx: THANDLE); stdcall;
- TRtlRestoreLastWin32Error = procedure (dwError: DWORD); stdcall;
- TRtlRunDecodeUnicodeString = procedure(Seed: BYTE;
- AString: PUNICODE_STRING); stdcall;
- TRtlRunEncodeUnicodeString = procedure(Seed: PBYTE;
- AString: PUNICODE_STRING); stdcall;
- TRtlSetCurrentDirectory_U = function(
- PathName: PUNICODE_STRING):NTSTATUS; stdcall;
- TRtlSetDaclSecurityDescriptor = function(
- SecurityDescriptor: PSECURITY_DESCRIPTOR; DaclPresent: BOOL; Dacl: PACL;
- DaclDefaulted: BOOL):NTSTATUS; stdcall;
- TRtlSetEnvironmentVariable = function(Environment: PPVOID;
- Name, Value: PUNICODE_STRING):NTSTATUS; stdcall;
- TRtlSetHeapInformation = function(HeapHandle: PVOID;
- HeapInformationClass: HEAP_INFORMATION_CLASS; HeapInformation: PVOID;
- HeapInformationLength: SIZE_T): DWORD; stdcall;
- TRtlSetIoCompletionCallback = function(FileHandle: THANDLE;
- CompletionProc: Pointer; Flags: ULONG):NTSTATUS; stdcall;
- TRtlSetTimeZoneInformation = function(
- TimeZoneInformation: PRTL_TIME_ZONE_INFORMATION):NTSTATUS; stdcall;
- TRtlSetThreadErrorMode = function (ErrorMode: DWORD): NTSTATUS; stdcall;
- TRtlSetThreadPoolStartFunc = function(lpfnStartThreadFunc: Pointer;
- lpfnExitThreadFunc: Pointer):NTSTATUS; stdcall;
- TRtlSetUnicodeCallouts = procedure(Callouts: PVOID); stdcall;
- TRtlSetUserValueHeap = function(HeapHandle: PVOID; Flags: ULONG;
- BaseAddress, UserValue: PVOID):BOOL; stdcall;
- TRtlSizeHeap = function(HeapHandle: PVOID; Flags: ULONG;
- BaseAddress: PVOID):SIZE_T; stdcall;
- TRtlStringFromGUID = function(AGuid: PGUID;
- GuidString: PUNICODE_STRING): NTSTATUS; stdcall;
- TRtlSubAuthoritySid = function(Sid: PSID; nSubAuthority: ULONG):PULONG; stdcall;
- TRtlTimeFieldsToTime = function(TimeFields: PTIME_FIELDS;
- Time: PLARGE_INTEGER):BOOL; stdcall;
- TRtlTimeToTimeFields = procedure (ATime : PLARGE_INTEGER;
- ATimeFields : PTIME_FIELDS); stdcall;
- TRtlTryEnterCriticalSection = function (
- var Section: TRTLCriticalSection): Boolean; stdcall;
- TRtlUnicodeStringToAnsiString = function (AnsiString: PANSI_STRING;
- UnicodeString: PUNICODE_STRING; fAllocate: LongBool): NTSTATUS; stdcall;
- TRtlUnicodeStringToInteger = function(AString: PUNICODE_STRING; Base: ULONG;
- Value: PULONG):NTSTATUS; stdcall;
- TRtlUnicodeStringToOemString = function(DestinationString: PSTRING;
- SourceString: PUNICODE_STRING;
- AllocateDestinationString: BOOL):NTSTATUS; stdcall;
- TRtlUnicodeToMultiByteN = function(Dest: LPSTR; DestSize: Integer;
- ReturnLength: PLONG; Source: LPWSTR; dwNumChars: Integer):NTSTATUS; stdcall;
- TRtlUnicodeToMultiByteSize = function(pResult: LPDWORD; lpusString: PWideChar;
- cchusString: DWORD):NTSTATUS; stdcall;
- TRtlUnicodeToOemN = function(OemString: LPSTR; MaxBytesInOemString: ULONG;
- BytesInOemString: PULONG; UnicodeString: LPWSTR;
- BytesInUnicodeString: ULONG): NTSTATUS; stdcall;
- TRtlUnlockHeap = function(HeapHandle: PVOID):BOOL; stdcall;
- TRtlUnwind = procedure(TargetFrame, TargetIp: PVOID;
- ExceptionRecord: PEXCEPTION_RECORD; ReturnValue: PVOID); stdcall;
- TRtlUpcaseUnicodeChar = function(SourceCharacter: WideChar):WideChar; stdcall;
- TRtlUpcaseUnicodeString = function(DestinationString: PUNICODE_STRING;
- SourceString: PUNICODE_STRING;
- AllocateDestinationString: BOOL):NTSTATUS; stdcall;
- TRtlUpdateTimer = function(TimerQueueHandle, Timer: THANDLE;
- DueTime, Period: ULONG):NTSTATUS; stdcall;
- TRtlUpperChar = function(c: Char): Char; stdcall;
- TRtlUpperString = procedure(
- DestinationString, SourceString: PSTRING); stdcall;
- TRtlUsageHeap = function(HeapHandle: PVOID; Flags: ULONG;
- Usage: PRTL_HEAP_USAGE):NTSTATUS; stdcall;
- TRtlValidAcl = function(Acl: PACL): BOOL; stdcall;
- TRtlValidateHeap = function(HeapHandle: PVOID; Flags: ULONG;
- BaseAddress: PVOID):BOOL; stdcall;
- TRtlValidRelativeSecurityDescriptor = function(
- SecurityDescriptorInput: PSECURITY_DESCRIPTOR;
- SecurityDescriptorLength: ULONG;
- RequiredInformation: SECURITY_INFORMATION): BOOL; stdcall;
- TRtlValidSecurityDescriptor = function(
- SecurityDescriptor: PSECURITY_DESCRIPTOR): BOOL; stdcall;
- TRtlValidSid = function(Sid: PSID): BOOL; stdcall;
- TRtlVerifyVersionInfo = function(VersionInfo: PRTL_OSVERSIONINFOEXW;
- TypeMask: ULONG; ConditionMask: ULONGLONG):NTSTATUS; stdcall;
- TRtlWalkHeap = function(HeapHandle: PVOID;
- Entry: PRTL_HEAP_WALK_ENTRY):NTSTATUS; stdcall;
- TRtlxAnsiStringToUnicodeSize = function(
- AAnsiString: PANSI_STRING):ULONG; stdcall;
- TRtlxOemStringToUnicodeSize = function(OemString: PSTRING):ULONG; stdcall;
- TRtlxUnicodeStringToAnsiSize = function(
- UnicodeString: PUNICODE_STRING):ULONG; stdcall;
- TRtlxUnicodeStringToOemSize = function(
- UnicodeString: PUNICODE_STRING):ULONG; stdcall;
- TRtlZombifyActivationContext = function(hActCtx: THANDLE): NTSTATUS; stdcall;
- Twcscat = function(s1: LPWSTR; s2: LPWSTR):LPWSTR; cdecl;
- Twcschr = function (const s: PWideChar; c: WideChar): PWideChar; cdecl;
- Twcscmp = function(s1: LPWSTR; s2: LPWSTR):Integer; cdecl;
- Twcscpy = function (const Dst, Src: PWideChar): PWideChar; cdecl;
- Twcslen = function(s: LPWSTR):SIZE_T; cdecl;
- Twcsrchr = function(s: LPWSTR; c: Integer):LPWSTR; cdecl;
- const
- ntdllname = 'ntdll.dll';
- var
- NtdllHandle: THandle;
- IsWindowsXPorLater: Boolean;
- { Mark 4 }
- _CsrAllocateCaptureBuffer: TCsrAllocateCaptureBuffer;
- _CsrAllocateMessagePointer: TCsrAllocateMessagePointer;
- _CsrCaptureMessageBuffer: TCsrCaptureMessageBuffer;
- _CsrCaptureMessageString: TCsrCaptureMessageString;
- _CsrCaptureMessageMultiUnicodeStringsInPlace:
- TCsrCaptureMessageMultiUnicodeStringsInPlace;
- _CsrClientCallServer: TCsrClientCallServer;
- _CsrClientConnectToServer: TCsrClientConnectToServer;
- _CsrClientConnectToServerXP: TCsrClientConnectToServerXP;
- _CsrFreeCaptureBuffer: TCsrFreeCaptureBuffer;
- _CsrGetProcessId: TCsrGetProcessId;
- _CsrIdentifyAlertableThread: TCsrIdentifyAlertableThread;
- _CsrNewThread: TCsrNewThread;
- _DbgBreakPoint: TDbgBreakPoint;
- _DbgUiConnectToDbg: TDbgUiConnectToDbg;
- _DbgUiContinue: TDbgUiContinue;
- _DbgUiConvertStateChangeStructure: TDbgUiConvertStateChangeStructure;
- _DbgUiDebugActiveProcess: TDbgUiDebugActiveProcess;
- _DbgUiGetThreadDebugObject: TDbgUiGetThreadDebugObject;
- _DbgUiIssueRemoteBreakin: TDbgUiIssueRemoteBreakin;
- _DbgUiStopDebugging: TDbgUiStopDebugging;
- _DbgUiWaitStateChange: TDbgUiWaitStateChange;
- _LdrAccessResource: TLdrAccessResource;
- _LdrAlternateResourcesEnabled: TLdrAlternateResourcesEnabled;
- _LdrDestroyOutOfProcessImage: TLdrDestroyOutOfProcessImage;
- _LdrDisableThreadCalloutsForDll: TLdrDisableThreadCalloutsForDll;
- _LdrEnumerateLoadedModules: TLdrEnumerateLoadedModules;
- _LdrFindResource_U: TLdrFindResource_U;
- _LdrFindResourceDirectory_U: TLdrFindResourceDirectory_U;
- _LdrFlushAlternateResourceModules: TLdrFlushAlternateResourceModules;
- _LdrGetDllHandle: TLdrGetDllHandle;
- _LdrGetDllHandleEx: TLdrGetDllHandleEx;
- _LdrGetProcedureAddress: TLdrGetProcedureAddress;
- _LdrLoadAlternateResourceModule: TLdrLoadAlternateResourceModule;
- _LdrLoadAlternateResourceModuleEx: TLdrLoadAlternateResourceModuleEx;
- _LdrLoadDll: TLdrLoadDll;
- _LdrLockLoaderLock: TLdrLockLoaderLock;
- _LdrQueryImageFileExecutionOptions: TLdrQueryImageFileExecutionOptions;
- _LdrSetDllManifestProber: TLdrSetDllManifestProber;
- _LdrShutdownProcess: TLdrShutdownProcess;
- _LdrShutdownThread: TLdrShutdownThread;
- _LdrUnloadAlternateResourceModule: TLdrUnloadAlternateResourceModule;
- _LdrUnloadDll: TLdrUnloadDll;
- _LdrUnlockLoaderLock: TLdrUnlockLoaderLock;
- _NlsAnsiCodePage: PWORD;
- _NtAcceptConnectPort: TNtAcceptConnectPort;
- _NtAccessCheck: TNtAccessCheck;
- _NtAccessCheckAndAuditAlarm: TNtAccessCheckAndAuditAlarm;
- _NtAccessCheckByType: TNtAccessCheckByType;
- _NtAccessCheckByTypeAndAuditAlarm: TNtAccessCheckByTypeAndAuditAlarm;
- _NtAccessCheckByTypeResultList: TNtAccessCheckByTypeResultList;
- _NtAccessCheckByTypeResultListAndAuditAlarm:
- TNtAccessCheckByTypeResultListAndAuditAlarm;
- _NtAccessCheckByTypeResultListAndAuditAlarmByHandle:
- TNtAccessCheckByTypeResultListAndAuditAlarmByHandle;
- _NtAddAtom: TNtAddAtom;
- _NtAdjustGroupsToken: TNtAdjustGroupsToken;
- _NtAdjustPrivilegesToken: TNtAdjustPrivilegesToken;
- _NtAlertThread: TNtAlertThread;
- _NtAllocateLocallyUniqueId: TNtAllocateLocallyUniqueId;
- _NtAllocateUserPhysicalPages: TNtAllocateUserPhysicalPages;
- _NtAllocateVirtualMemory: TNtAllocateVirtualMemory;
- _NtApphelpCacheControl: TNtApphelpCacheControl;
- _NtAssignProcessToJobObject: TNtAssignProcessToJobObject;
- _NtAssociateProcessWithReserve: TNtAssociateProcessWithReserve;
- _NtCancelDeviceWakeupRequest: TNtCancelDeviceWakeupRequest;
- _NtCancelIoFile: TNtCancelIoFile;
- _NtCancelTimer: TNtCancelTimer;
- _NtClearEvent: TNtClearEvent;
- _NtClose: TNtClose;
- _NtCloseObjectAuditAlarm: TNtCloseObjectAuditAlarm;
- _NtCommitTransaction: TNtCommitTransaction;
- _NtCompleteConnectPort: TNtCompleteConnectPort;
- _NtConnectPort: TNtConnectPort;
- _NtCreateDirectoryObject: TNtCreateDirectoryObject;
- _NtCreateEvent: TNtCreateEvent;
- _NtCreateFile: TNtCreateFile;
- _NtCreateJobObject: TNtCreateJobObject;
- _NtCreateKey: TNtCreateKey;
- _NtCreateMailSlotFile: TNtCreateMailSlotFile;
- _NtCreateMutant: TNtCreateMutant;
- _NtCreateNamedPipeFile: TNtCreateNamedPipeFile;
- _NtCreatePort: TNtCreatePort;
- _NtCreateSection: TNtCreateSection;
- _NtCreateSemaphore: TNtCreateSemaphore;
- _NtCreateSymbolicLinkObject: TNtCreateSymbolicLinkObject;
- _NtCreateTimer: TNtCreateTimer;
- _NtCreateThread: TNtCreateThread;
- _NtCreateWaitablePort: TNtCreateWaitablePort;
- _NtDebugActiveProcess: TNtDebugActiveProcess;
- _NtDelayExecution: TNtDelayExecution;
- _NtDeleteAtom: TNtDeleteAtom;
- _NtDeleteFile: TNtDeleteFile;
- _NtDeleteKey: TNtDeleteKey;
- _NtDeleteObjectAuditAlarm: TNtDeleteObjectAuditAlarm;
- _NtDeleteValueKey: TNtDeleteValueKey;
- _NtDeviceIoControlFile: TNtDeviceIoControlFile;
- _NtDisassociateProcessFromReserve: TNtDisassociateProcessFromReserve;
- _NtDisjoinThreadFromReserve: TNtDisjoinThreadFromReserve;
- _NtDuplicateObject: TNtDuplicateObject;
- _NtDuplicateToken: TNtDuplicateToken;
- _NtEnumerateKey: TNtEnumerateKey;
- _NtEnumerateValueKey: TNtEnumerateValueKey;
- _NtFilterToken: TNtFilterToken;
- _NtFindAtom: TNtFindAtom;
- _NtFlushBuffersFile: TNtFlushBuffersFile;
- _NtFlushInstructionCache: TNtFlushInstructionCache;
- _NtFlushKey: TNtFlushKey;
- _NtFlushVirtualMemory: TNtFlushVirtualMemory;
- _NtFreeUserPhysicalPages: TNtFreeUserPhysicalPages;
- _NtFreeVirtualMemory: TNtFreeVirtualMemory;
- _NtFsControlFile: TNtFsControlFile;
- _NtGetCurrentProcessorNumber: TNtGetCurrentProcessorNumber;
- _NtGetContextThread: TNtGetContextThread;
- _NtGetDevicePowerState: TNtGetDevicePowerState;
- _NtGetWriteWatch: TNtGetWriteWatch;
- _NtImpersonateAnonymousToken: TNtImpersonateAnonymousToken;
- _NtImpersonateClientOfPort: TNtImpersonateClientOfPort;
- _NtInitiatePowerAction: TNtInitiatePowerAction;
- _NtIsProcessInJob: TNtIsProcessInJob;
- _NtIsSystemResumeAutomatic: TNtIsSystemResumeAutomatic;
- _NtJoinThreadToReserve: TNtJoinThreadToReserve;
- _NtListenPort: TNtListenPort;
- _NtLoadDriver: TNtLoadDriver;
- _NtLoadKey: TNtLoadKey;
- _NtLockFile: TNtLockFile;
- _NtLockVirtualMemory: TNtLockVirtualMemory;
- _NtMakeTemporaryObject: TNtMakeTemporaryObject;
- _NtMapUserPhysicalPages: TNtMapUserPhysicalPages;
- _NtMapUserPhysicalPagesScatter: TNtMapUserPhysicalPagesScatter;
- _NtMapViewOfSection: TNtMapViewOfSection;
- _NtNotifyChangeDirectoryFile: TNtNotifyChangeDirectoryFile;
- _NtNotifyChangeKey: TNtNotifyChangeKey;
- _NtNotifyChangeMultipleKeys: TNtNotifyChangeMultipleKeys;
- _NtOpenDirectoryObject : TNtOpenDirectoryObject;
- _NtOpenEvent: TNtOpenEvent;
- _NtOpenFile: TNtOpenFile;
- _NtOpenJobObject: TNtOpenJobObject;
- _NtOpenKey: TNtOpenKey;
- _NtOpenMutant: TNtOpenMutant;
- _NtOpenObjectAuditAlarm: TNtOpenObjectAuditAlarm;
- _NtOpenProcess: TNtOpenProcess;
- _NtOpenProcessToken: TNtOpenProcessToken;
- _NtOpenReserve: TNtOpenReserve;
- _NtOpenSection: TNtOpenSection;
- _NtOpenSemaphore: TNtOpenSemaphore;
- _NtOpenSymbolicLinkObject : TNtOpenSymbolicLinkObject;
- _NtOpenThread: TNtOpenThread;
- _NtOpenThreadToken: TNtOpenThreadToken;
- _NtOpenTimer: TNtOpenTimer;
- _NtPowerInformation: TNtPowerInformation;
- _NtPrivilegeCheck: TNtPrivilegeCheck;
- _NtPrivilegedServiceAuditAlarm: TNtPrivilegedServiceAuditAlarm;
- _NtPrivilegeObjectAuditAlarm: TNtPrivilegeObjectAuditAlarm;
- _NtProtectVirtualMemory: TNtProtectVirtualMemory;
- _NtPulseEvent: TNtPulseEvent;
- _NtQueryAttributesFile: TNtQueryAttributesFile;
- _NtQueryDefaultLocale: TNtQueryDefaultLocale;
- _NtQueryDefaultUILanguage: TNtQueryDefaultUILanguage;
- _NtQueryDirectoryFile: TNtQueryDirectoryFile;
- _NtQueryDirectoryObject : TNtQueryDirectoryObject;
- _NtQueryEaFile: TNtQueryEaFile;
- _NtQueryEvent: TNtQueryEvent;
- _NtQueryFullAttributesFile: TNtQueryFullAttributesFile;
- _NtQueryInformationAtom: TNtQueryInformationAtom;
- _NtQueryInformationFile: TNtQueryInformationFile;
- _NtQueryInformationJobObject: TNtQueryInformationJobObject;
- _NtQueryInformationPort: TNtQueryInformationPort;
- _NtQueryInformationProcess: TNtQueryInformationProcess;
- _NtQueryInformationReserve: TNtQueryInformationReserve;
- _NtQueryInformationThread: TNtQueryInformationThread;
- _NtQueryInformationToken: TNtQueryInformationToken;
- _NtQueryInstallUILanguage: TNtQueryInstallUILanguage;
- _NtQueryKey: TNtQueryKey;
- _NtQueryObject: TNtQueryQbject;
- _NtQueryPerformanceCounter: TNtQueryPerformanceCounter;
- _NtQuerySection: TNtQuerySection;
- _NtQuerySecurityObject: TNtQuerySecurityObject;
- _NtQuerySymbolicLinkObject : TNtQuerySymbolicLinkObject;
- _NtQuerySystemInformation: TNtQuerySystemInformation;
- _NtQuerySystemTime: TNtQuerySystemTime;
- _NtQueryValueKey: TNtQueryValueKey;
- _NtQueryVirtualMemory: TNtQueryVirtualMemory;
- _NtQueryVolumeInformationFile: TNtQueryVolumeInformationFile;
- _NtQueueApcThread: TNtQueueApcThread;
- _NtRaiseHardError: TNtRaiseHardError;
- _NtReadFile: TNtReadFile;
- _NtReadFileScatter: TNtReadFileScatter;
- _NtReadVirtualMemory: TNtReadVirtualMemory;
- _NtRegisterThreadTerminatePort: TNtRegisterThreadTerminatePort;
- _NtReleaseMutant: TNtReleaseMutant;
- _NtReleaseSemaphore: TNtReleaseSemaphore;
- _NtRelinquishBudget: TNtRelinquishBudget;
- _NtRemoveIoCompletion: TNtRemoveIoCompletion;
- _NtRemoveProcessDebug: TNtRemoveProcessDebug;
- _NtReplaceKey: TNtReplaceKey;
- _NtReplyPort: TNtReplyPort;
- _NtReplyWaitReceivePort: TNtReplyWaitReceivePort;
- _NtReplyWaitReplyPort: TNtReplyWaitReplyPort;
- _NtRequestDeviceWakeup: TNtRequestDeviceWakeup;
- _NtRequestPort: TNtRequestPort;
- _NtRequestWaitReplyPort: TNtRequestWaitReplyPort;
- _NtRequestWakeupLatency: TNtRequestWakeupLatency;
- _NtResetEvent: TNtResetEvent;
- _NtResetWriteWatch: TNtResetWriteWatch;
- _NtRestoreKey: TNtRestoreKey;
- _NtResumeThread: TNtResumeThread;
- _NtRollbackTransaction: TNtRollbackTransaction;
- _NtSaveKey: TNtSaveKey;
- _NtSecureConnectPort: TNtSecureConnectPort;
- _NtSetContextThread: TNtSetContextThread;
- _NtSetDefaultHardErrorPort: TNtSetDefaultHardErrorPort;
- _NtSetEaFile: TNtSetEaFile;
- _NtSetEvent: TNtSetEvent;
- _NtSetInformationDebugObject: TNtSetInformationDebugObject;
- _NtSetInformationFile: TNtSetInformationFile;
- _NtSetInformationJobObject: TNtSetInformationJobObject;
- _NtSetInformationObject: TNtSetInformationObject;
- _NtSetInformationProcess: TNtSetInformationProcess;
- _NtSetInformationReserve: TNtSetInformationReserve;
- _NtSetInformationThread: TNtSetInformationThread;
- _NtSetInformationToken: TNtSetInformationToken;
- _NtSetIoCompletion: TNtSetIoCompletion;
- _NtSetSecurityObject: TNtSetSecurityObject;
- _NtSetSystemInformation : TNtSetSystemInformation;
- _NtSetSystemTime: TNtSetSystemTime;
- _NtSetThreadExecutionState: TNtSetThreadExecutionState;
- _NtSetTimer: TNtSetTimer;
- _NtSetValueKey: TNtSetValueKey;
- _NtSetVolumeInformationFile: TNtSetVolumeInformationFile;
- _NtSignalAndWaitForSingleObject: TNtSignalAndWaitForSingleObject;
- _NtSuspendThread: TNtSuspendThread;
- _NtTerminateJobObject: TNtTerminateJobObject;
- _NtTerminateProcess: TNtTerminateProcess;
- _NtTerminateThread: TNtTerminateThread;
- _NtTestAlert: TNtTestAlert;
- _NtUnloadDriver: TNtUnloadDriver;
- _NtUnloadKey: TNtUnloadKey;
- _NtUnlockFile: TNtUnlockFile;
- _NtUnmapViewOfSection: TNtUnmapViewOfSection;
- _NtUnlockVirtualMemory: TNtUnlockVirtualMemory;
- _NtVdmControl: TNtVdmControl;
- _NtWaitForMultipleObjects: TNtWaitForMultipleObjects;
- _NtWaitForSingleObject: TNtWaitForSingleObject;
- _NtWriteFile: TNtWriteFile;
- _NtWriteFileGather: TNtWriteFileGather;
- _NtWriteVirtualMemory: TNtWriteVirtualMemory;
- _NtYieldExecution: TNtYieldExecution;
- _RtlAcquirePebLock: TRtlPebLock;
- _RtlActivateActivationContext: TRtlActivateActivationContext;
- _RtlActivateActivationContextEx: TRtlActivateActivationContextEx;
- _RtlAddAccessAllowedAce: TRtlAddAccessAllowedAce;
- _RtlAddRefActivationContext: TRtlAddRefActivationContext;
- _RtlAdjustPrivilege: TRtlAdjustPrivilege;
- _RtlAllocateAndInitializeSid: TRtlAllocateAndInitializeSid;
- _RtlAllocateHandle: TRtlAllocateHandle;
- _RtlAllocateHeap: TRtlAllocateHeap;
- _RtlAnsiCharToUnicodeChar: TRtlAnsiCharToUnicodeChar;
- _RtlAnsiStringToUnicodeSize: TRtlAnsiStringToUnicodeSize;
- _RtlAnsiStringToUnicodeString: TRtlAnsiStringToUnicodeString;
- _RtlAppendUnicodeStringToString: TRtlAppendUnicodeStringToString;
- _RtlAppendUnicodeToString: TRtlAppendUnicodeToString;
- _RtlApplicationVerifierStop: TRtlApplicationVerifierStop;
- _RtlAreBitsSet: TRtlAreBitsSet;
- _RtlCharToInteger: TRtlCharToInteger;
- _RtlCheckRegistryKey: TRtlCheckRegistryKey;
- _RtlClearBits: TRtlClearBits;
- _RtlCompactHeap: TRtlCompactHeap;
- _RtlCompareMemory: TRtlCompareMemory;
- _RtlCompareString: TRtlCompareString;
- _RtlCompareUnicodeString: TRtlCompareUnicodeString;
- _RtlConvertSidToUnicodeString: TRtlConvertSidToUnicodeString;
- _RtlCopyLuid: TRtlCopyLuid;
- _RtlCopyString: TRtlCopyString;
- _RtlCopyUnicodeString: TRtlCopyUnicodeString;
- _RtlCreateAcl: TRtlCreateAcl;
- _RtlCreateAtomTable: TRtlCreateAtomTable;
- _RtlCreateEnvironment: TRtlCreateEnvironment;
- _RtlCreateHeap: TRtlCreateHeap;
- _RtlCreateProcessParameters: TRtlCreateProcessParameters;
- _RtlCreateQueryDebugBuffer: TRtlCreateQueryDebugBuffer;
- _RtlCreateSecurityDescriptor: TRtlCreateSecurityDescriptor;
- _RtlCreateTagHeap: TRtlCreateTagHeap;
- _RtlCreateTimer: TRtlCreateTimer;
- _RtlCreateTimerQueue: TRtlCreateTimerQueue;
- _RtlCreateUnicodeString: TRtlCreateUnicodeString;
- _RtlCreateUnicodeStringFromAsciiz: TRtlCreateUnicodeStringFromAsciiz;
- _RtlCustomCPToUnicodeN: TRtlCustomCPToUnicodeN;
- _RtlCutoverTimeToSystemTime: TRtlCutoverTimeToSystemTime;
- _RtlDefaultNpAcl: TRtlDefaultNpAcl;
- _RtlDeleteAtomFromAtomTable: TRtlDeleteAtomFromAtomTable;
- _RtlDeleteCriticalSection: TRtlDeleteCriticalSection;
- _RtlDeleteTimer: TRtlDeleteTimer;
- _RtlDeleteTimerQueue: TRtlDeleteTimerQueue;
- _RtlDeleteTimerQueueEx: TRtlDeleteTimerQueueEx;
- _RtlDeregisterWait: TRtlDeregisterWait;
- _RtlDeregisterWaitEx: TRtlDeregisterWaitEx;
- _RtlDestroyEnvironment: TRtlDestroyEnvironment;
- _RtlDestroyHeap : TRtlDestroyHeap;
- _RtlDestroyProcessParameters: TRtlDestroyProcessParameters;
- _RtlDestroyQueryDebugBuffer: TRtlDestroyQueryDebugBuffer;
- _RtlDetermineDosPathNameType_U: TRtlDetermineDosPathNameType_U;
- _RtlDllShutdownInProgress: TRtlDllShutdownInProgress;
- _RtlDnsHostNameToComputerName: TRtlDnsHostNameToComputerName;
- _RtlDoesFileExists_U: TRtlDoesFileExists_U;
- _RtlDosPathNameToNtPathName_U: TRtlDosPathNameToNtPathName_U;
- _RtlDosSearchPath_U: TRtlDosSearchPath_U;
- _RtlEnterCriticalSection: TRtlEnterCriticalSection;
- _RtlEqualSid: TRtlEqualSid;
- _RtlEqualString: TRtlEqualString;
- _RtlEqualUnicodeString: TRtlEqualUnicodeString;
- _RtlExpandEnvironmentStrings_U: TRtlExpandEnvironmentStrings_U;
- _RtlExtendedLargeIntegerDivide: TRtlExtendedLargeIntegerDivide;
- _RtlExtendHeap: TRtlExtendHeap;
- _RtlFindClearBitsAndSet: TRtlFindClearBitsAndSet;
- _RtlFindMessage: TRtlFindMessage;
- _RtlFlushSecureMemoryCache: TRtlFlushSecureMemoryCache;
- _RtlFormatCurrentUserKeyPath: TRtlFormatCurrentUserKeyPath;
- _RtlFormatMessage: TRtlFormatMessage;
- _RtlFreeThreadActivationContextStack: TRtlFreeThreadActivationContextStack;
- _RtlFreeAnsiString: TRtlFreeAnsiString;
- _RtlFreeHandle: TRtlFreeHandle;
- _RtlFreeHeap: TRtlFreeHeap;
- _RtlFreeOemString: TRtlFreeOemString;
- _RtlFreeSid: TRtlFreeSid;
- _RtlFreeUnicodeString: TRtlFreeUnicodeString;
- _RtlGetAce: TRtlGetAce;
- _RtlGetActiveActivationContext: TRtlGetActiveActivationContext;
- _RtlGetCurrentDirectory_U: TRtlGetCurrentDirectory_U;
- _RtlGetDaclSecurityDescriptor: TRtlGetDaclSecurityDescriptor;
- _RtlGetFrame: TRtlGetFrame;
- _RtlGetFullPathName_U: TRtlGetFullPathName_U;
- _RtlGetLastNtStatus: TRtlGetLastNtStatus;
- _RtlGetLastWin32Error: TRtlGetLastWin32Error;
- _RtlGetLongestNtPathLength: TRtlGetLongestNtPathLength;
- _RtlGetNtGlobalFlags: TRtlGetNtGlobalFlags;
- _RtlGetProcessHeaps: TRtlGetProcessHeaps;
- _RtlGetThreadErrorMode: TRtlGetThreadErrorMode;
- _RtlGetUserInfoHeap: TRtlGetUserInfoHeap;
- _RtlGetVersion: TRtlGetVersion;
- _RtlGUIDFromString: TRtlGUIDFromString;
- _RtlImageDirectoryEntryToData: TRtlImageDirectoryEntryToData;
- _RtlImageNtHeader : TRtlImageNtHeader;
- _RtlImageNtHeaderEx: TRtlImageNtHeaderEx;
- _RtlImpersonateSelf: TRtlImpersonateSelf;
- _RtlInitAnsiString: TRtlInitAnsiString;
- _RtlInitializeCriticalSection: TRtlInitializeCriticalSection;
- _RtlInitializeCriticalSectionAndSpinCount:
- TRtlInitializeCriticalSectionAndSpinCount;
- _RtlInitializeHandleTable: TRtlInitializeHandleTable;
- _RtlInitializeSid: TRtlInitializeSid;
- _RtlInitString: TRtlInitString;
- _RtlInitUnicodeString: TRtlInitUnicodeString;
- _RtlIntegerToChar: TRtlIntegerToChar;
- _RtlIntegerToUnicodeString: TRtlIntegerToUnicodeString;
- _RtlIsActivationContextActive: TRtlIsActivationContextActive;
- _RtlIsDosDeviceName_U: TRtlIsDosDeviceName_U;
- _RtlIsNameLegalDOS8Dot3: TRtlIsNameLegalDOS8Dot3;
- _RtlIsTextUnicode: TRtlIsTextUnicode;
- _RtlIsValidHandle: TRtlIsValidHandle;
- _RtlLeaveCriticalSection: TRtlLeaveCriticalSection;
- _RtlLengthRequiredSid: TRtlLengthRequiredSid;
- _RtlLengthSecurityDescriptor: TRtlLengthSecurityDescriptor;
- _RtlLengthSid: TRtlLengthSid;
- _RtlLockHeap: TRtlLockHeap;
- _RtlMultiByteToUnicodeN: TRtlMultiByteToUnicodeN;
- _RtlMultiByteToUnicodeSize: TRtlMultiByteToUnicodeSize;
- _RtlNtStatusToDosError: TRtlNtStatusToDosError;
- _RtlNtStatusToDosErrorNoTeb: TRtlNtStatusToDosErrorNoTeb;
- _RtlOemStringToUnicodeString: TRtlOemStringToUnicodeString;
- _RtlOemToUnicodeN: TRtlOemToUnicodeN;
- _RtlOpenCurrentUser: TRtlOpenCurrentUser;
- _RtlPcToFileHeader: TRtlPcToFileHeader;
- _RtlPrefixString: TRtlPrefixString;
- _RtlPrefixUnicodeString: TRtlPrefixUnicodeString;
- _RtlpUnWaitCriticalSection: TRtlpUnWaitCriticalSection;
- _RtlpWaitForCriticalSection: TRtlpWaitForCriticalSection;
- _RtlQueryAtomInAtomTable: TRtlQueryAtomInAtomTable;
- _RtlQueryEnvironmentVariable_U: TRtlQueryEnvironmentVariable_U;
- _RtlQueryHeapInformation: TRtlQueryHeapInformation;
- _RtlQueryInformationAcl: TRtlQueryInformationAcl;
- _RtlQueryInformationActivationContext: TRtlQueryInformationActivationContext;
- _RtlQueryInformationActiveActivationContext:
- TRtlQueryInformationActiveActivationContext;
- _RtlQueryProcessDebugInformation: TRtlQueryProcessDebugInformation;
- _RtlQueryRegistryValues: TRtlQueryRegistryValues;
- _RtlQueryTagHeap: TRtlQueryTagHeap;
- _RtlQueueWorkItem: TRtlQueueWorkItem;
- _RtlRaiseException: TRtlRaiseException;
- _RtlRaiseStatus: TRtlRaiseStatus;
- _RtlReAllocateHeap: TRtlReAllocateHeap;
- _RtlRegisterWait: TRtlRegisterWait;
- _RtlReleaseActivationContext: TRtlReleaseActivationContext;
- _RtlReleasePebLock: TRtlPebLock;
- _RtlRestoreLastWin32Error: TRtlRestoreLastWin32Error;
- _RtlRunDecodeUnicodeString: TRtlRunDecodeUnicodeString;
- _RtlRunEncodeUnicodeString: TRtlRunEncodeUnicodeString;
- _RtlSetCurrentDirectory_U: TRtlSetCurrentDirectory_U;
- _RtlSetDaclSecurityDescriptor: TRtlSetDaclSecurityDescriptor;
- _RtlSetEnvironmentVariable: TRtlSetEnvironmentVariable;
- _RtlSetHeapInformation: TRtlSetHeapInformation;
- _RtlSetIoCompletionCallback: TRtlSetIoCompletionCallback;
- _RtlSetTimeZoneInformation: TRtlSetTimeZoneInformation;
- _RtlSetThreadErrorMode: TRtlSetThreadErrorMode;
- _RtlSetThreadPoolStartFunc: TRtlSetThreadPoolStartFunc;
- _RtlSetUnicodeCallouts: TRtlSetUnicodeCallouts;
- _RtlSetUserValueHeap: TRtlSetUserValueHeap;
- _RtlSizeHeap: TRtlSizeHeap;
- _RtlStringFromGUID: TRtlStringFromGUID;
- _RtlSubAuthoritySid: TRtlSubAuthoritySid;
- _RtlTimeFieldsToTime: TRtlTimeFieldsToTime;
- _RtlTimeToTimeFields: TRtlTimeToTimeFields;
- _RtlTryEnterCriticalSection: TRtlTryEnterCriticalSection;
- _RtlUnicodeStringToAnsiString: TRtlUnicodeStringToAnsiString;
- _RtlUnicodeStringToInteger: TRtlUnicodeStringToInteger;
- _RtlUnicodeStringToOemString: TRtlUnicodeStringToOemString;
- _RtlUnicodeToMultiByteN: TRtlUnicodeToMultiByteN;
- _RtlUnicodeToMultiByteSize: TRtlUnicodeToMultiByteSize;
- _RtlUnicodeToOemN: TRtlUnicodeToOemN;
- _RtlUnlockHeap: TRtlUnlockHeap;
- _RtlUnwind: TRtlUnwind;
- _RtlUpcaseUnicodeChar: TRtlUpcaseUnicodeChar;
- _RtlUpcaseUnicodeString: TRtlUpcaseUnicodeString;
- _RtlUpdateTimer: TRtlUpdateTimer;
- _RtlUpperChar: TRtlUpperChar;
- _RtlUpperString: TRtlUpperString;
- _RtlUsageHeap: TRtlUsageHeap;
- _RtlValidAcl: TRtlValidAcl;
- _RtlValidateHeap: TRtlValidateHeap;
- _RtlValidRelativeSecurityDescriptor: TRtlValidRelativeSecurityDescriptor;
- _RtlValidSecurityDescriptor: TRtlValidSecurityDescriptor;
- _RtlValidSid: TRtlValidSid;
- _RtlVerifyVersionInfo: TRtlVerifyVersionInfo;
- _RtlWalkHeap: TRtlWalkHeap;
- _RtlxAnsiStringToUnicodeSize: TRtlxAnsiStringToUnicodeSize;
- _RtlxOemStringToUnicodeSize: TRtlxOemStringToUnicodeSize;
- _RtlxUnicodeStringToAnsiSize: TRtlxUnicodeStringToAnsiSize;
- _RtlxUnicodeStringToOemSize: TRtlxUnicodeStringToOemSize;
- _RtlZombifyActivationContext: TRtlZombifyActivationContext;
- _wcscat: Twcscat;
- _wcschr: Twcschr;
- _wcscmp: Twcscmp;
- _wcscpy: Twcscpy;
- _wcslen: Twcslen;
- _wcsrchr: Twcsrchr;
- function InitNT : Boolean;
- var
- AOsVersionInfo : TOsVersionInfoA;
- begin
- if NtDllHandle = 0 then begin
- FillChar(AOsVersionInfo, Sizeof(AOsVersionInfo), 0);
- AOsVersionInfo.dwOSVersionInfoSize := Sizeof(AOsVersionInfo);
- if not GetVersionExA(AOsVersionInfo) then begin
- Result := false;
- Exit;
- end;
- if AOsVersionInfo.dwPlatformId = VER_PLATFORM_WIN32_NT then begin
- IsWindowsXPorLater := (AOsVersionInfo.dwMajorVersion > 5) or
- ((AOsVersionInfo.dwMajorVersion = 5) and
- (AOsVersionInfo.dwMinorVersion > 0));
- NtDllHandle := GetModuleHandle(ntdllname);
- { Mark 5 }
- if NtDllHandle <> 0 then begin
- @_CsrAllocateCaptureBuffer := GetProcAddress(NtDllHandle,
- 'CsrAllocateCaptureBuffer');
- @_CsrAllocateMessagePointer := GetProcAddress(NtDllHandle,
- 'CsrAllocateMessagePointer');
- @_CsrCaptureMessageBuffer := GetProcAddress(NtDllHandle,
- 'CsrCaptureMessageBuffer');
- @_CsrCaptureMessageString := GetProcAddress(NtDllHandle,
- 'CsrCaptureMessageString');
- @_CsrCaptureMessageMultiUnicodeStringsInPlace := GetProcAddress(
- NtDllHandle, 'CsrCaptureMessageMultiUnicodeStringsInPlace');
- @_CsrClientCallServer := GetProcAddress(NtDllHandle,
- 'CsrClientCallServer');
- @_CsrClientConnectToServer:= GetProcAddress(NtDllHandle,
- 'CsrClientConnectToServer');
- @_CsrClientConnectToServerXP:= GetProcAddress(NtDllHandle,
- 'CsrClientConnectToServer');
- @_CsrFreeCaptureBuffer := GetProcAddress(NtDllHandle,
- 'CsrFreeCaptureBuffer');
- @_CsrGetProcessId := GetProcAddress(NtDllHandle, 'CsrGetProcessId');
- @_CsrIdentifyAlertableThread := GetProcAddress(NtDllHandle,
- 'CsrIdentifyAlertableThread');
- @_CsrNewThread := GetProcAddress(NtDllHandle, 'CsrNewThread');
- @_DbgBreakPoint := GetProcAddress(NtDllHandle, 'DbgBreakPoint');
- @_DbgUiConnectToDbg := GetProcAddress(NtDllHandle, 'DbgUiConnectToDbg');
- @_DbgUiContinue := GetProcAddress(NtDllHandle, 'DbgUiContinue');
- @_DbgUiConvertStateChangeStructure := GetProcAddress(NtDllHandle,
- 'DbgUiConvertStateChangeStructure');
- @_DbgUiDebugActiveProcess := GetProcAddress(NtDllHandle,
- 'DbgUiDebugActiveProcess');
- @_DbgUiGetThreadDebugObject := GetProcAddress(NtDllHandle,
- 'DbgUiGetThreadDebugObject');
- @_DbgUiIssueRemoteBreakin := GetProcAddress(NtDllHandle,
- 'DbgUiIssueRemoteBreakin');
- @_DbgUiStopDebugging := GetProcAddress(NtDllHandle,
- 'DbgUiStopDebugging');
- @_DbgUiWaitStateChange := GetProcAddress(NtDllHandle,
- 'DbgUiWaitStateChange');
- @_LdrAccessResource := GetProcAddress(NtDllHandle, 'LdrAccessResource');
- @_LdrAlternateResourcesEnabled := GetProcAddress(NtDllHandle,
- 'LdrAlternateResourcesEnabled');
- @_LdrDestroyOutOfProcessImage := GetProcAddress(NtDllHandle,
- 'LdrDestroyOutOfProcessImage');
- @_LdrDisableThreadCalloutsForDll:= GetProcAddress(NtDllHandle,
- 'LdrDisableThreadCalloutsForDll');
- @_LdrEnumerateLoadedModules := GetProcAddress(NtDllHandle,
- 'LdrEnumerateLoadedModules');
- @_LdrFindResource_U := GetProcAddress(NtDllHandle, 'LdrFindResource_U');
- @_LdrFindResourceDirectory_U := GetProcAddress(NtDllHandle,
- 'LdrFindResourceDirectory_U');
- @_LdrFlushAlternateResourceModules := GetProcAddress(NtDllHandle,
- 'LdrFlushAlternateResourceModules');
- @_LdrGetDllHandle:= GetProcAddress(NtDllHandle, 'LdrGetDllHandle');
- @_LdrGetDllHandleEx := GetProcAddress(NtDllHandle, 'LdrGetDllHandleEx');
- @_LdrGetProcedureAddress := GetProcAddress(NtDllHandle,
- 'LdrGetProcedureAddress');
- @_LdrLoadAlternateResourceModule:= GetProcAddress(NtDllHandle,
- 'LdrLoadAlternateResourceModule');
- @_LdrLoadAlternateResourceModuleEx := GetProcAddress(NtDllHandle,
- 'LdrLoadAlternateResourceModuleEx');
- @_LdrLoadDll:= GetProcAddress(NtDllHandle, 'LdrLoadDll');
- @_LdrLockLoaderLock:= GetProcAddress(NtDllHandle, 'LdrLockLoaderLock');
- @_LdrQueryImageFileExecutionOptions:= GetProcAddress(NtDllHandle,
- 'LdrQueryImageFileExecutionOptions');
- @_LdrSetDllManifestProber := GetProcAddress(NtDllHandle,
- 'LdrSetDllManifestProber');
- @_LdrShutdownProcess:= GetProcAddress(NtDllHandle,
- 'LdrShutdownProcess');
- @_LdrShutdownThread:= GetProcAddress(NtDllHandle, 'LdrShutdownThread');
- @_LdrUnloadAlternateResourceModule := GetProcAddress(NtDllHandle,
- 'LdrUnloadAlternateResourceModule');
- @_LdrUnloadDll:= GetProcAddress(NtDllHandle, 'LdrUnloadDll');
- @_LdrUnlockLoaderLock:= GetProcAddress(NtDllHandle,
- 'LdrUnlockLoaderLock');
- _NlsAnsiCodePage := GetProcAddress(NtDllHandle, 'NlsAnsiCodePage');
- @_NtAcceptConnectPort := GetProcAddress(NtDllHandle,
- 'NtAcceptConnectPort');
- @_NtAccessCheck := GetProcAddress(NtDllHandle, 'NtAccessCheck');
- @_NtAccessCheckAndAuditAlarm := GetProcAddress(NtDllHandle,
- 'NtAccessCheckAndAuditAlarm');
- @_NtAccessCheckByType := GetProcAddress(NtDllHandle,
- 'NtAccessCheckByType');
- @_NtAccessCheckByTypeAndAuditAlarm := GetProcAddress(NtDllHandle,
- 'NtAccessCheckByTypeAndAuditAlarm');
- @_NtAccessCheckByTypeResultList := GetProcAddress(NtDllHandle,
- 'NtAccessCheckByTypeResultList');
- @_NtAccessCheckByTypeResultListAndAuditAlarm := GetProcAddress(
- NtDllHandle, 'NtAccessCheckByTypeResultListAndAuditAlarm');
- @_NtAccessCheckByTypeResultListAndAuditAlarmByHandle := GetProcAddress(
- NtDllHandle, 'NtAccessCheckByTypeResultListAndAuditAlarmByHandle');
- @_NtAddAtom := GetProcAddress(NtDllHandle, 'NtAddAtom');
- @_NtAdjustGroupsToken := GetProcAddress(NtDllHandle,
- 'NtAdjustGroupsToken');
- @_NtAdjustPrivilegesToken := GetProcAddress(NtDllHandle,
- 'NtAdjustPrivilegesToken');
- @_NtAlertThread := GetProcAddress(NtDllHandle, 'NtAlertThread');
- @_NtAllocateLocallyUniqueId := GetProcAddress(NtDllHandle,
- 'NtAllocateLocallyUniqueId');
- @_NtAllocateUserPhysicalPages := GetProcAddress(NtDllHandle,
- 'NtAllocateUserPhysicalPages');
- @_NtAllocateVirtualMemory := GetProcAddress(NtDllHandle,
- 'NtAllocateVirtualMemory');
- @_NtApphelpCacheControl := GetProcAddress(NtDllHandle,
- 'NtApphelpCacheControl');
- @_NtAssignProcessToJobObject := GetProcAddress(NtDllHandle,
- 'NtAssignProcessToJobObject');
- @_NtAssociateProcessWithReserve := GetProcAddress(NtDllHandle,
- 'NtAssociateProcessWithReserve');
- @_NtCancelDeviceWakeupRequest := GetProcAddress(NtDllHandle,
- 'NtCancelDeviceWakeupRequest');
- @_NtCancelIoFile := GetProcAddress(NtDllHandle, 'NtCancelIoFile');
- @_NtCancelTimer := GetProcAddress(NtDllHandle, 'NtCancelTimer');
- @_NtClearEvent := GetProcAddress(NtDllHandle, 'NtClearEvent');
- @_NtClose := GetProcAddress(NtDllHandle, 'NtClose');
- @_NtCloseObjectAuditAlarm := GetProcAddress(NtDllHandle,
- 'NtCloseObjectAuditAlarm');
- @_NtCommitTransaction := GetProcAddress(NtDllHandle,
- 'NtCommitTransaction');
- @_NtCompleteConnectPort := GetProcAddress(NtDllHandle,
- 'NtCompleteConnectPort');
- @_NtConnectPort := GetProcAddress(NtDllHandle, 'NtConnectPort');
- @_NtCreateDirectoryObject := GetProcAddress(NtDllHandle,
- 'NtCreateDirectoryObject');
- @_NtCreateEvent := GetProcAddress(NtDllHandle, 'NtCreateEvent');
- @_NtCreateFile := GetProcAddress(NtDllHandle, 'NtCreateFile');
- @_NtCreateJobObject := GetProcAddress(NtDllHandle, 'NtCreateJobObject');
- @_NtCreateKey := GetProcAddress(NtDllHandle, 'NtCreateKey');
- @_NtCreateMailSlotFile := GetProcAddress(NtDllHandle,
- 'NtCreateMailSlotFile');
- @_NtCreateMutant := GetProcAddress(NtDllHandle, 'NtCreateMutant');
- @_NtCreateNamedPipeFile := GetProcAddress(NtDllHandle,
- 'NtCreateNamedPipeFile');
- @_NtCreatePort := GetProcAddress(NtDllHandle, 'NtCreatePort');
- @_NtCreateSection := GetProcAddress(NtDllHandle, 'NtCreateSection');
- @_NtCreateSemaphore := GetProcAddress(NtDllHandle, 'NtCreateSemaphore');
- @_NtCreateSymbolicLinkObject := GetProcAddress(NtDllHandle,
- 'NtCreateSymbolicLinkObject');
- @_NtCreateThread := GetProcAddress(NtDllHandle, 'NtCreateThread');
- @_NtCreateTimer := GetProcAddress(NtDllHandle, 'NtCreateTimer');
- @_NtCreateWaitablePort := GetProcAddress(NtDllHandle,
- 'NtCreateWaitablePort');
- @_NtDebugActiveProcess := GetProcAddress(NtDllHandle,
- 'NtDebugActiveProcess');
- @_NtDelayExecution := GetProcAddress(NtDllHandle, 'NtDelayExecution');
- @_NtDeleteAtom := GetProcAddress(NtDllHandle, 'NtDeleteAtom');
- @_NtDeleteFile := GetProcAddress(NtDllHandle, 'NtDeleteFile');
- @_NtDeleteKey := GetProcAddress(NtDllHandle, 'NtDeleteKey');
- @_NtDeleteObjectAuditAlarm := GetProcAddress(NtDllHandle,
- 'NtDeleteObjectAuditAlarm');
- @_NtDeleteValueKey := GetProcAddress(NtDllHandle, 'NtDeleteValueKey');
- @_NtDeviceIoControlFile := GetProcAddress(NtDllHandle,
- 'NtDeviceIoControlFile');
- @_NtDisassociateProcessFromReserve := GetProcAddress(NtDllHandle,
- 'NtDisassociateProcessFromReserve');
- @_NtDisjoinThreadFromReserve := GetProcAddress(NtDllHandle,
- 'NtDisjoinThreadFromReserve');
- @_NtDuplicateObject := GetProcAddress(NtDllHandle,
- 'NtDuplicateObject');
- @_NtDuplicateToken := GetProcAddress(NtDllHandle, 'NtDuplicateToken');
- @_NtEnumerateKey := GetProcAddress(NtDllHandle, 'NtEnumerateKey');
- @_NtEnumerateValueKey := GetProcAddress(NtDllHandle,
- 'NtEnumerateValueKey');
- @_NtFilterToken := GetProcAddress(NtDllHandle, 'NtFilterToken');
- @_NtFindAtom := GetProcAddress(NtDllHandle, 'NtFindAtom');
- @_NtFlushBuffersFile := GetProcAddress(NtDllHandle,
- 'NtFlushBuffersFile');
- @_NtFlushInstructionCache := GetProcAddress(NtDllHandle,
- 'NtFlushInstructionCache');
- @_NtFlushKey := GetProcAddress (NtDllHandle, 'NtFlushKey');
- @_NtFlushVirtualMemory := GetProcAddress(NtDllHandle,
- 'NtFlushVirtualMemory');
- @_NtFreeUserPhysicalPages := GetProcAddress(NtDllHandle,
- 'NtFreeUserPhysicalPages');
- @_NtFreeVirtualMemory := GetProcAddress(NtDllHandle,
- 'NtFreeVirtualMemory');
- @_NtFsControlFile := GetProcAddress(NtDllHandle, 'NtFsControlFile');
- @_NtGetCurrentProcessorNumber := GetProcAddress(NtDllHandle,
- 'NtGetCurrentProcessorNumber');
- @_NtGetContextThread := GetProcAddress(NtDllHandle,
- 'NtGetContextThread');
- @_NtGetDevicePowerState := GetProcAddress(NtDllHandle,
- 'NtGetDevicePowerState');
- @_NtGetWriteWatch := GetProcAddress(NtDllHandle, 'NtGetWriteWatch');
- @_NtImpersonateAnonymousToken := GetProcAddress(NtDllHandle,
- 'NtImpersonateAnonymousToken');
- @_NtImpersonateClientOfPort := GetProcAddress(NtDllHandle,
- 'NtImpersonateClientOfPort');
- @_NtInitiatePowerAction := GetProcAddress(NtDllHandle,
- 'NtInitiatePowerAction');
- @_NtIsProcessInJob := GetProcAddress(NtDllHandle, 'NtIsProcessInJob');
- @_NtIsSystemResumeAutomatic := GetProcAddress(NtDllHandle,
- 'NtIsSystemResumeAutomatic');
- @_NtJoinThreadToReserve := GetProcAddress(NtDllHandle,
- 'NtJoinThreadToReserve');
- @_NtListenPort := GetProcAddress(NtDllHandle, 'NtListenPort');
- @_NtLoadDriver := GetProcAddress(NtDllHandle, 'NtLoadDriver');
- @_NtLoadKey := GetProcAddress(NtDllHandle, 'NtLoadKey');
- @_NtLockFile := GetProcAddress(NtDllHandle, 'NtLockFile');
- @_NtLockVirtualMemory := GetProcAddress(NtDllHandle,
- 'NtLockVirtualMemory');
- @_NtMapUserPhysicalPages := GetProcAddress(NtDllHandle,
- 'NtMapUserPhysicalPages');
- @_NtMapUserPhysicalPagesScatter := GetProcAddress(NtDllHandle,
- 'NtMapUserPhysicalPagesScatter');
- @_NtMapViewOfSection := GetProcAddress(NtDllHandle,
- 'NtMapViewOfSection');
- @_NtMakeTemporaryObject := GetProcAddress(NtDllHandle,
- 'NtMakeTemporaryObject');
- @_NtNotifyChangeDirectoryFile := GetProcAddress(NtDllHandle,
- 'NtNotifyChangeDirectoryFile');
- @_NtNotifyChangeKey := GetProcAddress(NtDllHandle, 'NtNotifyChangeKey');
- @_NtNotifyChangeMultipleKeys := GetProcAddress(NtDllHandle,
- 'NtNotifyChangeMultipleKeys');
- @_NtOpenDirectoryObject := GetProcAddress(NtDllHandle,
- 'NtOpenDirectoryObject');
- @_NtOpenEvent := GetProcAddress(NtDllHandle, 'NtOpenEvent');
- @_NtOpenFile := GetProcAddress(NtDllHandle, 'NtOpenFile');
- @_NtOpenJobObject := GetProcAddress(NtDllHandle, 'NtOpenJobObject');
- @_NtOpenKey := GetProcAddress(NtDllHandle, 'NtOpenKey');
- @_NtOpenMutant := GetProcAddress(NtDllHandle, 'NtOpenMutant');
- @_NtOpenObjectAuditAlarm := GetProcAddress(NtDllHandle,
- 'NtOpenObjectAuditAlarm');
- @_NtOpenProcess := GetProcAddress(NtDllHandle, 'NtOpenProcess');
- @_NtOpenProcessToken := GetProcAddress(NtDllHandle,
- 'NtOpenProcessToken');
- @_NtOpenReserve := GetProcAddress(NtDllHandle, 'NtOpenReserve');
- @_NtOpenSection := GetProcAddress(NtDllHandle, 'NtOpenSection');
- @_NtOpenSemaphore := GetProcAddress(NtDllHandle, 'NtOpenSemaphore');
- @_NtOpenSymbolicLinkObject := GetProcAddress(NtDllHandle,
- 'NtOpenSymbolicLinkObject');
- @_NtOpenThread := GetProcAddress(NtDllHandle, 'NtOpenThread');
- @_NtOpenThreadToken := GetProcAddress(NtDllHandle, 'NtOpenThreadToken');
- @_NtOpenTimer := GetProcAddress(NtDllHandle, 'NtOpenTimer');
- @_NtPowerInformation := GetProcAddress(NtDllHandle,
- 'NtPowerInformation');
- @_NtPrivilegeCheck := GetProcAddress(NtDllHandle, 'NtPrivilegeCheck');
- @_NtPrivilegedServiceAuditAlarm := GetProcAddress(NtDllHandle,
- 'NtPrivilegedServiceAuditAlarm');
- @_NtPrivilegeObjectAuditAlarm := GetProcAddress(NtDllHandle,
- 'NtPrivilegeObjectAuditAlarm');
- @_NtProtectVirtualMemory := GetProcAddress(NtDllHandle,
- 'NtProtectVirtualMemory');
- @_NtPulseEvent := GetProcAddress(NtDllHandle, 'NtPulseEvent');
- @_NtQueryAttributesFile := GetProcAddress(NtDllHandle,
- 'NtQueryAttributesFile');
- @_NtQueryDefaultLocale := GetProcAddress(NtDllHandle,
- 'NtQueryDefaultLocale');
- @_NtQueryDefaultUILanguage := GetProcAddress(NtDllHandle,
- 'NtQueryDefaultUILanguage');
- @_NtQueryDirectoryFile := GetProcAddress(NtDllHandle,
- 'NtQueryDirectoryFile');
- @_NtQueryDirectoryObject := GetProcAddress(NtDllHandle,
- 'NtQueryDirectoryObject');
- @_NtQueryEaFile := GetProcAddress(NtDllHandle, 'NtQueryEaFile');
- @_NtQueryEvent := GetProcAddress(NtDllHandle, 'NtQueryEvent');
- @_NtQueryFullAttributesFile := GetProcAddress(NtDllHandle,
- 'NtQueryFullAttributesFile');
- @_NtQueryInformationAtom := GetProcAddress(NtDllHandle,
- 'NtQueryInformationAtom');
- @_NtQueryInformationJobObject := GetProcAddress(NtDllHandle,
- 'NtQueryInformationJobObject');
- @_NtQueryInformationFile := GetProcAddress(NtDllHandle,
- 'NtQueryInformationFile');
- @_NtQueryInformationPort := GetProcAddress(NtDllHandle,
- 'NtQueryInformationPort');
- @_NtQueryInformationProcess := GetProcAddress(NtDllHandle,
- 'NtQueryInformationProcess');
- @_NtQueryInformationReserve := GetProcAddress(NtDllHandle,
- 'NtQueryInformationReserve');
- @_NtQueryInformationThread := GetProcAddress(NtDllHandle,
- 'NtQueryInformationThread');
- @_NtQueryInformationToken := GetProcAddress(NtDllHandle,
- 'NtQueryInformationToken');
- @_NtQueryInstallUILanguage := GetProcAddress(NtDllHandle,
- 'NtQueryInstallUILanguage');
- @_NtQueryKey := GetProcAddress(NtDllHandle, 'NtQueryKey');
- @_NtQueryObject := GetProcAddress(NtDllHandle, 'NtQueryObject');
- @_NtQueryPerformanceCounter := GetProcAddress(NtDllHandle,
- 'NtQueryPerformanceCounter');
- @_NtQuerySection := GetProcAddress(NtDllHandle, 'NtQuerySection');
- @_NtQuerySecurityObject := GetProcAddress(NtDllHandle,
- 'NtQuerySecurityObject');
- @_NtQuerySymbolicLinkObject := GetProcAddress(NtDllHandle,
- 'NtQuerySymbolicLinkObject');
- @_NtQuerySystemInformation := GetProcAddress(NtDllHandle,
- 'NtQuerySystemInformation');
- @_NtQuerySystemTime := GetProcAddress(NtDllHandle, 'NtQuerySystemTime');
- @_NtQueryValueKey := GetProcAddress(NtDllHandle, 'NtQueryValueKey');
- @_NtQueryVirtualMemory := GetProcAddress(NtDllHandle,
- 'NtQueryVirtualMemory');
- @_NtQueryVolumeInformationFile := GetProcAddress(NtDllHandle,
- 'NtQueryVolumeInformationFile');
- @_NtQueueApcThread := GetProcAddress(NtDllHandle, 'NtQueueApcThread');
- @_NtRaiseHardError := GetProcAddress(NtDllHandle, 'NtRaiseHardError');
- @_NtReadFile := GetProcAddress(NtDllHandle, 'NtReadFile');
- @_NtReadFileScatter := GetProcAddress(NtDllHandle, 'NtReadFileScatter');
- @_NtReadVirtualMemory := GetProcAddress(NtDllHandle,
- 'NtReadVirtualMemory');
- @_NtRegisterThreadTerminatePort := GetProcAddress(NtDllHandle,
- 'NtRegisterThreadTerminatePort');
- @_NtReleaseMutant := GetProcAddress(NtDllHandle, 'NtReleaseMutant');
- @_NtReleaseSemaphore := GetProcAddress(NtDllHandle,
- 'NtReleaseSemaphore');
- @_NtRelinquishBudget := GetProcAddress(NtDllHandle,
- 'NtRelinquishBudget');
- @_NtRemoveIoCompletion := GetProcAddress(NtDllHandle,
- 'NtRemoveIoCompletion');
- @_NtRemoveProcessDebug := GetProcAddress(NtDllHandle,
- 'NtRemoveProcessDebug');
- @_NtReplaceKey := GetProcAddress(NtDllHandle, 'NtReplaceKey');
- @_NtReplyPort := GetProcAddress(NtDllHandle, 'NtReplyPort');
- @_NtReplyWaitReceivePort := GetProcAddress(NtDllHandle,
- 'NtReplyWaitReceivePort');
- @_NtReplyWaitReplyPort := GetProcAddress(NtDllHandle,
- 'NtReplyWaitReplyPort');
- @_NtRequestDeviceWakeup := GetProcAddress(NtDllHandle,
- 'NtRequestDeviceWakeup');
- @_NtRequestPort := GetProcAddress(NtDllHandle, 'NtRequestPort');
- @_NtRequestWaitReplyPort := GetProcAddress(NtDllHandle,
- 'NtRequestWaitReplyPort');
- @_NtRequestWakeupLatency := GetProcAddress(NtDllHandle,
- 'NtRequestWakeupLatency');
- @_NtResetEvent := GetProcAddress(NtDllHandle, 'NtResetEvent');
- @_NtResetWriteWatch := GetProcAddress(NtDllHandle, 'NtResetWriteWatch');
- @_NtRestoreKey := GetProcAddress(NtDllHandle, 'NtRestoreKey');
- @_NtResumeThread := GetProcAddress(NtDllHandle, 'NtResumeThread');
- @_NtRollbackTransaction := GetProcAddress(NtDllHandle,
- 'NtRollbackTransaction');
- @_NtSaveKey := GetProcAddress(NtDllHandle, 'NtSaveKey');
- @_NtSecureConnectPort := GetProcAddress(NtDllHandle,
- 'NtSecureConnectPort');
- @_NtSetContextThread := GetProcAddress(NtDllHandle,
- 'NtSetContextThread');
- @_NtSetDefaultHardErrorPort := GetProcAddress(NtDllHandle,
- 'NtSetDefaultHardErrorPort');
- @_NtSetEaFile := GetProcAddress(NtDllHandle, 'NtSetEaFile');
- @_NtSetEvent := GetProcAddress(NtDllHandle, 'NtSetEvent');
- @_NtSetInformationDebugObject := GetProcAddress(NtDllHandle,
- 'NtSetInformationDebugObject');
- @_NtSetInformationFile := GetProcAddress(NtDllHandle,
- 'NtSetInformationFile');
- @_NtSetInformationJobObject := GetProcAddress(NtDllHandle,
- 'NtSetInformationJobObject');
- @_NtSetInformationObject := GetProcAddress(NtDllHandle,
- 'NtSetInformationObject');
- @_NtSetInformationProcess := GetProcAddress(NtDllHandle,
- 'NtSetInformationProcess');
- @_NtSetInformationReserve := GetProcAddress(NtDllHandle,
- 'NtSetInformationReserve');
- @_NtSetInformationThread := GetProcAddress(NtDllHandle,
- 'NtSetInformationThread');
- @_NtSetInformationToken := GetProcAddress(NtDllHandle,
- 'NtSetInformationToken');
- @_NtSetIoCompletion := GetProcAddress(NtDllHandle, 'NtSetIoCompletion');
- @_NtSetSecurityObject := GetProcAddress(NtDllHandle,
- 'NtSetSecurityObject');
- @_NtSetSystemInformation := GetProcAddress(NtDllHandle,
- 'NtSetSystemInformation');
- @_NtSetSystemTime := GetProcAddress(NtDllHandle, 'NtSetSystemTime');
- @_NtSetThreadExecutionState := GetProcAddress(NtDllHandle,
- 'NtSetThreadExecutionState');
- @_NtSetTimer := GetProcAddress(NtDllHandle, 'NtSetTimer');
- @_NtSetValueKey := GetProcAddress(NtDllHandle, 'NtSetValueKey');
- @_NtSetVolumeInformationFile := GetProcAddress(NtDllHandle,
- 'NtSetVolumeInformationFile');
- @_NtSignalAndWaitForSingleObject := GetProcAddress(NtDllHandle,
- 'NtSignalAndWaitForSingleObject');
- @_NtSuspendThread := GetProcAddress(NtDllHandle, 'NtSuspendThread');
- @_NtTerminateJobObject := GetProcAddress(NtDllHandle,
- 'NtTerminateJobObject');
- @_NtTerminateProcess := GetProcAddress(NtDllHandle,
- 'NtTerminateProcess');
- @_NtTerminateThread := GetProcAddress(NtDllHandle, 'NtTerminateThread');
- @_NtTestAlert := GetProcAddress(NtDllHandle, 'NtTestAlert');
- @_NtUnloadDriver := GetProcAddress(NtDllHandle, 'NtUnloadDriver');
- @_NtUnloadKey := GetProcAddress(NtDllHandle, 'NtUnloadKey');
- @_NtUnlockFile := GetProcAddress(NtDllHandle, 'NtUnlockFile');
- @_NtUnlockVirtualMemory := GetProcAddress(NtDllHandle,
- 'NtUnlockVirtualMemory');
- @_NtUnmapViewOfSection := GetProcAddress(NtDllHandle,
- 'NtUnmapViewOfSection');
- @_NtVdmControl := GetProcAddress(NtDllHandle, 'NtVdmControl');
- @_NtWaitForMultipleObjects := GetProcAddress(NtDllHandle,
- 'NtWaitForMultipleObjects');
- @_NtWaitForSingleObject := GetProcAddress(NtDllHandle,
- 'NtWaitForSingleObject');
- @_NtWriteFile := GetProcAddress(NtDllHandle, 'NtWriteFile');
- @_NtWriteFileGather := GetProcAddress(NtDllHandle, 'NtWriteFileGather');
- @_NtWriteVirtualMemory := GetProcAddress(NtDllHandle,
- 'NtWriteVirtualMemory');
- @_NtYieldExecution := GetProcAddress(NtDllHandle, 'NtYieldExecution');
- @_RtlActivateActivationContext := GetProcAddress(NtDllHandle,
- 'RtlActivateActivationContext');
- @_RtlActivateActivationContextEx := GetProcAddress(NtDllHandle,
- 'RtlActivateActivationContextEx');
- @_RtlAddAccessAllowedAce := GetProcAddress(NtDllHandle,
- 'RtlAddAccessAllowedAce');
- @_RtlAddRefActivationContext := GetProcAddress(NtDllHandle,
- 'RtlAddRefActivationContext');
- @_RtlAdjustPrivilege := GetProcAddress(NtDllHandle,
- 'RtlAdjustPrivilege');
- @_RtlAllocateAndInitializeSid := GetProcAddress(NtDllHandle,
- 'RtlAllocateAndInitializeSid');
- @_RtlAllocateHandle := GetProcAddress(NtDllHandle,
- 'RtlAllocateHandle');
- @_RtlAllocateHeap:= GetProcAddress(NtDllHandle, 'RtlAllocateHeap');
- @_RtlAnsiCharToUnicodeChar := GetProcAddress(NtDllHandle,
- 'RtlAnsiCharToUnicodeChar');
- @_RtlAnsiStringToUnicodeSize := GetProcAddress(NtDllHandle,
- 'RtlAnsiStringToUnicodeSize');
- @_RtlAnsiStringToUnicodeString := GetProcAddress(NtDllHandle,
- 'RtlAnsiStringToUnicodeString');
- @_RtlAppendUnicodeStringToString := GetProcAddress(NtDllHandle,
- 'RtlAppendUnicodeStringToString');
- @_RtlAppendUnicodeToString:= GetProcAddress(NtDllHandle,
- 'RtlAppendUnicodeToString');
- @_RtlApplicationVerifierStop := GetProcAddress(NtDllHandle,
- 'RtlApplicationVerifierStop');
- @_RtlAreBitsSet := GetProcAddress(NtDllHandle, 'RtlAreBitsSet');
- @_RtlCharToInteger := GetProcAddress(NtDllHandle, 'RtlCharToInteger');
- @_RtlCheckRegistryKey := GetProcAddress(NtDllHandle,
- 'RtlCheckRegistryKey');
- @_RtlClearBits := GetProcAddress(NtDllHandle, 'RtlClearBits');
- @_RtlCompactHeap := GetProcAddress(NtDllHandle, 'RtlCompactHeap');
- @_RtlCompareMemory := GetProcAddress(NtDllHandle, 'RtlCompareMemory');
- @_RtlCompareString := GetProcAddress(NtDllHandle, 'RtlCompareString');
- @_RtlCompareUnicodeString := GetProcAddress(NtDllHandle,
- 'RtlCompareUnicodeString');
- @_RtlConvertSidToUnicodeString := GetProcAddress(NtDllHandle,
- 'RtlConvertSidToUnicodeString');
- @_RtlCopyLuid:= GetProcAddress(NtDllHandle, 'RtlCopyLuid');
- @_RtlCopyString := GetProcAddress(NtDllHandle, 'RtlCopyString');
- @_RtlCopyUnicodeString := GetProcAddress(NtDllHandle,
- 'RtlCopyUnicodeString');
- @_RtlCreateAcl := GetProcAddress(NtDllHandle, 'RtlCreateAcl');
- @_RtlCreateAtomTable := GetProcAddress(NtDllHandle,
- 'RtlCreateAtomTable');
- @_RtlCreateEnvironment := GetProcAddress(NtDllHandle,
- 'RtlCreateEnvironment');
- @_RtlCreateHeap := GetProcAddress(NtDllHandle, 'RtlCreateHeap');
- @_RtlCreateProcessParameters := GetProcAddress(NtDllHandle,
- 'RtlCreateProcessParameters');
- @_RtlCreateQueryDebugBuffer := GetProcAddress(NtDllHandle,
- 'RtlCreateQueryDebugBuffer');
- @_RtlCreateSecurityDescriptor := GetProcAddress(NtDllHandle,
- 'RtlCreateSecurityDescriptor');
- @_RtlCreateTagHeap:= GetProcAddress(NtDllHandle, 'RtlCreateTagHeap');
- @_RtlCreateTimer := GetProcAddress(NtDllHandle, 'RtlCreateTimer');
- @_RtlCreateTimerQueue := GetProcAddress(NtDllHandle,
- 'RtlCreateTimerQueue');
- @_RtlCreateUnicodeString := GetProcAddress(NtDllHandle,
- 'RtlCreateUnicodeString');
- @_RtlCreateUnicodeStringFromAsciiz := GetProcAddress(NtDllHandle,
- 'RtlCreateUnicodeStringFromAsciiz');
- @_RtlCustomCPToUnicodeN := GetProcAddress(NtDllHandle,
- 'RtlCustomCPToUnicodeN');
- @_RtlCutoverTimeToSystemTime := GetProcAddress(NtDllHandle,
- 'RtlCutoverTimeToSystemTime');
- @_RtlAcquirePebLock:= GetProcAddress(NtDllHandle, 'RtlAcquirePebLock');
- @_RtlDefaultNpAcl := GetProcAddress(NtDllHandle, 'RtlDefaultNpAcl');
- @_RtlDeleteAtomFromAtomTable := GetProcAddress(NtDllHandle,
- 'RtlDeleteAtomFromAtomTable');
- @_RtlDeleteCriticalSection := GetProcAddress(NtDllHandle,
- 'RtlDeleteCriticalSection');
- @_RtlDeleteTimer := GetProcAddress(NtDllHandle, 'RtlDeleteTimer');
- @_RtlDeleteTimerQueue := GetProcAddress(NtDllHandle,
- 'RtlDeleteTimerQueue');
- @_RtlDeleteTimerQueueEx := GetProcAddress(NtDllHandle,
- 'RtlDeleteTimerQueueEx');
- @_RtlDeregisterWait := GetProcAddress(NtDllHandle, 'RtlDeregisterWait');
- @_RtlDeregisterWaitEx := GetProcAddress(NtDllHandle,
- 'RtlDeregisterWaitEx');
- @_RtlDestroyEnvironment := GetProcAddress(NtDllHandle,
- 'RtlDestroyEnvironment');
- @_RtlDestroyHeap := GetProcAddress(NtDllHandle, 'RtlDestroyHeap');
- @_RtlDestroyProcessParameters := GetProcAddress(NtDllHandle,
- 'RtlDestroyProcessParameters');
- @_RtlDestroyQueryDebugBuffer := GetProcAddress(NtDllHandle,
- 'RtlDestroyQueryDebugBuffer');
- @_RtlDetermineDosPathNameType_U := GetProcAddress(NtDllHandle,
- 'RtlDetermineDosPathNameType_U');
- @_RtlDllShutdownInProgress := GetProcAddress(NtDllHandle,
- 'RtlDllShutdownInProgress');
- @_RtlDnsHostNameToComputerName := GetProcAddress(NtDllHandle,
- 'RtlDnsHostNameToComputerName');
- @_RtlDoesFileExists_U := GetProcAddress(NtDllHandle,
- 'RtlDoesFileExists_U');
- @_RtlDosPathNameToNtPathName_U:= GetProcAddress(NtDllHandle,
- 'RtlDosPathNameToNtPathName_U');
- @_RtlDosSearchPath_U := GetProcAddress(NtDllHandle,
- 'RtlDosSearchPath_U');
- @_RtlEnterCriticalSection := GetProcAddress(NtDllHandle,
- 'RtlEnterCriticalSection');
- @_RtlEqualSid := GetProcAddress(NtDllHandle, 'RtlEqualSid');
- @_RtlEqualString:= GetProcAddress(NtDllHandle, 'RtlEqualString');
- @_RtlEqualUnicodeString:= GetProcAddress(NtDllHandle,
- 'RtlEqualUnicodeString');
- @_RtlExpandEnvironmentStrings_U := GetProcAddress(NtDllHandle,
- 'RtlExpandEnvironmentStrings_U');
- @_RtlExtendedLargeIntegerDivide := GetProcAddress(NtDllHandle,
- 'RtlExtendedLargeIntegerDivide');
- @_RtlExtendHeap := GetProcAddress(NtDllHandle, 'RtlExtendHeap');
- @_RtlFindClearBitsAndSet := GetProcAddress(NtDllHandle,
- 'RtlFindClearBitsAndSet');
- @_RtlFindMessage := GetProcAddress(NtDllHandle, 'RtlFindMessage');
- @_RtlFlushSecureMemoryCache := GetProcAddress(NtDllHandle,
- 'RtlFlushSecureMemoryCache');
- @_RtlFormatCurrentUserKeyPath := GetProcAddress(NtDllHandle,
- 'RtlFormatCurrentUserKeyPath');
- @_RtlFormatMessage := GetProcAddress(NtDllHandle,
- 'RtlFormatMessage');
- @_RtlFreeThreadActivationContextStack := GetProcAddress(NtDllHandle,
- 'RtlFreeThreadActivationContextStack');
- @_RtlFreeAnsiString:= GetProcAddress(NtDllHandle, 'RtlFreeAnsiString');
- @_RtlFreeHandle := GetProcAddress(NtDllHandle, 'RtlFreeHandle');
- @_RtlFreeHeap:= GetProcAddress(NtDllHandle, 'RtlFreeHeap');
- @_RtlFreeOemString := GetProcAddress(NtDllHandle, 'RtlFreeOemString');
- @_RtlFreeSid := GetProcAddress(NtDllHandle, 'RtlFreeSid');
- @_RtlFreeUnicodeString:= GetProcAddress(NtDllHandle,
- 'RtlFreeUnicodeString');
- @_RtlGetAce := GetProcAddress(NtDllHandle, 'RtlGetAce');
- @_RtlGetActiveActivationContext := GetProcAddress(NtDllHandle,
- 'RtlGetActiveActivationContext');
- @_RtlGetCurrentDirectory_U := GetProcAddress(NtDllHandle,
- 'RtlGetCurrentDirectory_U');
- @_RtlGetDaclSecurityDescriptor := GetProcAddress(NtDllHandle,
- 'RtlGetDaclSecurityDescriptor');
- @_RtlGetFrame := GetProcAddress(NtDllHandle, 'RtlGetFrame');
- @_RtlGetFullPathName_U := GetProcAddress(NtDllHandle,
- 'RtlGetFullPathName_U');
- @_RtlGetLastNtStatus:= GetProcAddress(NtDllHandle,
- 'RtlGetLastNtStatus');
- @_RtlGetLastWin32Error:= GetProcAddress(NtDllHandle,
- 'RtlGetLastWin32Error');
- @_RtlGetLongestNtPathLength:= GetProcAddress(NtDllHandle,
- 'RtlGetLongestNtPathLength');
- @_RtlGetNtGlobalFlags := GetProcAddress(NtDllHandle,
- 'RtlGetNtGlobalFlags');
- @_RtlGetProcessHeaps := GetProcAddress(NtDllHandle,
- 'RtlGetProcessHeaps');
- @_RtlGetThreadErrorMode:= GetProcAddress(NtDllHandle,
- 'RtlGetThreadErrorMode');
- @_RtlGetUserInfoHeap := GetProcAddress(NtDllHandle,
- 'RtlGetUserInfoHeap');
- @_RtlGetVersion := GetProcAddress(NtDllHandle, 'RtlGetVersion');
- @_RtlGUIDFromString := GetProcAddress(NtDllHandle, 'RtlGUIDFromString');
- @_RtlImageDirectoryEntryToData := GetProcAddress(NtDllHandle,
- 'RtlImageDirectoryEntryToData');
- @_RtlImageNtHeader := GetProcAddress(NtDllHandle, 'RtlImageNtHeader');
- @_RtlImageNtHeaderEx:= GetProcAddress(NtDllHandle,
- 'RtlImageNtHeaderEx');
- @_RtlImpersonateSelf := GetProcAddress(NtDllHandle,
- 'RtlImpersonateSelf');
- @_RtlInitAnsiString:= GetProcAddress(NtDllHandle, 'RtlInitAnsiString');
- @_RtlInitializeCriticalSection := GetProcAddress(NtDllHandle,
- 'RtlInitializeCriticalSection');
- @_RtlInitializeCriticalSectionAndSpinCount := GetProcAddress(
- NtDllHandle, 'RtlInitializeCriticalSectionAndSpinCount');
- @_RtlInitializeHandleTable := GetProcAddress(NtDllHandle,
- 'RtlInitializeHandleTable');
- @_RtlInitializeSid := GetProcAddress(NtDllHandle, 'RtlInitializeSid');
- @_RtlInitString:= GetProcAddress(NtDllHandle, 'RtlInitString');
- @_RtlInitUnicodeString := GetProcAddress(NtDllHandle,
- 'RtlInitUnicodeString');
- @_RtlIntegerToChar := GetProcAddress(NtDllHandle, 'RtlIntegerToChar');
- @_RtlIntegerToUnicodeString := GetProcAddress(NtDllHandle,
- 'RtlIntegerToUnicodeString');
- @_RtlIsActivationContextActive := GetProcAddress(NtDllHandle,
- 'RtlIsActivationContextActive');
- @_RtlIsDosDeviceName_U := GetProcAddress(NtDllHandle,
- 'RtlIsDosDeviceName_U');
- @_RtlIsNameLegalDOS8Dot3 := GetProcAddress(NtDllHandle,
- 'RtlIsNameLegalDOS8Dot3');
- @_RtlIsTextUnicode := GetProcAddress(NtDllHandle, 'RtlIsTextUnicode');
- @_RtlIsValidHandle := GetProcAddress(NtDllHandle, 'RtlIsValidHandle');
- @_RtlLeaveCriticalSection := GetProcAddress(NtDllHandle,
- 'RtlLeaveCriticalSection');
- @_RtlLengthRequiredSid := GetProcAddress(NtDllHandle,
- 'RtlLengthRequiredSid');
- @_RtlLengthSecurityDescriptor := GetProcAddress(NtDllHandle,
- 'RtlLengthSecurityDescriptor');
- @_RtlLengthSid := GetProcAddress(NtDllHandle, 'RtlLengthSid');
- @_RtlLockHeap := GetProcAddress(NtDllHandle, 'RtlLockHeap');
- @_RtlMultiByteToUnicodeN := GetProcAddress(NtDllHandle,
- 'RtlMultiByteToUnicodeN');
- @_RtlMultiByteToUnicodeSize := GetProcAddress(NtDllHandle,
- 'RtlMultiByteToUnicodeSize');
- @_RtlNtStatusToDosError := GetProcAddress(NtDllHandle,
- 'RtlNtStatusToDosError');
- @_RtlNtStatusToDosErrorNoTeb := GetProcAddress(NtDllHandle,
- 'RtlNtStatusToDosErrorNoTeb');
- @_RtlOemStringToUnicodeString := GetProcAddress(NtDllHandle,
- 'RtlOemStringToUnicodeString');
- @_RtlOemToUnicodeN := GetProcAddress(NtDllHandle, 'RtlOemToUnicodeN');
- @_RtlOpenCurrentUser := GetProcAddress(NtDllHandle,
- 'RtlOpenCurrentUser');
- @_RtlPcToFileHeader := GetProcAddress(NtDllHandle, 'RtlPcToFileHeader');
- @_RtlPrefixString := GetProcAddress(NtDllHandle, 'RtlPrefixString');
- @_RtlPrefixUnicodeString := GetProcAddress(NtDllHandle,
- 'RtlPrefixUnicodeString');
- @_RtlpUnWaitCriticalSection := GetProcAddress(NtDllHandle,
- 'RtlpUnWaitCriticalSection');
- @_RtlpWaitForCriticalSection := GetProcAddress(NtDllHandle,
- 'RtlpWaitForCriticalSection');
- @_RtlQueryAtomInAtomTable := GetProcAddress(NtDllHandle,
- 'RtlQueryAtomInAtomTable');
- @_RtlQueryEnvironmentVariable_U:= GetProcAddress(NtDllHandle,
- 'RtlQueryEnvironmentVariable_U');
- @_RtlQueryHeapInformation := GetProcAddress(NtDllHandle,
- 'RtlQueryHeapInformation');
- @_RtlQueryInformationAcl := GetProcAddress(NtDllHandle,
- 'RtlQueryInformationAcl');
- @_RtlQueryInformationActivationContext := GetProcAddress(NtDllHandle,
- 'RtlQueryInformationActivationContext');
- @_RtlQueryInformationActiveActivationContext := GetProcAddress(
- NtDllHandle, 'RtlQueryInformationActiveActivationContext');
- @_RtlQueryProcessDebugInformation := GetProcAddress(NtDllHandle,
- 'RtlQueryProcessDebugInformation');
- @_RtlQueryRegistryValues := GetProcAddress(NtDllHandle,
- 'RtlQueryRegistryValues');
- @_RtlQueryTagHeap := GetProcAddress(NtDllHandle, 'RtlQueryTagHeap');
- @_RtlQueueWorkItem := GetProcAddress(NtDllHandle, 'RtlQueueWorkItem');
- @_RtlRaiseException := GetProcAddress(NtDllHandle, 'RtlRaiseException');
- @_RtlRaiseStatus := GetProcAddress(NtDllHandle, 'RtlRaiseStatus');
- @_RtlReAllocateHeap := GetProcAddress(NtDllHandle, 'RtlReAllocateHeap');
- @_RtlRegisterWait := GetProcAddress(NtDllHandle, 'RtlRegisterWait');
- @_RtlReleaseActivationContext := GetProcAddress(NtDllHandle,
- 'RtlReleaseActivationContext');
- @_RtlReleasePebLock:= GetProcAddress(NtDllHandle, 'RtlReleasePebLock');
- @_RtlRestoreLastWin32Error:= GetProcAddress(NtDllHandle,
- 'RtlRestoreLastWin32Error');
- @_RtlRunDecodeUnicodeString := GetProcAddress(NtDllHandle,
- 'RtlRunDecodeUnicodeString');
- @_RtlRunEncodeUnicodeString := GetProcAddress(NtDllHandle,
- 'RtlRunEncodeUnicodeString');
- @_RtlSetCurrentDirectory_U := GetProcAddress(NtDllHandle,
- 'RtlSetCurrentDirectory_U');
- @_RtlSetDaclSecurityDescriptor := GetProcAddress(NtDllHandle,
- 'RtlSetDaclSecurityDescriptor');
- @_RtlSetEnvironmentVariable := GetProcAddress(NtDllHandle,
- 'RtlSetEnvironmentVariable');
- @_RtlSetHeapInformation := GetProcAddress(NtDllHandle,
- 'RtlSetHeapInformation');
- @_RtlSetIoCompletionCallback := GetProcAddress(NtDllHandle,
- 'RtlSetIoCompletionCallback');
- @_RtlSetTimeZoneInformation := GetProcAddress(NtDllHandle,
- 'RtlSetTimeZoneInformation');
- @_RtlSetThreadErrorMode:= GetProcAddress(NtDllHandle,
- 'RtlSetThreadErrorMode');
- @_RtlSetThreadPoolStartFunc := GetProcAddress(NtDllHandle,
- 'RtlSetThreadPoolStartFunc');
- @_RtlSetUnicodeCallouts := GetProcAddress(NtDllHandle,
- 'RtlSetUnicodeCallouts');
- @_RtlSetUserValueHeap := GetProcAddress(NtDllHandle,
- 'RtlSetUserValueHeap');
- @_RtlSizeHeap := GetProcAddress(NtDllHandle, 'RtlSizeHeap');
- @_RtlStringFromGUID := GetProcAddress(NtDllHandle, 'RtlStringFromGUID');
- @_RtlSubAuthoritySid := GetProcAddress(NtDllHandle,
- 'RtlSubAuthoritySid');
- @_RtlTimeFieldsToTime := GetProcAddress(NtDllHandle,
- 'RtlTimeFieldsToTime');
- @_RtlTimeToTimeFields := GetProcAddress(NtDllHandle,
- 'RtlTimeToTimeFields');
- @_RtlTryEnterCriticalSection:= GetProcAddress(NtDllHandle,
- 'RtlTryEnterCriticalSection');
- @_RtlUnicodeStringToAnsiString := GetProcAddress(NtDllHandle,
- 'RtlUnicodeStringToAnsiString');
- @_RtlUnicodeStringToInteger := GetProcAddress(NtDllHandle,
- 'RtlUnicodeStringToInteger');
- @_RtlUnicodeStringToOemString := GetProcAddress(NtDllHandle,
- 'RtlUnicodeStringToOemString');
- @_RtlUnicodeToMultiByteN := GetProcAddress(NtDllHandle,
- 'RtlUnicodeToMultiByteN');
- @_RtlUnicodeToMultiByteSize := GetProcAddress(NtDllHandle,
- 'RtlUnicodeToMultiByteSize');
- @_RtlUnicodeToOemN := GetProcAddress(NtDllHandle, 'RtlUnicodeToOemN');
- @_RtlUnlockHeap := GetProcAddress(NtDllHandle, 'RtlUnlockHeap');
- @_RtlUnwind := GetProcAddress(NtDllHandle, 'RtlUnwind');
- @_RtlUpcaseUnicodeChar := GetProcAddress(NtDllHandle,
- 'RtlUpcaseUnicodeChar');
- @_RtlUpcaseUnicodeString := GetProcAddress(NtDllHandle,
- 'RtlUpcaseUnicodeString');
- @_RtlUpdateTimer := GetProcAddress(NtDllHandle, 'RtlUpdateTimer');
- @_RtlUpperChar := GetProcAddress(NtDllHandle, 'RtlUpperChar');
- @_RtlUpperString := GetProcAddress(NtDllHandle, 'RtlUpperString');
- @_RtlUsageHeap := GetProcAddress(NtDllHandle, 'RtlUsageHeap');
- @_RtlValidAcl := GetProcAddress(NtDllHandle, 'RtlValidAcl');
- @_RtlValidateHeap := GetProcAddress(NtDllHandle, 'RtlValidateHeap');
- @_RtlValidRelativeSecurityDescriptor := GetProcAddress(NtDllHandle,
- 'RtlValidRelativeSecurityDescriptor');
- @_RtlValidSecurityDescriptor := GetProcAddress(NtDllHandle,
- 'RtlValidSecurityDescriptor');
- @_RtlValidSid := GetProcAddress(NtDllHandle, 'RtlValidSid');
- @_RtlVerifyVersionInfo := GetProcAddress(NtDllHandle,
- 'RtlVerifyVersionInfo');
- @_RtlWalkHeap := GetProcAddress(NtDllHandle, 'RtlWalkHeap');
- @_RtlxAnsiStringToUnicodeSize := GetProcAddress(NtDllHandle,
- 'RtlxAnsiStringToUnicodeSize');
- @_RtlxOemStringToUnicodeSize := GetProcAddress(NtDllHandle,
- 'RtlxOemStringToUnicodeSize');
- @_RtlxUnicodeStringToAnsiSize := GetProcAddress(NtDllHandle,
- 'RtlxUnicodeStringToAnsiSize');
- @_RtlxUnicodeStringToOemSize := GetProcAddress(NtDllHandle,
- 'RtlxUnicodeStringToOemSize');
- @_RtlZombifyActivationContext := GetProcAddress(NtDllHandle,
- 'RtlZombifyActivationContext');
- @_wcscat := GetProcAddress(NtDllHandle, 'wcscat');
- @_wcschr:= GetProcAddress(NtDllHandle, 'wcschr');
- @_wcscmp := GetProcAddress(NtDllHandle, 'wcscmp');
- @_wcscpy:= GetProcAddress(NtDllHandle, 'wcscpy');
- @_wcslen := GetProcAddress(NtDllHandle, 'wcslen');
- @_wcsrchr := GetProcAddress(NtDllHandle, 'wcsrchr');
- end;
- end;
- end;
- Result := (NtDllHandle <> 0);
- end;
- function NtNotImplemented : Integer;
- begin
- SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
- Result := STATUS_NOT_IMPLEMENTED;
- end;
- function NtNotImplementedBoolean : Boolean;
- begin
- SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
- Result := false;
- end;
- function NtNotImplementedPointer : Pointer;
- begin
- SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
- Result := nil;
- end;
- function CsrAllocateCaptureBuffer(
- CountMessagePointers, Size: ULONG): PCSR_CAPTURE_HEADER; stdcall;
- begin
- if InitNt and Assigned(_CsrAllocateCaptureBuffer) then
- Result := _CsrAllocateCaptureBuffer(CountMessagePointers, Size)
- else
- Result := NtNotImplementedPointer;
- end;
- function CsrAllocateMessagePointer(CaptureBuffer: PCSR_CAPTURE_HEADER;
- Length: ULONG; Pointer: PPVOID): ULONG; stdcall;
- begin
- if InitNt and Assigned(_CsrAllocateMessagePointer) then
- Result := _CsrAllocateMessagePointer(CaptureBuffer, Length, Pointer)
- else begin
- SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
- Result := 0;
- end;
- end;
- procedure CsrCaptureMessageBuffer(CaptureBuffer: PCSR_CAPTURE_HEADER;
- Buffer: PVOID; Length: ULONG; CapturedBuffer: PPVOID); stdcall;
- begin
- if InitNt and Assigned(_CsrCaptureMessageBuffer) then
- _CsrCaptureMessageBuffer(CaptureBuffer, Buffer, Length, CapturedBuffer)
- else
- SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
- end;
- procedure CsrCaptureMessageString(CaptureBuffer: PCSR_CAPTURE_HEADER;
- AString: LPSTR; Length: ULONG; MaximumLength: ULONG;
- CapturedString: PSTRING); stdcall;
- begin
- if InitNt and Assigned(_CsrCaptureMessageString) then
- _CsrCaptureMessageString(CaptureBuffer, AString, Length, MaximumLength,
- CapturedString)
- else
- SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
- end;
- function CsrCaptureMessageMultiUnicodeStringsInPlace (
- pCaptureMessage: PPCSR_CAPTURE_HEADER; NumberOfStrings: ULONG;
- Strings: PPUNICODE_STRING): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_CsrCaptureMessageMultiUnicodeStringsInPlace) then
- Result := _CsrCaptureMessageMultiUnicodeStringsInPlace(pCaptureMessage,
- NumberOfStrings, Strings)
- else
- Result := NtNotImplemented;
- end;
- function CsrClientCallServer(m: PCSR_API_MESSAGE;
- CaptureBuffer: PCSR_CAPTURE_HEADER; ApiNumber: CSR_API_NUMBER;
- ArgLength: ULONG): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_CsrClientCallServer) then
- Result := _CsrClientCallServer(m, CaptureBuffer, ApiNumber, ArgLength)
- else
- Result := NtNotImplemented;
- end;
- function CsrClientConnectToServer (ObjectDirectory: PWideChar;
- ServerIndex: Integer; CallbackInfo: Pointer; MessageBuffer: Pointer;
- BufferSize: LPDWORD; ServerProcess: PBYTE): NTSTATUS; stdcall;
- begin
- if IsWindowsXPorLater then
- if InitNt and Assigned(_CsrClientConnectToServer) then
- Result := _CsrClientConnectToServer(ObjectDirectory, ServerIndex,
- CallbackInfo, MessageBuffer, BufferSize, ServerProcess)
- else
- Result := NtNotImplemented
- else
- if InitNt and Assigned(_CsrClientConnectToServerXP) then
- Result := _CsrClientConnectToServerXP(ObjectDirectory, ServerIndex,
- MessageBuffer, BufferSize, ServerProcess)
- else
- Result := NtNotImplemented
- end;
- procedure CsrFreeCaptureBuffer(CaptureBuffer: PCSR_CAPTURE_HEADER); stdcall;
- begin
- if InitNt and Assigned(_CsrFreeCaptureBuffer) then
- _CsrFreeCaptureBuffer(CaptureBuffer)
- else
- SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
- end;
- function CsrGetProcessId: DWORD; stdcall;
- begin
- if InitNt and Assigned(_CsrGetProcessId) then
- Result := _CsrGetProcessId
- else begin
- SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
- Result := 0;
- end;
- end;
- function CsrIdentifyAlertableThread: NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_CsrIdentifyAlertableThread) then
- Result := _CsrIdentifyAlertableThread
- else
- Result := NtNotImplemented;
- end;
- procedure CsrNewThread; stdcall;
- begin
- if InitNt and Assigned(_CsrNewThread) then
- _CsrNewThread
- else
- SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
- end;
- { Debugger API }
- procedure DbgBreakPoint; stdcall;
- begin
- if InitNt and Assigned(_DbgBreakPoint) then
- _DbgBreakPoint
- else
- SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
- end;
- function DbgUiConnectToDbg: NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_DbgUiConnectToDbg) then
- Result := _DbgUiConnectToDbg
- else
- Result := NtNotImplemented;
- end;
- function DbgUiContinue(AppClientId: PCLIENT_ID;
- ContinueStatus: NTSTATUS): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_DbgUiContinue) then
- Result := _DbgUiContinue(AppClientId, ContinueStatus)
- else
- Result := NtNotImplemented;
- end;
- function DbgUiConvertStateChangeStructure(StateChange: PDBGUI_WAIT_STATE_CHANGE;
- lpDebugEvent: LPDEBUG_EVENT): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_DbgUiConvertStateChangeStructure) then
- Result := _DbgUiConvertStateChangeStructure(StateChange, lpDebugEvent)
- else
- Result := NtNotImplemented;
- end;
- function DbgUiDebugActiveProcess(ProcessHandle: THANDLE): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_DbgUiDebugActiveProcess) then
- Result := _DbgUiDebugActiveProcess(ProcessHandle)
- else
- Result := NtNotImplemented;
- end;
- function DbgUiGetThreadDebugObject: PVOID; stdcall;
- begin
- if InitNt and Assigned(_DbgUiGetThreadDebugObject) then
- Result := _DbgUiGetThreadDebugObject
- else
- Result := NtNotImplementedPointer;
- end;
- function DbgUiIssueRemoteBreakin(ProcessHandle: THANDLE): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_DbgUiIssueRemoteBreakin) then
- Result := _DbgUiIssueRemoteBreakin(ProcessHandle)
- else
- Result := NtNotImplemented;
- end;
- function DbgUiStopDebugging(ProcessHandle: THANDLE): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_DbgUiStopDebugging) then
- Result := _DbgUiStopDebugging(ProcessHandle)
- else
- Result := NtNotImplemented;
- end;
- function DbgUiWaitStateChange(StateChange: PDBGUI_WAIT_STATE_CHANGE;
- Timeout: PLARGE_INTEGER): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_DbgUiWaitStateChange) then
- Result := _DbgUiWaitStateChange(StateChange, Timeout)
- else
- Result := NtNotImplemented;
- end;
- { Loader API }
- function LdrAccessResource(DllHandle: PVOID;
- ResourceDataEntry: PIMAGE_RESOURCE_DATA_ENTRY; Address: PPVOID;
- Size: PULONG): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_LdrAccessResource) then
- Result := _LdrAccessResource(DllHandle, ResourceDataEntry, Address, Size)
- else
- Result := NtNotImplemented;
- end;
- function LdrAlternateResourcesEnabled: BOOL; stdcall;
- begin
- if InitNt and Assigned(_LdrAlternateResourcesEnabled) then
- Result := _LdrAlternateResourcesEnabled
- else
- Result := NtNotImplementedBoolean;
- end;
- procedure LdrDestroyOutOfProcessImage(AImage: PVOID); stdcall;
- begin
- if InitNt and Assigned(_LdrDestroyOutOfProcessImage) then
- _LdrDestroyOutOfProcessImage(AImage)
- else
- SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
- end;
- procedure LdrDisableThreadCalloutsForDll (hMod: THandle); stdcall;
- begin
- if InitNt and Assigned(_LdrDisableThreadCalloutsForDll) then
- _LdrDisableThreadCalloutsForDll(hMod)
- else
- SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
- end;
- procedure LdrEnumerateLoadedModules(dwReserved: DWORD; Enumerator: Pointer;
- ImageBaseAddress: PVOID); stdcall;
- begin
- if InitNt and Assigned(_LdrEnumerateLoadedModules) then
- _LdrEnumerateLoadedModules(dwReserved, Enumerator, ImageBaseAddress)
- else
- SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
- end;
- function LdrFindResource_U(DllHandle: PVOID; ResourceIdPath: PULONG;
- ResourceIdPathLength: ULONG;
- ResourceDataEntry: PPIMAGE_RESOURCE_DATA_ENTRY): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_LdrFindResource_U) then
- Result := _LdrFindResource_U(DllHandle, ResourceIdPath,
- ResourceIdPathLength, ResourceDataEntry)
- else
- Result := NtNotImplemented;
- end;
- function LdrFindResourceDirectory_U(DllHandle: PVOID; ResourceIdPath: PULONG;
- ResourceIdPathLength: ULONG;
- ResourceDataEntry: PPIMAGE_RESOURCE_DATA_ENTRY): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_LdrFindResourceDirectory_U) then
- Result := _LdrFindResourceDirectory_U(DllHandle, ResourceIdPath,
- ResourceIdPathLength, ResourceDataEntry)
- else
- Result := NtNotImplemented;
- end;
- function LdrFlushAlternateResourceModules: BOOL; stdcall;
- begin
- if InitNt and Assigned(_LdrFlushAlternateResourceModules) then
- Result := _LdrFlushAlternateResourceModules
- else
- Result := NtNotImplementedBoolean;
- end;
- function LdrGetDllHandle (Path: LPWSTR; DllCharacteristics: PULONG;
- DllName: PUNICODE_STRING; DllHandle: PHandle): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_LdrGetDllHandle) then
- Result := _LdrGetDllHandle(Path, DllCharacteristics, DllName, DllHandle)
- else
- Result := NtNotImplemented;
- end;
- function LdrGetDllHandleEx(dwFlags: DWORD; DllPath: LPWSTR;
- DllCharacteristics: PULONG; DllName: PUNICODE_STRING;
- DllHandle: PHMODULE): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_LdrGetDllHandleEx) then
- Result := _LdrGetDllHandleEx(dwFlags, DllPath, DllCharacteristics, DllName,
- DllHandle)
- else
- Result := NtNotImplemented;
- end;
- function LdrGetProcedureAddress(ImageBase: PVOID; ProcName: PANSI_STRING;
- ProcedureOrdinalValue: PULONG; ProcedureAddress: PPvoid): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_LdrGetProcedureAddress) then
- Result := _LdrGetProcedureAddress(ImageBase, ProcName,
- ProcedureOrdinalValue, ProcedureAddress)
- else
- Result := NtNotImplemented;
- end;
- function LdrLoadAlternateResourceModule (DllHandle: THandle;
- ModuleName: LPWSTR): THandle; stdcall;
- begin
- if InitNt and Assigned(_LdrLoadAlternateResourceModule) then
- Result := _LdrLoadAlternateResourceModule (DllHandle, ModuleName)
- else begin
- SetLastError (ERROR_CALL_NOT_IMPLEMENTED);
- Result := 0;
- end;
- end;
- function LdrLoadAlternateResourceModuleEx(uLangID: WORD; Module: HMODULE;
- ModuleName: LPWSTR): PVOID; stdcall;
- begin
- if InitNt and Assigned(_LdrLoadAlternateResourceModuleEx) then
- Result := _LdrLoadAlternateResourceModuleEx(uLangID, Module, ModuleName)
- else
- Result := NtNotImplementedPointer;
- end;
- function LdrLoadDll (Path: LPWSTR; DllCharacteristics: PULONG;
- DllName: PUNICODE_STRING; DllHandle: PHandle): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_LdrLoadDll) then
- Result := _LdrLoadDll(Path, DllCharacteristics, DllName, DllHandle)
- else
- Result := NtNotImplemented;
- end;
- function LdrLockLoaderLock (LockType: Integer;
- var LockStatus, LockId: Integer): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_LdrLockLoaderLock) then
- Result := _LdrLockLoaderLock(LockType, LockStatus, LockId)
- else
- Result := NtNotImplemented;
- end;
- function LdrQueryImageFileExecutionOptions (SubKey: PUNICODE_STRING;
- ValueName: LPWSTR; ValueSize: ULONG; Buffer: PVOID; BufferSize: ULONG;
- ReturnedLength: PULONG): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_LdrQueryImageFileExecutionOptions) then
- Result := _LdrQueryImageFileExecutionOptions(SubKey, ValueName, ValueSize,
- Buffer, BufferSize, ReturnedLength)
- else
- Result := NtNotImplemented;
- end;
- procedure LdrSetDllManifestProber(ProberRoutine: Pointer); stdcall;
- begin
- if InitNt and Assigned(_LdrSetDllManifestProber) then
- _LdrSetDllManifestProber(ProberRoutine)
- else
- SetLastError (ERROR_CALL_NOT_IMPLEMENTED);
- end;
- procedure LdrShutdownProcess; stdcall;
- begin
- if InitNt and Assigned(_LdrShutdownProcess) then
- _LdrShutdownProcess
- else
- SetLastError (ERROR_CALL_NOT_IMPLEMENTED);
- end;
- procedure LdrShutdownThread; stdcall;
- begin
- if InitNt and Assigned(_LdrShutdownThread) then
- _LdrShutdownThread
- else
- SetLastError (ERROR_CALL_NOT_IMPLEMENTED);
- end;
- function LdrUnloadAlternateResourceModule(Module: PVOID): BOOL; stdcall;
- begin
- if InitNt and Assigned(_LdrUnloadAlternateResourceModule) then
- Result := _LdrUnloadAlternateResourceModule(Module)
- else
- Result := NtNotImplementedBoolean;
- end;
- function LdrUnloadDll (ImageBase: PVOID): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_LdrUnloadDll) then
- Result := _LdrUnloadDll(ImageBase)
- else
- Result := NtNotImplemented;
- end;
- function LdrUnlockLoaderLock (LockType, LockId: Integer): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_LdrUnlockLoaderLock) then
- Result := _LdrUnlockLoaderLock(LockType, LockId)
- else
- Result := NtNotImplemented;
- end;
- function NlsAnsiCodePage : WORD;
- begin
- if InitNt then
- Result := _NlsAnsiCodePage^
- else begin
- Result := 0;
- SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
- end;
- end;
- function NtAcceptConnectPort (PortHandle: PHANDLE; PortIdentifier: ULONG;
- LpcMessage: PLPCMESSAGE; Accept: ULONG; WriteSection: PPORT_SECTION_WRITE;
- ReadSection: PPORT_SECTION_READ): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_NtAcceptConnectPort) then
- Result := _NtAcceptConnectPort(PortHandle, PortIdentifier, LpcMessage,
- Accept, WriteSection, ReadSection)
- else
- Result := NtNotImplemented;
- end;
- function NtAccessCheck(SecurityDescriptor: PSECURITY_DESCRIPTOR;
- hTokenClient: THANDLE; DesiredAccess: ACCESS_MASK;
- pGenericMapping: PGENERIC_MAPPING; pPrivilegeSet: PPRIVILEGE_SET;
- pPrivilegeSetLength: PULONG; pAccessGranted: PACCESS_MASK;
- AccessGrantedReturnStatus: PNTSTATUS): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_NtAccessCheck) then
- Result := _NtAccessCheck(SecurityDescriptor, hTokenClient, DesiredAccess,
- pGenericMapping, pPrivilegeSet, pPrivilegeSetLength, pAccessGranted,
- AccessGrantedReturnStatus)
- else
- Result := NtNotImplemented;
- end;
- function NtAccessCheckAndAuditAlarm(SubSystemName: PUNICODE_STRING;
- HandleId: PVOID; ObjectTypeName, ObjectName: PUNICODE_STRING;
- SecurityDescriptor: PSECURITY_DESCRIPTOR; DesiredAccess: ACCESS_MASK;
- pGenericMapping: PGENERIC_MAPPING; bObjectCreation: BOOL;
- pAccessGranted: PACCESS_MASK; AccessGrantedReturnStatus: PNTSTATUS;
- bGenerateOnClose: PBOOLEAN): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_NtAccessCheckAndAuditAlarm) then
- Result := _NtAccessCheckAndAuditAlarm(SubSystemName, HandleId,
- ObjectTypeName, ObjectName, SecurityDescriptor, DesiredAccess,
- pGenericMapping, bObjectCreation, pAccessGranted,
- AccessGrantedReturnStatus, bGenerateOnClose)
- else
- Result := NtNotImplemented;
- end;
- function NtAccessCheckByType(pSecurityDescriptor: PSECURITY_DESCRIPTOR;
- PrincipalSelfSid: PSID; hClientToken: THANDLE; DesiredAccess: ACCESS_MASK;
- ObjectTypeList: POBJECT_TYPE_LIST; ObjectTypeListLength: ULONG;
- pGenericMapping: PGENERIC_MAPPING; pPrivilegeSet: PPRIVILEGE_SET;
- pPrivilegeSetLength: PULONG; pAccessGranted: PACCESS_MASK;
- AccessGrantedReturnStatus: PNTSTATUS): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_NtAccessCheckByType) then
- Result := _NtAccessCheckByType(pSecurityDescriptor, PrincipalSelfSid,
- hClientToken, DesiredAccess, ObjectTypeList, ObjectTypeListLength,
- pGenericMapping, pPrivilegeSet, pPrivilegeSetLength, pAccessGranted,
- AccessGrantedReturnStatus)
- else
- Result := NtNotImplemented;
- end;
- function NtAccessCheckByTypeAndAuditAlarm(SubSystemName: PUNICODE_STRING;
- HandleId: PVOID; ObjectTypeName, ObjectName: PUNICODE_STRING;
- SecurityDescriptor: PSECURITY_DESCRIPTOR; PrincipalSelfSid: PSID;
- DesiredAccess: ACCESS_MASK; AuditType: AUDIT_EVENT_TYPE; Flags: ULONG;
- ObjectTypeList: POBJECT_TYPE_LIST; ObjectTypeListLength: ULONG;
- pGenericMapping: PGENERIC_MAPPING; bObjectCreation: BOOL;
- pAccessGranted: PACCESS_MASK; AccessGrantedReturnStatus: PNTSTATUS;
- bGenerateOnClose: PBOOLEAN): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_NtAccessCheckByTypeAndAuditAlarm) then
- Result := _NtAccessCheckByTypeAndAuditAlarm(SubSystemName, HandleId,
- ObjectTypeName, ObjectName, SecurityDescriptor, PrincipalSelfSid,
- DesiredAccess, AuditType, Flags, ObjectTypeList, ObjectTypeListLength,
- pGenericMapping, bObjectCreation, pAccessGranted,
- AccessGrantedReturnStatus, bGenerateOnClose)
- else
- Result := NtNotImplemented;
- end;
- function NtAccessCheckByTypeResultList(
- pSecurityDescriptor: PSECURITY_DESCRIPTOR; PrincipalSelfSid: PSID;
- hClientToken: THANDLE; DesiredAccess: ACCESS_MASK;
- ObjectTypeList: POBJECT_TYPE_LIST; ObjectTypeListLength: ULONG;
- pGenericMapping: PGENERIC_MAPPING; pPrivilegeSet: PPRIVILEGE_SET;
- pPrivilegeSetLength: PULONG; pAccessGranted: PACCESS_MASK;
- AccessGrantedReturnStatus: PNTSTATUS): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_NtAccessCheckByTypeResultList) then
- Result := _NtAccessCheckByTypeResultList(pSecurityDescriptor,
- PrincipalSelfSid, hClientToken, DesiredAccess, ObjectTypeList,
- ObjectTypeListLength, pGenericMapping, pPrivilegeSet, pPrivilegeSetLength,
- pAccessGranted, AccessGrantedReturnStatus)
- else
- Result := NtNotImplemented;
- end;
- function NtAccessCheckByTypeResultListAndAuditAlarm(
- SubSystemName: PUNICODE_STRING; HandleId: PVOID;
- ObjectTypeName, ObjectName: PUNICODE_STRING;
- SecurityDescriptor: PSECURITY_DESCRIPTOR; PrincipalSelfSid: PSID;
- DesiredAccess: ACCESS_MASK; AuditType: AUDIT_EVENT_TYPE; Flags: ULONG;
- ObjectTypeList: POBJECT_TYPE_LIST; ObjectTypeListLength: ULONG;
- pGenericMapping: PGENERIC_MAPPING; bObjectCreation: BOOLEAN;
- pAccessGranted: PACCESS_MASK; AccessGrantedReturnStatus: PNTSTATUS;
- bGenerateOnClose: PBOOLEAN): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_NtAccessCheckByTypeResultListAndAuditAlarm) then
- Result := _NtAccessCheckByTypeResultListAndAuditAlarm(SubSystemName,
- HandleId, ObjectTypeName, ObjectName, SecurityDescriptor,
- PrincipalSelfSid, DesiredAccess, AuditType, Flags, ObjectTypeList,
- ObjectTypeListLength, pGenericMapping, bObjectCreation, pAccessGranted,
- AccessGrantedReturnStatus, bGenerateOnClose)
- else
- Result := NtNotImplemented;
- end;
- function NtAccessCheckByTypeResultListAndAuditAlarmByHandle(
- SubsystemName: PUNICODE_STRING; HandleId: PVOID; TokenHandle: THANDLE;
- ObjectTypeName, ObjectName: PUNICODE_STRING;
- SecurityDescriptor: PSECURITY_DESCRIPTOR; PrincipalSelfSid: PSID;
- DesiredAccess: ACCESS_MASK; AuditType: AUDIT_EVENT_TYPE; Flags: ULONG;
- ObjectTypeList: POBJECT_TYPE_LIST; ObjectTypeListLength: ULONG;
- GenericMapping: PGENERIC_MAPPING; ObjectCreation: BOOL;
- GrantedAccessList: PACCESS_MASK; AccessStatusList: PULONG;
- GenerateOnClose: PULONG): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_NtAccessCheckByTypeResultListAndAuditAlarmByHandle) then
- Result := _NtAccessCheckByTypeResultListAndAuditAlarmByHandle(SubsystemName,
- HandleId, TokenHandle, ObjectTypeName, ObjectName, SecurityDescriptor,
- PrincipalSelfSid, DesiredAccess, AuditType, Flags, ObjectTypeList,
- ObjectTypeListLength, GenericMapping, ObjectCreation, GrantedAccessList,
- AccessStatusList, GenerateOnClose)
- else
- Result := NtNotImplemented;
- end;
- function NtAddAtom (pString: LPWSTR; StringLength: ULONG;
- Atom: PATOM): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_NtAddAtom) then
- Result := _NtAddAtom(pString, StringLength, Atom)
- else
- Result := NtNotImplemented;
- end;
- function NtAdjustGroupsToken(hToken: THANDLE; ResetToDefault: BOOL;
- pNewTokenGroups: PTOKEN_GROUPS; pOldTokenGroupsLength: ULONG;
- pOldTokenGroups: PTOKEN_GROUPS;
- pOldTokenGroupsActualLength: PULONG): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_NtAdjustGroupsToken) then
- Result := _NtAdjustGroupsToken(hToken, ResetToDefault, pNewTokenGroups,
- pOldTokenGroupsLength, pOldTokenGroups, pOldTokenGroupsActualLength)
- else
- Result := NtNotImplemented;
- end;
- function NtAdjustPrivilegesToken (hToken: THANDLE;
- DisableAllPrivileges: Boolean; pNewPrivlegeSet: PTOKEN_PRIVILEGES;
- PreviousPrivilegeSetBufferLength: ULONG;
- pPreviousPrivlegeSet: PTOKEN_PRIVILEGES;
- PreviousPrivlegeSetReturnLength: PULONG): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_NtAdjustPrivilegesToken) then
- Result := _NtAdjustPrivilegesToken(hToken, DisableAllPrivileges,
- pNewPrivlegeSet, PreviousPrivilegeSetBufferLength,
- pPreviousPrivlegeSet, PreviousPrivlegeSetReturnLength)
- else
- Result := NtNotImplemented;
- end;
- function NtAlertThread(hThread: THANDLE): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_NtAlertThread) then
- Result := _NtAlertThread(hThread)
- else
- Result := NtNotImplemented;
- end;
- function NtAllocateLocallyUniqueId(Luid: PLUID): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_NtAllocateLocallyUniqueId) then
- Result := _NtAllocateLocallyUniqueId(Luid)
- else
- Result := NtNotImplemented;
- end;
- function NtAllocateUserPhysicalPages(ProcessHandle: THANDLE;
- NumberOfPages, PageFrameNumbers: PULONG): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_NtAllocateUserPhysicalPages) then
- Result := _NtAllocateUserPhysicalPages(ProcessHandle, NumberOfPages,
- PageFrameNumbers)
- else
- Result := NtNotImplemented;
- end;
- function NtAllocateVirtualMemory (hProcess: THANDLE;
- PreferredBaseAddress: PVOID; nLowerZeroBits: DWORD;
- SizeRequestedAllocated: LPDWORD;
- AllocationType, ProtectionAttributes: DWORD): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_NtAllocateVirtualMemory) then
- Result := _NtAllocateVirtualMemory(hProcess, PreferredBaseAddress,
- nLowerZeroBits, SizeRequestedAllocated, AllocationType,
- ProtectionAttributes)
- else
- Result := NtNotImplemented;
- end;
- function NtApphelpCacheControl(ControlCode: LONG;
- ControlData: PVOID): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_NtApphelpCacheControl) then
- Result := _NtApphelpCacheControl(ControlCode, ControlData)
- else
- Result := NtNotImplemented;
- end;
- function NtAssignProcessToJobObject (
- hJob, hProcess: THANDLE): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_NtAssignProcessToJobObject) then
- Result := _NtAssignProcessToJobObject(hJob, hProcess)
- else
- Result := NtNotImplemented;
- end;
- function NtAssociateProcessWithReserve(
- ProcessHandle, ReserveHandle: THANDLE): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_NtAssociateProcessWithReserve) then
- Result := _NtAssociateProcessWithReserve(ProcessHandle, ReserveHandle)
- else
- Result := NtNotImplemented;
- end;
- function NtCancelDeviceWakeupRequest(DeviceHandle: THANDLE): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_NtCancelDeviceWakeupRequest) then
- Result := _NtCancelDeviceWakeupRequest(DeviceHandle)
- else
- Result := NtNotImplemented;
- end;
- function NtCancelIoFile (hFile: THANDLE;
- IoStatusBlock: PIoStatusBlock): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_NtCancelIoFile) then
- Result := _NtCancelIoFile(hFile, IoStatusBlock)
- else
- Result := NtNotImplemented;
- end;
- function NtCancelTimer (TimerHandle: THANDLE;
- CurrentState: PBOOLEAN): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_NtCancelTimer) then
- Result := _NtCancelTimer(TimerHandle, CurrentState)
- else
- Result := NtNotImplemented;
- end;
- function NtClearEvent (hEvent: THANDLE): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_NtClearEvent) then
- Result := _NtClearEvent(hEvent)
- else
- Result := NtNotImplemented;
- end;
- function NtClose (AHandle : THandle) : NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_NtClose) then
- Result := _NtClose(AHandle)
- else
- Result := NtNotImplemented;
- end;
- function NtCloseObjectAuditAlarm(SubSystemName: PUNICODE_STRING;
- HandleId: PVOID; bGenerateOnClose: BOOL): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_NtCloseObjectAuditAlarm) then
- Result := _NtCloseObjectAuditAlarm(SubSystemName, HandleId,
- bGenerateOnClose)
- else
- Result := NtNotImplemented;
- end;
- function NtCommitTransaction(TransactionHandle: THANDLE;
- AddInfo: ULONG): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_NtCommitTransaction) then
- Result := _NtCommitTransaction(TransactionHandle, AddInfo)
- else
- Result := NtNotImplemented;
- end;
- function NtCompleteConnectPort (PortHandle: THANDLE): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_NtCompleteConnectPort) then
- Result := _NtCompleteConnectPort(PortHandle)
- else
- Result := NtNotImplemented;
- end;
- function NtConnectPort (PortHandle: PHANDLE; PortName: PUNICODE_STRING;
- SecurityQos: PSECURITY_QUALITY_OF_SERVICE;
- WriteSection: PPORT_SECTION_WRITE; ReadSection: PPORT_SECTION_READ;
- MaxMesageSize: PULONG; ConnectInfo: PVOID;
- pConnectInfoLength: PULONG): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_NtConnectPort) then
- Result := _NtConnectPort(PortHandle, PortName, SecurityQos, WriteSection,
- ReadSection, MaxMesageSize, ConnectInfo, pConnectInfoLength)
- else
- Result := NtNotImplemented;
- end;
- function NtCreateEvent (EventHandle: PHANDLE; DesiredAccess: ACCESS_MASK;
- ObjectAttributes: POBJECT_ATTRIBUTES; EventType: Integer;
- InitialState: BOOL): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_NtCreateEvent) then
- Result := _NtCreateEvent(EventHandle, DesiredAccess,
- ObjectAttributes, EventType, InitialState)
- else
- Result := NtNotImplemented;
- end;
- function NtCreateDirectoryObject (DirectoryHandle: PHandle;
- DesiredAccess: ACCESS_MASK;
- ObjectAttributes: POBJECT_ATTRIBUTES): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_NtCreateDirectoryObject) then
- Result := _NtCreateDirectoryObject(DirectoryHandle, DesiredAccess,
- ObjectAttributes)
- else
- Result := NtNotImplemented;
- end;
- function NtCreateFile (FileHandle: PHandle; const DesiredAccess: ACCESS_MASK;
- ObjectAttributes: POBJECT_ATTRIBUTES; IoStatusBlock: PIoStatusBlock;
- AllocationSize: PLARGE_INTEGER;
- FileAttributes, ShareAccess, CreateDisposition, CreateOptions: ULONG;
- EaBuffer: PVOID; EaLength: ULONG): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_NtCreateFile) then
- Result := _NtCreateFile(FileHandle, DesiredAccess, ObjectAttributes,
- IoStatusBlock, AllocationSize, FileAttributes, ShareAccess,
- CreateDisposition, CreateOptions, EaBuffer, EaLength)
- else
- Result := NtNotImplemented;
- end;
- function NtCreateJobObject (phJob: PHANDLE; DesiredAccess: ACCESS_MASK;
- ObjectAttributes: POBJECT_ATTRIBUTES): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_NtCreateJobObject) then
- Result := _NtCreateJobObject(phJob, DesiredAccess, ObjectAttributes)
- else
- Result := NtNotImplemented;
- end;
- function NtCreateKey (phKey: PHandle; DesiredAccess: ACCESS_MASK;
- ObjectAttributes: POBJECT_ATTRIBUTES; TitleIndex: ULONG;
- AClass: PUNICODE_STRING; CreateOptions: ULONG;
- pDisposition: PULONG): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_NtCreateKey) then
- Result := _NtCreateKey(phKey, DesiredAccess, ObjectAttributes, TitleIndex,
- AClass, CreateOptions, pDisposition)
- else
- Result := NtNotImplemented;
- end;
- function NtCreateMailSlotFile (hMailSlot: PHANDLE; DesiredAccess: ACCESS_MASK;
- ObjectAttributes: POBJECT_ATTRIBUTES; IoStatusBlock: PIoStatusBlock;
- CreateOptions, InBufferSize, nMaxMessageSize: ULONG;
- ReadTimeout: PLARGE_INTEGER): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_NtCreateMailSlotFile) then
- Result := _NtCreateMailSlotFile(hMailSlot, DesiredAccess, ObjectAttributes,
- IoStatusBlock, CreateOptions, InBufferSize, nMaxMessageSize, ReadTimeout)
- else
- Result := NtNotImplemented;
- end;
- function NtCreateMutant (hMutex: PHandle; AccessMask: ACCESS_MASK;
- ObjectAttributes: POBJECT_ATTRIBUTES; bOwnMutant: Boolean): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_NtCreateMutant) then
- Result := _NtCreateMutant(hMutex, AccessMask, ObjectAttributes, bOwnMutant)
- else
- Result := NtNotImplemented;
- end;
- function NtCreateNamedPipeFile (hPipe: PHANDLE; DesiredAccess: ACCESS_MASK;
- ObjectAttributes: POBJECT_ATTRIBUTES; IoStatusBlock: PIOSTATUSBLOCK;
- AllocationSize: PLARGE_INTEGER;
- FileAttributes, ShareAccess, PipeType, PipeReadMode, PipeWaitMode,
- nMaxInstances, nOutBufferSize, nInBufferSize: ULONG;
- DefaultTimeOut: PLARGE_INTEGER): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_NtCreateNamedPipeFile) then
- Result := _NtCreateNamedPipeFile(hPipe, DesiredAccess, ObjectAttributes,
- IoStatusBlock, AllocationSize, FileAttributes, ShareAccess, PipeType,
- PipeReadMode, PipeWaitMode, nMaxInstances, nOutBufferSize, nInBufferSize,
- DefaultTimeOut)
- else
- Result := NtNotImplemented;
- end;
- function NtCreatePort (PortHandle: PHANDLE; ObjectAttributes: OBJECT_ATTRIBUTES;
- MaxConnectInfoLength, MaxDataLength, MaxPoolUsage: ULONG): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_NtCreatePort) then
- Result := _NtCreatePort(PortHandle, ObjectAttributes, MaxConnectInfoLength,
- MaxDataLength, MaxPoolUsage)
- else
- Result := NtNotImplemented;
- end;
- function NtCreateSection (phSection: PHANDLE; DesiredAccess: ACCESS_MASK;
- ObjectAttributes: POBJECT_ATTRIBUTES; MaximumSize: PLARGE_INTEGER;
- SectionPageProtection, AllocationAttributes: ULONG;
- hFile: THANDLE): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_NtCreateSection) then
- Result := _NtCreateSection(phSection, DesiredAccess, ObjectAttributes,
- MaximumSize, SectionPageProtection, AllocationAttributes, hFile)
- else
- Result := NtNotImplemented;
- end;
- function NtCreateSemaphore (hSemaphore: PHANDLE; AccessMask: ACCESS_MASK;
- ObjectAttributes: POBJECT_ATTRIBUTES;
- InitialCount, MaximumCount: ULONG): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_NtCreateSemaphore) then
- Result := _NtCreateSemaphore(hSemaphore, AccessMask, ObjectAttributes,
- InitialCount, MaximumCount)
- else
- Result := NtNotImplemented;
- end;
- function NtCreateSymbolicLinkObject (SymbolicLinkHandle: PHandle;
- DesiredAccess: ACCESS_MASK; ObjectAttributes: POBJECT_ATTRIBUTES;
- SubstituteString: PUNICODE_STRING): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_NtCreateSymbolicLinkObject) then
- Result := _NtCreateSymbolicLinkObject(SymbolicLinkHandle, DesiredAccess,
- ObjectAttributes, SubstituteString)
- else
- Result := NtNotImplemented;
- end;
- function NtCreateThread(phThread: PHANDLE; AccessMask: ACCESS_MASK;
- ObjectAttributes: POBJECT_ATTRIBUTES; hProcess: THANDLE;
- pClientId: PCLIENT_ID; pContext: PCONTEXT; pStackInfo: PSTACKINFO;
- bSuspended: BOOL): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_NtCreateThread) then
- Result := _NtCreateThread(phThread, AccessMask, ObjectAttributes, hProcess,
- pClientId, pContext, pStackInfo, bSuspended)
- else
- Result := NtNotImplemented;
- end;
- function NtCreateTimer (TimerHandle: PHandle; DesiredAccess: ACCESS_MASK;
- ObjectAttributes: POBJECT_ATTRIBUTES;
- TimerType: TIMER_TYPE): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_NtCreateTimer) then
- Result := _NtCreateTimer(TimerHandle, DesiredAccess, ObjectAttributes,
- TimerType)
- else
- Result := NtNotImplemented;
- end;
- { Íå áóäåò ðàáîòàòü â Windows 64 }
- function NtCurrentTEB : Pointer; assembler;
- asm
- mov eax,fs:[$18]
- end;
- function NtCreateWaitablePort(PortHandle: PHANDLE;
- ObjectAttributes: POBJECT_ATTRIBUTES;
- MaxConnectInfoLength, MaxDataLength, Reserved: ULONG): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_NtCreateWaitablePort) then
- Result := _NtCreateWaitablePort(PortHandle, ObjectAttributes,
- MaxConnectInfoLength, MaxDataLength, Reserved)
- else
- Result := NtNotImplemented;
- end;
- function NtDebugActiveProcess(ProcessHandle: THANDLE;
- DebugObject: PVOID): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_NtDebugActiveProcess) then
- Result := _NtDebugActiveProcess(ProcessHandle, DebugObject)
- else
- Result := NtNotImplemented;
- end;
- function NtDelayExecution (bAlertable: ULONG;
- pDuration: PLARGE_INTEGER): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_NtDelayExecution) then
- Result := _NtDelayExecution(bAlertable, pDuration)
- else
- Result := NtNotImplemented;
- end;
- function NtDeleteAtom (AAtom: ATOM): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_NtDeleteAtom) then
- Result := _NtDeleteAtom(AAtom)
- else
- Result := NtNotImplemented;
- end;
- function NtDeleteFile(ObjectAttributes: POBJECT_ATTRIBUTES): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_NtDeleteFile) then
- Result := _NtDeleteFile(ObjectAttributes)
- else
- Result := NtNotImplemented;
- end;
- function NtDeleteKey (KeyHandle: THANDLE): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_NtDeleteKey) then
- Result := _NtDeleteKey(KeyHandle)
- else
- Result := NtNotImplemented;
- end;
- function NtDeleteObjectAuditAlarm(SubSystemName: PUNICODE_STRING;
- HandleId: PVOID; bGenerateOnClose: BOOL): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_NtDeleteObjectAuditAlarm) then
- Result := _NtDeleteObjectAuditAlarm(SubSystemName, HandleId,
- bGenerateOnClose)
- else
- Result := NtNotImplemented;
- end;
- function NtDeleteValueKey (hKey: THANDLE;
- pValueName: PUNICODE_STRING):NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_NtDeleteValueKey) then
- Result := _NtDeleteValueKey(hKey, pValueName)
- else
- Result := NtNotImplemented;
- end;
- function NtDeviceIoControlFile (hFile, hEvent: THANDLE;
- IoApcRoutine: Pointer; IoApcContext: PVOID; IoStatusBlock: PIOSTATUSBLOCK;
- DeviceIoControlCode: ULONG; InBuffer: PVOID; InBufferLength: ULONG;
- OutBuffer: PVOID; OutBufferLength: ULONG): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_NtDeviceIoControlFile) then
- Result := _NtDeviceIoControlFile(hFile, hEvent, IoApcRoutine, IoApcContext,
- IoStatusBlock, DeviceIoControlCode, InBuffer, InBufferLength, OutBuffer,
- OutBufferLength)
- else
- Result := NtNotImplemented;
- end;
- function NtDisassociateProcessFromReserve(
- ProcessHandle: THANDLE): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_NtDisassociateProcessFromReserve) then
- Result := _NtDisassociateProcessFromReserve(ProcessHandle)
- else
- Result := NtNotImplemented;
- end;
- function NtDisjoinThreadFromReserve(hThread: THANDLE): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_NtDisjoinThreadFromReserve) then
- Result := _NtDisjoinThreadFromReserve(hThread)
- else
- Result := NtNotImplemented;
- end;
- function NtDuplicateObject (SourceProcessHandle, SourceHandle,
- TargetProcessHandle: THandle; TargetHandle: PHandle;
- DesiredAccess: ACCESS_MASK; Attributes: ULONG; //OBJ_xxx
- Options: ULONG): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_NtDuplicateObject) then
- Result := _NtDuplicateObject(SourceProcessHandle, SourceHandle,
- TargetProcessHandle, TargetHandle, DesiredAccess, Attributes, Options)
- else
- Result := NtNotImplemented;
- end;
- function NtDuplicateToken(hToken: THANDLE; DesiredAccess: ACCESS_MASK;
- ObjectAttributes: POBJECT_ATTRIBUTES; bMakeTokenEffectiveOnly: BOOL;
- TokenType: TOKEN_TYPE; phNewToken: PHANDLE): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_NtDuplicateToken) then
- Result := _NtDuplicateToken(hToken, DesiredAccess, ObjectAttributes,
- bMakeTokenEffectiveOnly, TokenType, phNewToken)
- else
- Result := NtNotImplemented;
- end;
- function NtEnumerateKey (hKey: THANDLE; Index: ULONG;
- KeyInfoClass: KEY_INFORMATION_CLASS; KeyInfoBuffer: PVOID;
- KeyInfoBufferLength: ULONG; BytesCopied: PULONG): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_NtEnumerateKey) then
- Result := _NtEnumerateKey(hKey, Index, KeyInfoClass, KeyInfoBuffer,
- KeyInfoBufferLength, BytesCopied)
- else
- Result := NtNotImplemented;
- end;
- function NtEnumerateValueKey (hKey: THANDLE; Index: ULONG;
- KeyValueInfoClass: KEY_VALUE_INFORMATION_CLASS; KeyValueInfoBuffer: PVOID;
- KeyValueInfoBufferLength: ULONG; BytesCopied: PULONG): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_NtEnumerateValueKey) then
- Result := _NtEnumerateValueKey(hKey, Index, KeyValueInfoClass,
- KeyValueInfoBuffer, KeyValueInfoBufferLength, BytesCopied)
- else
- Result := NtNotImplemented;
- end;
- function NtFilterToken(ExistingTokenHandle: THANDLE; Flags: ULONG;
- SidsToDisable: PTOKEN_GROUPS; PrivilegesToDelete: PTOKEN_PRIVILEGES;
- SidsToRestrict: PTOKEN_GROUPS; NewTokenHandle: PHANDLE): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_NtFilterToken) then
- Result := _NtFilterToken(ExistingTokenHandle, Flags, SidsToDisable,
- PrivilegesToDelete, SidsToRestrict, NewTokenHandle)
- else
- Result := NtNotImplemented;
- end;
- function NtFindAtom (pString: PWideChar; StringLength: ULONG;
- AAtom: PATOM): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_NtFindAtom) then
- Result := _NtFindAtom(pString, StringLength, AAtom)
- else
- Result := NtNotImplemented;
- end;
- function NtFlushBuffersFile(hFile: THANDLE;
- IoStatusBlock: PIOSTATUSBLOCK): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_NtFlushBuffersFile) then
- Result := _NtFlushBuffersFile (hFile, IoStatusBlock)
- else
- Result := NtNotImplemented;
- end;
- function NtFlushInstructionCache(hProcess: THANDLE; BaseAddressRegion: PVOID;
- RegionSize: ULONG): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_NtFlushInstructionCache) then
- Result := _NtFlushInstructionCache(hProcess, BaseAddressRegion, RegionSize)
- else
- Result := NtNotImplemented;
- end;
- function NtFlushKey(KeyHandle: THANDLE): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_NtFlushKey) then
- Result := _NtFlushKey(KeyHandle)
- else
- Result := NtNotImplemented;
- end;
- function NtFlushVirtualMemory(hProcess: THANDLE; StartingAddress: PVOID;
- SizeToFlush: PULONG; IoStatusBlock: PIOSTATUSBLOCK): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_NtFlushVirtualMemory) then
- Result := _NtFlushVirtualMemory(hProcess, StartingAddress, SizeToFlush,
- IoStatusBlock)
- else
- Result := NtNotImplemented;
- end;
- function NtFreeUserPhysicalPages(ProcessHandle: THANDLE;
- NumberOfPages, PageFrameNumbers: PULONG): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_NtFreeUserPhysicalPages) then
- Result := _NtFreeUserPhysicalPages(ProcessHandle, NumberOfPages,
- PageFrameNumbers)
- else
- Result := NtNotImplemented;
- end;
- function NtFreeVirtualMemory(hProcess: THANDLE; StartingAddress: PVOID;
- SizeRequestedReleased: LPDWORD; ReleaseType: UINT): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_NtFreeVirtualMemory) then
- Result := _NtFreeVirtualMemory(hProcess, StartingAddress,
- SizeRequestedReleased, ReleaseType)
- else
- Result := NtNotImplemented;
- end;
- function NtFsControlFile(hFile, hEvent: THANDLE; IoApcRoutine: Pointer;
- IoApcContext: PVOID; IoStatusBlock: PIOSTATUSBLOCK;
- FileSystemControlCode: ULONG; InBuffer: PVOID; InBufferLength: ULONG;
- OutBuffer: PVOID; OutBufferLength: ULONG): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_NtFsControlFile) then
- Result := _NtFsControlFile(hFile, hEvent, IoApcRoutine, IoApcContext,
- IoStatusBlock, FileSystemControlCode, InBuffer, InBufferLength, OutBuffer,
- OutBufferLength)
- else
- Result := NtNotImplemented;
- end;
- function NtGetContextThread(hThread: THANDLE;
- pContext: PCONTEXT): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_NtGetContextThread) then
- Result := _NtGetContextThread(hThread, pContext)
- else
- Result := NtNotImplemented;
- end;
- function NtGetCurrentProcessorNumber: Integer; stdcall;
- begin
- if InitNt and Assigned(_NtGetCurrentProcessorNumber) then
- Result := _NtGetCurrentProcessorNumber
- else begin
- Result := 0;
- SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
- end;
- end;
- function NtGetDevicePowerState(DeviceHandle: THANDLE;
- DevicePowerState: PDEVICE_POWER_STATE): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_NtGetDevicePowerState) then
- Result := _NtGetDevicePowerState(DeviceHandle, DevicePowerState)
- else
- Result := NtNotImplemented;
- end;
- function NtGetWriteWatch(ProcessHandle: THANDLE; Flags: ULONG;
- BaseAddress: PVOID; RegionSize: ULONG;
- Buffer, BufferEntries, Granularity: PULONG): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_NtGetWriteWatch) then
- Result := _NtGetWriteWatch(ProcessHandle, Flags, BaseAddress, RegionSize,
- Buffer, BufferEntries, Granularity)
- else
- Result := NtNotImplemented;
- end;
- function NtImpersonateAnonymousToken(hThread: THANDLE): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_NtImpersonateAnonymousToken) then
- Result := _NtImpersonateAnonymousToken(hThread)
- else
- Result := NtNotImplemented;
- end;
- function NtImpersonateClientOfPort(PortHandle: THANDLE;
- LpcMessage: PLPCMESSAGE): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_NtImpersonateClientOfPort) then
- Result := _NtImpersonateClientOfPort(PortHandle, LpcMessage)
- else
- Result := NtNotImplemented;
- end;
- function NtInitiatePowerAction(SystemAction: POWER_ACTION;
- MinSystemState: SYSTEM_POWER_STATE; Flags: ULONG;
- Asynchronous: BOOL): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_NtInitiatePowerAction) then
- Result := _NtInitiatePowerAction(SystemAction, MinSystemState, Flags,
- Asynchronous)
- else
- Result := NtNotImplemented;
- end;
- function NtIsProcessInJob(ProcessHandle, JobHandle: THANDLE): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_NtIsProcessInJob) then
- Result := _NtIsProcessInJob(ProcessHandle, JobHandle)
- else
- Result := NtNotImplemented;
- end;
- function NtIsSystemResumeAutomatic: NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_NtIsSystemResumeAutomatic) then
- Result := _NtIsSystemResumeAutomatic
- else
- Result := NtNotImplemented;
- end;
- function NtJoinThreadToReserve(
- ThreadHandle, ReserveHandle: THANDLE): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_NtJoinThreadToReserve) then
- Result := _NtJoinThreadToReserve(ThreadHandle, ReserveHandle)
- else
- Result := NtNotImplemented;
- end;
- function NtListenPort(PortHandle: THANDLE;
- LpcMessage: PLPCMESSAGE): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_NtListenPort) then
- Result := _NtListenPort(PortHandle, LpcMessage)
- else
- Result := NtNotImplemented;
- end;
- function NtLoadDriver (DriverRegistryEntry: PUNICODE_STRING): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_NtLoadDriver) then
- Result := _NtLoadDriver(DriverRegistryEntry)
- else
- Result := NtNotImplemented;
- end;
- function NtLoadKey(KeyNameAttributes,
- HiveFileNameAttributes: POBJECT_ATTRIBUTES): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_NtLoadKey) then
- Result := _NtLoadKey(KeyNameAttributes, HiveFileNameAttributes)
- else
- Result := NtNotImplemented;
- end;
- function NtLockFile(hFile, hEvent: THANDLE; IoApcRoutine: Pointer;
- IoApcContext: PVOID; IoStatusBlock: PIOSTATUSBLOCK;
- FileOffset, Length: PLARGE_INTEGER; LockOperationKey: PULONG;
- bFailIfNotPossibleAtThisPoint, bExclusiveLock: BOOL): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_NtLockFile) then
- Result := _NtLockFile(hFile, hEvent, IoApcRoutine, IoApcContext,
- IoStatusBlock, FileOffset, Length, LockOperationKey,
- bFailIfNotPossibleAtThisPoint, bExclusiveLock)
- else
- Result := NtNotImplemented;
- end;
- function NtLockVirtualMemory(hProcess: THANDLE; BaseAddress: PPVOID;
- RegionSize: PULONG; LockType: ULONG): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_NtLockVirtualMemory) then
- Result := _NtLockVirtualMemory(hProcess, BaseAddress, RegionSize, LockType)
- else
- Result := NtNotImplemented;
- end;
- function NtMakeTemporaryObject (AHandle: THandle): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_NtMakeTemporaryObject) then
- Result := _NtMakeTemporaryObject(AHandle)
- else
- Result := NtNotImplemented;
- end;
- function NtMapUserPhysicalPages(BaseAddress: PVOID;
- NumberOfPages, PageFrameNumbers: PULONG): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_NtMapUserPhysicalPages) then
- Result := _NtMapUserPhysicalPages(BaseAddress, NumberOfPages,
- PageFrameNumbers)
- else
- Result := NtNotImplemented;
- end;
- function NtMapUserPhysicalPagesScatter(BaseAddresses: PPVOID;
- NumberOfPages, PageFrameNumbers: PULONG): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_NtMapUserPhysicalPagesScatter) then
- Result := _NtMapUserPhysicalPagesScatter(BaseAddresses, NumberOfPages,
- PageFrameNumbers)
- else
- Result := NtNotImplemented;
- end;
- function NtMapViewOfSection (hSection: THandle; hProcess: THandle;
- BaseAddress: PPVoid; ZeroBits: ULONG; CommitSize: ULONG;
- SectionOffset: PLARGE_INTEGER; ViewSize: PULONG;
- InheritDisposition: SECTION_INHERIT; AllocationType: ULONG;
- Protect: ULONG): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_NtMapViewOfSection) then
- Result := _NtMapViewOfSection(hSection, hProcess, BaseAddress, ZeroBits,
- CommitSize, SectionOffset, ViewSize, InheritDisposition,
- AllocationType, Protect)
- else
- Result := NtNotImplemented;
- end;
- function NtNotifyChangeDirectoryFile(hFile, hEvent: THANDLE;
- IoApcRoutine: Pointer; IoApcContext: PVOID; IoStatusBlock: PIOSTATUSBLOCK;
- ChangeBuffer: PVOID; ChangeBufferLength, NotifyFilter: ULONG;
- bWatchSubtree: BOOL): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_NtNotifyChangeDirectoryFile) then
- Result := _NtNotifyChangeDirectoryFile(hFile, hEvent, IoApcRoutine,
- IoApcContext, IoStatusBlock, ChangeBuffer, ChangeBufferLength,
- NotifyFilter, bWatchSubtree)
- else
- Result := NtNotImplemented;
- end;
- function NtNotifyChangeKey(hKey, hEvent: THANDLE; ApcRoutine: Pointer;
- ApcRoutineContext: PVOID; IoStatusBlock: PIOSTATUSBLOCK; NotifyFilter: ULONG;
- bWatchSubtree: BOOL; RegChangesDataBuffer: PVOID;
- RegChangesDataBufferLength: ULONG; bAynchronous: BOOL): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_NtNotifyChangeKey) then
- Result := _NtNotifyChangeKey(hKey, hEvent, ApcRoutine, ApcRoutineContext,
- IoStatusBlock, NotifyFilter, bWatchSubtree, RegChangesDataBuffer,
- RegChangesDataBufferLength, bAynchronous)
- else
- Result := NtNotImplemented;
- end;
- function NtNotifyChangeMultipleKeys(KeyHandle: THANDLE; Flags: ULONG;
- KeyObjectAttributes: POBJECT_ATTRIBUTES; EventHandle: THANDLE;
- ApcRoutine: Pointer; ApcContext: PVOID; IoStatusBlock: PIOSTATUSBLOCK;
- NotifyFilter: ULONG; WatchSubTree: BOOL; Buffer: PVOID; BufferLength: ULONG;
- Asynchronous: BOOL): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_NtNotifyChangeMultipleKeys) then
- Result := _NtNotifyChangeMultipleKeys(KeyHandle, Flags, KeyObjectAttributes,
- EventHandle, ApcRoutine, ApcContext, IoStatusBlock, NotifyFilter,
- WatchSubTree, Buffer, BufferLength, Asynchronous)
- else
- Result := NtNotImplemented;
- end;
- function NtOpenDirectoryObject (DirectoryHandle: PHandle;
- DesiredAccess: ACCESS_MASK;
- ObjectAttributes: POBJECT_ATTRIBUTES): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_NtOpenDirectoryObject) then
- Result := _NtOpenDirectoryObject(DirectoryHandle, DesiredAccess,
- ObjectAttributes)
- else
- Result := NtNotImplemented;
- end;
- function NtOpenEvent(hEvent: PHANDLE; DesiredAccess: ACCESS_MASK;
- ObjectAttributes: POBJECT_ATTRIBUTES): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_NtOpenEvent) then
- Result := _NtOpenEvent(hEvent, DesiredAccess, ObjectAttributes)
- else
- Result := NtNotImplemented;
- end;
- function NtOpenFile(FileHandle: PHandle; const DesiredAccess: ACCESS_MASK;
- ObjectAttributes: POBJECT_ATTRIBUTES; IoStatusBlock: PIoStatusBlock;
- const ShareAccess, OpenOptions: ULONG) : NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_NtOpenFile) then
- Result := _NtOpenFile(FileHandle, DesiredAccess, ObjectAttributes,
- IoStatusBlock, ShareAccess, OpenOptions)
- else
- Result := NtNotImplemented;
- end;
- function NtOpenJobObject(phJob: PHANDLE; DesiredAccess: ACCESS_MASK;
- ObjectAttributes: POBJECT_ATTRIBUTES): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_NtOpenJobObject) then
- Result := _NtOpenJobObject(phJob, DesiredAccess, ObjectAttributes)
- else
- Result := NtNotImplemented;
- end;
- function NtOpenKey (phKey: PHandle; DesiredAccess: ACCESS_MASK;
- oa: POBJECT_ATTRIBUTES): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_NtOpenKey) then
- Result := _NtOpenKey(phKey, DesiredAccess, oa)
- else
- Result := NtNotImplemented;
- end;
- function NtOpenMutant(hMutex: PHANDLE; DesiredAccess: ACCESS_MASK;
- ObjectAttributes: POBJECT_ATTRIBUTES): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_NtOpenMutant) then
- Result := _NtOpenMutant(hMutex, DesiredAccess, ObjectAttributes)
- else
- Result := NtNotImplemented;
- end;
- function NtOpenObjectAuditAlarm(SubsystemName: PUNICODE_STRING; HandleId: PVOID;
- ObjectTypeName, ObjectName: PUNICODE_STRING;
- pSecurityDescriptor: PSECURITY_DESCRIPTOR; hTokenClient: THANDLE;
- DesiredAccess, GrantedAccess: ACCESS_MASK; pPrivilegeSet: PPRIVILEGE_SET;
- bObjectCreation, bAccessGranted: BOOL;
- bGenerateOnClose: PBOOLEAN): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_NtOpenObjectAuditAlarm) then
- Result := _NtOpenObjectAuditAlarm(SubsystemName, HandleId, ObjectTypeName,
- ObjectName, pSecurityDescriptor, hTokenClient, DesiredAccess,
- GrantedAccess, pPrivilegeSet, bObjectCreation, bAccessGranted,
- bGenerateOnClose)
- else
- Result := NtNotImplemented;
- end;
- function NtOpenProcess (phProcess: PHandle; DesiredAccess: ACCESS_MASK;
- oa: POBJECT_ATTRIBUTES; pClientId: PCLIENT_ID): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_NtOpenProcess) then
- Result := _NtOpenProcess(phProcess, DesiredAccess, oa, pClientId)
- else
- Result := NtNotImplemented;
- end;
- function NtOpenProcessToken (hProcess: THandle; DesiredAccess: ACCESS_MASK;
- hToken: PHandle): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_NtOpenProcessToken) then
- Result := _NtOpenProcessToken(hProcess, DesiredAccess, hToken)
- else
- Result := NtNotImplemented;
- end;
- function NtOpenReserve(ReserveHandle: PHANDLE; DesiredAccess: ACCESS_MASK;
- oa: POBJECT_ATTRIBUTES): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_NtOpenReserve) then
- Result := _NtOpenReserve(ReserveHandle, DesiredAccess, oa)
- else
- Result := NtNotImplemented;
- end;
- function NtOpenSection(SectionHandle: PHANDLE; DesiredAccess: ACCESS_MASK;
- ObjectAttributes: POBJECT_ATTRIBUTES): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_NtOpenSection) then
- Result := _NtOpenSection(SectionHandle, DesiredAccess, ObjectAttributes)
- else
- Result := NtNotImplemented;
- end;
- function NtOpenSemaphore(hSemaphore: PHANDLE; DesiredAccess: ACCESS_MASK;
- ObjectAttributes: POBJECT_ATTRIBUTES): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_NtOpenSemaphore) then
- Result := _NtOpenSemaphore(hSemaphore, DesiredAccess, ObjectAttributes)
- else
- Result := NtNotImplemented;
- end;
- function NtOpenSymbolicLinkObject (SymbolicLinkHandle: PHandle;
- DesiredAccess: ACCESS_MASK;
- ObjectAttributes: POBJECT_ATTRIBUTES): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_NtOpenSymbolicLinkObject) then
- Result := _NtOpenSymbolicLinkObject(SymbolicLinkHandle,
- DesiredAccess, ObjectAttributes)
- else
- Result := NtNotImplemented;
- end;
- function NtOpenThread(phThread: PHANDLE; AccessMask: ACCESS_MASK;
- ObjectAttributes: POBJECT_ATTRIBUTES;
- pClientId: PCLIENT_ID): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_NtOpenThread) then
- Result := _NtOpenThread(phThread, AccessMask, ObjectAttributes, pClientId)
- else
- Result := NtNotImplemented;
- end;
- function NtOpenThreadToken (hThread: THANDLE; DesiredAccess: ACCESS_MASK;
- bUseContextOfProcess: LongBool; phToken: PHANDLE): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_NtOpenThreadToken) then
- Result := _NtOpenThreadToken(hThread, DesiredAccess, bUseContextOfProcess,
- phToken)
- else
- Result := NtNotImplemented;
- end;
- function NtOpenTimer(TimerHandle: PHANDLE; DesiredAccess: ACCESS_MASK;
- ObjectAttributes: POBJECT_ATTRIBUTES): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_NtOpenTimer) then
- Result := _NtOpenTimer(TimerHandle, DesiredAccess, ObjectAttributes)
- else
- Result := NtNotImplemented;
- end;
- function NtPowerInformation(PowerInformationLevel: POWER_INFORMATION_LEVEL;
- InputBuffer: PVOID; InputBufferLength: ULONG; OutputBuffer: PVOID;
- OutputBufferLength: ULONG): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_NtPowerInformation) then
- Result := _NtPowerInformation(PowerInformationLevel, InputBuffer,
- InputBufferLength, OutputBuffer, OutputBufferLength)
- else
- Result := NtNotImplemented;
- end;
- function NtPrivilegeCheck(hToken: THANDLE; PrivilegeSet: PPRIVILEGE_SET;
- pbHasPrivileges: PBOOLEAN): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_NtPrivilegeCheck) then
- Result := _NtPrivilegeCheck(hToken, PrivilegeSet, pbHasPrivileges)
- else
- Result := NtNotImplemented;
- end;
- function NtPrivilegedServiceAuditAlarm(
- SubsystemName, ServiceName: PUNICODE_STRING; hToken: THANDLE;
- pPrivilegeSet: PPRIVILEGE_SET; AccessGranted: BOOL): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_NtPrivilegedServiceAuditAlarm) then
- Result := _NtPrivilegedServiceAuditAlarm(SubsystemName, ServiceName, hToken,
- pPrivilegeSet, AccessGranted)
- else
- Result := NtNotImplemented;
- end;
- function NtPrivilegeObjectAuditAlarm(SubsystemName: PUNICODE_STRING;
- HandleId: PVOID; hToken: THANDLE; DesiredAccess: ACCESS_MASK;
- pPrivilegeSet: PPRIVILEGE_SET; AccessGranted: BOOL): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_NtPrivilegeObjectAuditAlarm) then
- Result := _NtPrivilegeObjectAuditAlarm(SubsystemName, HandleId, hToken,
- DesiredAccess, pPrivilegeSet, AccessGranted)
- else
- Result := NtNotImplemented;
- end;
- function NtProtectVirtualMemory(hProcess: THANDLE; BaseAddress: PPVOID;
- RegionSize: PULONG; Protect: ULONG; OldProtect: PULONG): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_NtProtectVirtualMemory) then
- Result := _NtProtectVirtualMemory(hProcess, BaseAddress, RegionSize,
- Protect, OldProtect)
- else
- Result := NtNotImplemented;
- end;
- function NtPulseEvent(hEvent: THANDLE;
- PreviousState: PULONG): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_NtPulseEvent) then
- Result := _NtPulseEvent(hEvent, PreviousState)
- else
- Result := NtNotImplemented;
- end;
- function NtQueryAttributesFile(ObjectAttributes: POBJECT_ATTRIBUTES;
- pFileBasicInfo: PFILE_BASIC_INFORMATION): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_NtQueryAttributesFile) then
- Result := _NtQueryAttributesFile(ObjectAttributes, pFileBasicInfo)
- else
- Result := NtNotImplemented;
- end;
- function NtQueryDefaultLocale(bSystemOrThreadLocale: BOOL;
- DefaultLocale: PULONG): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_NtQueryDefaultLocale) then
- Result := _NtQueryDefaultLocale(bSystemOrThreadLocale, DefaultLocale)
- else
- Result := NtNotImplemented;
- end;
- function NtQueryDefaultUILanguage(
- DefaultUILanguage: PUSHORT): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_NtQueryDefaultUILanguage) then
- Result := _NtQueryDefaultUILanguage(DefaultUILanguage)
- else
- Result := NtNotImplemented;
- end;
- function NtQueryDirectoryFile(FileHandle, Event: THandle;
- ApcRoutine: Pointer; ApcContext: Pointer;
- IoStatusBlock: PIoStatusBlock; FileInformation: Pointer;
- FileInformationLength: ULONG; FileInformationClass: Integer;
- ReturnSingleEntry: LongBool; FileName: PUNICODE_STRING;
- RestartScan: LongBool): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_NtQueryDirectoryFile) then
- Result := _NtQueryDirectoryFile(FileHandle, Event, ApcRoutine, ApcContext,
- IoStatusBlock, FileInformation, FileInformationLength,
- FileInformationClass, ReturnSingleEntry, FileName, RestartScan)
- else
- Result := NtNotImplemented;
- end;
- function NtQueryDirectoryObject (DirectoryHandle: THandle;
- Buffer: PVOID; BufferLength: ULONG; ReturnSingleEntry, RestartScan : Boolean;
- Context: PDWORD; ReturnLength : PDWORD) : NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_NtQueryDirectoryObject) then
- Result := _NtQueryDirectoryObject(DirectoryHandle, Buffer, BufferLength,
- ReturnSingleEntry, RestartScan, Context, ReturnLength)
- else
- Result := NtNotImplemented;
- end;
- function NtQueryEaFile(hFile: THANDLE; IoStatusBlock: PIOSTATUSBLOCK;
- QueryEaBuffer: PVOID; QueryEaBufferLength: ULONG; bReturnSingleEa: BOOL;
- pListEa: PVOID; pListEaLength: ULONG; ListEaIndex: PULONG;
- bRestartQuery: BOOL): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_NtQueryEaFile) then
- Result := _NtQueryEaFile(hFile, IoStatusBlock, QueryEaBuffer,
- QueryEaBufferLength, bReturnSingleEa, pListEa, pListEaLength, ListEaIndex,
- bRestartQuery)
- else
- Result := NtNotImplemented;
- end;
- function NtQueryEvent(hEvent: THANDLE; InfoClass: EVENT_INFO_CLASS;
- EventInfoBuffer: PVOID; EventInfoBufferSize: ULONG;
- BytesCopied: PULONG): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_NtQueryEvent) then
- Result := _NtQueryEvent(hEvent, InfoClass, EventInfoBuffer,
- EventInfoBufferSize, BytesCopied)
- else
- Result := NtNotImplemented;
- end;
- function NtQueryFullAttributesFile(FileObjectAttributes: POBJECT_ATTRIBUTES;
- FullFileAttributes: PFULL_FILE_ATTRIBUTES): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_NtQueryFullAttributesFile) then
- Result := _NtQueryFullAttributesFile(FileObjectAttributes,
- FullFileAttributes)
- else
- Result := NtNotImplemented;
- end;
- function NtQueryInformationAtom(AnAtom: ATOM; AtomInfoClass: ATOM_INFO_CLASS;
- AtomInfoBuffer: PVOID; AtomInfoBufferLength: ULONG;
- BytesCopied: PULONG): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_NtQueryInformationAtom) then
- Result := _NtQueryInformationAtom(AnAtom, AtomInfoClass, AtomInfoBuffer,
- AtomInfoBufferLength, BytesCopied)
- else
- Result := NtNotImplemented;
- end;
- function NtQueryInformationFile(FileHandle: THandle;
- IoStatusBlock: PIoStatusBlock; FileInformation: PVOID; Length: ULONG;
- FileInformationClass: Integer): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_NtQueryInformationFile) then
- Result := _NtQueryInformationFile(FileHandle, IoStatusBlock,
- FileInformation, Length, FileInformationClass)
- else
- Result := NtNotImplemented;
- end;
- function NtQueryInformationJobObject(hJob: THANDLE;
- JobObjectInfoClass: JOBOBJECTINFOCLASS; JobObjectInfoBuffer: PVOID;
- JobObjectInfoBufferLength: ULONG; BytesReturned: PULONG): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_NtQueryInformationJobObject) then
- Result := _NtQueryInformationJobObject(hJob, JobObjectInfoClass,
- JobObjectInfoBuffer, JobObjectInfoBufferLength, BytesReturned)
- else
- Result := NtNotImplemented;
- end;
- function NtQueryInformationPort(PortHandle: THANDLE; InfoClass: ULONG;
- Buffer: PVOID; BufferSize: ULONG; BytesReturned: PULONG): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_NtQueryInformationPort) then
- Result := _NtQueryInformationPort(PortHandle, InfoClass, Buffer, BufferSize,
- BytesReturned)
- else
- Result := NtNotImplemented;
- end;
- function NtQueryInformationProcess (hProcess : THandle;
- ProcessInformationClass : LongInt; ProcessInformation : Pointer;
- ProcessInformationLength : ULONG; ReturnLength : PDWORD) : NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_NtQueryInformationProcess) then
- Result := _NtQueryInformationProcess(hProcess, ProcessInformationClass,
- ProcessInformation, ProcessInformationLength, ReturnLength)
- else
- Result := NtNotImplemented;
- end;
- function NtQueryInformationReserve(ReserveHandle: THANDLE;
- InformationClass: Integer; InformationBuffer: PVOID;
- InformationBufferSize: ULONG; ReturnedLength: PULONG): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_NtQueryInformationReserve) then
- Result := _NtQueryInformationReserve(ReserveHandle, InformationClass,
- InformationBuffer, InformationBufferSize, ReturnedLength)
- else
- Result := NtNotImplemented;
- end;
- function NtQueryInformationThread (hThread: THANDLE; ThreadInfoClass: Integer;
- ThreadInfoBuffer: PVOID; ThreadInfoBufferLength: ULONG;
- BytesReturned: PULONG): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_NtQueryInformationThread) then
- Result := _NtQueryInformationThread(hThread, ThreadInfoClass,
- ThreadInfoBuffer, ThreadInfoBufferLength, BytesReturned)
- else
- Result := NtNotImplemented;
- end;
- function NtQueryInformationToken (hToken: THandle;
- TokenInformationType: Integer; TokenInformationBuffer: Pointer;
- TokenInformationBufferSize: ULONG; ReturnLength: PDWORD): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_NtQueryInformationToken) then
- Result := _NtQueryInformationToken(hToken, TokenInformationType,
- TokenInformationBuffer, TokenInformationBufferSize, ReturnLength)
- else
- Result := NtNotImplemented;
- end;
- function NtQueryInstallUILanguage(
- InstallUILanguage: PUSHORT): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_NtQueryInstallUILanguage) then
- Result := _NtQueryInstallUILanguage(InstallUILanguage)
- else
- Result := NtNotImplemented;
- end;
- function NtQueryKey (KeyHandle: THandle; KeyInformationClass: Integer;
- KeyInformation: PVOID; Length: ULONG;
- ResultLength: LPDWORD): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_NtQueryKey) then
- Result := _NtQueryKey(KeyHandle, KeyInformationClass, KeyInformation,
- Length, ResultLength)
- else
- Result := NtNotImplemented;
- end;
- function NtQueryObject (ObjectHandle: THandle;
- ObjectInformationClass: OBJECT_INFO_CLASS; ObjectInformation: Pointer;
- ObjectInformationLength: ULONG; ReturnLength: PDWORD): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_NtQueryObject) then
- Result := _NtQueryObject(ObjectHandle, ObjectInformationClass,
- ObjectInformation, ObjectInformationLength, ReturnLength)
- else
- Result := NtNotImplemented;
- end;
- function NtQueryPerformanceCounter(
- pPerformanceCount, pFrequency: PLARGE_INTEGER): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_NtQueryPerformanceCounter) then
- Result := _NtQueryPerformanceCounter(pPerformanceCount, pFrequency)
- else
- Result := NtNotImplemented;
- end;
- function NtQuerySection(hSection: THANDLE;
- SectionInfoClass: SECTION_INFORMATION_CLASS; Buffer: PVOID;
- BufferSize: ULONG; BytesReturned: PULONG): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_NtQuerySection) then
- Result := _NtQuerySection(hSection, SectionInfoClass, Buffer, BufferSize,
- BytesReturned)
- else
- Result := NtNotImplemented;
- end;
- function NtQuerySecurityObject(hObject: THANDLE;
- SecurityInfoRequested: SECURITY_INFORMATION;
- pSecurityDescriptor: PSECURITY_DESCRIPTOR; pSecurityDescriptorLength: ULONG;
- BytesRequired: PULONG): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_NtQuerySecurityObject) then
- Result := _NtQuerySecurityObject(hObject, SecurityInfoRequested,
- pSecurityDescriptor, pSecurityDescriptorLength, BytesRequired)
- else
- Result := NtNotImplemented;
- end;
- function NtQuerySymbolicLinkObject (SymbolicLinkHandle: THandle;
- TargetName: PUNICODE_STRING; ReturnLength: PDWORD): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_NtQuerySymbolicLinkObject) then
- Result := _NtQuerySymbolicLinkObject(SymbolicLinkHandle, TargetName,
- ReturnLength)
- else
- Result := NtNotImplemented;
- end;
- function NtQuerySystemInformation (SystemInformationClass: LongInt;
- SystemInformation: Pointer; SystemInformationLength: ULONG;
- ReturnLength: PDWORD): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_NtQuerySystemInformation) then
- Result := _NtQuerySystemInformation(SystemInformationClass,
- SystemInformation, SystemInformationLength, ReturnLength)
- else
- Result := NtNotImplemented;
- end;
- function NtQuerySystemTime(pSystemTime: PLARGE_INTEGER): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_NtQuerySystemTime) then
- Result := _NtQuerySystemTime(pSystemTime)
- else
- Result := NtNotImplemented;
- end;
- function NtQueryValueKey (KeyHandle: THandle; ValueName: PUNICODE_STRING;
- KeyValueInformationClass: KEY_VALUE_INFORMATION_CLASS;
- KeyValueInformation: PVOID; KeyValueInformationLength: ULONG;
- ResultLength: PULONG): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_NtQueryValueKey) then
- Result := _NtQueryValueKey(KeyHandle, ValueName, KeyValueInformationClass,
- KeyValueInformation, KeyValueInformationLength, ResultLength)
- else
- Result := NtNotImplemented;
- end;
- function NtQueryVirtualMemory (hProcess : THandle; Address : PVOID;
- MemoryInformationClass : Integer; MemoryInformationBuffer : PVOID;
- MemoryInformationBufferLength : ULONG;
- ReturnLength : PDWORD) : NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_NtQueryVirtualMemory) then
- Result := _NtQueryVirtualMemory(hProcess, Address, MemoryInformationClass,
- MemoryInformationBuffer, MemoryInformationBufferLength, ReturnLength)
- else
- Result := NtNotImplemented;
- end;
- function NtQueryVolumeInformationFile (Handle: THandle;
- IoStatusBlock: PIoStatusBlock; VolumeInformation: Pointer;
- VolumeInformationLength: ULONG;
- VolumeInformationClass: LongInt): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_NtQueryVolumeInformationFile) then
- Result := _NtQueryVolumeInformationFile(Handle, IoStatusBlock,
- VolumeInformation, VolumeInformationLength, VolumeInformationClass)
- else
- Result := NtNotImplemented;
- end;
- function NtQueueApcThread(hThread: THANDLE; ApcRoutine: Pointer;
- NormalContext, SystemArgument1, SystemArgument2: PVOID): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_NtQueueApcThread) then
- Result := _NtQueueApcThread(hThread, ApcRoutine, NormalContext,
- SystemArgument1, SystemArgument2)
- else
- Result := NtNotImplemented;
- end;
- function NtRaiseHardError(Status: NTSTATUS; NumberOfArguments,
- StringArgumentMask : ULONG; Arguments: PULONG; ResponseOption: Integer;
- Response: PLONG): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_NtRaiseHardError) then
- Result := _NtRaiseHardError(Status, NumberOfArguments, StringArgumentMask,
- Arguments, ResponseOption, Response)
- else
- Result := NtNotImplemented;
- end;
- function NtReadFile (FileHandle: THandle; Event: THandle; ApcRoutine: Pointer;
- ApcContext: Pointer; IoStatusBlock: PIoStatusBlock; Buffer: Pointer;
- Length: ULONG; ByteOffset: PLARGE_INTEGER; Key: PDWORD): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_NtReadFile) then
- Result := _NtReadFile(FileHandle, Event, ApcRoutine, ApcContext,
- IoStatusBlock, Buffer, Length, ByteOffset, Key)
- else
- Result := NtNotImplemented;
- end;
- function NtReadFileScatter(hFile, hEvent: THANDLE; IoApcRoutine: Pointer;
- IoApcContext: PVOID; IoStatusBlock: PIOSTATUSBLOCK;
- aSegmentArray: PFILE_SEGMENT_ELEMENT; nBytesToRead: ULONG;
- FileOffset: PLARGE_INTEGER; LockOperationKey: PULONG): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_NtReadFileScatter) then
- Result := _NtReadFileScatter(hFile, hEvent, IoApcRoutine, IoApcContext,
- IoStatusBlock, aSegmentArray, nBytesToRead, FileOffset, LockOperationKey)
- else
- Result := NtNotImplemented;
- end;
- function NtReadVirtualMemory (hProcess : THandle; BaseAddress, Buffer: PVOID;
- BytesToRead: ULONG; BytesRead: PULONG): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_NtReadVirtualMemory) then
- Result := _NtReadVirtualMemory(hProcess, BaseAddress, Buffer, BytesToRead,
- BytesRead)
- else
- Result := NtNotImplemented;
- end;
- function NtRegisterThreadTerminatePort(PortHandle: THANDLE): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_NtRegisterThreadTerminatePort) then
- Result := _NtRegisterThreadTerminatePort(PortHandle)
- else
- Result := NtNotImplemented;
- end;
- function NtReleaseMutant(hMutant: THANDLE;
- bWasSignalled: PULONG): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_NtReleaseMutant) then
- Result := _NtReleaseMutant(hMutant, bWasSignalled)
- else
- Result := NtNotImplemented;
- end;
- function NtReleaseSemaphore(hSemaphore: THANDLE; ReleaseCount: ULONG;
- PreviousCount: PULONG): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_NtReleaseSemaphore) then
- Result := _NtReleaseSemaphore(hSemaphore, ReleaseCount, PreviousCount)
- else
- Result := NtNotImplemented;
- end;
- function NtRelinquishBudget: NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_NtRelinquishBudget) then
- Result := _NtRelinquishBudget
- else
- Result := NtNotImplemented;
- end;
- function NtRemoveIoCompletion(hIoCompletion: THANDLE;
- lpCompletionKey, lpCompletionValue: PULONG; IoStatusBlock: PIOSTATUSBLOCK;
- Timeout: PLARGE_INTEGER): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_NtRemoveIoCompletion) then
- Result := _NtRemoveIoCompletion(hIoCompletion, lpCompletionKey,
- lpCompletionValue, IoStatusBlock, Timeout)
- else
- Result := NtNotImplemented;
- end;
- function NtRemoveProcessDebug(ProcessHandle: THANDLE;
- DebugObject: PVOID): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_NtRemoveProcessDebug) then
- Result := _NtRemoveProcessDebug(ProcessHandle, DebugObject)
- else
- Result := NtNotImplemented;
- end;
- function NtReplaceKey(NewHiveFile: POBJECT_ATTRIBUTES; hKey: THANDLE;
- BackupHiveFile: POBJECT_ATTRIBUTES): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_NtReplaceKey) then
- Result := _NtReplaceKey(NewHiveFile, hKey, BackupHiveFile)
- else
- Result := NtNotImplemented;
- end;
- function NtReplyPort (PortHandle: THANDLE;
- LpcMessage: PLPCMESSAGE): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_NtReplyPort) then
- Result := _NtReplyPort(PortHandle, LpcMessage)
- else
- Result := NtNotImplemented;
- end;
- function NtReplyWaitReceivePort (PortHandle: THANDLE; PortIdentifier: PULONG;
- LpcMessageOut, LpcMessageIn: PLPCMESSAGE): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_NtReplyWaitReceivePort) then
- Result := _NtReplyWaitReceivePort(PortHandle, PortIdentifier, LpcMessageOut,
- LpcMessageIn)
- else
- Result := NtNotImplemented;
- end;
- function NtReplyWaitReplyPort(PortHandle: THANDLE;
- LpcMessage: PLPCMESSAGE): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_NtReplyWaitReplyPort) then
- Result := _NtReplyWaitReplyPort(PortHandle, LpcMessage)
- else
- Result := NtNotImplemented;
- end;
- function NtRequestDeviceWakeup (hDevice: THANDLE): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_NtRequestDeviceWakeup) then
- Result := _NtRequestDeviceWakeup(hDevice)
- else
- Result := NtNotImplemented;
- end;
- function NtRequestPort(PortHandle: THANDLE;
- LpcMessage: PLPCMESSAGE): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_NtRequestPort) then
- Result := _NtRequestPort(PortHandle, LpcMessage)
- else
- Result := NtNotImplemented;
- end;
- function NtRequestWaitReplyPort (PortHandle: THANDLE;
- pLpcMessageIn, pLpcMessageOut: PLPCMESSAGE): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_NtRequestWaitReplyPort) then
- Result := _NtRequestWaitReplyPort(PortHandle, pLpcMessageIn, pLpcMessageOut)
- else
- Result := NtNotImplemented;
- end;
- function NtRequestWakeupLatency(Latency: LATENCY_TIME): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_NtRequestWakeupLatency) then
- Result := _NtRequestWakeupLatency(Latency)
- else
- Result := NtNotImplemented;
- end;
- function NtResetEvent (hEvent: THANDLE; OldState: PBOOLEAN): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_NtResetEvent) then
- Result := _NtResetEvent(hEvent, OldState)
- else
- Result := NtNotImplemented;
- end;
- function NtResetWriteWatch(ProcessHandle: THANDLE; BaseAddress: PVOID;
- RegionSize: ULONG): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_NtResetWriteWatch) then
- Result := _NtResetWriteWatch(ProcessHandle, BaseAddress, RegionSize)
- else
- Result := NtNotImplemented;
- end;
- function NtRestoreKey(hKey, hFile: THANDLE; Flags: ULONG): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_NtRestoreKey) then
- Result := _NtRestoreKey(hKey, hFile, Flags)
- else
- Result := NtNotImplemented;
- end;
- function NtResumeThread (hThread: THANDLE;
- pSuspendCount: PULONG): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_NtResumeThread) then
- Result := _NtResumeThread(hThread, pSuspendCount)
- else
- Result := NtNotImplemented;
- end;
- function NtRollbackTransaction(TransactionHandle: THANDLE;
- AddInfo: ULONG): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_NtRollbackTransaction) then
- Result := _NtRollbackTransaction(TransactionHandle, AddInfo)
- else
- Result := NtNotImplemented;
- end;
- function NtSaveKey(hKey, hFile: THANDLE): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_NtSaveKey) then
- Result := _NtSaveKey(hKey, hFile)
- else
- Result := NtNotImplemented;
- end;
- function NtSecureConnectPort (PortHandle: PHANDLE; PortName: PUNICODE_STRING;
- SecurityQos: PSECURITY_QUALITY_OF_SERVICE;
- WriteSection: PPORT_SECTION_WRITE; ServerSid: PSID;
- ReadSection: PPORT_SECTION_READ; MAxMessageSize: PULONG; ConnectData: PVOID;
- ConnectDataLength: PULONG): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_NtSecureConnectPort) then
- Result := _NtSecureConnectPort (PortHandle, PortName, SecurityQos,
- WriteSection, ServerSid, ReadSection, MAxMessageSize, ConnectData,
- ConnectDataLength)
- else
- Result := NtNotImplemented;
- end;
- function NtSetContextThread(hThread: THANDLE;
- pContext: PCONTEXT): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_NtSetContextThread) then
- Result := _NtSetContextThread(hThread, pContext)
- else
- Result := NtNotImplemented;
- end;
- function NtSetDefaultHardErrorPort (hPort: THandle): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_NtSetDefaultHardErrorPort) then
- Result := _NtSetDefaultHardErrorPort(hPort)
- else
- Result := NtNotImplemented;
- end;
- function NtSetEaFile(hFile: THANDLE; IoStatusBlock: PIOSTATUSBLOCK;
- EaBuffer: PVOID; EaBufferLength: ULONG): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_NtSetEaFile) then
- Result := _NtSetEaFile(hFile, IoStatusBlock, EaBuffer, EaBufferLength)
- else
- Result := NtNotImplemented;
- end;
- function NtSetEvent (EventHandle: THANDLE;
- OldState: PBOOLEAN): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_NtSetEvent) then
- Result := _NtSetEvent(EventHandle, OldState)
- else
- Result := NtNotImplemented;
- end;
- function NtSetInformationDebugObject(DebugObjectHandle: THANDLE;
- InformationClass: Integer; InformationBuffer: PVOID;
- InformationBufferSize: ULONG; Unknown: PULONG): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_NtSetInformationDebugObject) then
- Result := _NtSetInformationDebugObject(DebugObjectHandle, InformationClass,
- InformationBuffer, InformationBufferSize, Unknown)
- else
- Result := NtNotImplemented;
- end;
- function NtSetInformationFile (FileHandle: THandle;
- IoStatusBlock: PIoStatusBlock; FileInformation: Pointer; Length: ULONG;
- FileInformationClass: Integer): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_NtSetInformationFile) then
- Result := _NtSetInformationFile(FileHandle, IoStatusBlock,
- FileInformation, Length, FileInformationClass)
- else
- Result := NtNotImplemented;
- end;
- function NtSetInformationJobObject(hJob: THANDLE;
- JobObjectInfoClass: JOBOBJECTINFOCLASS; JobObjectInfoBuffer: PVOID;
- JobObjectInfoBufferLength: ULONG): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_NtSetInformationJobObject) then
- Result := _NtSetInformationJobObject(hJob, JobObjectInfoClass,
- JobObjectInfoBuffer, JobObjectInfoBufferLength)
- else
- Result := NtNotImplemented;
- end;
- function NtSetInformationObject(hObject: THANDLE;
- ObjectInfoClass: OBJECT_INFO_CLASS; Buffer: PVOID;
- BufferSize: ULONG): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_NtSetInformationObject) then
- Result := _NtSetInformationObject(hObject, ObjectInfoClass, Buffer,
- BufferSize)
- else
- Result := NtNotImplemented;
- end;
- function NtSetInformationProcess (hProcess : THandle;
- ProcessInformationClass : LongInt; ProcessInformation : Pointer;
- ProcessInformationLength : ULONG) : NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_NtSetInformationProcess) then
- Result := _NtSetInformationProcess(hProcess, ProcessInformationClass,
- ProcessInformation, ProcessInformationLength)
- else
- Result := NtNotImplemented;
- end;
- function NtSetInformationReserve(ReserveHandle: THANDLE;
- InformationClass: Integer; InformationBuffer: PVOID;
- InformationBufferSize: ULONG): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_NtSetInformationReserve) then
- Result := _NtSetInformationReserve(ReserveHandle, InformationClass,
- InformationBuffer, InformationBufferSize)
- else
- Result := NtNotImplemented;
- end;
- function NtSetInformationThread (hThread: THANDLE; ThreadInfoClass: Integer;
- ThreadInfoBuffer: PVOID; ThreadInfoBufferLength: ULONG): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_NtSetInformationThread) then
- Result := _NtSetInformationThread(hThread, ThreadInfoClass,
- ThreadInfoBuffer, ThreadInfoBufferLength)
- else
- Result := NtNotImplemented;
- end;
- function NtSetInformationToken(hToken: THANDLE;
- TokenInfoClass: TOKEN_INFORMATION_CLASS; TokenInfoBuffer: PVOID;
- TokenInfoBufferLength: ULONG): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_NtSetInformationToken) then
- Result := _NtSetInformationToken(hToken, TokenInfoClass, TokenInfoBuffer,
- TokenInfoBufferLength)
- else
- Result := NtNotImplemented;
- end;
- function NtSetIoCompletion(IoCompletionPortHandle: THANDLE;
- CompletionKey, CompletionValue: ULONG; CompletionStatus: NTSTATUS;
- CompletionInformation: ULONG): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_NtSetIoCompletion) then
- Result := _NtSetIoCompletion(IoCompletionPortHandle, CompletionKey,
- CompletionValue, CompletionStatus, CompletionInformation)
- else
- Result := NtNotImplemented;
- end;
- function NtSetSecurityObject(hObj: THANDLE; SI: SECURITY_INFORMATION;
- pSD: PVOID): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_NtSetSecurityObject) then
- Result := _NtSetSecurityObject(hObj, SI, pSD)
- else
- Result := NtNotImplemented;
- end;
- function NtSetSystemInformation (SystemInformationClass: LongInt;
- SystemInformation: Pointer;
- SystemInformationLength: ULONG): Integer; stdcall;
- begin
- if InitNt and Assigned(_NtSetSystemInformation) then
- Result := _NtSetSystemInformation(SystemInformationClass,
- SystemInformation, SystemInformationLength)
- else
- Result := NtNotImplemented;
- end;
- function NtSetSystemTime(
- pSystemTime, pOldsystemTime: PLARGE_INTEGER): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_NtSetSystemTime) then
- Result := _NtSetSystemTime(pSystemTime, pOldsystemTime)
- else
- Result := NtNotImplemented;
- end;
- function NtSetThreadExecutionState(ExecutionState: Integer;
- PreviousExecutionState: PInteger): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_NtSetThreadExecutionState) then
- Result := _NtSetThreadExecutionState(ExecutionState, PreviousExecutionState)
- else
- Result := NtNotImplemented;
- end;
- function NtSetTimer(TimerHandle: THANDLE; DueTime: PLARGE_INTEGER;
- TimerApcRoutine: Pointer; TimerContext: PVOID; WakeTimer: BOOL;
- Period: LONG; PreviousState: PBOOLEAN): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_NtSetTimer) then
- Result := _NtSetTimer(TimerHandle, DueTime, TimerApcRoutine, TimerContext, WakeTimer, Period, PreviousState)
- else
- Result := NtNotImplemented;
- end;
- function NtSetValueKey (hKey: THANDLE; uValueName: PUNICODE_STRING;
- TitleIndex, ValueType: ULONG; pValueData: PVOID;
- pValueDataLength: ULONG): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_NtSetValueKey) then
- Result := _NtSetValueKey(hKey, uValueName, TitleIndex, ValueType,
- pValueData, pValueDataLength)
- else
- Result := NtNotImplemented;
- end;
- function NtSetVolumeInformationFile(hFile: THANDLE;
- IoStatusBlock: PIOSTATUSBLOCK; VolumeInformationBuffer: PVOID;
- VolumeInformationBufferLength: ULONG;
- FileSystemInformationClass: FS_INFORMATION_CLASS): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_NtSetVolumeInformationFile) then
- Result := _NtSetVolumeInformationFile(hFile, IoStatusBlock,
- VolumeInformationBuffer, VolumeInformationBufferLength,
- FileSystemInformationClass)
- else
- Result := NtNotImplemented;
- end;
- function NtSignalAndWaitForSingleObject(hSignalObject, hWaitObject: THANDLE;
- bAlertable: BOOL; Timeout: PLARGE_INTEGER): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_NtSignalAndWaitForSingleObject) then
- Result := _NtSignalAndWaitForSingleObject(hSignalObject, hWaitObject,
- bAlertable, Timeout)
- else
- Result := NtNotImplemented;
- end;
- function NtSuspendThread(hThread: THANDLE;
- pSuspendCount: PULONG): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_NtSuspendThread) then
- Result := _NtSuspendThread(hThread, pSuspendCount)
- else
- Result := NtNotImplemented;
- end;
- function NtTerminateJobObject(hJob: THANDLE;
- ExitCode: NTSTATUS): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_NtTerminateJobObject) then
- Result := _NtTerminateJobObject(hJob, ExitCode)
- else
- Result := NtNotImplemented;
- end;
- function NtTerminateProcess (hProcess: THandle;
- ExitCode: DWORD): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_NtTerminateProcess) then
- Result := _NtTerminateProcess(hProcess, ExitCode)
- else
- Result := NtNotImplemented;
- end;
- function NtTerminateThread (hThread: THandle;
- ExitCode: DWORD): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_NtTerminateThread) then
- Result := _NtTerminateThread(hThread, ExitCode)
- else
- Result := NtNotImplemented;
- end;
- function NtTestAlert: NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_NtTestAlert) then
- Result := _NtTestAlert
- else
- Result := NtNotImplemented;
- end;
- function NtUnloadDriver(
- DriverRegistryEntry: PUNICODE_STRING): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_NtUnloadDriver) then
- Result := _NtUnloadDriver(DriverRegistryEntry)
- else
- Result := NtNotImplemented;
- end;
- function NtUnloadKey(KeyNameAttributes: POBJECT_ATTRIBUTES): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_NtUnloadKey) then
- Result := _NtUnloadKey(KeyNameAttributes)
- else
- Result := NtNotImplemented;
- end;
- function NtUnlockFile(hFile: THANDLE; IoStatusBlock: PIOSTATUSBLOCK;
- FileOffset, Length: PLARGE_INTEGER;
- LockOperationKey: PULONG): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_NtUnlockFile) then
- Result := _NtUnlockFile(hFile, IoStatusBlock, FileOffset, Length, LockOperationKey)
- else
- Result := NtNotImplemented;
- end;
- function NtUnlockVirtualMemory(hProcess: THANDLE; BaseAddress: PPVOID;
- RegionSize: PULONG; UnlockTypeRequested: ULONG): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_NtUnlockVirtualMemory) then
- Result := _NtUnlockVirtualMemory(hProcess, BaseAddress, RegionSize,
- UnlockTypeRequested)
- else
- Result := NtNotImplemented;
- end;
- function NtUnmapViewOfSection (hProcess: THandle;
- BaseAddress: Pointer): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_NtUnmapViewOfSection) then
- Result := _NtUnmapViewOfSection(hProcess, BaseAddress)
- else
- Result := NtNotImplemented;
- end;
- function NtVdmControl(ControlCode: ULONG;
- ControlData: PVOID): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_NtVdmControl) then
- Result := _NtVdmControl(ControlCode, ControlData)
- else
- Result := NtNotImplemented;
- end;
- function NtWaitForMultipleObjects(NumberOfHandles: ULONG;
- ArrayOfHandles: PHANDLE; WaitType: Integer; Alertable: BOOL;
- Timeout: ULONG): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_NtWaitForMultipleObjects) then
- Result := _NtWaitForMultipleObjects(NumberOfHandles, ArrayOfHandles,
- WaitType, Alertable, Timeout)
- else
- Result := NtNotImplemented;
- end;
- function NtWaitForSingleObject (Handle: THandle;
- Alertable: LongBool; Timeout: PLARGE_INTEGER): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_NtWaitForSingleObject) then
- Result := _NtWaitForSingleObject(Handle, Alertable, Timeout)
- else
- Result := NtNotImplemented;
- end;
- function NtWriteFile (FileHandle: THandle; Event: THandle;
- ApcRoutine: Pointer; ApcContext:Pointer; IoStatusBlock: PIoStatusBlock;
- Buffer: Pointer; Length: ULONG; ByteOffset: PLARGE_INTEGER;
- Key: PDWORD): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_NtWriteFile) then
- Result := _NtWriteFile(FileHandle, Event, ApcRoutine, ApcContext,
- IoStatusBlock, Buffer, Length, ByteOffset, Key)
- else
- Result := NtNotImplemented;
- end;
- function NtWriteFileGather(hFile, hEvent: THANDLE; IoApcRoutine: Pointer;
- IoApcContext: PVOID; IoStatusBlock: PIOSTATUSBLOCK;
- aSegmentArray: PFILE_SEGMENT_ELEMENT; nBytesToWrite: ULONG;
- FileOffset: PLARGE_INTEGER; LockOperationKey: PULONG): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_NtWriteFileGather) then
- Result := _NtWriteFileGather(hFile, hEvent, IoApcRoutine, IoApcContext,
- IoStatusBlock, aSegmentArray, nBytesToWrite, FileOffset, LockOperationKey)
- else
- Result := NtNotImplemented;
- end;
- function NtWriteVirtualMemory(hProcess: THANDLE; BaseAddress: PVOID;
- Buffer: PVOID; BytesToWrite: ULONG; BytesWritten: PULONG): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_NtWriteVirtualMemory) then
- Result := _NtWriteVirtualMemory(hProcess, BaseAddress, Buffer, BytesToWrite,
- BytesWritten)
- else
- Result := NtNotImplemented;
- end;
- function NtYieldExecution: NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_NtYieldExecution) then
- Result := _NtYieldExecution
- else
- Result := NtNotImplemented;
- end;
- procedure RtlAcquirePebLock; stdcall;
- begin
- if InitNt and Assigned(_RtlAcquirePebLock) then
- _RtlAcquirePebLock
- else
- NtNotImplemented;
- end;
- function RtlActivateActivationContext(dwFlags: DWORD; hActCtx: THANDLE;
- lpCookie: PPDWORD): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_RtlActivateActivationContext) then
- Result := _RtlActivateActivationContext(dwFlags, hActCtx, lpCookie)
- else
- Result := NtNotImplemented;
- end;
- function RtlActivateActivationContextEx(dwFlags: DWORD; Teb: PVOID;
- hActCtx: THANDLE; lpCookie: PPDWORD): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_RtlActivateActivationContextEx) then
- Result := _RtlActivateActivationContextEx(dwFlags, Teb, hActCtx, lpCookie)
- else
- Result := NtNotImplemented;
- end;
- function RtlAddAccessAllowedAce(pAcl: PACL; dwAceRevision: ULONG;
- AccessMask: ULONG; pSid: PSID): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_RtlAddAccessAllowedAce) then
- Result := _RtlAddAccessAllowedAce(pAcl, dwAceRevision, AccessMask, pSid)
- else
- Result := NtNotImplemented;
- end;
- procedure RtlAddRefActivationContext(hActCtx: THANDLE); stdcall;
- begin
- if InitNt and Assigned(_RtlAddRefActivationContext) then
- _RtlAddRefActivationContext(hActCtx)
- else
- SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
- end;
- function RtlAdjustPrivilege(Privilege: ULONG; Enable, CurrentThread: BOOL;
- Enabled: PBOOLEAN): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_RtlAdjustPrivilege) then
- Result := _RtlAdjustPrivilege(Privilege, Enable, CurrentThread, Enabled)
- else
- Result := NtNotImplemented;
- end;
- function RtlAllocateAndInitializeSid(
- pIdentifierAuthority: PSID_IDENTIFIER_AUTHORITY;
- nSubAuthorityCount: Integer; dwSubAuthority0, dwSubAuthority1,
- dwSubAuthority2, dwSubAuthority3, dwSubAuthority4, dwSubAuthority5,
- dwSubAuthority6, dwSubAuthority7: DWORD; pSid: PPSID): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_RtlAllocateAndInitializeSid) then
- Result := _RtlAllocateAndInitializeSid(pIdentifierAuthority,
- nSubAuthorityCount, dwSubAuthority0, dwSubAuthority1, dwSubAuthority2,
- dwSubAuthority3, dwSubAuthority4, dwSubAuthority5, dwSubAuthority6,
- dwSubAuthority7, pSid)
- else
- Result := NtNotImplemented;
- end;
- function RtlAllocateHandle(HandleTable: PRTL_HANDLE_TABLE;
- HandleIndex: PULONG): PRTL_HANDLE_TABLE_ENTRY; stdcall;
- begin
- if InitNt and Assigned(_RtlAllocateHandle) then
- Result := _RtlAllocateHandle(HandleTable, HandleIndex)
- else
- Result := NtNotImplementedPointer;
- end;
- function RtlAllocateHeap (Heap: THandle; AllocationFlags: DWORD;
- Size: DWORD): Pointer; stdcall;
- begin
- if InitNt and Assigned(_RtlAllocateHeap) then
- Result := _RtlAllocateHeap(Heap, AllocationFlags, Size)
- else
- Result := NtNotImplementedPointer;
- end;
- function RtlAnsiCharToUnicodeChar(SourceCharacter: PPBYTE): WCHAR; stdcall;
- begin
- if InitNt and Assigned(_RtlAnsiCharToUnicodeChar) then
- Result := _RtlAnsiCharToUnicodeChar(SourceCharacter)
- else
- Result := WideChar(0);
- end;
- function RtlAnsiStringToUnicodeSize(AAnsiString: PANSI_STRING): ULONG; stdcall;
- begin
- if InitNt and Assigned(_RtlAnsiStringToUnicodeSize) then
- Result := _RtlAnsiStringToUnicodeSize(AAnsiString)
- else begin
- SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
- Result := ULONG(-1);
- end;
- end;
- function RtlAnsiStringToUnicodeString (DestinationString: PUNICODE_STRING;
- SourceString: PANSI_STRING;
- AllocateDestinationString: BOOL): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_RtlAnsiStringToUnicodeString) then
- Result := _RtlAnsiStringToUnicodeString(DestinationString, SourceString,
- AllocateDestinationString)
- else
- Result := NtNotImplemented;
- end;
- function RtlAppendUnicodeStringToString(
- Destination, Source: PUNICODE_STRING): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_RtlAppendUnicodeStringToString) then
- Result := _RtlAppendUnicodeStringToString(Destination, Source)
- else
- Result := NtNotImplemented;
- end;
- function RtlAppendUnicodeToString (us: PUNICODE_STRING;
- sAppend: LPCWSTR): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_RtlAppendUnicodeToString) then
- Result := _RtlAppendUnicodeToString(us, sAppend)
- else
- Result := NtNotImplemented;
- end;
- procedure RtlApplicationVerifierStop(Code: ULONG; Message: LPSTR;
- Param1: ULONG; Description1: LPSTR; Param2: ULONG; Description2: LPSTR;
- Param3: ULONG; Description3: LPSTR; Param4: ULONG;
- Description4: LPSTR); stdcall;
- begin
- if InitNt and Assigned(_RtlApplicationVerifierStop) then
- _RtlApplicationVerifierStop(Code, Message, Param1, Description1,
- Param2, Description2, Param3, Description3, Param4, Description4)
- else
- SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
- end;
- function RtlAreBitsSet(BitMapHeader: PRTL_BITMAP;
- StartingIndex, Length: ULONG): BOOL; stdcall;
- begin
- if InitNt and Assigned(_RtlAreBitsSet) then
- Result := _RtlAreBitsSet(BitMapHeader, StartingIndex, Length)
- else
- Result := NtNotImplementedBoolean;
- end;
- function RtlCharToInteger(AString: LPSTR; Base: ULONG;
- Value: PULONG): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_RtlCharToInteger) then
- Result := _RtlCharToInteger(AString, Base, Value)
- else
- Result := NtNotImplemented;
- end;
- function RtlCheckRegistryKey(RelativeTo: ULONG;
- Path: LPWSTR): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_RtlCheckRegistryKey) then
- Result := _RtlCheckRegistryKey(RelativeTo, Path)
- else
- Result := NtNotImplemented;
- end;
- procedure RtlClearBits(BitMapHeader: PRTL_BITMAP;
- StartingIndex, NumberToClear: ULONG); stdcall;
- begin
- if InitNt and Assigned(_RtlClearBits) then
- _RtlClearBits(BitMapHeader, StartingIndex, NumberToClear)
- else
- SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
- end;
- function RtlCompactHeap(HeapHandle: PVOID; Flags: ULONG): SIZE_T; stdcall;
- begin
- if InitNt and Assigned(_RtlCompactHeap) then
- Result := _RtlCompactHeap(HeapHandle, Flags)
- else begin
- SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
- Result := 0;
- end;
- end;
- function RtlCompareMemory(Source1, Source2: PVOID;
- Length: SIZE_T): SIZE_T; stdcall;
- begin
- if InitNt and Assigned(_RtlCompareMemory) then
- Result := _RtlCompareMemory(Source1, Source2, Length)
- else begin
- SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
- Result := 0;
- end;
- end;
- function RtlCompareString(String1, String2: PSTRING;
- CaseInSensitive: BOOL): LONG; stdcall;
- begin
- if InitNt and Assigned(_RtlCompareString) then
- Result := _RtlCompareString(String1, String2, CaseInSensitive)
- else begin
- SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
- Result := -1;
- end;
- end;
- function RtlCompareUnicodeString(String1, String2: PUNICODE_STRING;
- CaseInSensitive: BOOL): LONG; stdcall;
- begin
- if InitNt and Assigned(_RtlCompareUnicodeString) then
- Result := _RtlCompareUnicodeString(String1, String2, CaseInSensitive)
- else begin
- SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
- Result := -1;
- end;
- end;
- function RtlConvertSidToUnicodeString(UnicodeString: PUNICODE_STRING;
- Sid: PSID; AllocateDestinationString: BOOL): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_RtlConvertSidToUnicodeString) then
- Result := _RtlConvertSidToUnicodeString(UnicodeString, Sid,
- AllocateDestinationString)
- else
- Result := NtNotImplemented;
- end;
- procedure RtlCopyLuid (DestLuid, SrcLuid: PLUID); stdcall;
- begin
- if InitNt and Assigned(_RtlCopyLuid) then
- _RtlCopyLuid(DestLuid, SrcLuid)
- else
- SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
- end;
- procedure RtlCopyString(
- DestinationString, SourceString: PSTRING); stdcall;
- begin
- if InitNt and Assigned(_RtlCopyString) then
- _RtlCopyString(DestinationString, SourceString)
- else
- SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
- end;
- procedure RtlCopyUnicodeString(
- DestinationString, SourceString: PUNICODE_STRING); stdcall;
- begin
- if InitNt and Assigned(_RtlCopyUnicodeString) then
- _RtlCopyUnicodeString(DestinationString, SourceString)
- else
- SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
- end;
- function RtlCreateAcl(Acl: PACL; nAclLength: ULONG;
- dwAclRevision: ULONG): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_RtlCreateAcl) then
- Result := _RtlCreateAcl(Acl, nAclLength, dwAclRevision)
- else
- Result := NtNotImplemented;
- end;
- function RtlCreateAtomTable(InitSize: DWORD;
- pAtomTableHandle: PHANDLE): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_RtlCreateAtomTable) then
- Result := _RtlCreateAtomTable(InitSize, pAtomTableHandle)
- else
- Result := NtNotImplemented;
- end;
- function RtlCreateEnvironment(CopyCurrent: BOOL;
- EnvironmentBlock: PPVOID): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_RtlCreateEnvironment) then
- Result := _RtlCreateEnvironment(CopyCurrent, EnvironmentBlock)
- else
- Result := NtNotImplemented;
- end;
- function RtlCreateHeap(AllocationFlags: ULONG; BaseAddress: PVOID;
- MaximumSize, InitialSize: ULONG; UnknownAddress: PVOID;
- HeapInfo: PHEAP_INFO): THANDLE; stdcall;
- begin
- if InitNt and Assigned(_RtlCreateHeap) then
- Result := _RtlCreateHeap(AllocationFlags, BaseAddress, MaximumSize,
- InitialSize, UnknownAddress, HeapInfo)
- else begin
- Result := 0;
- SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
- end;
- end;
- function RtlCreateProcessParameters(ProcessParameters: PPPROCESS_PARAMETERS;
- ImagePathName, DllPath, CurrentDirectory, CommandLine: PUNICODE_STRING;
- EnvironmentBlock: PVOID; WindowTitle, DesktopInfo,
- ShellInfo, RuntimeData: PUNICODE_STRING): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_RtlCreateProcessParameters) then
- Result := _RtlCreateProcessParameters(ProcessParameters, ImagePathName,
- DllPath, CurrentDirectory, CommandLine, EnvironmentBlock, WindowTitle,
- DesktopInfo, ShellInfo, RuntimeData)
- else
- Result := NtNotImplemented;
- end;
- function RtlCreateQueryDebugBuffer(MaximumCommit: ULONG;
- UseEventPair: BOOL): PRTL_DEBUG_INFORMATION; stdcall;
- begin
- if InitNt and Assigned(_RtlCreateQueryDebugBuffer) then
- Result := _RtlCreateQueryDebugBuffer(MaximumCommit, UseEventPair)
- else begin
- Result := nil;
- SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
- end;
- end;
- function RtlCreateSecurityDescriptor(
- SecurityDescriptor: PSECURITY_DESCRIPTOR; Revision: ULONG): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_RtlCreateSecurityDescriptor) then
- Result := _RtlCreateSecurityDescriptor(SecurityDescriptor, Revision)
- else
- Result := NtNotImplemented;
- end;
- function RtlCreateTagHeap (Heap: THandle; Flags: ULONG;
- TagPrefix, TagNames: LPWSTR): DWORD; stdcall;
- begin
- if InitNt and Assigned(_RtlCreateTagHeap) then
- Result := _RtlCreateTagHeap (Heap, Flags, TagPrefix, TagNames)
- else begin
- Result := 0;
- SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
- end;
- end;
- function RtlCreateTimer(TimerQueueHandle: THANDLE; Handle: PHANDLE;
- AFunction: Pointer; Context: PVOID;
- DueTime, Period, Flags: ULONG): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_RtlCreateTimer) then
- Result := _RtlCreateTimer(TimerQueueHandle, Handle, AFunction, Context,
- DueTime, Period, Flags)
- else
- Result := NtNotImplemented;
- end;
- function RtlCreateTimerQueue(TimerQueueHandle: PHANDLE): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_RtlCreateTimerQueue) then
- Result := _RtlCreateTimerQueue(TimerQueueHandle)
- else
- Result := NtNotImplemented;
- end;
- function RtlCreateUnicodeString (us: PUNICODE_STRING;
- s: PWideChar): Boolean; stdcall;
- begin
- if InitNt and Assigned(_RtlCreateUnicodeString) then
- Result := _RtlCreateUnicodeString(us, s)
- else
- Result := NtNotImplementedBoolean;
- end;
- function RtlCreateUnicodeStringFromAsciiz (us: PUNICODE_STRING;
- s: PAnsiChar): Boolean; stdcall;
- begin
- if InitNt and Assigned(_RtlCreateUnicodeStringFromAsciiz) then
- Result := _RtlCreateUnicodeStringFromAsciiz(us, s)
- else
- Result := NtNotImplementedBoolean;
- end;
- function RtlCustomCPToUnicodeN(CustomCP: PCPTABLEINFO; UnicodeString: LPWSTR;
- MaxBytesInUnicodeString: ULONG; BytesInUnicodeString: PULONG;
- CustomCPString: LPSTR; BytesInCustomCPString: ULONG): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_RtlCustomCPToUnicodeN) then
- Result := _RtlCustomCPToUnicodeN(CustomCP, UnicodeString,
- MaxBytesInUnicodeString, BytesInUnicodeString, CustomCPString,
- BytesInCustomCPString)
- else
- Result := NtNotImplemented;
- end;
- function RtlCutoverTimeToSystemTime(CutoverTime: PTIME_FIELDS;
- SystemTime: PLARGE_INTEGER; CurrentSystemTime: PLARGE_INTEGER;
- ThisYear: BOOL): BOOL; stdcall;
- begin
- if InitNt and Assigned(_RtlCutoverTimeToSystemTime) then
- Result := _RtlCutoverTimeToSystemTime(CutoverTime, SystemTime,
- CurrentSystemTime, ThisYear)
- else begin
- Result := false;
- SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
- end;
- end;
- function RtlDefaultNpAcl(pAcl: PPACL): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_RtlDefaultNpAcl) then
- Result := _RtlDefaultNpAcl(pAcl)
- else
- Result := NtNotImplemented;
- end;
- function RtlDeleteAtomFromAtomTable(AtomTable: THANDLE;
- AnAtom: ATOM): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_RtlDeleteAtomFromAtomTable) then
- Result := _RtlDeleteAtomFromAtomTable(AtomTable, AnAtom)
- else
- Result := NtNotImplemented;
- end;
- function RtlDeleteCriticalSection(
- var Section: TRTLCriticalSection): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_RtlDeleteCriticalSection) then
- Result := _RtlDeleteCriticalSection(Section)
- else
- Result := NtNotImplemented;
- end;
- function RtlDeleteTimer(
- TimerQueueHandle, TimerToCancel, Event: THANDLE): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_RtlDeleteTimer) then
- Result := _RtlDeleteTimer(TimerQueueHandle, TimerToCancel, Event)
- else
- Result := NtNotImplemented;
- end;
- function RtlDeleteTimerQueue(QueueHandle: THANDLE): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_RtlDeleteTimerQueue) then
- Result := _RtlDeleteTimerQueue(QueueHandle)
- else
- Result := NtNotImplemented;
- end;
- function RtlDeleteTimerQueueEx(QueueHandle, Event: THANDLE): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_RtlDeleteTimerQueueEx) then
- Result := _RtlDeleteTimerQueueEx(QueueHandle, Event)
- else
- Result := NtNotImplemented;
- end;
- function RtlDeregisterWait(WaitHandle: THANDLE): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_RtlDeregisterWait) then
- Result := _RtlDeregisterWait(WaitHandle)
- else
- Result := NtNotImplemented;
- end;
- function RtlDeregisterWaitEx(WaitHandle, Event: THANDLE): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_RtlDeregisterWaitEx) then
- Result := _RtlDeregisterWaitEx(WaitHandle, Event)
- else
- Result := NtNotImplemented;
- end;
- function RtlDestroyEnvironment(Environment: PVOID): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_RtlDestroyEnvironment) then
- Result := _RtlDestroyEnvironment(Environment)
- else
- Result := NtNotImplemented;
- end;
- function RtlDestroyHeap (hHeap : THandle) : PVOID; stdcall;
- begin
- if InitNt and Assigned(_RtlDestroyHeap) then
- Result := _RtlDestroyHeap (hHeap)
- else begin
- Result := PVOID(-1);
- SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
- end;
- end;
- function RtlDestroyProcessParameters(
- ProcessParameters: PPROCESS_PARAMETERS): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_RtlDestroyProcessParameters) then
- Result := _RtlDestroyProcessParameters(ProcessParameters)
- else
- Result := NtNotImplemented;
- end;
- function RtlDestroyQueryDebugBuffer(
- Buffer: PRTL_DEBUG_INFORMATION): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_RtlDestroyQueryDebugBuffer) then
- Result := _RtlDestroyQueryDebugBuffer(Buffer)
- else
- Result := NtNotImplemented;
- end;
- function RtlDetermineDosPathNameType_U(
- DosFileName: LPWSTR): RTL_PATH_TYPE; stdcall;
- begin
- if InitNt and Assigned(_RtlDetermineDosPathNameType_U) then
- Result := _RtlDetermineDosPathNameType_U(DosFileName)
- else begin
- SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
- Result := RTL_PATH_TYPE(-1);
- end;
- end;
- function RtlDllShutdownInProgress: Boolean; stdcall;
- begin
- if InitNt and Assigned(_RtlDllShutdownInProgress) then
- Result := _RtlDllShutdownInProgress
- else
- Result := NtNotImplementedBoolean;
- end;
- function RtlDnsHostNameToComputerName(
- ComputerNameString, DnsHostNameString: PUNICODE_STRING;
- AllocateComputerNameString: BOOL): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_RtlDnsHostNameToComputerName) then
- Result := _RtlDnsHostNameToComputerName(ComputerNameString,
- DnsHostNameString, AllocateComputerNameString)
- else
- Result := NtNotImplemented;
- end;
- function RtlDoesFileExists_U(FileName: LPWSTR): BOOL; stdcall;
- begin
- if InitNt and Assigned(_RtlDoesFileExists_U) then
- Result := _RtlDoesFileExists_U(FileName)
- else
- Result := NtNotImplementedBoolean;
- end;
- function RtlDosPathNameToNtPathName_U (const DosFileName: PWideChar;
- NtFileName: PUNICODE_STRING; FilePart: PPWideChar;
- RelativeName: PRTL_RELATIVE_NAME): Boolean; stdcall;
- begin
- if InitNt and Assigned(_RtlDosPathNameToNtPathName_U) then
- Result := _RtlDosPathNameToNtPathName_U(DosFileName, NtFileName,
- FilePart, RelativeName)
- else
- Result := NtNotImplementedBoolean;
- end;
- function RtlDosSearchPath_U(lpPath, lpFileName, lpExtension: LPWSTR;
- nBufferLength: ULONG; lpBuffer: LPWSTR;
- lpFilePart: PLPWSTR): ULONG; stdcall;
- begin
- if InitNt and Assigned(_RtlDosSearchPath_U) then
- Result := _RtlDosSearchPath_U(lpPath, lpFileName, lpExtension,
- nBufferLength, lpBuffer, lpFilePart)
- else begin
- Result := 0;
- SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
- end;
- end;
- procedure RtlEnterCriticalSection (var Section : TRTLCriticalSection);
- begin
- if InitNt and Assigned(_RtlEnterCriticalSection) then
- _RtlEnterCriticalSection (Section)
- else
- NtNotImplemented;
- end;
- function RtlEqualSid(sid1: PSID; sid2: PSID): BOOL; stdcall;
- begin
- if InitNt and Assigned(_RtlEqualSid) then
- Result := _RtlEqualSid(sid1, sid2)
- else
- Result := NtNotImplementedBoolean;
- end;
- function RtlEqualString (String1, String2: PAnsiString;
- CaseInSensitive: Boolean): Boolean; stdcall;
- begin
- if InitNt and Assigned(_RtlEqualString) then
- Result := _RtlEqualString(String1, String2, CaseInSensitive)
- else
- Result := NtNotImplementedBoolean;
- end;
- function RtlExpandEnvironmentStrings_U(Environment: PVOID;
- Source, Destination: PUNICODE_STRING;
- ReturnedLength: PULONG): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_RtlExpandEnvironmentStrings_U) then
- Result := _RtlExpandEnvironmentStrings_U(Environment, Source, Destination,
- ReturnedLength)
- else
- Result := NtNotImplemented;
- end;
- function RtlExtendedLargeIntegerDivide(Dividend: LARGE_INTEGER;
- Divisor: ULONG; Remainder: PULONG): int64; stdcall;
- begin
- if InitNt and Assigned(_RtlExtendedLargeIntegerDivide) then
- Result := _RtlExtendedLargeIntegerDivide(Dividend, Divisor, Remainder)
- else
- Result := NtNotImplemented;
- end;
- function RtlExtendHeap(HeapHandle: PVOID; Flags: ULONG; Base: PVOID;
- Size: SIZE_T): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_RtlExtendHeap) then
- Result := _RtlExtendHeap(HeapHandle, Flags, Base, Size)
- else
- Result := NtNotImplemented;
- end;
- function RtlFindClearBitsAndSet(BitMapHeader: PRTL_BITMAP;
- NumberToFind, HintIndex: ULONG): ULONG; stdcall;
- begin
- if InitNt and Assigned(_RtlFindClearBitsAndSet) then
- Result := _RtlFindClearBitsAndSet(BitMapHeader, NumberToFind, HintIndex)
- else begin
- Result := 0;
- SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
- end;
- end;
- function RtlFindMessage(DllHandle: PVOID;
- MessageTableId, MessageLanguageId, MessageId: ULONG;
- MessageEntry: PPMESSAGE_RESOURCE_ENTRY): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_RtlFindMessage) then
- Result := _RtlFindMessage(DllHandle, MessageTableId, MessageLanguageId,
- MessageId, MessageEntry)
- else
- Result := NtNotImplemented;
- end;
- function RtlFlushSecureMemoryCache(MemoryAddress: PVOID;
- dwUnknown: DWORD): BOOL; stdcall;
- begin
- if InitNt and Assigned(_RtlFlushSecureMemoryCache) then
- Result := _RtlFlushSecureMemoryCache(MemoryAddress, dwUnknown)
- else
- Result := NtNotImplementedBoolean;
- end;
- function RtlFormatCurrentUserKeyPath(
- CurrentUserKeyPath: PUNICODE_STRING): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_RtlFormatCurrentUserKeyPath) then
- Result := _RtlFormatCurrentUserKeyPath(CurrentUserKeyPath)
- else
- Result := NtNotImplemented;
- end;
- function RtlFormatMessage(MessageFormat: LPWSTR; MaximumWidth: ULONG;
- IgnoreInserts, ArgumentsAreAnsi, ArgumentsAreAnArray: BOOL;
- Arguments: PVOID; Buffer: LPWSTR; Length: ULONG;
- ReturnLength: PULONG): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_RtlFormatMessage) then
- Result := _RtlFormatMessage(MessageFormat, MaximumWidth, IgnoreInserts,
- ArgumentsAreAnsi, ArgumentsAreAnArray, Arguments, Buffer, Length,
- ReturnLength)
- else
- Result := NtNotImplemented;
- end;
- function RtlFreeHandle(HandleTable: PRTL_HANDLE_TABLE;
- Handle: PRTL_HANDLE_TABLE_ENTRY): BOOL; stdcall;
- begin
- if InitNt and Assigned(_RtlFreeHandle) then
- Result := _RtlFreeHandle(HandleTable, Handle)
- else
- Result := NtNotImplementedBoolean;
- end;
- procedure RtlFreeOemString(OemString: PSTRING); stdcall;
- begin
- if InitNt and Assigned(_RtlFreeOemString) then
- _RtlFreeOemString(OemString)
- else
- SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
- end;
- function RtlFreeSid(Sid: PSID): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_RtlFreeSid) then
- Result := _RtlFreeSid(Sid)
- else
- Result := NtNotImplemented;
- end;
- function RtlGetAce(pAcl: PACL; dwAceIndex: DWORD;
- pAce: PPvoid): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_RtlGetAce) then
- Result := _RtlGetAce(pAcl, dwAceIndex, pAce)
- else
- Result := NtNotImplemented;
- end;
- function RtlGetActiveActivationContext(pActCtx: PHANDLE): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_RtlGetActiveActivationContext) then
- Result := _RtlGetActiveActivationContext(pActCtx)
- else
- Result := NtNotImplemented;
- end;
- function RtlGetCurrentDirectory_U(nBufferLength: ULONG;
- lpBuffer: LPWSTR): ULONG; stdcall;
- begin
- if InitNt and Assigned(_RtlGetCurrentDirectory_U) then
- Result := _RtlGetCurrentDirectory_U(nBufferLength, lpBuffer)
- else begin
- SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
- Result := 0;
- end;
- end;
- function RtlGetDaclSecurityDescriptor(
- pSecurityDescriptor: PSECURITY_DESCRIPTOR; lpbDaclPresent: PBOOLEAN;
- pDacl: PPACL; lpbDaclDefaulted: PBOOLEAN): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_RtlGetDaclSecurityDescriptor) then
- Result := _RtlGetDaclSecurityDescriptor(pSecurityDescriptor, lpbDaclPresent,
- pDacl, lpbDaclDefaulted)
- else
- Result := NtNotImplemented;
- end;
- { Íå áóäåò ðàáîòàòü â Windows 64 }
- function RtlGetCurrentPEB : Pointer; assembler;
- asm
- mov eax,fs:[$18]
- mov eax,[eax+$30]
- end;
- function RtlGetFrame: PVOID; stdcall;
- begin
- if InitNt and Assigned(_RtlGetFrame) then
- Result := _RtlGetFrame
- else
- Result := NtNotImplementedPointer;
- end;
- function RtlGetFullPathName_U(FileName: PUNICODE_STRING;
- nBufferLength: ULONG; lpBuffer: LPWSTR; lpFilePart: PLPWSTR;
- NameInvalid: PBOOLEAN; InputPathType: PRTL_PATH_TYPE): ULONG; stdcall;
- begin
- if InitNt and Assigned(_RtlGetFullPathName_U) then
- Result := _RtlGetFullPathName_U(FileName, nBufferLength, lpBuffer,
- lpFilePart, NameInvalid, InputPathType)
- else
- Result := NtNotImplemented;
- end;
- function RtlGetNtGlobalFlags: DWORD; stdcall;
- begin
- if InitNt and Assigned(_RtlGetNtGlobalFlags) then
- Result := _RtlGetNtGlobalFlags
- else begin
- SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
- Result := 0;
- end;
- end;
- function RtlGetProcessHeaps(NumberOfHeapsToReturn: ULONG;
- ProcessHeaps: PPVOID): ULONG; stdcall;
- begin
- if InitNt and Assigned(_RtlGetProcessHeaps) then
- Result := _RtlGetProcessHeaps(NumberOfHeapsToReturn, ProcessHeaps)
- else begin
- SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
- Result := 0;
- end;
- end;
- function RtlGetUserInfoHeap(HeapHandle: PVOID; Flags: ULONG; BaseAddress: PVOID;
- UserValue: PPVOID; UserFlags: PULONG): BOOL; stdcall;
- begin
- if InitNt and Assigned(_RtlGetUserInfoHeap) then
- Result := _RtlGetUserInfoHeap(HeapHandle, Flags, BaseAddress, UserValue,
- UserFlags)
- else
- Result := NtNotImplementedBoolean;
- end;
- function RtlGetVersion(
- lpVersionInformation: PRTL_OSVERSIONINFOW): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_RtlGetVersion) then
- Result := _RtlGetVersion(lpVersionInformation)
- else
- Result := NtNotImplemented;
- end;
- function RtlGUIDFromString(GuidString: PUNICODE_STRING;
- Guid: PGUID): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_RtlGUIDFromString) then
- Result := _RtlGUIDFromString(GuidString, Guid)
- else
- Result := NtNotImplemented;
- end;
- function RtlImageDirectoryEntryToData(Base: PVOID; MappedAsImage: BOOL;
- DirectoryEntry: USHORT; Size: PULONG): PVOID; stdcall;
- begin
- if InitNt and Assigned(_RtlImageDirectoryEntryToData) then
- Result := _RtlImageDirectoryEntryToData(Base, MappedAsImage,
- DirectoryEntry, Size)
- else
- Result := NtNotImplementedPointer;
- end;
- function RtlImageNtHeader (hMod: HMODULE): PImageNTHeaders;
- begin
- if InitNt and Assigned(_RtlImageNtHeader) then
- Result := _RtlImageNtHeader(hMod)
- else
- Result := NtNotImplementedPointer;
- end;
- function RtlImpersonateSelf(
- ImpersonationLevel: SECURITY_IMPERSONATION_LEVEL): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_RtlImpersonateSelf) then
- Result := _RtlImpersonateSelf(ImpersonationLevel)
- else
- Result := NtNotImplemented;
- end;
- function RtlInitializeCriticalSection (
- var Section: TRTLCriticalSection): NTSTATUS;
- begin
- if InitNt and Assigned(_RtlInitializeCriticalSection) then
- Result := _RtlInitializeCriticalSection (Section)
- else
- Result := NtNotImplemented;
- end;
- function RtlInitializeCriticalSectionAndSpinCount (
- var Section: TRTLCriticalSection; SpinCount: DWORD): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_RtlInitializeCriticalSectionAndSpinCount) then
- Result := _RtlInitializeCriticalSectionAndSpinCount (Section, SpinCount)
- else
- Result := NtNotImplemented;
- end;
- procedure RtlInitializeHandleTable(MaximumNumberOfHandles,
- SizeOfHandleTableEntry: ULONG; HandleTable: PRTL_HANDLE_TABLE); stdcall;
- begin
- if InitNt and Assigned(_RtlInitializeHandleTable) then
- _RtlInitializeHandleTable(MaximumNumberOfHandles,
- SizeOfHandleTableEntry, HandleTable)
- else
- SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
- end;
- function RtlInitializeSid(Sid: PSID;
- pIdentifierAuthority: PSID_IDENTIFIER_AUTHORITY;
- nSubAuthorityCount: Integer): BOOL; stdcall;
- begin
- if InitNt and Assigned(_RtlInitializeSid) then
- Result := _RtlInitializeSid(Sid, pIdentifierAuthority, nSubAuthorityCount)
- else
- Result := NtNotImplementedBoolean;
- end;
- procedure RtlInitUnicodeString (var Buffer : TUNICODE_STRING;
- Source : PWideChar); stdcall;
- begin
- if InitNt and Assigned(_RtlInitUnicodeString) then
- _RtlInitUnicodeString(Buffer, Source);
- end;
- function RtlIntegerToChar(Value, Base: ULONG; OutputLength: LONG;
- AString: LPSTR): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_RtlIntegerToChar) then
- Result := _RtlIntegerToChar(Value, Base, OutputLength, AString)
- else
- Result := NtNotImplemented;
- end;
- function RtlIntegerToUnicodeString(Value, Base: ULONG;
- AString: PUNICODE_STRING): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_RtlIntegerToUnicodeString) then
- Result := _RtlIntegerToUnicodeString(Value, Base, AString)
- else
- Result := NtNotImplemented;
- end;
- function RtlIsActivationContextActive(hActCtx: THANDLE): BOOL; stdcall;
- begin
- if InitNt and Assigned(_RtlIsActivationContextActive) then
- Result := _RtlIsActivationContextActive(hActCtx)
- else
- Result := NtNotImplementedBoolean;
- end;
- function RtlIsDosDeviceName_U (PathName: LPWSTR): BOOL; stdcall;
- begin
- if InitNt and Assigned(_RtlIsDosDeviceName_U) then
- Result := _RtlIsDosDeviceName_U (PathName)
- else
- Result := NtNotImplementedBoolean;
- end;
- function RtlIsNameLegalDOS8Dot3(Name: PUNICODE_STRING; OemName: PPSTRING;
- NameContainsSpaces: PBOOLEAN): BOOL; stdcall;
- begin
- if InitNt and Assigned(_RtlIsNameLegalDOS8Dot3) then
- Result := _RtlIsNameLegalDOS8Dot3(Name, OemName, NameContainsSpaces)
- else
- Result := NtNotImplementedBoolean;
- end;
- function RtlIsTextUnicode(Buffer: PVOID; Size: ULONG;
- AResult: PULONG): BOOL; stdcall;
- begin
- if InitNt and Assigned(_RtlIsTextUnicode) then
- Result := _RtlIsTextUnicode(Buffer, Size, AResult)
- else
- Result := NtNotImplementedBoolean;
- end;
- function RtlIsValidHandle(HandleTable: PRTL_HANDLE_TABLE;
- Handle: PRTL_HANDLE_TABLE_ENTRY): BOOL; stdcall;
- begin
- if InitNt and Assigned(_RtlIsValidHandle) then
- Result := _RtlIsValidHandle(HandleTable, Handle)
- else
- Result := NtNotImplementedBoolean;
- end;
- procedure RtlLeaveCriticalSection (var Section : TRTLCriticalSection);
- begin
- if InitNt and Assigned(_RtlLeaveCriticalSection) then
- _RtlLeaveCriticalSection (Section)
- else
- NtNotImplemented;
- end;
- function RtlLengthRequiredSid(nSubAuthorityCount: Integer): ULONG; stdcall;
- begin
- if InitNt and Assigned(_RtlLengthRequiredSid) then
- Result := _RtlLengthRequiredSid(nSubAuthorityCount)
- else begin
- SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
- Result := 0;
- end;
- end;
- function RtlLengthSecurityDescriptor(
- SecurityDescriptor: PSECURITY_DESCRIPTOR): ULONG; stdcall;
- begin
- if InitNt and Assigned(_RtlLengthSecurityDescriptor) then
- Result := _RtlLengthSecurityDescriptor(SecurityDescriptor)
- else begin
- SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
- Result := 0;
- end;
- end;
- function RtlLengthSid(Sid: PSID): DWORD; stdcall;
- begin
- if InitNt and Assigned(_RtlLengthSid) then
- Result := _RtlLengthSid(Sid)
- else begin
- SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
- Result := 0;
- end;
- end;
- function RtlLockHeap(HeapHandle: PVOID): BOOL; stdcall;
- begin
- if InitNt and Assigned(_RtlLockHeap) then
- Result := _RtlLockHeap(HeapHandle)
- else
- Result := NtNotImplementedBoolean;
- end;
- function RtlMultiByteToUnicodeN (Dest: PWideChar; MaxDestBufferSize: DWORD;
- PDestBufferSize: LPDWORD; Source: PAnsiChar;
- SourceSize: DWORD): NTSTATUS;
- begin
- if InitNt and Assigned(_RtlMultiByteToUnicodeN) then
- Result := _RtlMultiByteToUnicodeN(Dest, MaxDestBufferSize, PDestBufferSize,
- Source, SourceSize)
- else
- Result := NtNotImplemented;
- end;
- function RtlMultiByteToUnicodeSize(BytesInUnicodeString: PULONG;
- MultiByteString: LPSTR; BytesInMultiByteString: ULONG): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_RtlMultiByteToUnicodeSize) then
- Result := _RtlMultiByteToUnicodeSize(BytesInUnicodeString, MultiByteString,
- BytesInMultiByteString)
- else
- Result := NtNotImplemented;
- end;
- function RtlNtStatusToDosError (Status: NTSTATUS): LongInt; stdcall;
- begin
- if InitNt and Assigned(_RtlNtStatusToDosError) then
- Result := _RtlNtStatusToDosError(Status)
- else
- Result := ERROR_CALL_NOT_IMPLEMENTED;
- end;
- function RtlNtStatusToDosErrorNoTeb (Status: NTSTATUS): LongInt; stdcall;
- begin
- if InitNt and Assigned(_RtlNtStatusToDosErrorNoTeb) then
- Result := _RtlNtStatusToDosErrorNoTeb(Status)
- else
- Result := ERROR_CALL_NOT_IMPLEMENTED;
- end;
- function RtlOemStringToUnicodeString(DestinationString: PUNICODE_STRING;
- SourceString: PSTRING; AllocateDestinationString: BOOL): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_RtlOemStringToUnicodeString) then
- Result := _RtlOemStringToUnicodeString(DestinationString, SourceString,
- AllocateDestinationString)
- else
- Result := NtNotImplemented;
- end;
- function RtlOemToUnicodeN(UnicodeString: LPWSTR; MaxBytesInUnicodeString: ULONG;
- BytesInUnicodeString: PULONG; OemString: LPSTR;
- BytesInOemString: ULONG): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_RtlOemToUnicodeN) then
- Result := _RtlOemToUnicodeN(UnicodeString, MaxBytesInUnicodeString,
- BytesInUnicodeString, OemString, BytesInOemString)
- else
- Result := NtNotImplemented;
- end;
- function RtlOpenCurrentUser(dwDesiredAccess: DWORD;
- phKey: PHANDLE): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_RtlOpenCurrentUser) then
- Result := _RtlOpenCurrentUser(dwDesiredAccess, phKey)
- else
- Result := NtNotImplemented;
- end;
- function RtlPcToFileHeader(PcValue: PVOID; BaseOfImage: PPVOID): PVOID; stdcall;
- begin
- if InitNt and Assigned(_RtlPcToFileHeader) then
- Result := _RtlPcToFileHeader(PcValue, BaseOfImage)
- else
- Result := NtNotImplementedPointer;
- end;
- function RtlPrefixString(String1, String2: PSTRING;
- CaseInSensitive: BOOL): BOOL; stdcall;
- begin
- if InitNt and Assigned(_RtlPrefixString) then
- Result := _RtlPrefixString(String1, String2, CaseInSensitive)
- else
- Result := NtNotImplementedBoolean;
- end;
- function RtlPrefixUnicodeString(String1, String2: PUNICODE_STRING;
- CaseInSensitive: BOOL): BOOL; stdcall;
- begin
- if InitNt and Assigned(_RtlPrefixUnicodeString) then
- Result := _RtlPrefixUnicodeString(String1, String2, CaseInSensitive)
- else
- Result := NtNotImplementedBoolean;
- end;
- procedure RtlpUnWaitCriticalSection (var Section: TRTLCriticalSection);
- begin
- if InitNt and Assigned(_RtlpUnWaitCriticalSection) then
- _RtlpUnWaitCriticalSection (Section)
- else
- NtNotImplemented;
- end;
- procedure RtlpWaitForCriticalSection (var Section: TRTLCriticalSection);
- begin
- if InitNt and Assigned(_RtlpWaitForCriticalSection) then
- _RtlpWaitForCriticalSection (Section)
- else
- NtNotImplemented;
- end;
- function RtlQueryAtomInAtomTable(AtomTable: THANDLE; AAtom: ATOM;
- AtomUsage, AtomFlags: PULONG; AtomName: LPWSTR;
- AtomNameLength: LPDWORD): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_RtlQueryAtomInAtomTable) then
- Result := _RtlQueryAtomInAtomTable(AtomTable, AAtom, AtomUsage, AtomFlags,
- AtomName, AtomNameLength)
- else
- Result := NtNotImplemented;
- end;
- function RtlQueryEnvironmentVariable_U (EnvBlock: PVOID;
- VarName, usResult: PUNICODE_STRING): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_RtlQueryEnvironmentVariable_U) then
- Result := _RtlQueryEnvironmentVariable_U(EnvBlock, VarName, usResult)
- else
- Result := NtNotImplemented;
- end;
- function RtlQueryHeapInformation(HeapHandle: PVOID;
- HeapInformationClass: HEAP_INFORMATION_CLASS; HeapInformation: PVOID;
- HeapInformationLength: SIZE_T; ReturnLength: PULONG): DWORD; stdcall;
- begin
- if InitNt and Assigned(_RtlQueryHeapInformation) then
- Result := _RtlQueryHeapInformation(HeapHandle, HeapInformationClass,
- HeapInformation, HeapInformationLength, ReturnLength)
- else begin
- SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
- Result := 0;
- end;
- end;
- function RtlQueryInformationAcl(Acl: PACL; AclInformation: PVOID;
- AclInformationLength: ULONG;
- AclInformationClass: ACL_INFORMATION_CLASS): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_RtlQueryInformationAcl) then
- Result := _RtlQueryInformationAcl(Acl, AclInformation, AclInformationLength,
- AclInformationClass)
- else
- Result := NtNotImplemented;
- end;
- function RtlQueryInformationActivationContext(dwFlags: DWORD;
- hActCtx: THANDLE; pvSubInstance: PVOID; InfoClass: ULONG; pvBuffer: PVOID;
- cbBuffer: SIZE_T; pcbWrittenOrRequired: PULONG): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_RtlQueryInformationActivationContext) then
- Result := _RtlQueryInformationActivationContext(dwFlags, hActCtx,
- pvSubInstance, InfoClass, pvBuffer, cbBuffer, pcbWrittenOrRequired)
- else
- Result := NtNotImplemented;
- end;
- function RtlQueryInformationActiveActivationContext(InfoClass: ULONG;
- pvBuffer: PVOID; cbBuffer: SIZE_T;
- pcbWrittenOrRequired: PULONG): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_RtlQueryInformationActiveActivationContext) then
- Result := _RtlQueryInformationActiveActivationContext(InfoClass, pvBuffer,
- cbBuffer, pcbWrittenOrRequired)
- else
- Result := NtNotImplemented;
- end;
- function RtlQueryProcessDebugInformation(UniqueProcessId: THANDLE;
- Flags: ULONG; Buffer: PRTL_DEBUG_INFORMATION): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_RtlQueryProcessDebugInformation) then
- Result := _RtlQueryProcessDebugInformation(UniqueProcessId, Flags, Buffer)
- else
- Result := NtNotImplemented;
- end;
- function RtlQueryRegistryValues(RelativeTo: ULONG; Path: LPCWSTR;
- QueryTable: PRTL_QUERY_REGISTRY_TABLE;
- Context, Environment: PVOID): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_RtlQueryRegistryValues) then
- Result := _RtlQueryRegistryValues(RelativeTo, Path, QueryTable, Context,
- Environment)
- else
- Result := NtNotImplemented;
- end;
- function RtlQueryTagHeap(HeapHandle: PVOID; Flags: ULONG; TagIndex: USHORT;
- ResetCounters: BOOL; TagInfo: PRTL_HEAP_TAG_INFO): LPWSTR; stdcall;
- begin
- if InitNt and Assigned(_RtlQueryTagHeap) then
- Result := _RtlQueryTagHeap(HeapHandle, Flags, TagIndex, ResetCounters,
- TagInfo)
- else
- Result := NtNotImplementedPointer;
- end;
- function RtlQueueWorkItem(AFunction: Pointer; Context: PVOID;
- Flags: ULONG): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_RtlQueueWorkItem) then
- Result := _RtlQueueWorkItem(AFunction, Context, Flags)
- else
- Result := NtNotImplemented;
- end;
- procedure RtlRaiseException(ExceptionRecord: PEXCEPTION_RECORD); stdcall;
- begin
- if InitNt and Assigned(_RtlRaiseException) then
- _RtlRaiseException(ExceptionRecord)
- else
- SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
- end;
- procedure RtlRaiseStatus (Status: NTSTATUS); stdcall;
- begin
- if InitNt and Assigned(_RtlRaiseStatus) then
- _RtlRaiseStatus (Status);
- end;
- function RtlReAllocateHeap(HeapHandle: PVOID; Flags: ULONG;
- BaseAddress: PVOID; Size: SIZE_T): PVOID; stdcall;
- begin
- if InitNt and Assigned(_RtlReAllocateHeap) then
- Result := _RtlReAllocateHeap(HeapHandle, Flags, BaseAddress, Size)
- else
- Result := NtNotImplementedPointer;
- end;
- function RtlRegisterWait(WaitHandle: PHANDLE; AHandle: THANDLE;
- AFunction: Pointer; Context: PVOID;
- Milliseconds, Flags: ULONG): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_RtlRegisterWait) then
- Result := _RtlRegisterWait(WaitHandle, AHandle, AFunction, Context,
- Milliseconds, Flags)
- else
- Result := NtNotImplemented;
- end;
- procedure RtlReleaseActivationContext(hActCtx: THANDLE); stdcall;
- begin
- if InitNt and Assigned(_RtlReleaseActivationContext) then
- _RtlReleaseActivationContext(hActCtx)
- else
- SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
- end;
- procedure RtlRunDecodeUnicodeString(Seed: BYTE;
- AString: PUNICODE_STRING); stdcall;
- begin
- if InitNt and Assigned(_RtlRunDecodeUnicodeString) then
- _RtlRunDecodeUnicodeString(Seed, AString)
- else
- SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
- end;
- procedure RtlRunEncodeUnicodeString(Seed: PBYTE; AString: PUNICODE_STRING); stdcall;
- begin
- if InitNt and Assigned(_RtlRunEncodeUnicodeString) then
- _RtlRunEncodeUnicodeString(Seed, AString)
- else
- SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
- end;
- function RtlSetCurrentDirectory_U(PathName: PUNICODE_STRING): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_RtlSetCurrentDirectory_U) then
- Result := _RtlSetCurrentDirectory_U(PathName)
- else
- Result := NtNotImplemented;
- end;
- function RtlSetDaclSecurityDescriptor(
- SecurityDescriptor: PSECURITY_DESCRIPTOR; DaclPresent: BOOL; Dacl: PACL;
- DaclDefaulted: BOOL): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_RtlSetDaclSecurityDescriptor) then
- Result := _RtlSetDaclSecurityDescriptor(SecurityDescriptor, DaclPresent,
- Dacl, DaclDefaulted)
- else
- Result := NtNotImplemented;
- end;
- function RtlSetEnvironmentVariable(Environment: PPVOID;
- Name, Value: PUNICODE_STRING): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_RtlSetEnvironmentVariable) then
- Result := _RtlSetEnvironmentVariable(Environment, Name, Value)
- else
- Result := NtNotImplemented;
- end;
- function RtlSetHeapInformation(HeapHandle: PVOID;
- HeapInformationClass: HEAP_INFORMATION_CLASS; HeapInformation: PVOID;
- HeapInformationLength: SIZE_T): DWORD; stdcall;
- begin
- if InitNt and Assigned(_RtlSetHeapInformation) then
- Result := _RtlSetHeapInformation(HeapHandle, HeapInformationClass,
- HeapInformation, HeapInformationLength)
- else begin
- SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
- Result := 0;
- end;
- end;
- function RtlSetIoCompletionCallback(FileHandle: THANDLE;
- CompletionProc: Pointer; Flags: ULONG): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_RtlSetIoCompletionCallback) then
- Result := _RtlSetIoCompletionCallback(FileHandle, CompletionProc, Flags)
- else
- Result := NtNotImplemented;
- end;
- function RtlSetThreadErrorMode (ErrorMode: DWORD): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_RtlSetThreadErrorMode) then
- Result := _RtlSetThreadErrorMode(ErrorMode)
- else
- Result := NtNotImplemented;
- end;
- function RtlSetThreadPoolStartFunc(lpfnStartThreadFunc: Pointer;
- lpfnExitThreadFunc: Pointer): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_RtlSetThreadPoolStartFunc) then
- Result := _RtlSetThreadPoolStartFunc(lpfnStartThreadFunc,
- lpfnExitThreadFunc)
- else
- Result := NtNotImplemented;
- end;
- function RtlSetTimeZoneInformation(
- TimeZoneInformation: PRTL_TIME_ZONE_INFORMATION): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_RtlSetTimeZoneInformation) then
- Result := _RtlSetTimeZoneInformation(TimeZoneInformation)
- else
- Result := NtNotImplemented;
- end;
- procedure RtlSetUnicodeCallouts(Callouts: PVOID); stdcall;
- begin
- if InitNt and Assigned(_RtlSetUnicodeCallouts) then
- _RtlSetUnicodeCallouts(Callouts)
- else
- SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
- end;
- function RtlSetUserValueHeap(HeapHandle: PVOID; Flags: ULONG;
- BaseAddress, UserValue: PVOID): BOOL; stdcall;
- begin
- if InitNt and Assigned(_RtlSetUserValueHeap) then
- Result := _RtlSetUserValueHeap(HeapHandle, Flags, BaseAddress, UserValue)
- else
- Result := NtNotImplementedBoolean;
- end;
- function RtlSizeHeap(HeapHandle: PVOID; Flags: ULONG;
- BaseAddress: PVOID): SIZE_T; stdcall;
- begin
- if InitNt and Assigned(_RtlSizeHeap) then
- Result := _RtlSizeHeap(HeapHandle, Flags, BaseAddress)
- else begin
- Result := 0;
- SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
- end;
- end;
- function RtlStringFromGUID(AGuid: PGUID;
- GuidString: PUNICODE_STRING): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_RtlStringFromGUID) then
- Result := _RtlStringFromGUID(AGuid, GuidString)
- else
- Result := NtNotImplemented;
- end;
- function RtlSubAuthoritySid(Sid: PSID; nSubAuthority: ULONG): PULONG; stdcall;
- begin
- if InitNt and Assigned(_RtlSubAuthoritySid) then
- Result := _RtlSubAuthoritySid(Sid, nSubAuthority)
- else
- Result := NtNotImplementedPointer;
- end;
- function RtlTimeFieldsToTime(TimeFields: PTIME_FIELDS;
- Time: PLARGE_INTEGER): BOOL; stdcall;
- begin
- if InitNt and Assigned(_RtlTimeFieldsToTime) then
- Result := _RtlTimeFieldsToTime(TimeFields, Time)
- else
- Result := NtNotImplementedBoolean;
- end;
- procedure RtlTimeToTimeFields (ATime: PLARGE_INTEGER;
- ATimeFields: PTIME_FIELDS); stdcall;
- begin
- if InitNt and Assigned(_RtlTimeToTimeFields) then
- _RtlTimeToTimeFields (ATime, ATimeFields);
- end;
- function RtlTryEnterCriticalSection (
- var Section: TRTLCriticalSection): Boolean; stdcall;
- begin
- if InitNt and Assigned(_RtlTryEnterCriticalSection) then
- Result := _RtlTryEnterCriticalSection(Section)
- else
- Result := NtNotImplementedBoolean;
- end;
- function RtlUnicodeStringToAnsiString (AnsiString: PANSI_STRING;
- UnicodeString: PUNICODE_STRING; fAllocate: LongBool): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_RtlUnicodeStringToAnsiString) then
- Result := _RtlUnicodeStringToAnsiString(AnsiString, UnicodeString,
- fAllocate)
- else
- Result := NtNotImplemented;
- end;
- function RtlUnicodeStringToInteger(AString: PUNICODE_STRING; Base: ULONG;
- Value: PULONG): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_RtlUnicodeStringToInteger) then
- Result := _RtlUnicodeStringToInteger(AString, Base, Value)
- else
- Result := NtNotImplemented;
- end;
- function RtlUnicodeStringToOemString(DestinationString: PSTRING;
- SourceString: PUNICODE_STRING;
- AllocateDestinationString: BOOL): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_RtlUnicodeStringToOemString) then
- Result := _RtlUnicodeStringToOemString(DestinationString, SourceString,
- AllocateDestinationString)
- else
- Result := NtNotImplemented;
- end;
- function RtlUnicodeToMultiByteN(Dest: LPSTR; DestSize: Integer;
- ReturnLength: PLONG; Source: LPWSTR; dwNumChars: Integer): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_RtlUnicodeToMultiByteN) then
- Result := _RtlUnicodeToMultiByteN(Dest, DestSize, ReturnLength, Source,
- dwNumChars)
- else
- Result := NtNotImplemented;
- end;
- function RtlUnicodeToMultiByteSize(pResult: LPDWORD; lpusString: PWideChar;
- cchusString: DWORD): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_RtlUnicodeToMultiByteSize) then
- Result := _RtlUnicodeToMultiByteSize(pResult, lpusString, cchusString)
- else
- Result := NtNotImplemented;
- end;
- function RtlUnicodeToOemN(OemString: LPSTR; MaxBytesInOemString: ULONG;
- BytesInOemString: PULONG; UnicodeString: LPWSTR;
- BytesInUnicodeString: ULONG): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_RtlUnicodeToOemN) then
- Result := _RtlUnicodeToOemN(OemString, MaxBytesInOemString,
- BytesInOemString, UnicodeString, BytesInUnicodeString)
- else
- Result := NtNotImplemented;
- end;
- function RtlUnlockHeap(HeapHandle: PVOID): BOOL; stdcall;
- begin
- if InitNt and Assigned(_RtlUnlockHeap) then
- Result := _RtlUnlockHeap(HeapHandle)
- else
- Result := NtNotImplementedBoolean;
- end;
- procedure RtlUnwind(TargetFrame, TargetIp: PVOID;
- ExceptionRecord: PEXCEPTION_RECORD; ReturnValue: PVOID); stdcall;
- begin
- if InitNt and Assigned(_RtlUnwind) then
- _RtlUnwind(TargetFrame, TargetIp, ExceptionRecord, ReturnValue)
- else
- SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
- end;
- function RtlUpcaseUnicodeChar(SourceCharacter: WideChar): WideChar; stdcall;
- begin
- if InitNt and Assigned(_RtlUpcaseUnicodeChar) then
- Result := _RtlUpcaseUnicodeChar(SourceCharacter)
- else begin
- SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
- Result := #0;
- end;
- end;
- function RtlUpcaseUnicodeString(DestinationString: PUNICODE_STRING;
- SourceString: PUNICODE_STRING;
- AllocateDestinationString: BOOL): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_RtlUpcaseUnicodeString) then
- Result := _RtlUpcaseUnicodeString(DestinationString, SourceString,
- AllocateDestinationString)
- else
- Result := NtNotImplemented;
- end;
- function RtlUpdateTimer(TimerQueueHandle, Timer: THANDLE;
- DueTime, Period: ULONG): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_RtlUpdateTimer) then
- Result := _RtlUpdateTimer(TimerQueueHandle, Timer, DueTime, Period)
- else
- Result := NtNotImplemented;
- end;
- function RtlUpperChar(c: Char): Char; stdcall;
- begin
- if InitNt and Assigned(_RtlUpperChar) then
- Result := _RtlUpperChar(c)
- else begin
- SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
- Result := #0;
- end;
- end;
- procedure RtlUpperString(DestinationString, SourceString: PSTRING); stdcall;
- begin
- if InitNt and Assigned(_RtlUpperString) then
- _RtlUpperString(DestinationString, SourceString)
- else
- SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
- end;
- function RtlUsageHeap(HeapHandle: PVOID; Flags: ULONG;
- Usage: PRTL_HEAP_USAGE): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_RtlUsageHeap) then
- Result := _RtlUsageHeap(HeapHandle, Flags, Usage)
- else
- Result := NtNotImplemented;
- end;
- function RtlValidAcl(Acl: PACL): BOOL; stdcall;
- begin
- if InitNt and Assigned(_RtlValidAcl) then
- Result := _RtlValidAcl(Acl)
- else
- Result := NtNotImplementedBoolean;
- end;
- function RtlValidateHeap(HeapHandle: PVOID; Flags: ULONG;
- BaseAddress: PVOID): BOOL; stdcall;
- begin
- if InitNt and Assigned(_RtlValidateHeap) then
- Result := _RtlValidateHeap(HeapHandle, Flags, BaseAddress)
- else
- Result := NtNotImplementedBoolean;
- end;
- function RtlValidRelativeSecurityDescriptor(
- SecurityDescriptorInput: PSECURITY_DESCRIPTOR;
- SecurityDescriptorLength: ULONG;
- RequiredInformation: SECURITY_INFORMATION): BOOL; stdcall;
- begin
- if InitNt and Assigned(_RtlValidRelativeSecurityDescriptor) then
- Result := _RtlValidRelativeSecurityDescriptor(SecurityDescriptorInput,
- SecurityDescriptorLength, RequiredInformation)
- else
- Result := NtNotImplementedBoolean;
- end;
- function RtlValidSecurityDescriptor(
- SecurityDescriptor: PSECURITY_DESCRIPTOR): BOOL; stdcall;
- begin
- if InitNt and Assigned(_RtlValidSecurityDescriptor) then
- Result := _RtlValidSecurityDescriptor(SecurityDescriptor)
- else
- Result := NtNotImplementedBoolean;
- end;
- function RtlValidSid(Sid: PSID): BOOL; stdcall;
- begin
- if InitNt and Assigned(_RtlValidSid) then
- Result := _RtlValidSid(Sid)
- else
- Result := NtNotImplementedBoolean;
- end;
- function RtlVerifyVersionInfo(VersionInfo: PRTL_OSVERSIONINFOEXW;
- TypeMask: ULONG; ConditionMask: ULONGLONG): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_RtlVerifyVersionInfo) then
- Result := _RtlVerifyVersionInfo(VersionInfo, TypeMask, ConditionMask)
- else
- Result := NtNotImplemented;
- end;
- function RtlWalkHeap(HeapHandle: PVOID;
- Entry: PRTL_HEAP_WALK_ENTRY): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_RtlWalkHeap) then
- Result := _RtlWalkHeap(HeapHandle, Entry)
- else
- Result := NtNotImplemented;
- end;
- function RtlxAnsiStringToUnicodeSize(AAnsiString: PANSI_STRING): ULONG; stdcall;
- begin
- if InitNt and Assigned(_RtlxAnsiStringToUnicodeSize) then
- Result := _RtlxAnsiStringToUnicodeSize(AAnsiString)
- else begin
- SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
- Result := 0;
- end;
- end;
- function RtlxOemStringToUnicodeSize(OemString: PSTRING): ULONG; stdcall;
- begin
- if InitNt and Assigned(_RtlxOemStringToUnicodeSize) then
- Result := _RtlxOemStringToUnicodeSize(OemString)
- else begin
- SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
- Result := 0;
- end;
- end;
- function RtlxUnicodeStringToAnsiSize(
- UnicodeString: PUNICODE_STRING): ULONG; stdcall;
- begin
- if InitNt and Assigned(_RtlxUnicodeStringToAnsiSize) then
- Result := _RtlxUnicodeStringToAnsiSize(UnicodeString)
- else
- Result := NtNotImplemented;
- end;
- function RtlxUnicodeStringToOemSize(
- UnicodeString: PUNICODE_STRING): ULONG; stdcall;
- begin
- if InitNt and Assigned(_RtlxUnicodeStringToOemSize) then
- Result := _RtlxUnicodeStringToOemSize(UnicodeString)
- else
- Result := NtNotImplemented;
- end;
- function RtlZombifyActivationContext(hActCtx: THANDLE): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_RtlZombifyActivationContext) then
- Result := _RtlZombifyActivationContext(hActCtx)
- else
- Result := NtNotImplemented;
- end;
- function wcscat(s1: LPWSTR; s2: LPWSTR): LPWSTR; cdecl;
- begin
- if InitNt and Assigned(_wcscat) then
- Result := _wcscat(s1, s2)
- else
- Result := NtNotImplementedPointer;
- end;
- function wcscmp(s1: LPWSTR; s2: LPWSTR): Integer; cdecl;
- begin
- if InitNt and Assigned(_wcscmp) then
- Result := _wcscmp(s1, s2)
- else begin
- SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
- Result := 0;
- end;
- end;
- function wcslen(s: LPWSTR): SIZE_T; cdecl;
- begin
- if InitNt and Assigned(_wcslen) then
- Result := _wcslen(s)
- else begin
- SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
- Result := 0;
- end;
- end;
- function wcsrchr(s: LPWSTR; c: Integer): LPWSTR; cdecl;
- begin
- if InitNt and Assigned(_wcsrchr) then
- Result := _wcsrchr(s, c)
- else
- Result := NtNotImplementedPointer;
- end;
- function RtlGetLongestNtPathLength : DWORD; stdcall;
- begin
- if InitNt and Assigned(_RtlGetLongestNtPathLength) then
- Result := _RtlGetLongestNtPathLength
- else begin
- SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
- Result := 0;
- end;
- end;
- procedure RtlReleasePebLock; stdcall;
- begin
- if InitNt and Assigned(_RtlReleasePebLock) then
- _RtlReleasePebLock
- else
- NtNotImplemented();
- end;
- function RtlFreeHeap (Heap: THandle; FreeingFlags: DWORD;
- Memory: Pointer): Boolean; stdcall;
- begin
- if InitNt and Assigned(_RtlFreeHeap) then
- Result := _RtlFreeHeap(Heap, FreeingFlags, Memory)
- else
- Result := NtNotImplementedBoolean;
- end;
- procedure RtlInitAnsiString (var Buffer : TANSI_STRING;
- Source : PAnsiChar); stdcall;
- begin
- if InitNt and Assigned(_RtlInitAnsiString) then
- _RtlInitAnsiString(Buffer, Source);
- end;
- procedure RtlInitString (var Buffer : TANSI_STRING;
- Source : PAnsiChar); stdcall;
- begin
- if InitNt and Assigned(_RtlInitString) then
- _RtlInitString(Buffer, Source);
- end;
- procedure RtlRestoreLastWin32Error (dwError: DWORD); stdcall;
- begin
- if InitNt and Assigned(_RtlRestoreLastWin32Error) then
- _RtlRestoreLastWin32Error(dwError);
- end;
- procedure RtlFreeThreadActivationContextStack; stdcall;
- begin
- if InitNt and Assigned(_RtlFreeThreadActivationContextStack) then
- _RtlFreeThreadActivationContextStack;
- end;
- procedure RtlFreeAnsiString (Buffer : PAnsiString); stdcall;
- begin
- if InitNt and Assigned(_RtlFreeAnsiString) then
- _RtlFreeAnsiString(Buffer);
- end;
- procedure RtlFreeUnicodeString (Buffer : PUnicodeString); stdcall;
- begin
- if InitNt and Assigned(_RtlFreeUnicodeString) then
- _RtlFreeUnicodeString(Buffer);
- end;
- function RtlEqualUnicodeString (String1, String2: PUnicodeString;
- CaseInSensitive: Boolean): Boolean; stdcall;
- begin
- if InitNt and Assigned(_RtlEqualUnicodeString) then
- Result := _RtlEqualUnicodeString(String1, String2, CaseInSensitive)
- else
- Result := NtNotImplementedBoolean;
- end;
- function RtlImageNtHeaderEx (dwFlags: DWORD; ImageBase: HMODULE;
- ImageSize, ImageSizeHigh: ULONG;
- NtHeaders: PPImageNTHeaders): NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_RtlImageNtHeaderEx) then
- Result := _RtlImageNtHeaderEx(dwFlags, ImageBase, ImageSize, ImageSizeHigh,
- NtHeaders)
- else
- Result := NtNotImplemented;
- end;
- function RtlGetThreadErrorMode: DWORD; stdcall;
- begin
- if InitNt and Assigned(_RtlGetThreadErrorMode) then
- Result := _RtlGetThreadErrorMode
- else begin
- SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
- Result := DWORD(-1);
- end;
- end;
- function RtlGetLastNtStatus: NTSTATUS; stdcall;
- begin
- if InitNt and Assigned(_RtlGetLastNtStatus) then
- Result := _RtlGetLastNtStatus
- else
- Result := NtNotImplemented;
- end;
- function RtlGetLastWin32Error: DWORD; stdcall;
- begin
- if InitNt and Assigned(_RtlGetLastWin32Error) then
- Result := _RtlGetLastWin32Error
- else begin
- SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
- Result := DWORD(-1);
- end;
- end;
- function wcscpy (const Dst, Src: PWideChar): PWideChar; cdecl;
- begin
- if InitNt and Assigned(_wcscpy) then
- Result := _wcscpy (Dst, Src)
- else
- Result := NtNotImplementedPointer;
- end;
- function wcschr (const s: PWideChar; c: WideChar): PWideChar; cdecl;
- begin
- if InitNt and Assigned(_wcschr) then
- Result := _wcschr (s, c)
- else
- Result := NtNotImplementedPointer;
- end;
- procedure InitializeObjectAttributes (P: POBJECT_ATTRIBUTES; N: PUNICODE_STRING;
- A: ULONG; R: THANDLE; S: PSECURITY_DESCRIPTOR);
- begin
- P^.Length := SizeOf(OBJECT_ATTRIBUTES);
- P^.RootDirectory := R;
- P^.Attributes := A;
- P^.ObjectName := N;
- P^.SecurityDescriptor := S;
- P^.SecurityQualityOfService := nil;
- end;
- end.
Add Comment
Please, Sign In to add comment