ReactOS 0.4.16-dev-258-g81860b4
umfuncs.h
Go to the documentation of this file.
1/*++ NDK Version: 0098
2
3Copyright (c) Alex Ionescu. All rights reserved.
4
5Header Name:
6
7 umfuncs.h
8
9Abstract:
10
11 Function definitions for Native DLL (ntdll) APIs exclusive to User Mode.
12
13Author:
14
15 Alex Ionescu (alexi@tinykrnl.org) - Updated - 27-Feb-2006
16
17--*/
18
19#ifndef _UMFUNCS_H
20#define _UMFUNCS_H
21
22//
23// Dependencies
24//
25#include <umtypes.h>
26#include <dbgktypes.h>
27
28//
29// Debug Functions
30//
33VOID
37);
38
42 VOID
43);
44
49 _In_ NTSTATUS ContinueStatus
50);
51
56);
57
62);
63
68 _In_ PDBGUI_WAIT_STATE_CHANGE DbgUiWaitStateCange,
69 _In_ PLARGE_INTEGER TimeOut
70);
71
75 _In_ PDBGUI_WAIT_STATE_CHANGE WaitStateChange,
77);
78
79VOID
82 VOID
83);
84
89);
90
94 VOID
95);
96
97//
98// Loader Functions
99//
100
102NTAPI
106);
107
109NTAPI
112);
113
115NTAPI
118 _In_opt_ PULONG DllCharacteristics,
119 _In_ PUNICODE_STRING DllName,
120 _Out_ PVOID *DllHandle
121);
122
124NTAPI
128 _In_opt_ PULONG DllCharacteristics,
129 _In_ PUNICODE_STRING DllName,
130 _Out_opt_ PVOID *DllHandle);
131
133NTAPI
137);
138
140NTAPI
144 _In_opt_ _When_(Name == NULL, _In_range_(>, 0)) ULONG Ordinal,
145 _Out_ PVOID *ProcedureAddress
146);
147
148VOID
149NTAPI
151 ULONG Unknown1,
152 ULONG Unknown2,
155);
156
158NTAPI
161 _In_opt_ PULONG DllCharacteristics,
162 _In_ PUNICODE_STRING DllName,
164);
165
167NTAPI
171 _In_ PUSHORT TypeOffset,
173);
174
176NTAPI
178 _In_ PUNICODE_STRING SubKey,
184);
185
187NTAPI
192);
193
194VOID
195NTAPI
198
200NTAPI
202 VOID
203);
204
206NTAPI
208 VOID
209);
210
212NTAPI
215);
216
219NTAPI
224 _Out_ PUSHORT ImageCharacteristics
225);
226
228NTAPI
230 _In_ PUNICODE_STRING SubKey,
231 _In_ BOOLEAN Wow64,
232 _Out_ PHANDLE NewKeyHandle
233);
234
236NTAPI
244);
245
246#endif
unsigned char BOOLEAN
PRTL_UNICODE_STRING_BUFFER PULONG PULONG Unknown4
ULONG ReturnedSize
Type
Definition: Type.h:7
#define VOID
Definition: acefi.h:82
struct NameRec_ * Name
Definition: cdprocs.h:460
LONG NTSTATUS
Definition: precomp.h:26
_In_ ULONG _In_ BATTERY_QUERY_INFORMATION_LEVEL _In_ LONG _In_ ULONG _Out_ PULONG ReturnedLength
Definition: batclass.h:188
#define NTSYSAPI
Definition: ntoskrnl.h:12
Definition: bufpool.h:45
IN PUNICODE_STRING IN POBJECT_ATTRIBUTES IN DWORD Unknown3
Definition: conport.c:37
#define NULL
Definition: types.h:112
_Must_inspect_result_ _In_opt_ PFLT_INSTANCE _Out_ PHANDLE FileHandle
Definition: fltkernel.h:1231
_Must_inspect_result_ _In_ PLARGE_INTEGER _In_ PLARGE_INTEGER _In_ ULONG _In_ PFILE_OBJECT _In_ PVOID Process
Definition: fsrtlfuncs.h:223
Status
Definition: gdiplustypes.h:25
NTSYSAPI void WINAPI LdrShutdownProcess(void)
Definition: ldrinit.c:943
NTSYSAPI void WINAPI LdrShutdownThread(void)
Definition: ldrinit.c:1082
LDR_MANIFEST_PROBER_ROUTINE * PLDR_MANIFEST_PROBER_ROUTINE
Definition: ldrtypes.h:248
static const char const char * DllPath
Definition: image.c:34
__int3264 LONG_PTR
Definition: mstsclib_h.h:276
_Must_inspect_result_ _Out_ PNDIS_STATUS _In_ NDIS_HANDLE _In_ ULONG _Out_ PNDIS_STRING _Out_ PNDIS_HANDLE KeyHandle
Definition: ndis.h:4715
_In_ HANDLE _Outptr_result_bytebuffer_ ViewSize PVOID * BaseAddress
Definition: mmfuncs.h:404
#define _Out_opt_
Definition: no_sal2.h:214
#define _Notnull_
Definition: no_sal2.h:54
#define _Out_writes_bytes_to_(s, c)
Definition: no_sal2.h:190
#define _Out_
Definition: no_sal2.h:160
#define _In_
Definition: no_sal2.h:158
#define _In_opt_
Definition: no_sal2.h:212
#define _In_range_(l, h)
Definition: no_sal2.h:368
#define _When_(c, a)
Definition: no_sal2.h:38
int Count
Definition: noreturn.cpp:7
PVOID *typedef PHANDLE
Definition: ntsecpkg.h:455
static WCHAR Address[46]
Definition: ping.c:68
#define __analysis_noreturn
Definition: specstrings.h:262
Definition: btrfs_drv.h:1876
#define DebugEvent(tess)
Definition: sweep.c:59
uint16_t * PWSTR
Definition: typedefs.h:56
uint32_t * PULONG
Definition: typedefs.h:59
const uint16_t * PCWSTR
Definition: typedefs.h:57
#define NTAPI
Definition: typedefs.h:36
uint16_t * PUSHORT
Definition: typedefs.h:56
uint32_t ULONG_PTR
Definition: typedefs.h:65
uint32_t ULONG
Definition: typedefs.h:59
char * PCHAR
Definition: typedefs.h:51
NTSTATUS NTAPI LdrGetDllHandle(_In_opt_ PWSTR DllPath, _In_opt_ PULONG DllCharacteristics, _In_ PUNICODE_STRING DllName, _Out_ PVOID *DllHandle)
Definition: ldrapi.c:770
NTSTATUS NTAPI LdrUnloadDll(_In_ PVOID BaseAddress)
Definition: ldrapi.c:1291
NTSTATUS NTAPI DbgUiDebugActiveProcess(_In_ HANDLE Process)
NTSTATUS NTAPI LdrVerifyImageMatchesChecksum(_In_ HANDLE FileHandle, _In_ PLDR_CALLBACK Callback, _In_ PVOID CallbackContext, _Out_ PUSHORT ImageCharacteristics)
Definition: ldrapi.c:804
NTSTATUS NTAPI DbgUiConnectToDbg(VOID)
Definition: dbgui.c:25
VOID NTAPI LdrSetDllManifestProber(_In_ PLDR_MANIFEST_PROBER_ROUTINE Routine)
Definition: ldrapi.c:73
NTSTATUS NTAPI LdrDisableThreadCalloutsForDll(_In_ PVOID BaseAddress)
Definition: ldrapi.c:1154
NTSTATUS NTAPI LdrQueryImageFileExecutionOptions(_In_ PUNICODE_STRING SubKey, _In_ PCWSTR ValueName, _In_ ULONG Type, _Out_ PVOID Buffer, _In_ ULONG BufferSize, _Out_opt_ PULONG ReturnedLength)
Definition: ldrinit.c:389
NTSTATUS NTAPI DbgUiStopDebugging(_In_ HANDLE Process)
NTSYSAPI NTSTATUS NTAPI DbgUiWaitStateChange(_In_ PDBGUI_WAIT_STATE_CHANGE DbgUiWaitStateCange, _In_ PLARGE_INTEGER TimeOut)
__analysis_noreturn NTSYSAPI VOID NTAPI DbgBreakPointWithStatus(_In_ ULONG Status)
NTSTATUS NTAPI LdrGetDllHandleEx(_In_ ULONG Flags, _In_opt_ PWSTR DllPath, _In_opt_ PULONG DllCharacteristics, _In_ PUNICODE_STRING DllName, _Out_opt_ PVOID *DllHandle)
Definition: ldrapi.c:505
NTSTATUS NTAPI LdrQueryImageFileKeyOption(_In_ HANDLE KeyHandle, _In_ PCWSTR ValueName, _In_ ULONG Type, _Out_ PVOID Buffer, _In_ ULONG BufferSize, _Out_opt_ PULONG ReturnedLength)
Definition: ldrinit.c:185
PIMAGE_BASE_RELOCATION NTAPI LdrProcessRelocationBlock(_In_ ULONG_PTR Address, _In_ ULONG Count, _In_ PUSHORT TypeOffset, _In_ LONG_PTR Delta)
Definition: ldrapi.c:1568
NTSTATUS NTAPI DbgUiConvertStateChangeStructure(_In_ PDBGUI_WAIT_STATE_CHANGE WaitStateChange, _In_ PVOID DebugEvent)
NTSTATUS NTAPI LdrOpenImageFileOptionsKey(_In_ PUNICODE_STRING SubKey, _In_ BOOLEAN Wow64, _Out_ PHANDLE NewKeyHandle)
Definition: ldrinit.c:112
NTSTATUS NTAPI DbgUiContinue(_In_ PCLIENT_ID ClientId, _In_ NTSTATUS ContinueStatus)
NTSTATUS NTAPI LdrQueryProcessModuleInformation(_Out_writes_bytes_to_(Size, *ReturnedSize) PRTL_PROCESS_MODULES ModuleInformation, _In_ ULONG Size, _Out_opt_ PULONG ReturnedSize)
Definition: ldrapi.c:1076
NTSTATUS NTAPI LdrLoadDll(_In_opt_ PWSTR SearchPath, _In_opt_ PULONG DllCharacteristics, _In_ PUNICODE_STRING DllName, _Out_ PVOID *BaseAddress)
Definition: ldrapi.c:312
NTSTATUS NTAPI DbgUiIssueRemoteBreakin(_In_ HANDLE Process)
HANDLE NTAPI DbgUiGetThreadDebugObject(VOID)
Definition: dbgui.c:333
VOID NTAPI LdrInitializeThunk(ULONG Unknown1, ULONG Unknown2, ULONG Unknown3, ULONG Unknown4)
NTSTATUS NTAPI LdrAddRefDll(_In_ ULONG Flags, _In_ PVOID BaseAddress)
Definition: ldrapi.c:1205
VOID(NTAPI * PLDR_CALLBACK)(PVOID CallbackContext, PCHAR Name)
Definition: umfuncs.h:217
NTSTATUS NTAPI LdrFindEntryForAddress(_In_ PVOID Address, _Out_ PLDR_DATA_TABLE_ENTRY *Module)
Definition: ldrapi.c:425
NTSTATUS NTAPI LdrGetProcedureAddress(_In_ PVOID BaseAddress, _In_opt_ _When_(Ordinal==0, _Notnull_) PANSI_STRING Name, _In_opt_ _When_(Name==NULL, _In_range_(>, 0)) ULONG Ordinal, _Out_ PVOID *ProcedureAddress)
Definition: ldrapi.c:789
VOID NTAPI DbgUiRemoteBreakin(VOID)
Definition: dbgui.c:289
_Must_inspect_result_ _In_ WDFDEVICE _In_ PWDF_DEVICE_PROPERTY_DATA _In_ DEVPROPTYPE _In_ ULONG Size
Definition: wdfdevice.h:4533
_In_ WDFINTERRUPT _In_ PFN_WDF_INTERRUPT_SYNCHRONIZE Callback
Definition: wdfinterrupt.h:458
_In_ WDFMEMORY _Out_opt_ size_t * BufferSize
Definition: wdfmemory.h:254
_Must_inspect_result_ _In_ WDFKEY _In_ PCUNICODE_STRING ValueName
Definition: wdfregistry.h:243
#define SearchPath
Definition: winbase.h:3925
_IRQL_requires_same_ typedef _In_ ULONG _In_ UCHAR _In_ ULONGLONG _In_ ULONGLONG _In_opt_ PEVENT_FILTER_DESCRIPTOR _Inout_opt_ PVOID CallbackContext
Definition: wmitypes.h:60
_Must_inspect_result_ _In_ ULONG Flags
Definition: wsk.h:170
static ULONG Delta
Definition: xboxvideo.c:33
_Out_ PCLIENT_ID ClientId
Definition: kefuncs.h:1151