ReactOS  0.4.12-dev-396-g37af787
except.c File Reference
#include <k32.h>
#include <strsafe.h>
#include <debug.h>
Include dependency graph for except.c:

Go to the source code of this file.

Macros

#define NDEBUG
 

Functions

static const char_module_name_from_addr (const void *addr, void **module_start_addr, char *psz, size_t nChars, char **module_name)
 
static VOID _dump_context (PCONTEXT pc)
 
static VOID PrintStackTrace (IN PEXCEPTION_POINTERS ExceptionInfo)
 
LONG WINAPI BasepCheckForReadOnlyResource (IN PVOID Ptr)
 
UINT WINAPI GetErrorMode (VOID)
 
LONG WINAPI UnhandledExceptionFilter (IN PEXCEPTION_POINTERS ExceptionInfo)
 
VOID WINAPI RaiseException (IN DWORD dwExceptionCode, IN DWORD dwExceptionFlags, IN DWORD nNumberOfArguments, IN CONST ULONG_PTR *lpArguments OPTIONAL)
 
UINT WINAPI SetErrorMode (IN UINT uMode)
 
LPTOP_LEVEL_EXCEPTION_FILTER WINAPI DECLSPEC_HOTPATCH SetUnhandledExceptionFilter (IN LPTOP_LEVEL_EXCEPTION_FILTER lpTopLevelExceptionFilter)
 
BOOL WINAPI IsBadReadPtr (IN LPCVOID lp, IN UINT_PTR ucb)
 
BOOL NTAPI IsBadHugeReadPtr (LPCVOID lp, UINT_PTR ucb)
 
BOOL NTAPI IsBadCodePtr (FARPROC lpfn)
 
BOOL NTAPI IsBadWritePtr (IN LPVOID lp, IN UINT_PTR ucb)
 
BOOL NTAPI IsBadHugeWritePtr (IN LPVOID lp, IN UINT_PTR ucb)
 
BOOL NTAPI IsBadStringPtrW (IN LPCWSTR lpsz, IN UINT_PTR ucchMax)
 
BOOL NTAPI IsBadStringPtrA (IN LPCSTR lpsz, IN UINT_PTR ucchMax)
 
VOID WINAPI SetLastError (IN DWORD dwErrCode)
 
DWORD WINAPI BaseSetLastNTError (IN NTSTATUS Status)
 
DWORD WINAPI GetLastError (VOID)
 

Variables

LPTOP_LEVEL_EXCEPTION_FILTER GlobalTopLevelExceptionFilter
 
DWORD g_dwLastErrorToBreakOn
 

Macro Definition Documentation

◆ NDEBUG

#define NDEBUG

Definition at line 17 of file except.c.

Function Documentation

◆ _dump_context()

static VOID _dump_context ( PCONTEXT  pc)
static

Definition at line 59 of file except.c.

60 {
61 #ifdef _M_IX86
62  /*
63  * Print out the CPU registers
64  */
65  DbgPrint("CS:EIP %x:%x\n", pc->SegCs&0xffff, pc->Eip );
66  DbgPrint("DS %x ES %x FS %x GS %x\n", pc->SegDs&0xffff, pc->SegEs&0xffff,
67  pc->SegFs&0xffff, pc->SegGs&0xfff);
68  DbgPrint("EAX: %.8x EBX: %.8x ECX: %.8x\n", pc->Eax, pc->Ebx, pc->Ecx);
69  DbgPrint("EDX: %.8x EBP: %.8x ESI: %.8x ESP: %.8x\n", pc->Edx,
70  pc->Ebp, pc->Esi, pc->Esp);
71  DbgPrint("EDI: %.8x EFLAGS: %.8x\n", pc->Edi, pc->EFlags);
72 #elif defined(_M_AMD64)
73  DbgPrint("CS:RIP %x:%I64x\n", pc->SegCs&0xffff, pc->Rip );
74  DbgPrint("DS %x ES %x FS %x GS %x\n", pc->SegDs&0xffff, pc->SegEs&0xffff,
75  pc->SegFs&0xffff, pc->SegGs&0xfff);
76  DbgPrint("RAX: %I64x RBX: %I64x RCX: %I64x RDI: %I64x\n", pc->Rax, pc->Rbx, pc->Rcx, pc->Rdi);
77  DbgPrint("RDX: %I64x RBP: %I64x RSI: %I64x RSP: %I64x\n", pc->Rdx, pc->Rbp, pc->Rsi, pc->Rsp);
78  DbgPrint("R8: %I64x R9: %I64x R10: %I64x R11: %I64x\n", pc->R8, pc->R9, pc->R10, pc->R11);
79  DbgPrint("R12: %I64x R13: %I64x R14: %I64x R15: %I64x\n", pc->R12, pc->R13, pc->R14, pc->R15);
80  DbgPrint("EFLAGS: %.8x\n", pc->EFlags);
81 #elif defined(_M_ARM)
82  DbgPrint("PC: %08lx LR: %08lx SP: %08lx\n", pc->Pc);
83  DbgPrint("R0: %08lx R1: %08lx R2: %08lx R3: %08lx\n", pc->R0, pc->R1, pc->R2, pc->R3);
84  DbgPrint("R4: %08lx R5: %08lx R6: %08lx R7: %08lx\n", pc->R4, pc->R5, pc->R6, pc->R7);
85  DbgPrint("R8: %08lx R9: %08lx R10: %08lx R11: %08lx\n", pc->R8, pc->R9, pc->R10, pc->R11);
86  DbgPrint("R12: %08lx CPSR: %08lx FPSCR: %08lx\n", pc->R12, pc->Cpsr, pc->R1, pc->Fpscr, pc->R3);
87 #else
88  #error "Unknown architecture"
89 #endif
90 }
ULONG Esp
Definition: nt_native.h:1479
ULONG Eip
Definition: nt_native.h:1476
#define DbgPrint
Definition: loader.c:25
ULONG Ecx
Definition: nt_native.h:1467
ULONG R6
Definition: compat.h:341
ULONG R0
Definition: compat.h:335
ULONG SegGs
Definition: nt_native.h:1453
ULONG SegFs
Definition: nt_native.h:1454
ULONG SegDs
Definition: nt_native.h:1456
ULONG R8
Definition: compat.h:343
ULONG SegEs
Definition: nt_native.h:1455
ULONG Esi
Definition: nt_native.h:1464
ULONG SegCs
Definition: nt_native.h:1477
ULONG Edx
Definition: nt_native.h:1466
ULONG R9
Definition: compat.h:344
ULONG R1
Definition: compat.h:336
ULONG EFlags
Definition: nt_native.h:1478
ULONG Ebx
Definition: nt_native.h:1465
ULONG R4
Definition: compat.h:339
ULONG Fpscr
Definition: ke.h:275
ULONG R11
Definition: ke.h:266
ULONG Eax
Definition: nt_native.h:1468
ULONG Cpsr
Definition: compat.h:353
ULONG R5
Definition: compat.h:340
ULONG R7
Definition: compat.h:342
ULONG R12
Definition: ke.h:267
ULONG R10
Definition: compat.h:345
ULONG R2
Definition: compat.h:337
ULONG Pc
Definition: compat.h:352
ULONG R3
Definition: compat.h:338
ULONG Ebp
Definition: nt_native.h:1475
ULONG Edi
Definition: nt_native.h:1463

Referenced by PrintStackTrace().

◆ _module_name_from_addr()

static const char* _module_name_from_addr ( const void addr,
void **  module_start_addr,
char psz,
size_t  nChars,
char **  module_name 
)
static

Definition at line 25 of file except.c.

27 {
29 
30  if ((nChars > MAXDWORD) ||
31  (VirtualQuery(addr, &mbi, sizeof(mbi)) != sizeof(mbi)) ||
32  !GetModuleFileNameA((HMODULE)mbi.AllocationBase, psz, (DWORD)nChars))
33  {
34  psz[0] = '\0';
35  *module_name = psz;
36  *module_start_addr = 0;
37  }
38  else
39  {
40  char* s1 = strrchr(psz, '\\'), *s2 = strrchr(psz, '/');
41  if (s2 && !s1)
42  s1 = s2;
43  else if (s1 && s2 && s1 < s2)
44  s1 = s2;
45 
46  if (!s1)
47  s1 = psz;
48  else
49  s1++;
50 
51  *module_name = s1;
52  *module_start_addr = (void *)mbi.AllocationBase;
53  }
54  return psz;
55 }
struct S2 s2
static LPCWSTR LPCWSTR module_name
Definition: db.cpp:158
_Check_return_ _CRTIMP _CONST_RETURN char *__cdecl strrchr(_In_z_ const char *_Str, _In_ int _Ch)
DWORD WINAPI GetModuleFileNameA(HINSTANCE hModule, LPSTR lpFilename, DWORD nSize)
Definition: loader.c:546
#define MAXDWORD
struct S1 s1
unsigned long DWORD
Definition: ntddk_ex.h:95
SIZE_T NTAPI VirtualQuery(IN LPCVOID lpAddress, OUT PMEMORY_BASIC_INFORMATION lpBuffer, IN SIZE_T dwLength)
Definition: virtmem.c:220
GLenum const GLvoid * addr
Definition: glext.h:9621

Referenced by PrintStackTrace().

◆ BasepCheckForReadOnlyResource()

LONG WINAPI BasepCheckForReadOnlyResource ( IN PVOID  Ptr)

Definition at line 165 of file except.c.

166 {
167  PVOID Data;
168  ULONG Size, OldProtect;
169  SIZE_T Size2;
173 
174  /* Check if it was an attempt to write to a read-only image section! */
176  Ptr,
178  &mbi,
179  sizeof(mbi),
180  NULL);
181  if (NT_SUCCESS(Status) &&
182  mbi.Protect == PAGE_READONLY && mbi.Type == MEM_IMAGE)
183  {
184  /* Attempt to treat it as a resource section. We need to
185  use SEH here because we don't know if it's actually a
186  resource mapping */
187  _SEH2_TRY
188  {
190  TRUE,
192  &Size);
193 
194  if (Data != NULL &&
195  (ULONG_PTR)Ptr >= (ULONG_PTR)Data &&
197  {
198  /* The user tried to write into the resources. Make the page
199  writable... */
200  Size2 = 1;
202  &Ptr,
203  &Size2,
205  &OldProtect);
206  if (NT_SUCCESS(Status))
207  {
209  }
210  }
211  }
213  {
214  }
215  _SEH2_END;
216  }
217 
218  return Ret;
219 }
#define TRUE
Definition: types.h:120
#define MEM_IMAGE
Definition: mmtypes.h:88
_Must_inspect_result_ _In_ PFSRTL_PER_STREAM_CONTEXT Ptr
Definition: fsrtlfuncs.h:898
NTSTATUS NTAPI NtProtectVirtualMemory(IN HANDLE ProcessHandle, IN OUT PVOID *UnsafeBaseAddress, IN OUT SIZE_T *UnsafeNumberOfBytesToProtect, IN ULONG NewAccessProtection, OUT PULONG UnsafeOldAccessProtection)
Definition: virtual.c:2986
LONG NTSTATUS
Definition: precomp.h:26
NTSTATUS NTAPI NtQueryVirtualMemory(IN HANDLE ProcessHandle, IN PVOID BaseAddress, IN MEMORY_INFORMATION_CLASS MemoryInformationClass, OUT PVOID MemoryInformation, IN SIZE_T MemoryInformationLength, OUT PSIZE_T ReturnLength)
Definition: virtual.c:4284
_SEH2_TRY
Definition: create.c:4250
uint32_t ULONG_PTR
Definition: typedefs.h:63
#define EXCEPTION_CONTINUE_SEARCH
Definition: excpt.h:86
long LONG
Definition: pedump.c:60
#define EXCEPTION_EXECUTE_HANDLER
Definition: excpt.h:85
smooth NULL
Definition: ftsmooth.c:416
_In_ LPGUID _In_ PVOID Data
Definition: classpnp.h:778
#define NtCurrentProcess()
Definition: nt_native.h:1657
#define NT_SUCCESS(StatCode)
Definition: apphelp.c:24
#define RtlImageDirectoryEntryToData
Definition: compat.h:460
IN PVOID IN PVOID IN USHORT IN USHORT Size
Definition: pci.h:359
Status
Definition: gdiplustypes.h:24
ULONG_PTR SIZE_T
Definition: typedefs.h:78
_SEH2_END
Definition: create.c:4424
#define PAGE_READONLY
Definition: compat.h:127
unsigned int ULONG
Definition: retypes.h:1
#define _SEH2_EXCEPT(...)
Definition: pseh2_64.h:6
#define IMAGE_DIRECTORY_ENTRY_RESOURCE
Definition: pedump.c:261
#define PAGE_READWRITE
Definition: nt_native.h:1304
#define EXCEPTION_CONTINUE_EXECUTION
Definition: excpt.h:87

Referenced by UnhandledExceptionFilter().

◆ BaseSetLastNTError()

DWORD WINAPI BaseSetLastNTError ( IN NTSTATUS  Status)

Definition at line 1044 of file except.c.

1045 {
1046  DWORD dwErrCode;
1047 
1048  /* Convert from NT to Win32, then set */
1049  dwErrCode = RtlNtStatusToDosError(Status);
1050  SetLastError(dwErrCode);
1051  return dwErrCode;
1052 }
VOID WINAPI SetLastError(IN DWORD dwErrCode)
Definition: except.c:1030
unsigned long DWORD
Definition: ntddk_ex.h:95
Status
Definition: gdiplustypes.h:24
NTSYSAPI ULONG WINAPI RtlNtStatusToDosError(NTSTATUS)

Referenced by GetErrorMode().

◆ GetErrorMode()

UINT WINAPI GetErrorMode ( VOID  )

Definition at line 223 of file except.c.

224 {
226  UINT ErrMode;
227 
228  /* Query the current setting */
231  &ErrMode,
232  sizeof(ErrMode),
233  NULL);
234  if (!NT_SUCCESS(Status))
235  {
236  /* Fail if we couldn't query */
238  return 0;
239  }
240 
241  /* Check if NOT failing critical errors was requested */
242  if (ErrMode & SEM_FAILCRITICALERRORS)
243  {
244  /* Mask it out, since the native API works differently */
245  ErrMode &= ~SEM_FAILCRITICALERRORS;
246  }
247  else
248  {
249  /* OR it if the caller didn't, due to different native semantics */
250  ErrMode |= SEM_FAILCRITICALERRORS;
251  }
252 
253  /* Return the mode */
254  return ErrMode;
255 }
DWORD WINAPI BaseSetLastNTError(IN NTSTATUS Status)
Definition: except.c:1044
#define SEM_FAILCRITICALERRORS
Definition: rtltypes.h:69
LONG NTSTATUS
Definition: precomp.h:26
NTSTATUS NTAPI NtQueryInformationProcess(IN HANDLE ProcessHandle, IN PROCESSINFOCLASS ProcessInformationClass, OUT PVOID ProcessInformation, IN ULONG ProcessInformationLength, OUT PULONG ReturnLength OPTIONAL)
Definition: query.c:59
smooth NULL
Definition: ftsmooth.c:416
#define NtCurrentProcess()
Definition: nt_native.h:1657
#define NT_SUCCESS(StatCode)
Definition: apphelp.c:24
unsigned int UINT
Definition: ndis.h:50
Status
Definition: gdiplustypes.h:24

Referenced by SetErrorMode(), and UnhandledExceptionFilter().

◆ GetLastError()

DWORD WINAPI GetLastError ( VOID  )

Definition at line 1059 of file except.c.

1060 {
1061  /* Return the current value */
1062  return NtCurrentTeb()->LastErrorValue;
1063 }
FORCEINLINE struct _TEB * NtCurrentTeb(VOID)
Definition: psfuncs.h:420

Referenced by __delayLoadHelper2(), __file_size(), __mbtowc(), __mingwthr_run_key_dtors(), _access(), _ActivateCtx(), _AddPrintProviderToList(), _async_query_data_available(), _beginthreadex(), _cancel_overlapped(), _chdrive(), _check_file_exists(), _chmod(), _chsize_s(), _close(), _close_request(), _commit(), _ConvertAtoW(), _cowait_msgs_expect_queued(), _create_process(), _CreateActCtxFromFile(), CBandSiteMenu::_CreateMenuPart(), _CreateNonspooledPort(), _cwait(), _DeactivateCtx(), _delete_testfontfile(), CRecyclerDropTarget::_DoDeleteDataObject(), _DoDLLInjection(), _dup2(), _expect_data_available(), _findclose(), _fstat64(), _futime(), _GetNonspooledPortName(), _GetUserSidStringFromToken(), _HandleConfigureLPTPortCommandOK(), _HandleGetDefaultCommConfig(), _HandlePortExists(), _HandleSetDefaultCommConfig(), _heapchk(), _heapmin(), _heapwalk(), _LocalEnumPrintersCheckName(), _LocalGetJobLevel2(), _LocalGetPrintServerHandleData(), _LocalOpenPortHandle(), _LocalOpenPrinterHandle(), _LocalOpenXcvHandle(), _LocalSetJobLevel1(), _LocalSetJobLevel2(), _lseeki64(), _open_osfhandle(), _open_simple_request(), _overlapped_read_async(), _overlapped_read_sync(), _overlapped_write_async(), _overlapped_write_sync(), _pclose(), _pipe(), _PrinterJobListCompareRoutine(), _read_expect_sync_data_len(), _read_request_data(), _readex_expect_async(), _readex_expect_sync_data_len(), _receive_simple_request(), _RpcAddJob(), _RpcClosePrinter(), _RpcEndDocPrinter(), _RpcEndPagePrinter(), _RpcEnumJobs(), _RpcEnumMonitors(), _RpcEnumPorts(), _RpcEnumPrinters(), _RpcEnumPrintProcessorDatatypes(), _RpcEnumPrintProcessors(), _RpcGetJob(), _RpcGetPrinter(), _RpcGetPrinterDriver(), _RpcGetPrintProcessorDirectory(), _RpcOpenPrinter(), _RpcReadPrinter(), _RpcScheduleJob(), _RpcSetJob(), _RpcSpoolerInit(), _RpcStartDocPrinter(), _RpcStartPagePrinter(), _RpcWritePrinter(), _RunRemoteTest(), _ServiceMain(), _set_secflags(), _setmbcp_l(), _SHExpandEnvironmentStrings(), _StartDocPrinterSpooled(), _tchdir(), _tempnam(), _test_accounting(), _test_assigned_proc(), _test_completion(), _test_file_access(), _test_flush_async(), _test_flush_done(), _test_flush_sync(), _test_hkey_main_Value_A(), _test_hkey_main_Value_W(), _test_http_version(), _test_language_string(), _test_not_signaled(), _test_overlapped_failure(), _test_overlapped_result(), _test_peek_pipe(), _test_request_flags(), _test_request_url(), _test_secflags_option(), _test_security_info(), _test_status_code(), _test_store_is_empty(), _tfindfirst(), _tfindnext(), _tfullpath(), _tgetcwd(), _tiffSeekProc(), _tmain(), _tmkdir(), CMenuBand::_TrackContextMenu(), _trmdir(), _tsearchenv_s(), _tstat64(), _tWinMain(), _unlink(), _waccess(), _wchmod(), _wfreopen(), _wmktemp(), _wremove(), _wrename(), _write(), _wsopen_s(), _wtempnam(), _wtmpnam(), _wunlink(), AbortSvchostService(), access_dirT(), AccpLookupCurrentUser(), AccpLookupSidByName(), AccpOpenNamedObject(), AccRewriteGetExplicitEntriesFromAcl(), AccRewriteGetHandleRights(), AccRewriteGetNamedRights(), AccRewriteSetEntriesInAcl(), AccRewriteSetHandleRights(), AccRewriteSetNamedRights(), AcquireRemoveRestorePrivilege(), ACTION_CallDllFunction(), ACTION_RemoveFiles(), activate_context(), StartMenu::ActivateEntry(), add_lv_column(), add_ms_root_certs(), AddAceToDesktop(), AddAceToWindowStation(), CMenuToolbarBase::AddButton(), BtrfsSend::AddClone(), BtrfsDeviceAdd::AddDevice(), AddDeviceW(), CMenuToolbarBase::AddPlaceholder(), CMenuToolbarBase::AddSeparator(), AddSubst(), AddToMessageLog(), AdvInstallFileW(), CTrayWindow::AlignControls(), AllocAndGetEntityArray(), AllowWinstaAccess(), AlphaBlendProc(), apartment_createwindowifneeded(), append_file(), append_file_test(), AppendFullPathURL(), AppendSystemPostfix(), BtrfsPropSheet::apply_changes_file(), apply_patch(), ApplyGeneralSettings(), ApplyPatchToFileByHandles(), ApplyRegistryValues(), are_all_privileges_disabled(), assembly_create(), ata_send_ioctl(), ata_send_scsi(), AtlLoadTypeLib(), ATL::AtlLoadTypeLib(), AttachToConsoleInternal(), attr_cache_init(), AutoStartupApplications(), BackgroundCopyJob_Cancel(), BackupBootSector(), BtrfsBalance::BalanceOptsDlgProc(), BaseCheckVDM(), BaseMemAllocator_Commit(), BaseMemAllocator_ReleaseBuffer(), BasepCopyFileExW(), BasepDoTapeOperation(), BasepGetComputerNameFromNtPath(), BaseWindowImpl_PrepareWindow(), CSecurityDescriptor::BeginDACLInteration(), CSecurityDescriptor::BeginSACLInteration(), bind_image(), BiosInitialize(), BtrfsSend::BrowseParent(), BuildLogListAndFilterList(), cabinet_copy_file(), cache_container_clean_index(), cache_container_lock_index(), cache_container_open_index(), cache_container_set_size(), cache_containers_add(), cache_containers_init(), cache_entry_exists(), cache_file_available(), cache_insert(), cache_UninstallAssembly(), callback_child(), CallBackConvertToAscii(), can_do_https(), capCreateCaptureWindowW(), CapTest(), CRecycleBinEnum::CBEnumRecycleBin(), CBSearchRecycleBin(), CertCreateSelfSignCertificate(), CertGetValidUsages(), CertRemoveEnhancedKeyUsageIdentifier(), CertUnregisterSystemStore(), ChangeACLsOfFiles(), ChangeACLsOfFilesInCurDir(), ChangeAttribute(), ChangePortNumber(), check_dc_state(), check_dirid(), check_exe(), check_instance_(), check_menu_item_info(), check_param(), check_result(), check_thread_instance(), check_wellknown_name(), check_win9x(), checkChainPolicyStatus(), checkCRLHash(), checkHash(), CheckTestFile(), child_process(), ClassTest(), clean_up_aes_environment(), clean_up_base_environment(), cleanup_eventlog(), cleanup_gcc_exe(), cleanup_msvc_exe(), cleanup_tests(), clear_clipboard_(), clear_frontbuffer(), ClearEvents(), ClientRpcChannelBuffer_SendReceive(), ClientSideInstallW(), clip_emf_enum_proc(), clipboard_render_data_thread(), clipboard_thread(), clipboard_wnd_proc(), clnt_vc_create(), Close(), close_async_handle(), close_debugger(), close_request(), CloseProcessAndVerify_(), CloseSharedMemory(), closetest_callback(), BtrfsRecv::cmd_chmod(), BtrfsRecv::cmd_chown(), BtrfsRecv::cmd_clone(), cmd_copy(), cmd_label(), BtrfsRecv::cmd_link(), cmd_mkdir(), BtrfsRecv::cmd_mkfile(), cmd_mklink(), cmd_move(), BtrfsRecv::cmd_removexattr(), cmd_rename(), BtrfsRecv::cmd_rename(), BtrfsRecv::cmd_rmdir(), cmd_rmdir(), BtrfsRecv::cmd_setxattr(), BtrfsRecv::cmd_snapshot(), cmd_start(), BtrfsRecv::cmd_subvol(), BtrfsRecv::cmd_truncate(), cmd_type(), BtrfsRecv::cmd_unlink(), BtrfsRecv::cmd_utimes(), BtrfsRecv::cmd_write(), cmdContinue(), cmdPause(), CmdSetExitCode(), CmdStartProcess(), cmdStop(), CmosInitialize(), MainFrameBase::Command(), MDIMainFrame::Command(), CommandThreadProc(), commit_cache_entry(), ATL::CAtlModule::CommonInitRegistrar(), CommonInstall(), compare_emf_bits(), compare_export_(), compare_file_(), compare_mf_disk_bits(), compareStore(), CompleteFilename(), ComponentFactory_CreateBitmapFromHICON(), condvar_base_consumer(), condvar_consumer(), condvar_producer(), ConsoleEventThread(), context_create(), context_create_wgl_attribs(), context_destroy_gl_resources(), context_restore_gl_context(), context_set_current(), context_set_gl_context(), context_set_pixel_format(), Control(), control_service(), convert_nfs4acl_2_dacl(), ConvertAddrinfoFromUnicodeToAnsi(), _com_util::ConvertBSTRToString(), ConvertPath(), CClassNode::ConvertResourceDescriptorToString(), _com_util::ConvertStringToBSTR(), ConvertUTF8StringToBSTR(), copy_file(), copy_folder(), copy_install_file(), CopyDirectory(), CopyKey(), CopySystemProfile(), correct_behavior(), count_blocks(), CoWaitForMultipleHandles(), crash_and_debug(), crash_and_winedbg(), Create(), create_actctx(), create_and_write_file(), create_async_message_window(), create_backup(), create_cache_entry(), create_cdf_file(), create_converted_emf(), create_desk(), create_dialog(), create_file(), create_file_test(), create_fileW(), create_full_path(), create_full_pathW(), create_ico_file(), create_internet_session(), create_listview_control(), create_listview_controlW(), create_manifest(), create_manifest_file(), create_menu_from_data(), create_menuitem_from_data(), create_open_state(), create_overlapped_pipe(), create_package(), create_pipe_pair(), create_req_file(), create_server(), create_silly_rename(), create_snapshot(), create_storagefile(), create_stream(), create_target_process(), create_temp_binary(), create_test_actctx(), create_test_dll(), create_test_dll_sections(), create_test_file(), create_testfontfile(), create_textstream(), create_unknownsid(), create_window(), create_window_thread(), create_winsta(), create_writepipe_process(), CreateAssemblyCache(), CreateAudioDeviceList(), CKsProxy::CreateClockInstance(), SEALED_::CreateControlWindow(), CreateDirectoryPath(), CreateEnvironmentBlock(), CreateInheritableDesktop(), CreateInheritableWinsta(), CreateJob(), CreateLogoffSecurityAttributes(), CreateMain(), CreateMemoryDialog(), CreatePerfWindows(), CreateProcessAsUserA(), CreateProcessAsUserW(), CreateProcessInternalW(), CreateProfile(), CreateServers(), CreateServiceThread(), CCabinet::CreateSimpleCabinet(), CreateSoundThread(), CreateStandardProfile(), CreateTempDir(), CreateTestDir(), CreateTestFile(), CreateUserEnvironment(), CreateUserProfileExW(), CreateWindowStationAndDesktops(), CredUIPromptForCredentialsW(), CriticalDeviceCoInstaller(), CRYPT_AsnDecodeBits(), CRYPT_AsnDecodeBitsInternal(), CRYPT_AsnDecodeBitsSwapBytes(), CRYPT_AsnDecodeBool(), CRYPT_AsnDecodeCert(), CRYPT_AsnDecodeCertInfo(), CRYPT_AsnDecodeCertSignedContent(), CRYPT_AsnDecodeCRL(), CRYPT_AsnDecodeCRLEntries(), CRYPT_AsnDecodeCRLInfo(), CRYPT_AsnDecodeExtension(), CRYPT_AsnDecodePathLenConstraint(), CRYPT_AsnDecodePolicyQualifiers(), CRYPT_AsnDecodeRdnAttr(), CRYPT_AsnDecodeSequence(), CRYPT_AsnDecodeSequenceItems(), CRYPT_AsnDecodeSubtreeConstraints(), CRYPT_AsnDecodeUnicodeRdnAttr(), CRYPT_AsnEncodeAltName(), CRYPT_AsnEncodeAltNameEntry(), CRYPT_AsnEncodeBool(), CRYPT_AsnEncodeCRLDistPoints(), CRYPT_AsnEncodeCRLEntry(), CRYPT_AsnEncodeExtension(), CRYPT_AsnEncodeOctets(), CRYPT_AsnEncodeSequence(), CRYPT_CacheURL(), CRYPT_DownloadObject(), CRYPT_EncodeValueWithType(), CRYPT_FindIssuer(), CRYPT_GetObjectFromCache(), CRYPT_ImportSystemRootCertsToReg(), CRYPT_LoadProvider(), CRYPT_SaveSerializedToMem(), CryptCATAdminEnumCatalogFromHash(), CryptEnumProvidersA(), CryptEnumProviderTypesA(), CryptGetDefaultProviderA(), CryptProtectData(), CryptUnprotectData(), CSR_API(), CURSORICON_CopyImage(), d3dx_include_from_file_open(), ddraw_attach_d3d_device(), ddraw_set_cooperative_level(), debug_init(), debugstr_sid(), DECLARE_INTERFACE_(), decodeAndCompareBase64_A(), decodeBase64WithLenFmt(), decompress_file_cab(), delegation_create(), delegation_return(), Delete(), delete_chm(), delete_file(), delete_files(), delete_folder(), delete_object(), delete_test_service(), DeleteFiles(), DeleteSubst(), demClientErrorEx(), demFileDelete(), demFileFindFirst(), demFileFindNext(), DemLoadNTDOSKernel(), derive_key(), DestroyService(), detect_nt(), device_tests(), BtrfsVolPropSheet::DeviceDlgProc(), DeviceIdMatch(), DevInstallW(), DhcpCApiInitialize(), DiskFreeMain(), DismountMain(), dispatch_rpc(), display_error(), DisplayClassInstaller(), DisplayDeviceAdvancedProperties(), DisplayDevicePropertyText(), DisplayEntryPoint(), DisplayError(), DisplayPageSetDeviceDetails(), DisplayPendingOps(), DisplayStuffUsingWin32Setup(), dlg_configure_lpt(), DlgProc(), DlgThreadProc(), dll_entry_point(), DllMain(), DllRegisterServer(), do_child(), do_error_dialog(), do_file_copyW(), do_parent(), BtrfsRecv::do_recv(), do_register_dll(), BtrfsDeviceResize::do_resize(), do_spawnT(), do_typelib_reg_key(), do_wait_idle_child(), doChild(), doChildren(), doDebugger(), DoEjectDrive(), DoEntry(), DoesPortExist(), DoesUserHavePrivilege(), DoFileSave(), DoFormatMessage(), Telnet::DoInit(), DoOpenFile(), DoRegServer(), DoSaveFile(), DosChangeDirectory(), DosCmdInterpreterBop(), DosCreateFile(), DosCreateFileEx(), DosCreateProcess(), DosGetCountryInfo(), DosInitialize(), DosInt21h(), DosKRNLInitialize(), DosLoadDriver(), DosLoadExecutable(), DosLockFile(), DosOpenFile(), DosReadFile(), DosSeekFile(), DosStart(), DosStartProcess32(), DoStartService(), DoStartStartupItems(), DosUnlockFile(), DosWriteFile(), DoTest(), dotest_spi_iconhorizontalspacing(), dotest_spi_iconverticalspacing(), DoUnregServer(), CVfdShExt::DoVfdDrop(), CVfdShExt::DoVfdProtect(), DownloadBSC_OnStopBinding(), downloadcb_OnStopBinding(), DPLAYX_ConstructData(), DrawDibBegin(), DrivesContextMenuCallback(), DrivesMain(), drop_window_therad(), dsm_RegisterWindowClasses(), DSoundRender_create(), dump_emf_records(), DumpFont(), DumpMemory(), DumpParams(), DwInitializeSdFromThreadToken(), empty_clipboard_thread(), CDeviceNode::EnableDevice(), EnableDevice(), EnablePrivilege(), EnablePrivilegeInCurrentProcess(), EnableThemeDialogTexture(), EnableUserModePnpManager(), encode_compare_base64_W(), encodeAndCompareBase64_A(), end_host_object(), Enum(), enum_thread(), EnumDepend(), EnumerateDevices(), EnumerateRecycleBinW(), EnumerateRunningServices(), EnumEventsThread(), EnumHotpluggedDevices(), EnumOLEVERB_Clone(), EnumPrintersW(), EnumServices(), error(), Escape(), eto_emf_enum_proc(), CShellCommandDACL::Execute(), CShellCommandOwner::Execute(), CShellCommandSACL::Execute(), execute_command(), execute_test(), ExecuteAsync(), exercizeServer(), ExitWindowsThread(), ExitWindowsWorker(), export_validate_filename(), Extract(), CZipExtract::Extract(), extract2(), extract_gcc_exe(), extract_msvc_exe(), extract_one(), extract_resource(), extract_test(), CCabinet::ExtractFile(), ExtractFilesFromCab(), ExtractZipImage(), ExtractZipInfo(), fetch_thread_info(), FiberMainProc(), file_get_Attributes(), file_get_Size(), file_matches_data(), file_put_Attributes(), ATL::CRegObject::file_register(), file_register(), FileAsyncReader_Length(), FileAsyncReader_Request(), FileAsyncReader_SyncRead(), FileAsyncReader_WaitForNext(), filecoll_get_Count(), FILEDLG95_MRU_load_filename(), FILEDLG95_MRU_save_filename(), FileExists(), FileLoadByHandle(), FileOpen(), FileProtocol_StartEx(), FileSource_Load(), filesys_CreateFolder(), filesys_GetFileVersion(), filesys_GetSpecialFolder(), fill_printer(), fill_service(), FillList(), FilterLoadUnload(), find_devices(), find_installed_ports(), find_local_server(), find_portinfo2(), find_tempfile(), FindCurrentDriver(), FindDfltProvRegVals(), FindFirstVolumeW(), FinishNotificationThread(), SEALED_::FireEventOutsideApartmentAsync(), flush_proc(), FmtAcquireDrive_(), foldercoll_get_Count(), Format(), format_size(), FormatOutput(), BtrfsVolPropSheet::FormatUsage(), FormatVerisignExtension(), FrameWndProc(), free_package_structures(), FreeFunctionPointer(), FTP_FtpOpenFileW(), FTPFILE_ReadFile(), FtpProtocol_open_request(), FtpProtocol_start_downloading(), full_file_path_name_in_a_CWD(), Generate(), get_base_dir(), get_clipboard_data_process(), get_combobox_info(), get_computer_name(), get_connected_filter_name(), get_current_group(), get_current_owner(), get_device(), get_devmodeW(), get_drive_connection(), get_driver_infoA(), get_driver_infoW(), get_ea_list(), get_field_string(), get_file_handle(), get_file_version(), get_font_fsselection(), get_glyph_indices(), get_language_string(), get_last_error(), get_lock_error(), get_menu_style(), get_owner(), get_printer_infoA(), get_printer_infoW(), get_redirect_url(), get_script_from_file(), get_sid_info(), get_url_components(), get_user_sid(), get_versioned_classname(), getaddrinfo(), GetAllUsersProfileDirectoryW(), GetAndSendInputThread(), CAddressBand::GetBandInfo(), CExplorerBand::GetBandInfo(), GetBatteryState(), DriveVolume::GetBitmap(), GetBitmapPixelBuffer(), getChain(), GetClassInfoExA(), GetClassInfoExW(), DriveVolume::GetClusterInfo(), GetComputerNameA(), GetComputerNameExW(), GetComputerNameW(), GetComputerObjectNameW(), CSecurityDescriptor::GetDACLEntriesCount(), CSecurityDescriptor::GetDACLEntry(), GetDefaultPrinterA(), GetDefaultUserProfileDirectoryW(), GetDeviceCapabilities(), GetDeviceData(), getDeviceInterfaceDetail(), GetDeviceListInterfaces(), GetDiskFreeSpaceExW(), GetDiskGeometry(), GetDisplayName(), getdomainname(), GetError(), GetFromToken(), GetFunctionPointer(), GetHardwareAndCompatibleIDsLists(), gethostbyaddr(), gethostbyname(), GetIFEntry(), GetIPSNMPInfo(), GetKeyName(), GetLastErrorText(), GetLineText(), GetListOfTestExes(), GetLocaleName(), GetLocalsplFuncs(), GetNameInfoW(), GetNumberOfExesInFolder(), BtrfsIconOverlay::GetOverlayInfo(), GetOwnerModuleFromPidEntry(), GetOwnerModuleFromTagEntry(), GetPathOfFile(), GetPortNameWithoutColon(), GetProfilesDirectoryW(), CSecurityDescriptor::GetSACLEntriesCount(), CSecurityDescriptor::GetSACLEntry(), GetServiceConfig(), GetServiceDescription(), GetServiceDllFunction(), GetServiceList(), GetServiceMainFunctions(), GetServices(), GetSetFileTimestamp(), GetSpoolssFunc(), GetStorageDirectory(), GetTdiEntityType(), GetTempFileNameW(), GetThemeBackgroundRegion(), GetThemeSysFont(), GetThemeTextMetrics(), CTravelLog::GetToolTipText(), GetUserAndDomainName(), GetUserNameW(), GetUserProfileDirectoryW(), GetUserSid(), GetUserToken(), GetVolumeNameForRoot(), GetVolumePathNamesForVolumeNameA(), GetVolumePathNamesForVolumeNameW(), GetVolumePathNameW(), GetWinprintFunc(), getxyDataEnt(), gl_local_filename_completion_proc(), GopherProtocol_open_request(), grab_clipboard_process(), GuiConsoleShowConsoleProperties(), GuiSaveParam(), HACKISH_PathResolve(), handle_getacl(), handle_lock(), handle_readdir(), handle_setacl(), HandleException(), HandleLogoff(), HandleShutdown(), hash_mac_addrs(), header_cb(), Help(), HideMinimizedWindows(), HotkeyThread(), HTMLDocument_get_cookie(), HTMLDocument_put_cookie(), HTMLLocation_get_href(), HTMLWindow2_alert(), HTMLWindow2_confirm(), HTTP_RetrieveEncodedObjectW(), HttpHeaders_test(), HttpProtocol_end_request(), HttpProtocol_open_request(), HttpProtocol_start_downloading(), HTTPREQ_QueryOption(), HttpSendRequestEx_test(), I_ScQueryServiceTagInfo(), ICO_ExtractIconExW(), COpenWithMenu::IconToBitmap(), IDirectInputAImpl_RunControlPanel(), IDirectSoundCaptureBufferImpl_Start(), IdnToNameprepUnicode(), IEffectivePermission_fnGetEffectivePermission(), ImageSymToVa(), ImpersonatePrinterClient(), import_reg(), import_validate_filename(), SEALED_::IMsRdpClient::RequestClose(), CConsole::Init(), init(), init_access_tests(), init_aes_environment(), init_base_environment(), init_functions(), BtrfsPropSheet::init_propsheet(), init_sym_imp(), init_test(), init_wksta_tests(), InitApplet(), InitEntrypointMutexes(), CFileDefExt::InitFileType(), InitFont(), Initialize(), BtrfsPropSheet::Initialize(), CFileSysEnum::Initialize(), CExplorerBand::InitializeExplorerBand(), InitializePnPManager(), InitializePortList(), InitializePrintMonitor2(), InitializePrintMonitorList(), InitializePrintProcessorList(), InitializeProfiles(), InitializeProgramFilesDir(), InitializeScreenSaver(), InitiateShutdownA(), InitiateSystemShutdownThread(), InitLogging(), InitPropertyBag_IPropertyBag_Read(), InitShellServices(), InputWait(), insendmessage_wnd_proc(), insert_menu_item(), install_assembly(), install_init(), install_policy(), InstallBuiltinAccounts(), InstallCurrentDriver(), InstallDevice(), InstallDeviceData(), InstallDevInstEx(), InstallEventSource(), InstallHinfSectionW(), InstallLiveCD(), InstallNetDevice(), InstallOneInterface(), InstallOneService(), InstallParallelPort(), InstallPrivileges(), InstallReactOS(), InstallScreenSaverW(), InstallSerialPort(), InstallSoftwareDeviceInterface(), InstallSoftwareDeviceInterfaceInf(), InstallSysSetupInfComponents(), IntDeleteRecursive(), InteractiveConsole(), InternalExplicitAccessAToW(), InternalTrusteeAToW(), INTERNET_InternetOpenUrlW(), InternetCrackUrl_test(), InternetCrackUrlW(), InternetCrackUrlW_test(), InternetCreateUrlA(), InternetCreateUrlA_test(), InternetExplorer_put_MenuBar(), InternetLockRequestFile_test(), InternetOpenRequest_test(), InternetOpenUrlA_test(), InternetReadFile_chunked_test(), InternetReadFile_test(), InternetReadFileExA_test(), InternetTimeFromSystemTimeA_test(), InternetTimeFromSystemTimeW_test(), InternetTimeToSystemTimeA_test(), InternetTimeToSystemTimeW_test(), InternetTransport_Connect(), BtrfsContextMenu::InvokeCommand(), iocp_async_closesocket(), iocp_async_read(), iocp_async_read_closesocket(), iocp_async_read_thread(), iocp_async_read_thread_closesocket(), ioctl(), COutputPin::IoProcessRoutine(), is_font_available(), ISecurityObjectTypeInfo_fnGetInheritSource(), IsLetterOwned(), IsNTAdmin(), CShellDispatch::IsServiceRunning(), IStream_fnRead(), IStream_fnSeek(), IStream_fnWrite(), IsUserAnAdmin(), ITERATE_DeleteService(), ITERATE_DuplicateFiles(), ITERATE_InstallService(), ITERATE_MoveFiles(), ITERATE_RemoveDuplicateFiles(), ITERATE_RemoveExistingProducts(), ITERATE_RemoveIniValuesOnInstall(), ITERATE_RemoveIniValuesOnUninstall(), ITERATE_RemoveShortcuts(), iterate_section_fields(), ITERATE_StartService(), ITERATE_StopService(), K32CreateDBMonMutex(), kernel32_find(), kernel_wctomb(), keyboard_tests(), KillComProcesses(), KmtFltDisconnect(), KmtFltGetMessageResult(), KmtSendBufferToDriver(), KmtSendStringToDriver(), KmtSendToDriver(), KmtSendUlongToDriver(), KmtSendWStringToDriver(), CKsInterfaceHandler::KsCompleteIo(), KsOpenDefaultDevice(), CKsInterfaceHandler::KsProcessMediaSamples(), KsSynchronousDeviceControl(), ShellEntry::launch_entry(), launch_entry(), launch_exe(), launch_file(), LauncherRoutine2(), LdapGetLastError(), Link(), LISTBOX_Directory(), CDeviceView::ListDevicesByType(), CKsProxy::Load(), load_blackbox(), load_driver(), load_encryption_key(), load_persistent_cookie(), load_process_feature(), load_profile(), load_resource(), load_resource_into_memory(), load_v6_module(), load_xul(), LoadAndInitialize(), LoadAndInitializeNtMarta(), LoadBios(), LoadIconWithScaleDown(), COpenWithList::LoadInfo(), LoadModule(), LoadModuleWithSymbolsFullPath(), LoadRom(), LoadScreenSaverParameters(), SEALED_::LoadTypeLibrary(), LoadUserProfileW(), local_server_thread(), LocalEndDocPrinter(), LocalEnumPrintProcessorDatatypes(), LocalmonGetPrinterDataFromPort(), LocalmonOpenPort(), LocalmonReadPort(), LocalmonSetPortTimeOuts(), LocalmonStartDocPort(), LocalmonWritePort(), LocalmonXcvOpenPort(), LocalOpenPrinter(), LocalReadPrinter(), LocalScheduleJob(), LocalStartDocPrinter(), localui_AddPortUI(), LocalWritePrinter(), LockOrUnlockVolume(), LogErrorConsole(), LogoffShutdownThread(), LogToFile(), LogWarningConsole(), LookupPrivilegeDisplayNameA(), LookupPrivilegeNameA(), LS_ThreadProc(), LsarStartRpcServer(), mailslot_test(), main(), MAIN_LoadSettings(), MainDialogProc(), make_impersonation_token(), MakeFullPath(), MakeService(), MakeSharedPacket(), MakeSureDirectoryPathExists(), map_dacl_2_nfs4acl(), map_file(), map_image_section(), map_name_2_sid(), map_nfs4ace_who(), map_user_to_ids(), map_view_of_file(), MapAndLoad(), MapOnCreate(), MCIAVI_RegisterClass(), MCICDA_GetError(), MCICDA_GetStatus(), MCICDA_playLoop(), MCIWndRegisterClass(), menu_track_again_wnd_proc(), mi_show_error(), midiStreamPause(), midiStreamRestart(), MMDevEnum_RegisterEndpointNotificationCallback(), modify_menu(), MountDisk(), MountFDI(), MountHDD(), mouse_tests(), DriveVolume::MoveFileDumb(), MsgCheckProc(), msi_create_empty_local_file(), msi_create_full_path(), msi_download_file(), msi_get_filehash(), msi_move_file(), MSI_OpenPackageW(), msi_publish_patches(), msi_set_original_database_property(), MsiCreateAndVerifyInstallerDirectory(), MsiEnableLogW(), MSSTYLES_OpenThemeFile(), MSTASK_ITaskScheduler_GetTargetComputer(), msvcrt_get_thread_data(), MultiWndProc(), my_open(), my_test_server(), MySetFilePointerEx(), named_pipe_client_func(), NetApiBufferAllocate(), NetApiBufferReallocate(), NetClassInstaller(), netcon_secure_connect_setup(), netconn_secure_connect(), netconn_verify_cert(), NetIDPage_OnApply(), NetRegisterDomainNameChangeNotification(), new_window(), new_windowW(), nfs41_client_create(), nfs41_client_owner(), nfs41_idmap_create(), nfs41_name_cache_create(), nfs41_root_create(), nfs41_rpc_clnt_create(), nfs41_session_set_lease(), NLS_EnumCalendarInfo(), no_stop_main(), notif_thread_proc(), NotificationThread(), NotifyLogon(), NPAddConnection3(), NPCancelConnection(), NtfsInfoMain(), ok_path(), ole_server(), OleRegEnumVerbs(), CSysPagerWnd::OnCreate(), OnCreate(), CShellLink::OnInitDialog(), CTrayWindow::OnNcHitTest(), OnOK(), CDownloadDialog::OnProgress(), OnShutDown(), Telnet::Open(), BtrfsSend::Open(), BtrfsRecv::Open(), Open(), BtrfsPropSheet::open_as_admin(), open_async_request(), open_debugger(), open_desk(), open_file_test(), open_log_files(), open_socket_request(), open_winsta(), OpenColorProfileW(), OpenDevice(), OpenDeviceKey(), OpenDeviceList(), OpenFile(), OpenFilter(), OpenKernelDevice(), OpenKernelSoundDeviceByName(), OpenPrinterW(), OpenSharedMemory(), OpenUserEventLogFile(), OpenUserRegistryPathPerProcessId(), OpenVolume(), output_formatstring(), output_message(), OutputError(), OutputErrorCode(), overlapped_server(), parse_url_from_outside(), PARSER_GetInfClassW(), patch_assembly(), patch_file(), PathCanonicalizeA(), pattern_fork(), CKsClockForwarder::Pause(), BtrfsBalance::PauseBalance(), PauseBalanceW(), BtrfsScrub::PauseScrub(), PdhCollectQueryDataEx(), pendingRename(), PerformIO(), PersistFile_Save(), Ping(), pipe_thread(), pipeClient(), pipeServer(), pipeserver(), PipeThreadProc(), PlayLogonSoundThread(), PlotCharacter(), PNP_ReportLogOn(), BtrfsDeviceAdd::populate_device_tree(), print_condwait_status(), print_err(), PrintAttribute(), PrintDaclsOfFiles(), PrintDlgA(), PrintDlgW(), PrintFileDacl(), PrintingThreadProc(), PrintLastError(), PrintRawJob(), PrintVolumeHeader(), printWindowsError(), priorityTimeProc(), Privilege(), process_pending_renames(), processFile(), ProcessPlayingNotes(), ProcessRunKeys(), ProcessSetupInf(), ProcessStartupItems(), ProcessUnattendSection(), PROFILE_FlushFile(), profile_items_callback(), PROFILE_Load(), PROFILE_Open(), prompt_dlgproc(), Protect(), protocol_continue(), protocol_lock_request(), protocol_read(), protocol_syncbinding(), protocol_unlock_request(), ProtocolStream_Seek(), proxy_active(), proxy_manager_construct(), PS2MousePropPageProvider(), pSetSecurityInfoCheck(), pSetupInstallCatalog(), pSetupOpenAndMapFileForRead(), PullPin_InitProcessing(), query_http_info(), query_image_section(), query_service_config(), QueryConfig(), QueryConfig2A(), QueryConfig2W(), CTrayWindowCtxMenu::QueryContextMenu(), QueryDescription(), QueryDeviceName(), QueryDNS(), QueryDriverInfo(), QueryMain(), QueryService(), QuerySubstedDrive(), QuerySuggestedLinkName(), QueryUniqueId(), queue_async(), rdssl_cert_read(), rdssl_cert_to_rkey(), rdssl_certs_ok(), rdssl_hash_clear(), rdssl_hash_complete(), rdssl_hash_info_create(), rdssl_hash_transform(), rdssl_hmac_md5(), rdssl_rc4_crypt(), rdssl_rc4_info_create(), rdssl_rc4_info_delete(), rdssl_rc4_set_key(), read_entire_dir(), read_expect_async(), read_http_stream(), read_i(), read_pipe(), read_pipe_test(), read_trusted_roots_from_known_locations(), read_utf8(), ReadAndHandleOutput(), ReadJobShadowFile(), readproc(), ReadVolumeSector(), CKsProxy::Reassociate(), recFindSubDirs(), RECORD_StreamFromFile(), RecursiveRemoveDir(), BtrfsRecv::recv_thread(), BtrfsRecv::RecvProgressDlgProc(), RecvSubvolGUIW(), RecycleBin5_Constructor(), RecycleBin5_Create(), RecycleBin5_RecycleBin5_Delete(), RecycleBin5_RecycleBin5_DeleteFile(), RecycleBin5_RecycleBin5_Restore(), RecycleBin5Enum_Constructor(), RecycleBin5Enum_RecycleBinEnumList_Next(), RecycleBin5File_RecycleBinFile_GetAttributes(), RecycleBin5File_RecycleBinFile_GetFileSize(), RecycleBin5File_RecycleBinFile_GetLastModificationTime(), RecycleBinGeneric_RecycleBin_DeleteFile(), RecycleBinGeneric_RecycleBin_EmptyRecycleBin(), BtrfsContextMenu::reflink_copy(), reflink_copy2(), BtrfsBalance::RefreshBalanceDlg(), BtrfsVolPropSheet::RefreshDevList(), BtrfsScrub::RefreshScrubDlg(), RegConnectRegistryW(), RegGetDWORD(), RegGetSZ(), register_service(), register_service_exA(), register_service_exW(), register_testwindow_class(), RegisterDriver(), RegisterForDeviceNotifications(), RegistrationProc(), REGPROC_print_error(), RegQueryStringA(), remove(), remove_dir(), RemoveDeviceW(), RemovePort(), RemoveTempFont(), rename(), ReplaceFileW(), report(), report_service_status(), ReportLastError(), res_sec_url_cmp(), BtrfsVolPropSheet::ResetStats(), ResetStatsW(), ResizeDeviceW(), ResizeTextConsole(), ATL::CRegObject::resource_register(), resource_register(), ResProtocol_Start(), RestoreAllConnections(), RetreiveFileSecurity(), RetrieveQuote(), RevertToPrinterSelf(), RPC_GetLocalClassObject(), RPC_StartLocalServer(), RpcReadFile(), rpcrt4_conn_create_pipe(), rpcrt4_conn_np_impersonate_client(), rpcrt4_conn_np_revert_to_self(), rpcrt4_conn_open_pipe(), rpcrt4_http_check_response(), rpcrt4_http_internet_connect(), rpcrt4_http_prepare_in_pipe(), RPCRT4_io_thread(), rpcrt4_ncacn_http_open(), rpcrt4_ncacn_np_handoff(), rpcrt4_ncalrpc_handoff(), RPCRT4_new_client(), rpcrt4_protseq_np_wait_for_new_connection(), rpcrt4_protseq_sock_wait_for_new_connection(), rpcrt4_sock_wait_for_recv(), rpcrt4_sock_wait_for_send(), RpcServerInqDefaultPrincNameW(), RpcSsConfigureAsNetworkService(), rpcThreadMain(), Rs232ConfigurePortWin32(), Rs232OpenPortWin32(), Rs232ReadByteWin32(), Rs232SetCommunicationTimeoutsWin32(), Rs232WriteByteWin32(), run_apibuf_tests(), run_child_process(), run_cmd(), run_ex(), run_from_file(), run_reg_exe_(), run_script(), run_script_file(), run_spi_setmouse_test(), run_tests(), run_thread(), runCmd(), RunInstallReactOS(), RunNextJob(), RunningAsSYSTEM(), CWineTest::RunTest(), CMainWindow::s_EnumAvailableAppProc(), SaBlob_CreateFromRecords(), SaBlob_Query(), SaBlob_WriteNameOrAlias(), Save(), save_credentials(), savedc_emf_enum_proc(), SaveDefaultUserHive(), SaveEventLog(), sc_cb_lseek(), ScConnectControlPipe(), SchedEventLogoff(), SchedServiceMain(), SchedStartShell(), ScmControlService(), ScmCreateNewControlPipe(), ScmLogEvent(), ScmLogonService(), ScmReadString(), ScmSendStartCommand(), ScmStartUserModeService(), ScmWaitForLsa(), ScmWaitForServiceConnect(), ScreenSaverThreadMain(), ScServiceDispatcher(), SdbpGetLongPathName(), SdSet(), SdShow(), SearchDriver(), send_http_request(), send_msg_thread(), send_msg_thread_2(), send_socket_request(), send_subvol(), SendClientShutdown(), SendClipboardOwnerMessage(), CHttpClient::SendFile(), SendRequest(), SendSubvolGUIW(), SendTo_NFS41Driver(), serializeIcon(), SerialPortQuery(), server(), server_create(), server_send_reply(), serverThreadMain1(), serverThreadMain2(), serverThreadMain3(), serverThreadMain4(), serverThreadMain5(), service_main(), service_main_common(), service_process(), ServiceInfo(), ServiceInit(), ServiceMain(), ServiceStart(), session_alloc(), set_auth_cookie(), set_clipboard_data_process(), set_clipboard_data_thread(), BtrfsPropSheet::set_cmdline(), set_installer_properties(), set_menu_item_info(), set_menu_style(), set_privileges(), set_up_attribute_test(), set_up_case_test(), SetConfig(), SetDefaultLanguage(), SetDescription(), SetDeviceDetails(), SetDriverLoadPrivilege(), SetFailure(), SetMain(), SetParallelState(), SetPrivilege(), SetRootPath(), SETUP_CallInstaller(), SETUP_CreateDevicesListFromEnumerator(), SETUP_CreateInterfaceList(), SetupCommitFileQueueW(), SetupCopyOEMInfW(), SetupDecompressOrCopyFileW(), SetupDiBuildDriverInfoList(), SetupDiCallClassInstaller(), SetupDiChangeState(), SetupDiGetClassImageListExW(), SetupDiGetDeviceInstanceIdA(), SetupDiGetDeviceRegistryPropertyA(), SetupDiInstallDevice(), SetupDiInstallDeviceInterfaces(), SetupDiRegisterCoDeviceInstallers(), SetupGetFileCompressionInfoA(), SetupGetFileCompressionInfoW(), SetupGetInfFileListW(), SetupGetIntField(), SetupInstallServicesFromInfSectionExW(), CClassNode::SetupNode(), SetupStartService(), SetUserEnvironmentVariable(), SetWindowTheme(), SH_GetTargetTypeByPath(), SHAddToRecentDocs(), SHCreateSessionKey(), SHCreateStreamOnFileEx(), SheChangeDirA(), SheChangeDirW(), SheGetDirA(), SheGetDirW(), shell_execute_ex_(), SHELL_ExecuteW(), ShellExecCmdLine(), SHEmptyRecycleBinA(), SHEmptyRecycleBinW(), SHNotifyCopyFileW(), SHNotifyCreateDirectoryW(), SHNotifyDeleteFileW(), SHNotifyMoveFileW(), SHNotifyRemoveDirectoryW(), SHOpenWithDialog(), BtrfsBalance::ShowBalance(), ShowLastError(), ShowLastWin32Error(), ShowParallelStatus(), BtrfsVolPropSheet::ShowScrub(), ShowScrubW(), ShowUsage(), ShowX509EncodedCertificate(), SHPathPrepareForWriteW(), SHQueryRecycleBinA(), SHUnicodeToAnsiCP(), ShutDown_Hibernate(), ShutDown_LockComputer(), ShutDown_LogOffUser(), ShutDown_PowerOff(), ShutDown_Reboot(), ShutDown_StandBy(), SIC_Initialize(), SIC_OverlayShortcutImage(), SoftModalMessageBox(), SOFTPUB_CreateStoreFromMessage(), SOFTPUB_DecodeInnerContent(), SOFTPUB_GetFileSubject(), SOFTPUB_GetMessageFromFile(), SOFTPUB_GetSIP(), SOFTPUB_LoadCatalogMessage(), SOFTPUB_LoadCertMessage(), SOFTPUB_OpenFile(), SOFTPUB_VerifyImageHash(), source_matches_volume(), spapi_install(), SplInitializeWinSpoolDrv(), SPY_DumpStructure(), SPY_EnterMessage(), SPY_ExitMessage(), SPY_GetMsgName(), StampFileSecurity(), Start(), start_local_service(), start_rpcss(), start_server(), start_service(), START_TEST(), StartAudioService(), BtrfsBalance::StartBalance(), StartBalanceW(), StartChild(), StartComponentRegistration(), StartDevice(), StartDocPrinterA(), StartDocPrinterW(), StartDriver(), StartNotificationThread(), StartOneService(), StartProcess(), StartScreenSaver(), BtrfsScrub::StartScrub(), BtrfsSend::StartSend(), StartServicesManager(), StartStopEnumEventsThread(), StartSystemAudioServices(), StartSystemShutdown(), startup(), StatisticsMain(), Status(), statusclb_OnDataAvailable(), statusclb_OnStopBinding(), StdMemAllocator_Free(), StgOpenStorage(), stop_service(), stop_service_dependents(), BtrfsBalance::StopBalance(), StopBalanceW(), StopDriver(), BtrfsScrub::StopScrub(), superblock_create(), SvcRegisterStopCallback(), SyncOverlappedDeviceIoControl(), system(), system_time_to_minutes(), SystemClockPostMessageToAdviseThread(), SystemSetTime(), TakeOwnershipOfFile(), task_proc(), TCPSendIoctl(), tear_down_attribute_test(), tear_down_case_test(), Test1(), Test2(), Test3(), test_32bit_ddb(), test_32bit_win(), test_3des(), test_3des112(), test__Gettnames(), test__hread(), test__hwrite(), test__lclose(), test__lcreat(), test__llopen(), test__llseek(), test__lread(), test__lwrite(), test_abort_proc(), test_AbortWaitCts(), test_accelerators(), test_accept(), test_AcceptEx(), test_AccessCheck(), test_acls(), test_acquire(), test_acquire_context(), test_actctx(), test_actctx_classes(), test_add_atom(), test_add_certificate(), test_AddAce(), test_AddDefaultForUsage(), test_AddDllDirectory(), test_AddERExcludedApplicationA(), test_AddFontMemResource(), Test_AddFontResourceA(), Test_AddFontResourceExW(), test_AddMandatoryAce(), test_AddMonitor(), test_AddPort(), test_AddPortEx(), test_AddPortUI(), test_AddRem_ActionID(), test_AddRemoveProvider(), test_AddSelfToJob(), test_aes(), test_alertable(), test_alertable_wait(), test_alloc_shared(), test_alloc_shared_remote(), test_allocateLuid(), test_anglearc(), test_apc_deadlock(), test_app_manifest(), Test_ApphelpCheckRunApp(), test_ApphelpCheckShellObject(), test_arcto(), test_AssociateColorProfileWithDeviceA(), test_async(), test_async_HttpSendRequestEx(), test_async_read(), test_attach_input(), test_autoscroll(), test_AVISaveOptions(), test_backup(), test_bad_header(), test_basic_auth_credentials_reuse(), test_basic_authentication(), test_basic_info(), test_basic_request(), Test_BeginPath(), test_bind_image_ex(), test_BindToObject(), Test_Bitmap(), test_bitmap(), test_bitmap_font_metrics(), test_bitmapinfoheadersize(), test_block_cipher_modes(), test_bogus_accept_types_array(), test_BreakawayOk(), test_broadcast(), Test_Brush(), test_brush_pens(), Test_bug3481(), test_BuildCommDCBAndTimeoutsW(), test_BuildCommDCBW(), test_BuildOtherNamesFromMachineName(), test_BuildSecurityDescriptorW(), test_builtinproc(), test_cache_control_verb(), test_cache_read(), test_cache_read_gzipped(), test_calchash(), test_cancelio(), test_CanUserWritePwrScheme(), test_capture_4(), test_catalog_properties(), test_cdf_parsing(), test_cdrom_ioctl(), test_CERT_CHAIN_PARA_cbSize(), test_cert_struct(), test_CertGetNameStringA(), test_CertNameToStrA(), test_CertNameToStrW(), test_CertRDNValueToStrA(), test_CertRDNValueToStrW(), test_CertStrToNameA(), test_CertStrToNameW(), test_ChangeDisplaySettingsEx(), test_CheckTokenMembership(), test_child_token_sd(), test_child_token_sd_medium(), test_child_token_sd_restricted(), test_chunked_read(), test_classesroot(), test_clear(), test_click_make_new_folder_button(), test_ClipboardOwner(), test_clock(), test_close(), test_CloseHandle(), test_ClosePort(), test_ClosePrinter(), Test_CloseWhileSelectDuplicatedSocket(), Test_CloseWhileSelectSameSocket(), test_cmdline(), test_CodePageToScriptID(), test_color_contexts(), Test_CombineRgn_AND(), Test_CombineRgn_COPY(), Test_CombineRgn_DIFF(), Test_CombineRgn_Params(), Test_CombineRgn_XOR(), Test_CombineTransform(), test_combobox_messages(), test_comboex_WM_LBUTTONDOWN(), test_comctl32_class(), test_command(), Test_CommandLine(), test_CommandLine(), test_commandline2argv(), test_CompareStringA(), test_CompareStringOrdinal(), test_CompareStringW(), test_compatibility(), test_completion(), test_completion_port(), test_CompletionPort(), test_complicated_cookie(), test_concurrent_header_access(), test_condvars_base(), test_ConfigurePort(), test_ConfigurePortUI(), test_conn_close(), test_connect(), test_ConnectEx(), test_connection_cache(), test_connection_closing(), test_connection_failure(), test_connection_info(), test_Console(), test_container_sd(), test_context(), test_contextmenu(), test_conversions(), test_ConvertFiberToThread(), test_ConvertStringSecurityDescriptor(), test_ConvertThreadToFiber(), test_ConvertThreadToFiberEx(), test_cookie_attrs(), test_cookie_header(), test_cookie_url(), test_cookies(), test_copy(), test_CopyFile2(), test_CopyFileA(), test_CopyFileEx(), test_CopyFileW(), test_CopyMetaFile(), test_CoRegisterPSClsid(), test_count(), test_CoWaitForMultipleHandles(), test_CoWaitForMultipleHandles_thread(), test_cp855(), test_cp932(), test_crack_url(), test_create(), test_create_and_fail(), test_create_catalog_file(), test_create_delete_svc(), test_create_env(), test_create_fail(), test_create_syslink(), test_create_wide_and_fail(), test_create_window(), test_CreateActCtx(), test_CreateBitmap(), Test_CreateCompatibleDC(), Test_CreateDialogW(), Test_CreateDIBitmap1(), Test_CreateDIBitmap_CBM_CREATDIB(), Test_CreateDIBitmap_DIB_PAL_COLORS(), Test_CreateDIBPatternBrushPt(), test_createdir(), test_CreateDirectoryA(), test_CreateDirectoryW(), test_CreateFile(), test_CreateFile2(), test_CreateFileA(), test_CreateFileMapping(), test_CreateFileMapping_protection(), test_CreateFileW(), test_createfolder(), test_CreateFontIndirect(), test_CreateFontIndirectEx(), test_CreateIcon(), test_CreateIconFromResource(), test_CreateMultiProfileTransform(), test_CreateNamedPipe(), test_CreateNamedPipe_instances_must_match(), Test_CreatePen(), test_CreateProcessWithDesktop(), test_CreateRemoteThread(), test_CreateRestrictedToken(), test_CreateScalableFontResource(), Test_CreateService(), test_CreateStub(), test_CreateTextFile(), test_CreateThread_basic(), test_CreateWellKnownSid(), test_CreateWindow(), test_CredDeleteA(), test_credentials(), test_CredIsMarshaledCredentialA(), test_CredMarshalCredentialA(), test_CredReadA(), test_CredReadDomainCredentialsA(), test_CredUnmarshalCredentialA(), test_CredWriteA(), test_crypt_ui_wiz_import(), test_cryptAllocate(), test_CryptBinaryToString(), test_CryptCATAdminAddRemoveCatalog(), test_CryptCATCDF_params(), test_CryptCATOpen(), test_cryptprotectdata(), test_cryptTls(), test_cryptunprotectdata(), test_csparentdc(), test_CurrentDirectoryA(), test_Data(), test_data_handles(), test_data_msg_encoding(), test_data_msg_get_param(), test_data_msg_open(), test_data_msg_update(), test_dbcs_to_widechar(), test_dde(), test_dde_default_app(), test_DdeCreateStringHandleW(), test_debug_children(), test_debug_heap(), test_debug_loop(), test_decode_msg_get_param(), test_decode_msg_update(), test_decodeAltName(), test_decodeAuthorityInfoAccess(), test_decodeAuthorityKeyId(), test_decodeAuthorityKeyId2(), test_decodeBasicConstraints(), test_decodeBits(), test_decodeCatMemberInfo(), test_decodeCatNameValue(), test_decodeCert(), test_decodeCertPolicies(), test_decodeCertPolicyConstraints(), test_decodeCertPolicyMappings(), test_decodeCertToBeSigned(), test_decodeCMSSignerInfo(), test_decodeCRLDistPoints(), test_decodeCRLIssuingDistPoint(), test_decodeCRLToBeSigned(), test_decodeCTL(), test_decodeEnhancedKeyUsage(), test_decodeEnumerated(), test_decodeExtensions(), test_decodeFiletime(), test_decodeInt(), test_decodeName(), test_decodeNameConstraints(), test_decodeNameValue(), test_decodeOctets(), test_decodePKCSAttribute(), test_decodePKCSAttributes(), test_decodePKCSContentInfo(), test_decodePKCSSignerInfo(), test_decodePKCSSMimeCapabilities(), test_decodePolicyQualifierUserNotice(), test_decodePublicKeyInfo(), test_decodeRsaPrivateKey(), test_decodeRsaPublicKey(), test_decodeSequenceOfAny(), test_decodeSPCFinancialCriteria(), test_decodeSPCLink(), test_decodeSPCPEImage(), test_decodeSpOpusInfo(), test_decodeUnicodeName(), test_decodeUnicodeNameValue(), test_default_dacl_owner_sid(), test_default_handle_security(), test_default_ime_window_creation(), test_default_service_port(), test_deferwindowpos(), test_DefineDosDeviceA(), test_delete_services(), test_deletecontext(), test_deletefile(), test_DeleteFileA(), test_DeleteFileW(), test_DeleteMonitor(), test_DeletePort(), test_DeletePwrScheme(), test_des(), Test_DesktopAccess(), test_destination_buffer(), test_destroy(), test_destroy_read(), test_DestroyCursor(), test_DestroyWindow(), test_detailed_info(), test_device_caps(), test_device_info(), test_DialogBoxParam(), test_DialogCancel(), test_dialogmode(), test_dib_bits_access(), test_DIB_PAL_COLORS(), Test_Dibsection(), test_dibsections(), test_digit_substitution(), test_Directory(), test_DisconnectNamedPipe(), test_disk_extents(), test_dllredirect_section(), test_DnsFlushResolverCacheEntry_A(), test_DocumentProperties(), test_domain_password(), test_domdoc(), test_dpa(), Test_DPtoLP_Params(), test_DrawState(), test_DrawTextCalcRect(), test_drive_letter_case(), test_driver_install(), test_drvCommConfigDialogA(), test_drvCommConfigDialogW(), test_drvGetDefaultCommConfigA(), test_drvGetDefaultCommConfigW(), test_DuplicateHandle(), test_dvd_read_structure(), Test_DWP_Error(), test_editselection(), test_editselection_focus(), test_EM_GETTEXTLENGTHEX(), test_EM_SCROLLCARET(), test_EM_SETOPTIONS(), test_emf_BitBlt(), test_emf_clipping(), test_emf_DCBrush(), test_emf_ExtTextOut_on_path(), test_emf_GradientFill(), test_emf_paths(), test_emf_polybezier(), test_emf_PolyPolyline(), test_emf_WorldTransform(), test_empty_headers_param(), Test_EmptyFile(), test_emptypopup(), test_encodeAltName(), test_encodeAuthorityInfoAccess(), test_encodeAuthorityKeyId(), test_encodeAuthorityKeyId2(), test_encodeBasicConstraints(), test_encodeBits(), test_encodeCatMemberInfo(), test_encodeCatNameValue(), test_encodeCert(), test_encodeCertPolicies(), test_encodeCertPolicyConstraints(), test_encodeCertPolicyMappings(), test_encodeCertToBeSigned(), test_encodeCMSSignerInfo(), test_encodeCRLDistPoints(), test_encodeCRLIssuingDistPoint(), test_encodeCRLToBeSigned(), test_encodeCTL(), test_encodeEnhancedKeyUsage(), test_encodeEnumerated(), test_encodeExtensions(), test_encodeInt(), test_encodeName(), test_encodeNameConstraints(), test_encodeNameValue(), test_encodeOctets(), test_encodePKCSAttribute(), test_encodePKCSAttributes(), test_encodePKCSContentInfo(), test_encodePKCSSignerInfo(), test_encodePKCSSMimeCapabilities(), test_encodePolicyQualifierUserNotice(), test_encodePublicKeyInfo(), test_encodeRsaPublicKey(), test_encodeSequenceOfAny(), test_encodeSPCFinancialCriteria(), test_encodeSPCLink(), test_encodeSPCPEImage(), test_encodeSpOpusInfo(), test_encodeUnicodeName(), test_encodeUnicodeNameValue(), test_encrypt_message(), test_end_browser_session(), test_enum_container(), test_enum_proc(), test_enum_provider_types(), test_enum_providers(), test_enum_svc(), test_enum_value(), test_enum_vols(), test_EnumBuffer(), test_EnumColorProfilesA(), test_EnumColorProfilesW(), test_EnumDateFormatsA(), test_enumdesktops(), test_enumdisplaydevices(), test_EnumDisplaySettings(), test_EnumerateProviders(), test_EnumFontFamilies(), test_EnumForms(), test_EnumLanguageGroupLocalesA(), test_EnumMonitors(), test_EnumPorts(), test_EnumPrinterDrivers(), test_EnumPrinters(), test_EnumPrintProcessors(), test_EnumProcesses(), test_EnumProcessModules(), test_EnumPwrSchemes(), test_enumstations(), test_EnumSystemGeoID(), test_EnumSystemLanguageGroupsA(), test_EnumSystemLocalesEx(), test_EnumTimeFormatsA(), test_EnumTimeFormatsW(), test_EnumUILanguageA(), test_enveloped_msg_encoding(), test_enveloped_msg_open(), test_enveloped_msg_update(), test_EqualSid(), test_error_msg(), test_event(), test_event_security(), test_events(), Test_ExcludeClipRect(), test_ExitProcess(), test_ExpandEnvironmentStringsA(), test_ExtCreateRegion(), test_extension(), Test_ExtPen(), test_extra_block(), test_ExtractIcon(), test_ExtTextOut(), test_FakeDLL(), test_FDICopy(), test_FDICreate(), test_FDIIsCabinet(), test_ffcn(), test_ffcn_directory_overlap(), test_ffcnMultipleThreads(), test_FiberHandling(), test_FiberLocalStorage(), test_FiberLocalStorageCallback(), test_FiberLocalStorageWithFibers(), test_file_access(), test_file_completion_information(), test_file_disposition_information(), test_file_info(), test_file_link_information(), test_file_rename_information(), test_file_security(), test_file_sharing(), test_filemap_security(), test_filename(), test_filenames(), test_filepipeinfo(), test_FileSecurity(), test_filesourcefilter(), test_FileTimeToDosDateTime(), test_FileTimeToLocalFileTime(), test_FileTimeToSystemTime(), test_FillConsoleOutputAttribute(), test_FillConsoleOutputCharacterA(), test_FillConsoleOutputCharacterW(), test_find_com_redirection(), test_find_dll_redirection(), test_find_first_file(), test_find_ifaceps_redirection(), test_find_progid_redirection(), test_find_resource(), test_find_string_fail(), test_find_surrogate(), test_find_url_cache_entriesA(), test_find_window_class(), test_findAttribute(), test_FindCloseUrlCache(), test_findExtension(), test_FindFirstChangeNotification(), test_FindFirstFileA(), test_FindFirstFileExA(), test_FindFirstVolume(), test_FindNextFileA(), test_findRDNAttr(), test_findsectionstring(), test_FindWindowEx(), test_firstDay(), test_flags_NtQueryDirectoryFile(), test_FlashWindow(), test_FlashWindowEx(), test_flush_buffers_file(), test_FlushFileBuffers(), test_FolderShortcut(), test_FoldStringA(), test_FoldStringW(), Test_Font(), test_font_caps(), test_foregroundwindow(), test_format_object(), test_format_rect(), test_freed_hglobal(), test_fstype_fixup(), test_fullpath(), test_fullscreen(), test_gdi_objects(), test_GdiAlphaBlend(), test_GdiConvertToDevmodeW(), test_GdiGetCodePage(), test_GdiGradientFill(), test_gen_random(), Test_General(), test_generic(), test_get_atom_name(), test_get_certificate(), test_get_cookie(), test_get_current_dir(), test_get_default_provider(), test_get_digest_stream(), test_get_displayname(), test_get_input_report(), test_get_known_usages(), test_get_profiles_dir(), test_get_security_descriptor(), test_get_servicekeyname(), test_get_user_profile_dir(), test_GetActiveProcessorCount(), test_GetAutoRotationState(), test_GetBuffer(), test_GetCalendarInfo(), test_GetClassInfo(), Test_GetClipBox(), Test_GetClipRgn(), test_GetColorDirectoryA(), test_GetColorDirectoryW(), test_GetColorProfileElement(), test_GetColorProfileElementTag(), test_GetColorProfileFromHandle(), test_GetColorProfileHeader(), test_GetComputerName(), test_GetComputerNameExA(), test_GetComputerNameExW(), test_GetConsoleFontInfo(), test_GetConsoleFontSize(), test_GetConsoleProcessList(), test_GetConsoleScreenBufferInfoEx(), test_GetCountColorProfileElements(), test_GetCPInfo(), test_GetCurrencyFormatA(), test_GetCurrentConsoleFont(), Test_GetCurrentObject(), test_GetCurrentPowerPolicies(), test_GetCursorFrameInfo(), test_GetDateFormatA(), test_GetDateFormatEx(), test_GetDateFormatW(), test_getDefaultCryptProv(), test_getDefaultOIDFunctionAddress(), test_GetDefaultPrinter(), Test_GetDIBColorTable(), test_GetDIBits(), test_GetDIBits_BI_BITFIELDS(), test_GetDiskFreeSpaceA(), test_GetDiskFreeSpaceW(), test_GetDiskInfoA(), test_GetDisplayName(), test_GetDriveTypeA(), test_GetDriveTypeW(), test_GetExplicitEntriesFromAclW(), test_getfile(), test_GetFile(), test_getfile_no_open(), test_GetFileAttributesExW(), test_GetFileInformationByHandleEx(), test_GetFileVersionInfoEx(), test_GetFinalPathNameByHandleA(), test_GetFinalPathNameByHandleW(), test_GetFullPathNameA(), test_GetFullPathNameW(), test_GetGeoInfo(), test_GetGlyphOutline(), test_GetGlyphOutline_empty_contour(), test_GetGlyphOutline_metric_clipping(), test_GetICMProfileA(), test_GetICMProfileW(), test_GetKerningPairs(), test_GetKeyState(), test_GetLargestConsoleWindowSize(), test_GetLocaleInfoA(), test_GetLocaleInfoEx(), test_GetLocaleInfoW(), test_GetLogicalDriveStringsW(), test_GetLogicalProcessorInformationEx(), test_GetLongPathNameA(), test_GetLongPathNameW(), test_GetMappedFileName(), test_getmenubarinfo(), Test_GetMessage(), test_GetModuleBaseName(), test_GetModuleFileNameEx(), test_GetModuleInformation(), test_GetMouseMovePointsEx(), test_GetNamedSecurityInfoA(), test_GetNumaProcessorNode(), test_GetNumberFormatA(), test_GetNumberFormatEx(), test_GetNumberOfConsoleInputEvents(), test_getObjectUrl(), test_GetOutlineTextMetrics(), test_GetPerformanceInfo(), test_GetPhysicallyInstalledSystemMemory(), test_GetPrinter(), test_GetPrinterData(), test_GetPrinterDataEx(), test_GetPrinterDriver(), test_GetPrinterDriverDirectory(), test_GetPrintProcessorDirectory(), test_GetPrivateProfileString(), test_getprocaddress(), test_GetProcessImageFileName(), test_GetProcessImageFileNameA(), test_GetProcessMemoryInfo(), test_GetProcessVersion(), test_GetProductInfo(), test_GetPwrCapabilities(), test_GetPwrDiskSpindownRange(), Test_GetRandomRgn_Params(), test_GetRawInputDeviceList(), test_GetScriptFontInfo(), test_GetSecurityInfo(), test_GetSetActivePwrScheme(), test_GetSetConsoleInputExeName(), test_GetSetEnvironmentVariableA(), test_GetSetEnvironmentVariableW(), test_GetSetStdHandle(), test_GetShellSecurityDescriptor(), test_GetShortPathNameW(), test_GetSidIdentifierAuthority(), test_GetSidSubAuthority(), test_getsockname(), test_GetStandardColorSpaceProfileA(), test_GetStandardColorSpaceProfileW(), Test_GetStockObject(), test_GetStringTypeW(), test_GetSysColorBrush(), test_GetSystemDirectory(), test_GetSystemDirectoryW(), Test_GetSystemMetrics(), test_GetSystemPreferredUILanguages(), test_GetTempFileNameA(), test_GetTempPathW(), test_gettext(), Test_GetTextExtentExPoint(), Test_GetTextFace(), test_GetTextFace(), test_GetTextMetrics2(), test_GetThreadExitCode(), test_GetThreadPreferredUILanguages(), test_GetThreadTimes(), test_GetTimeFormatA(), test_GetTimeFormatEx(), test_GetTimeZoneInformation(), test_GetTimeZoneInformationForYear(), test_GetTokenInformation(), test_GetUpdatedClipboardFormats(), test_GetUpdateRect(), test_GetUrlCacheEntryInfoExA(), test_GetUserNameA(), test_GetUserNameW(), test_getuserobjectinformation(), test_GetUserPreferredUILanguages(), test_GetVersionEx(), test_GetVolumeInformationA(), test_GetVolumeNameForVolumeMountPointA(), test_GetVolumeNameForVolumeMountPointW(), test_GetVolumePathNameA(), test_GetVolumePathNamesForVolumeNameA(), test_GetVolumePathNamesForVolumeNameW(), test_GetVolumePathNameW(), test_GetWindowModuleFileName(), test_GetWindowsAccountDomainSid(), test_GetWindowsDirectory(), test_GetWindowsDirectoryW(), test_GetWindowTheme(), test_GlobalAlloc(), test_group_equal(), test_handles(), test_Handles(), test_handles_process(), test_handles_process_dib(), test_handles_thread2(), test_hash_message(), test_hash_msg_encoding(), test_hash_msg_get_param(), test_hash_msg_open(), test_hash_msg_update(), test_hashes(), test_hatch_brush(), test_head_request(), test_header_handling_order(), test_header_override(), test_heap(), test_HeapQueryInformation(), test_height(), test_height_selection_vdmx(), test_hmac(), test_hotkey(), test_http_cache(), test_http_protocol_url(), test_http_status(), test_HttpQueryInfo(), test_HttpSendRequestW(), test_hv_scroll_1(), test_hv_scroll_2(), test_hwnd_message(), test_I_UpdateStore(), test_Icmp6CreateFile(), test_IcmpCloseHandle(), test_IcmpCreateFile(), test_IcmpSendEcho(), test_icon_info_dbg(), test_IdnToAscii(), test_IdnToNameprepUnicode(), test_IdnToUnicode(), test_image_mapping(), test_IME(), test_ImmDestroyContext(), test_ImmDestroyIMCC(), test_ImmGetContext(), test_ImmGetDescription(), test_ImmGetIMCLockCount(), test_ImmNotifyIME(), test_ImmSetCompositionString(), test_ImpersonateNamedPipeClient(), test_impersonation_level(), test_import_export(), test_import_hmac(), test_import_private(), test_import_resolution(), test_incorrect_api_usage(), test_inffilelist(), test_inffilelistA(), test_info(), test_info_in_assembly(), test_info_size(), test_initial_cursor(), test_InitializePrintMonitor(), test_initonce(), test_InitPathA(), test_Input_blackbox(), test_Input_mouse(), test_inputdesktop(), test_inputdesktop2(), test_InSendMessage(), test_install_svc_from(), test_InstallColorProfileA(), test_InstallColorProfileW(), test_Installer_RegistryValue(), test_installOIDFunctionAddress(), test_instances(), test_internet_features(), test_internet_features_registry(), test_InternetCanonicalizeUrlA(), test_InternetCloseHandle(), test_InternetErrorDlg(), test_InternetQueryOptionA(), test_InternetSetOption(), test_interthread_messages(), test_invalid_callbackA(), test_invalid_callbackW(), test_invalid_files(), test_invalid_parametersA(), test_invalid_parametersW(), test_invalid_response_headers(), test_InvalidIMC(), test_invariant(), test_iocp_callback(), test_ioctlsocket(), test_ip_pktinfo(), test_IsColorProfileTagPresent(), test_IsDomainLegalCookieDomainW(), test_IsProcessInJob(), test_IsThemed(), test_IsUrlCacheEntryExpiredA(), test_ITEMIDLIST_format(), test_items(), test_ITextDocument_Open(), test_jobInheritance(), test_junction_points(), test_kernel_objects_security(), test_key_derivation(), test_key_initialization(), test_key_permissions(), test_keyboard_layout_name(), test_keyed_events(), test_KillOnJobClose(), test_large_data_authentication(), test_layered_window(), test_lcmapstring_unicode(), test_LCMapStringA(), test_LCMapStringEx(), test_LCMapStringW(), test_LdrRegisterDllNotification(), test_listbox_dlgdir(), test_listbox_LB_DIR(), test_listbox_size(), test_lnks(), test_load_save(), test_Loader(), test_LoadFunctionPointers(), test_LoadIconWithScaleDown(), test_LoadImage(), test_LoadImageFile(), test_LoadLibraryEx_search_flags(), test_LoadRegTypeLib(), test_LoadStringA(), test_LoadStringW(), test_local_add_atom(), test_local_get_atom_name(), test_local_server(), test_LocalAlloc(), test_LocaleNameToLCID(), test_LocalizedNames(), test_LockFile(), Test_LockUnlockServiceDatabase(), Test_LockUnlockServiceDatabaseWithServiceStart(), test_logpen(), test_long_url(), test_LookupAccountName(), test_LookupAccountSid(), test_lookupPrivilegeName(), test_lookupPrivilegeValue(), test_lsa(), test_LZCopy(), test_LZOpenFileA(), test_LZOpenFileA_nonexisting_compressed(), test_LZOpenFileW(), test_LZOpenFileW_nonexisting_compressed(), test_LZRead(), test_mac(), test_machine_guid(), test_makecurrent(), test_map_points(), test_MapFile(), test_mapping(), test_MapViewOfFile(), test_MatchApplications(), test_MatchApplicationsEx(), test_max_conns(), test_maximum_allowed(), test_mbs_help(), test_MDI_create(), test_menu_add_string(), test_menu_bmp_and_string(), test_menu_cancelmode(), test_menu_circref(), test_menu_getmenuinfo(), test_menu_hilitemenuitem(), test_menu_locked_by_window(), test_menu_maxdepth(), test_menu_messages(), test_menu_ownerdraw(), test_menu_resource_layout(), test_menu_setmenuinfo(), test_menu_trackagain(), test_menu_trackpopupmenu(), test_menualign(), test_message_allocate_buffer(), test_message_allocate_buffer_wide(), test_message_conversion(), test_message_from_hmodule(), test_message_from_string(), test_message_from_string_wide(), test_message_ignore_inserts(), test_message_ignore_inserts_wide(), test_message_insufficient_buffer(), test_message_insufficient_buffer_wide(), test_message_invalid_flags(), test_message_invalid_flags_wide(), test_message_null_buffer(), test_message_null_buffer_wide(), test_message_window(), test_messages(), Test_MetaDC(), test_mf_Blank(), test_mf_clipping(), test_mf_DCBrush(), test_mf_ExtTextOut_on_path(), test_mf_GetPath(), test_mf_Graphics(), test_mf_PatternBrush(), test_mf_SaveDC(), test_mhtml_protocol_binding(), test_minimized(), test_mmioSeek(), test_mono_1x1_bmp_dbg(), test_monochrome_icon(), test_MoveFileA(), test_MoveFileW(), test_mru(), test_MRUListA(), test_msg_close(), test_msg_control(), test_msg_get_and_verify_signer(), test_msg_get_param(), test_msg_get_signer_count(), test_msg_open_to_decode(), test_msg_open_to_encode(), test_MsgWaitForMultipleObjects(), test_MsiQueryComponentState(), test_MsiQueryFeatureState(), test_MsiQueryProductState(), test_msirecord(), test_multi_authentication(), test_multiple_reads(), test_multithreaded_clipboard(), test_mutex(), test_mutex_security(), test_name_collisions(), test_named_pipe_security(), test_NamedPipe_2(), test_NamedPipeHandleState(), test_namespace_pipe(), test_negative_dest_length(), test_negative_source_length(), test_negative_width(), test_NhGetInterfaceNameFromDeviceGuid(), test_NhGetInterfaceNameFromGuid(), test_no_cache(), test_no_content(), test_no_headers(), test_no_stop(), test_nonalertable(), test_nonole_clipboard(), test_noprivileges(), test_not_modified(), test_notification_dbg(), test_notify(), test_notify_message(), test_NtAreMappedFilesTheSame(), Test_NtGdiAddFontResourceW(), Test_NtGdiCreateBitmap_Params(), Test_NtGdiDoPalette_GdiPalAnimate(), Test_NtGdiDoPalette_GdiPalSetEntries(), test_NtQueryDirectoryFile_case(), test_NtQuerySection(), test_NtSuspendProcess(), Test_NtUserSystemParametersInfo_Params(), Test_NtUserSystemParametersInfo_Winsta(), test_null(), test_null_auth_data(), test_null_device(), test_null_provider(), test_null_source(), test_obsolete_flags(), test_offset_in_overlapped_structure(), Test_OffsetClipRgn(), test_oidFunctionSet(), test_ok(), test_oldest(), test_open_close(), test_open_scm(), test_open_svc(), test_open_url_async(), test_openbackup(), test_OpenColorProfileA(), test_OpenColorProfileW(), test_OpenComm(), test_OpenCON(), test_OpenConsoleW(), test_openfile(), test_OpenFile(), test_OpenFileById(), test_opengl3(), Test_OpenInputDesktop(), test_OpenPort(), test_OpenPrinter(), test_OpenPrinter_defaults(), test_OpenProcess(), test_OpenRequest(), test_OpenThemeData(), test_OpenThemeDataEx(), test_options(), test_original_file_name(), test_other_invalid_parameters(), test_outline_font(), test_overlapped(), test_overlapped_buffers(), test_overlapped_error(), test_overlapped_transport(), test_overwrite(), test_owner_equal(), test_PageSetupDlgA(), test_paint_messages(), test_paintingloop(), Test_Palette(), test_parameters(), test_parametersEx(), Test_Params(), test_params(), test_parent_owner(), test_ParseDisplayName(), test_ParseDisplayNamePBC(), test_path_state(), test_PathAddBackslash(), test_PathAppendA(), test_PathBuildRootA(), test_PathCanonicalizeA(), test_PathCombineA(), test_PathCommonPrefixA(), test_PathFindExtensionA(), test_PathGetDriveNumber(), test_PathUnExpandEnvStrings(), test_pe_checksum(), Test_PeekMessage(), test_PeekMessage(), Test_Pen(), test_pfd(), test_play(), test_polydraw(), test_PostMessage(), test_Predefined(), test_premature_disconnect(), test_PrintDlgA(), test_PrintDlgExW(), test_PrivateObjectSecurity(), test_process_access(), test_process_security(), test_process_security_child(), test_ProcThreadAttributeList(), test_profile_delete_on_close(), test_profile_directory_readonly(), test_profile_existing(), test_profile_items(), test_profile_refresh(), test_profile_sections(), test_profile_sections_names(), test_prov(), test_proxy_direct(), test_proxy_indirect(), test_ps_alternate(), test_ps_userstyle(), test_pseudo_tokens(), test_publish(), test_putfile(), test_query_dos_deviceA(), test_query_handle(), test_query_handle_ex(), test_query_logicalprocex(), test_query_object(), test_query_process_debug_flags(), test_query_process_debug_object_handle(), test_query_process_debug_port(), test_query_process_handlecount(), test_query_process_priority(), test_query_process_times(), test_query_process_vm(), test_query_svc(), test_queryconfig2(), test_QueryDosDeviceA(), test_QueryFullProcessImageNameA(), test_QueryFullProcessImageNameW(), test_QueryInformationJobObject(), Test_QueryLockStatusA(), Test_QueryLockStatusW(), test_QueryOption(), Test_QueryServiceConfig2A(), Test_QueryServiceConfig2W(), test_QueueUserWorkItem(), test_quit_message(), test_rc2(), test_rc2_keylen(), test_rc4(), test_read(), test_Read(), test_read_device(), test_read_write(), test_ReadAll(), test_ReadConsole(), test_ReadConsoleOutputAttribute(), test_ReadConsoleOutputCharacterA(), test_ReadConsoleOutputCharacterW(), test_readdirectorychanges(), test_readdirectorychanges_cr(), test_readdirectorychanges_filedir(), test_readdirectorychanges_null(), test_ReadFile(), test_readfileex_pending(), test_ReadGlobalPwrPolicy(), test_ReadProcessorPwrScheme(), test_ReadPwrScheme(), test_ReadTimeOut(), test_readwrite(), Test_RealGetWindowClass(), test_RealizationInfo(), test_recordWAVE(), test_redirect(), test_redrawnow(), test_refcount(), test_reg_create_key(), test_reg_open_key(), test_reg_query_value(), test_regconnectregistry(), Test_Region(), test_RegisterClipboardFormatA(), test_registerDefaultOIDFunction(), test_registered_object_thread_affinity(), test_registerOIDFunction(), test_RegisterWaitForSingleObject(), test_registry(), test_RegNotifyChangeKeyValue(), test_RegOpenCurrentUser(), test_RegPolicyFlags(), test_relative_path(), test_RemoteDebugger(), test_remove_certificate(), test_remove_dot_segments(), test_remove_ini_values(), test_removedir(), test_RemoveDirectory(), test_RemoveDirectoryA(), test_RemoveDirectoryW(), test_renamefile(), test_render_run(), test_ReplaceFileA(), test_ReplaceFileW(), test_request_content_length(), test_request_parameter_defaults(), test_reserved_tls(), test_resolve_timeout(), test_ResolveDelayLoadedAPI(), test_response_without_headers(), test_retrieveObjectByUrl(), test_RetrieveUrlCacheEntryA(), test_rsa_encrypt(), test_rsa_round_trip(), test_RtlCompressBuffer(), test_RtlIsCriticalSectionLocked(), test_RtlQueryPackageIdentity(), test_RtlQueryTimeZoneInformation(), test_RtlQueueWorkItem(), test_RtlRegisterWait(), test_runlevel_info(), test_runner(), test_save(), test_SaveDC(), Test_SaveRestore(), test_saxreader(), test_saxreader_encoding(), test_schannel_provider(), test_scroll_messages(), test_SearchPathA(), test_SearchPathW(), test_section_access(), Test_SectionContents(), test_secure_connection(), test_security_descriptor(), test_security_flags(), test_security_info(), test_select(), test_selection(), test_semaphore(), test_semaphore_security(), test_send(), test_SendMessage_other_thread(), test_SendRequest(), test_sequence(), test_service(), test_servicenotify(), test_Session(), test_session_info(), Test_Set(), test_set_clipboard_DRAWCLIPBOARD(), test_set_coop(), test_set_default_proxy_config(), test_set_getsockopt(), test_set_hook(), test_set_provider_ex(), test_set_value(), test_setborder(), test_SetColorProfileElement(), test_SetColorProfileHeader(), test_SetConsoleFont(), test_SetCurrentDirectoryA(), test_SetCursor(), Test_SetDCPenColor(), test_SetDefaultDllDirectories(), test_SetDefaultPrinter(), test_SetDIBits_RLE8(), test_SetDIBitsToDevice_RLE8(), test_SetEnhMetaFileBits(), test_SetEntriesInAclA(), test_SetEntriesInAclW(), test_SetFileInformationByHandle(), test_SetFileValidData(), test_SetFocus(), test_SetForegroundWindow(), test_SetICMMode(), test_SetICMProfileA(), test_SetICMProfileW(), test_SetLocaleInfoA(), Test_SetMapMode(), test_SetMenu(), test_SetMetaFileBits(), Test_SetPixel_PAL(), test_setpixelformat(), test_SetSearchPathMode(), test_SetSecurityDescriptorControl(), Test_SetSysColors(), test_SetupAddInstallSectionToDiskSpaceListA(), test_SetupAddSectionToDiskSpaceListA(), test_SetupAddToDiskSpaceListA(), test_SetupCopyOEMInf(), test_SetupCreateDiskSpaceListA(), test_SetupCreateDiskSpaceListW(), test_SetupDiBuildClassInfoList(), test_SetupDiClassGuidsFromNameA(), test_SetupDiClassNameFromGuidA(), test_SetupDiCreateDeviceInfoListEx(), test_SetupDiGetClassDescriptionA(), test_SetupDiGetClassDevsA(), test_SetupDiInstallClassExA(), test_SetupDiOpenClassRegKeyExA(), test_SetupDuplicateDiskSpaceListA(), test_SetupDuplicateDiskSpaceListW(), test_SetupGetInfInformation(), test_SetupGetSourceFileLocation(), test_SetupInstallServicesFromInfSectionExA(), test_SetupInstallServicesFromInfSectionExW(), test_SetupLogError(), test_SetupQueryDrivesInDiskSpaceListA(), test_SetupQuerySpaceRequiredOnDriveA(), test_SetupQuerySpaceRequiredOnDriveW(), test_SetupUninstallOEMInf(), test_SetWindowLong(), test_SetWindowPos(), test_SetWindowTheme(), test_sh_new_link_info(), test_sh_path_prepare(), test_sha2(), test_shared_memory(), test_shared_memory_ro(), test_SHChangeNotify(), test_SHCreateShellItem(), test_SHCreateShellItemArray(), test_SHCreateStreamOnFileA(), test_SHCreateStreamOnFileEx(), test_SHCreateStreamOnFileEx_CopyTo(), test_SHCreateStreamOnFileW(), test_shell_window(), test_ShellWindows(), test_SHFormatDateTimeA(), test_SHFormatDateTimeW(), test_SHGetFolderPathAndSubDirA(), test_SHGetIniString(), test_SHGetPathFromIDList(), test_SHGetShellKey(), test_shortcut(), test_ShortPathCase(), test_ShowWindow(), test_SHParseDisplayName(), test_SHSetWindowBits(), test_SHSimpleIDListFromPath(), test_sid(), test_sid_str(), test_Sign_Media(), test_sign_message(), test_signalandwait(), test_signed_msg_encoding(), test_signed_msg_get_param(), test_signed_msg_open(), test_signed_msg_update(), test_simple_enumerationW(), test_simpleroundtrip(), test_sioAddressListChange(), test_sip(), test_sip_create_indirect_data(), test_SIPLoad(), test_SIPRetrieveSubjectGUID(), test_smresult(), test_solidbrush(), test_SPI_ICONHORIZONTALSPACING(), test_SPI_ICONVERTICALSPACING(), test_SPI_SETBEEP(), test_SPI_SETBORDER(), Test_SPI_SETDESKWALLPAPER(), test_SPI_SETDOUBLECLICKTIME(), test_SPI_SETDOUBLECLKHEIGHT(), test_SPI_SETDOUBLECLKWIDTH(), test_SPI_SETDRAGFULLWINDOWS(), test_SPI_SETFONTSMOOTHING(), test_SPI_SETICONMETRICS(), test_SPI_SETICONTITLEWRAP(), test_SPI_SETKEYBOARDDELAY(), test_SPI_SETKEYBOARDPREF(), test_SPI_SETKEYBOARDSPEED(), test_SPI_SETLOWPOWERACTIVE(), test_SPI_SETMENUDROPALIGNMENT(), test_SPI_SETMENUSHOWDELAY(), test_SPI_SETMINIMIZEDMETRICS(), test_SPI_SETMOUSE(), test_SPI_SETMOUSEBUTTONSWAP(), test_SPI_SETMOUSEHOVERHEIGHT(), test_SPI_SETMOUSEHOVERTIME(), test_SPI_SETMOUSEHOVERWIDTH(), test_SPI_SETNONCLIENTMETRICS(), test_SPI_SETPOWEROFFACTIVE(), test_SPI_SETSCREENREADER(), test_SPI_SETSCREENSAVEACTIVE(), test_SPI_SETSCREENSAVETIMEOUT(), test_SPI_SETSHOWSOUNDS(), test_SPI_SETSNAPTODEFBUTTON(), test_SPI_SETWALLPAPER(), test_SPI_SETWHEELSCROLLCHARS(), test_SPI_SETWHEELSCROLLLINES(), test_SPI_SETWORKAREA(), test_SplInitializeWinSpoolDrv(), test_start_stop(), test_start_stop_services(), test_startA(), test_startW(), test_status_callbacks(), test_stdio(), test_stop_wait_for_call(), test_storage_stream(), test_strength(), test_string_conversion(), test_string_data(), test_string_data_process(), test_StringFromGUID2(), test_subpopup_locked_by_menu(), test_successive_HttpSendRequest(), test_SuspendThread(), test_swap_control(), test_SymEnumSymbols(), test_SymFromAddr(), test_SymFromName(), test_synchronous_WSAIoctl(), test_synthesized(), test_sys_menu(), test_system_menu(), test_system_security_access(), test_SystemFunction036(), test_TabbedText(), test_TagRef(), test_TerminateJobObject(), test_TerminateProcess(), test_text_extents(), test_text_metrics(), test_texture_qi(), test_thick_child_size(), test_thread_actctx(), test_thread_objects(), test_thread_priority(), test_thread_processor(), test_thread_security(), test_thread_start_address(), test_threadcp(), test_ThreadErrorMode(), test_threadpool(), test_Timeouts(), test_timer_queue(), test_timers_no_wnd(), test_token_attr(), test_token_label(), test_token_security_descriptor(), test_TokenIntegrityLevel(), test_Toolhelp(), test_ToUnicode(), test_tp_group_cancel(), test_tp_group_wait(), test_tp_simple(), test_tp_timer(), test_tp_window_length(), test_TrackMouseEvent(), test_TrackPopupMenu(), test_TrackPopupMenuEmpty(), test_trailing_slash(), test_TransformWithLoadingLocalFile(), test_TransmitFile(), Test_Truncate(), test_TxGetNaturalSize(), test_typelib_section(), test_undefined_byte_char(), test_undo_coalescing(), test_unicode(), test_unicode_conversions(), test_UninstallColorProfileA(), test_UninstallColorProfileW(), test_urlcacheA(), test_urlcacheW(), test_UrlCanonicalizeA(), test_UrlCanonicalizeW(), test_URLDownloadToFile(), test_user_agent_header(), test_utf7_decoding(), test_utf7_encoding(), test_utils(), test_ValidatePowerPolicies(), test_ValidatePowerPolicies_Next(), test_ValidatePowerPolicies_Old(), test_ValidPathA(), test_VarWeekdayName(), test_verify_detached_message_hash(), test_verify_detached_message_signature(), test_verify_message_hash(), test_verify_message_signature(), test_verify_sig(), test_verify_signature(), test_VerifyConsoleIoHandle(), test_verifyRevocation(), test_VerifyVersionInfo(), test_VerQueryValue_InvalidLength(), test_VerQueryValueA(), test_version(), test_vertical_font(), test_VirtualAlloc(), test_VirtualAlloc_protection(), test_VirtualAllocEx(), test_VirtualProtect(), test_waitable_timer(), test_WaitBreak(), test_WaitCommEvent(), test_WaitCts(), test_WaitDcd(), test_WaitDsr(), test_WaitForInputIdle(), test_WaitForJobObject(), test_WaitForMultipleObjects(), test_WaitForSingleObject(), test_WaitRing(), test_WaitRx(), test_waittxempty(), test_WICCreateBitmapFromSectionEx(), test_widenpath(), test_window_classes(), test_window_dc(), test_winevents(), test_WinHttpAddHeaders(), test_WinHttpDetectAutoProxyConfigUrl(), test_WinHttpGetIEProxyConfigForCurrentUser(), test_WinHttpGetProxyForUrl(), test_WinHttpTimeFromSystemTime(), test_WinHttpTimeToSystemTime(), test_winproc_handles(), test_winproc_limit(), test_winregion(), test_winstation(), test_wintrust_digest(), test_WM_CHAR(), test_WM_CREATE(), test_WM_DEVICECHANGE(), test_WM_GETDLGCODE(), test_WM_LBUTTONDOWN(), test_wm_set_get_text(), test_WM_SETTEXT(), test_wndclass_section(), test_wndproc(), test_word_wrap(), test_work_area(), test_world_transform(), test_write_watch(), test_WriteConsoleInputA(), test_WriteConsoleInputW(), test_WriteConsoleOutputAttribute(), test_WriteConsoleOutputCharacterA(), test_WriteConsoleOutputCharacterW(), test_WriteFileGather(), test_WriteLine(), test_WritePrivateProfileString(), test_ws_functions(), test_WS_VSCROLL(), test_WSAPoll(), test_WSARecv(), test_WSASendMsg(), test_WTSEnumerateProcessesW(), test_XcvClosePort(), test_XcvDataPort_AddPort(), test_XcvDataPort_ConfigureLPTPortCommandOK(), test_XcvDataPort_DeletePort(), test_XcvDataPort_GetTransmissionRetryTimeout(), test_XcvDataPort_MonitorUI(), test_XcvDataPort_PortIsValid(), test_XcvDataW_MonitorUI(), test_XcvDataW_PortIsValid(), test_XcvOpenPort(), test_ZombifyActCtx(), testAcquireCertPrivateKey(), testAcquireSecurityContext(), testAddCert(), testAddCertificateLink(), testAddCRL(), testAddCTLToStore(), testAddSerialized(), testAlgIDToOID(), testCertEnumSystemStore(), testCertOpenSystemStore(), testCertProperties(), testCertRegisterSystemStore(), testCertSigs(), TestClassRedirection(), testCloseStore(), testCollectionStore(), testCompareCertName(), testComparePublicKeyInfo(), testCreateCert(), testCreateCertChainEngine(), testCreateCRL(), testCreateCTL(), testCreateDeviceInfo(), testCreateDeviceInterface(), testCreateSelfSignCert(), testCRLProperties(), testCryptHashCert(), testCTLProperties(), testCtrlHandler(), testCursor(), testCursorInfo(), testDeviceRegistryPropertyA(), testDeviceRegistryPropertyW(), testDevRegKey(), testDupCert(), testEmptyStore(), TestEnumFontFamilies(), testExportPublicKey(), TestFileFsDeviceInformation(), testFileNameStore(), testFileStore(), testFindCert(), testFindCertInCRL(), testFindCRL(), testGetCertChain(), TestGetComputerNameEx(), testGetComputerObjectNameA(), testGetComputerObjectNameW(), testGetCRLFromStore(), TestGetCurrentDirectoryA(), TestGetCurrentDirectoryW(), testGetDeviceInstanceId(), testGetDeviceInterfaceDetail(), testGetIssuerCert(), testGetModuleFileName(), testGetModuleHandleEx(), testGetProcAddress_Wrong(), testGetPublicKeyLength(), testGetSubjectCert(), testGetUserNameExA(), testGetUserNameExW(), TestGetUserObjectInfoW(), testGetValidUsages(), TestGetVolumeInformationA(), TestGetVolumeInformationW(), TestGlobalLockNUnlock(), testHashPublicKeyInfo(), testHashToBeSigned(), testIcmpSendEcho(), testImportPublicKey(), testInit(), testInstallClass(), testIntendedKeyUsage(), testIsRDNAttrsInCertificateName(), testIsValidCRLForCert(), testKeyUsage(), TestKM(), TestKs(), TestLibDependency(), testLinkCert(), testLoadLibraryA(), testLoadLibraryA_Wrong(), testLoadLibraryEx(), TestManualInstantiation(), testMemStore(), testMessageStore(), TestMyEventProvider(), testNotifyAddrChange(), TestPrivMoveFileIdentityW(), TestRead(), TestRecursiveInterThreadMessages(), testRegisterAndGetDetail(), testRegisterDeviceInfo(), testRegStore(), testRegStoreSavedCerts(), TestReturnValues(), testScreenBuffer(), testScroll(), testSerializedStore(), testSetupDiGetClassDevsA(), testSetupDiGetINFClassA(), TestShellExecuteEx(), testSignAndEncodeCert(), testSignCert(), testStoreProperty(), testStoresInCollection(), testStringToBinaryA(), testSystemRegStore(), testSystemStore(), testTimeDecoding(), testTimeEncoding(), testVerifyCertChainPolicy(), testVerifyCertSig(), testVerifyCertSigEx(), testVerifyCRLRevocation(), testVerifyRevocation(), testVerifySubjectCert(), testWaitForConsoleInput(), TestWrite(), textstream_read(), textstream_writecrlf(), textstream_writestr(), ThemeServiceMain(), THEMING_Initialize(), ThirdPartyVDDBop(), BtrfsSend::Thread(), thread(), thread_actctx_func(), thread_main(), thread_proc(), ThreadShutdownNotify(), TIME_MMSysTimeThread(), timer_queue_cb2(), timer_queue_cb6(), TimerCallback1(), tirpc_report(), TLB_ReadTypeLib(), tmpnam(), toggle_ctlLine(), trace_extended_error(), CTrayWindow::TrackCtxMenu(), transfer_file_local(), TranslateStatus(), TRASH_CanTrashFile(), try_start_stop(), TryToLockOrUnlockDrive(), TV1_GetDependants(), TV2_GetDependants(), TV2_HasDependantServices(), UDFPhReadSynchronous(), UDFPhSendIOCTL(), UDFPhWriteSynchronous(), UndocumentedMethod(), Uninitialize(), uninstall_assembly(), Unlink(), UnloadUserProfile(), UnlockFile(), update_empty_exe(), update_missing_exe(), update_resources_bigdata(), update_resources_version(), CAvailableApps::UpdateAppsDB(), UpdateDevicesListViewControl(), UpdateDevInfo(), UpdateDriverForPlugAndPlayDevicesW(), UpdateImageInfo(), UpdateStatus(), UpdateSystemTime(), BtrfsScrub::UpdateTextBox(), urlcache_delete_file(), User32CreateWindowEx(), UsermodeMethod(), UserpShowInformationBalloon(), Utf8Convert_(), UXTHEME_DrawBackgroundFill(), UXTHEME_DrawBorderRectangle(), UXTHEME_DrawImageBackground(), UXTHEME_DrawImageGlyph(), UXTHEME_LoadImage(), UXTHEME_LoadTheme(), UXTHEME_SetWindowProperty(), validate_default_security_descriptor(), validate_impersonation_token(), validate_signature(), variant_from_registry_value(), VarMonthName(), VarWeekdayName(), verify_cert_revocation_from_aia_ext(), verify_cert_revocation_from_dist_points_ext(), verifySig(), VerInstallFileA(), VersionRegisterClass(), VfdBroadcastLink(), VfdCheckDriverFile(), VfdCheckImageFile(), VfdCloseImage(), VfdConfigDriver(), VfdCreateImageFile(), VfdDismountVolume(), VfdFormatMedia(), VfdGetDeviceName(), VfdGetDeviceNumber(), VfdGetDriverConfig(), VfdGetDriverState(), VfdGetDriverVersion(), VfdGetGlobalLink(), VfdGetImageInfo(), VfdGetLocalLink(), VfdGetMediaState(), VfdGuiClose(), VfdGuiFormat(), VfdGuiOpen(), VfdGuiSave(), VfdImageTip(), VfdInstallDriver(), VfdOpenDevice(), VfdOpenImage(), VfdRemoveDriver(), VfdSaveImage(), VfdSetGlobalLink(), VfdSetLocalLink(), VfdStartDriver(), VfdStopDriver(), VfdWriteProtect(), VgaEnterNewMode(), VirtualTest(), VolumeInfoMain(), WahCloseThread(), WahCreateSocketHandle(), WahDisableNonIFSHandleSupport(), WahOpenCurrentThread(), WahOpenHandleHelper(), WahQueueUserApc(), wait_async_request(), wait_for_completion(), WaitForLsass(), WaitForSCManager(), WaitForService(), WatchDirectory(), CIconWatcher::WatcherThread(), WAVE_mciSave(), WDML_ClientHandle(), well_known_sid(), wgl_thread(), WhoamiGetTokenInfo(), WICCreateBitmapFromSectionEx(), win32_read_file_func(), win32_seek64_file_func(), win32_seek_file_func(), win32_tell64_file_func(), win32_tell_file_func(), Win32_Tests(), win32_write_file_func(), WindowThreadProc(), wined3d_adapter_init(), wined3d_caps_gl_ctx_create_attribs(), wined3d_caps_gl_ctx_destroy(), wined3d_dll_destroy(), wined3d_dll_init(), wined3d_get_adapter_identifier(), wined3d_release_dc(), wined3d_swapchain_resize_buffers(), wined3d_swapchain_set_swap_interval(), WinExec(), WinHttpCrackUrl_test(), WinHttpCreateUrl_test(), WinMain(), WINTRUST_CertVerify(), WINTRUST_CertVerifyObjTrust(), WINTRUST_CopyChain(), WINTRUST_CreateChainForSigner(), WINTRUST_DefaultVerify(), WINTRUST_GetSignedMsgFromPEFile(), WINTRUST_SaveSigner(), WINTRUST_VerifySigner(), WlanOpenHandle_test(), WlanScan(), WlxScreenSaverNotify(), WlxStartApplication(), wmain(), WndProc(), WNetGetNetworkInformationA(), WNetGetUserA(), WNetGetUserW(), write_bitmap(), write_buffer_to_file(), write_file(), write_manifest(), write_post_stream(), write_raw_file(), write_to_file(), write_watch_thread(), WriteFileEx_Remixer(), WriteJobShadowFile(), WriteMinidump(), WritePrinter(), WriteVolumeSector(), wsa_recv_thread(), WSAGetLastError(), WSALookupServiceNextA(), WsAsyncGetHost(), WsAsyncGetProto(), WsAsyncGetServ(), WshExec_create(), WshExec_get_Status(), WSHIoctl_GetInterfaceList(), WshShell3_ExpandEnvironmentStrings(), WshShell3_get_CurrentDirectory(), WshShell3_put_CurrentDirectory(), WshShell3_Run(), WsNqLookupServiceBegin(), WsNqLookupServiceNext(), WSPIoctl(), wsprintfATest(), wsprintfWTest(), WTSQuerySessionInformationW(), wWinMain(), XCOPY_CreateDirectory(), XCOPY_DoCopy(), XCOPY_FailMessage(), XCOPY_LoadMessage(), XCOPY_ProcessDestParm(), XCOPY_ProcessSourceParm(), and XCOPY_wprintf().

◆ IsBadCodePtr()

BOOL NTAPI IsBadCodePtr ( FARPROC  lpfn)

Definition at line 874 of file except.c.

875 {
876  /* Executing has the same privileges as reading */
877  return IsBadReadPtr((LPVOID)lpfn, 1);
878 }
BOOL WINAPI IsBadReadPtr(IN LPCVOID lp, IN UINT_PTR ucb)
Definition: except.c:807

Referenced by DirectDrawEnumerateA(), DirectDrawEnumerateExA(), DPA_Merge(), IsValidInterface(), Main_DirectDraw_EnumDisplayModes(), Main_DirectDraw_EnumDisplayModes4(), test_IsBadCodePtr(), and WSASetBlockingHook().

◆ IsBadHugeReadPtr()

BOOL NTAPI IsBadHugeReadPtr ( LPCVOID  lp,
UINT_PTR  ucb 
)

Definition at line 862 of file except.c.

864 {
865  /* Implementation is the same on 32-bit */
866  return IsBadReadPtr(lp, ucb);
867 }
BOOL WINAPI IsBadReadPtr(IN LPCVOID lp, IN UINT_PTR ucb)
Definition: except.c:807

◆ IsBadHugeWritePtr()

BOOL NTAPI IsBadHugeWritePtr ( IN LPVOID  lp,
IN UINT_PTR  ucb 
)

Definition at line 940 of file except.c.

942 {
943  /* Implementation is the same on 32-bit */
944  return IsBadWritePtr(lp, ucb);
945 }
BOOL NTAPI IsBadWritePtr(IN LPVOID lp, IN UINT_PTR ucb)
Definition: except.c:885

◆ IsBadReadPtr()

BOOL WINAPI IsBadReadPtr ( IN LPCVOID  lp,
IN UINT_PTR  ucb 
)

Definition at line 807 of file except.c.

809 {
810  ULONG PageSize;
811  BOOLEAN Result = FALSE;
812  volatile CHAR *Current;
813  PCHAR Last;
814 
815  /* Quick cases */
816  if (!ucb) return FALSE;
817  if (!lp) return TRUE;
818 
819  /* Get the page size */
821 
822  /* Calculate start and end */
823  Current = (volatile CHAR*)lp;
824  Last = (PCHAR)((ULONG_PTR)lp + ucb - 1);
825 
826  /* Another quick failure case */
827  if (Last < Current) return TRUE;
828 
829  /* Enter SEH */
830  _SEH2_TRY
831  {
832  /* Do an initial probe */
833  *Current;
834 
835  /* Align the addresses */
836  Current = (volatile CHAR *)ALIGN_DOWN_POINTER_BY(Current, PageSize);
837  Last = (PCHAR)ALIGN_DOWN_POINTER_BY(Last, PageSize);
838 
839  /* Probe the entire range */
840  while (Current != Last)
841  {
842  Current += PageSize;
843  *Current;
844  }
845  }
847  {
848  /* We hit an exception, so return true */
849  Result = TRUE;
850  }
851  _SEH2_END
852 
853  /* Return exception status */
854  return Result;
855 }
signed char * PCHAR
Definition: retypes.h:7
#define TRUE
Definition: types.h:120
PBASE_STATIC_SERVER_DATA BaseStaticServerData
Definition: dllmain.c:19
char CHAR
Definition: xmlstorage.h:175
_SEH2_TRY
Definition: create.c:4250
uint32_t ULONG_PTR
Definition: typedefs.h:63
#define EXCEPTION_EXECUTE_HANDLER
Definition: excpt.h:85
unsigned char BOOLEAN
_At_(*)(_In_ PWSK_CLIENT Client, _In_opt_ PUNICODE_STRING NodeName, _In_opt_ PUNICODE_STRING ServiceName, _In_opt_ ULONG NameSpace, _In_opt_ GUID *Provider, _In_opt_ PADDRINFOEXW Hints, _Outptr_ PADDRINFOEXW *Result, _In_opt_ PEPROCESS OwningProcess, _In_opt_ PETHREAD OwningThread, _Inout_ PIRP Irp Result)(Mem)) NTSTATUS(WSKAPI *PFN_WSK_GET_ADDRESS_INFO
Definition: wsk.h:426
SYSTEM_BASIC_INFORMATION SysInfo
Definition: base.h:122
#define PCHAR
Definition: match.c:90
_SEH2_END
Definition: create.c:4424
unsigned int ULONG
Definition: retypes.h:1
#define _SEH2_EXCEPT(...)
Definition: pseh2_64.h:6
#define ALIGN_DOWN_POINTER_BY(ptr, align)
Definition: umtypes.h:82

Referenced by connect(), DrawThemeParentBackground(), FBadColumnSet(), FBadEntryList(), FBadProp(), FBadRglpszA(), FBadRglpszW(), FBadRow(), FBadRowSet(), get_imc_data(), GlobalLock(), IsBadCodePtr(), IsBadHugeReadPtr(), IsValidInterface(), mem2hex(), MIDIMAP_IsBadData(), MSACM_GetObj(), NetworkDomainPageDlgProc(), PrintStackTrace(), PROP_BadArray(), ReadUrlCacheEntryStream(), ScCountProps(), StartDirectDraw(), test_IsBadReadPtr(), test_MapViewOfFile(), TEST_MemoryRead(), test_parse_filter_data(), UnlockUrlCacheEntryStream(), WAVEMAP_IsData(), WSALookupServiceBeginA(), WSALookupServiceBeginW(), WSALookupServiceEnd(), WSALookupServiceNextA(), and WSALookupServiceNextW().

◆ IsBadStringPtrA()

BOOL NTAPI IsBadStringPtrA ( IN LPCSTR  lpsz,
IN UINT_PTR  ucchMax 
)

Definition at line 991 of file except.c.

993 {
994  BOOLEAN Result = FALSE;
995  volatile CHAR *Current;
996  PCHAR Last;
997  CHAR Char;
998 
999  /* Quick cases */
1000  if (!ucchMax) return FALSE;
1001  if (!lpsz) return TRUE;
1002 
1003  /* Calculate start and end */
1004  Current = (volatile CHAR*)lpsz;
1005  Last = (PCHAR)((ULONG_PTR)lpsz + ucchMax - 1);
1006 
1007  /* Enter SEH */
1008  _SEH2_TRY
1009  {
1010  /* Probe the entire range */
1011  Char = *Current++;
1012  while ((Char) && (Current != Last)) Char = *Current++;
1013  }
1015  {
1016  /* We hit an exception, so return true */
1017  Result = TRUE;
1018  }
1019  _SEH2_END
1020 
1021  /* Return exception status */
1022  return Result;
1023 }
signed char * PCHAR
Definition: retypes.h:7
#define TRUE
Definition: types.h:120
char CHAR
Definition: xmlstorage.h:175
_SEH2_TRY
Definition: create.c:4250
uint32_t ULONG_PTR
Definition: typedefs.h:63
char Char
Definition: bzip2.c:161
#define EXCEPTION_EXECUTE_HANDLER
Definition: excpt.h:85
unsigned char BOOLEAN
_At_(*)(_In_ PWSK_CLIENT Client, _In_opt_ PUNICODE_STRING NodeName, _In_opt_ PUNICODE_STRING ServiceName, _In_opt_ ULONG NameSpace, _In_opt_ GUID *Provider, _In_opt_ PADDRINFOEXW Hints, _Outptr_ PADDRINFOEXW *Result, _In_opt_ PEPROCESS OwningProcess, _In_opt_ PETHREAD OwningThread, _Inout_ PIRP Irp Result)(Mem)) NTSTATUS(WSKAPI *PFN_WSK_GET_ADDRESS_INFO
Definition: wsk.h:426
#define PCHAR
Definition: match.c:90
_SEH2_END
Definition: create.c:4424
#define _SEH2_EXCEPT(...)
Definition: pseh2_64.h:6

Referenced by AddMRUStringA(), CreateMRUListLazyA(), FBadProp(), FBadRglpszA(), IsBadBoundedStringPtr(), ReadUrlCacheEntryStream(), UnlockUrlCacheEntryStream(), and UrlHashA().

◆ IsBadStringPtrW()

BOOL NTAPI IsBadStringPtrW ( IN LPCWSTR  lpsz,
IN UINT_PTR  ucchMax 
)

Definition at line 952 of file except.c.

954 {
955  BOOLEAN Result = FALSE;
956  volatile WCHAR *Current;
957  PWCHAR Last;
958  WCHAR Char;
959 
960  /* Quick cases */
961  if (!ucchMax) return FALSE;
962  if (!lpsz) return TRUE;
963 
964  /* Calculate start and end */
965  Current = (volatile WCHAR*)lpsz;
966  Last = (PWCHAR)((ULONG_PTR)lpsz + (ucchMax * 2) - 2);
967 
968  /* Enter SEH */
969  _SEH2_TRY
970  {
971  /* Probe the entire range */
972  Char = *Current++;
973  while ((Char) && (Current != Last)) Char = *Current++;
974  }
976  {
977  /* We hit an exception, so return true */
978  Result = TRUE;
979  }
980  _SEH2_END
981 
982  /* Return exception status */
983  return Result;
984 }
#define TRUE
Definition: types.h:120
__wchar_t WCHAR
Definition: xmlstorage.h:180
uint16_t * PWCHAR
Definition: typedefs.h:54
_SEH2_TRY
Definition: create.c:4250
uint32_t ULONG_PTR
Definition: typedefs.h:63
char Char
Definition: bzip2.c:161
#define EXCEPTION_EXECUTE_HANDLER
Definition: excpt.h:85
unsigned char BOOLEAN
_At_(*)(_In_ PWSK_CLIENT Client, _In_opt_ PUNICODE_STRING NodeName, _In_opt_ PUNICODE_STRING ServiceName, _In_opt_ ULONG NameSpace, _In_opt_ GUID *Provider, _In_opt_ PADDRINFOEXW Hints, _Outptr_ PADDRINFOEXW *Result, _In_opt_ PEPROCESS OwningProcess, _In_opt_ PETHREAD OwningThread, _Inout_ PIRP Irp Result)(Mem)) NTSTATUS(WSKAPI *PFN_WSK_GET_ADDRESS_INFO
Definition: wsk.h:426
_SEH2_END
Definition: create.c:4424
#define _SEH2_EXCEPT(...)
Definition: pseh2_64.h:6

Referenced by AddMRUStringW(), CreateMRUListLazyW(), FBadProp(), FBadRglpszW(), and UrlHashW().

◆ IsBadWritePtr()

BOOL NTAPI IsBadWritePtr ( IN LPVOID  lp,
IN UINT_PTR  ucb 
)

Definition at line 885 of file except.c.

887 {
888  ULONG PageSize;
889  BOOLEAN Result = FALSE;
890  volatile CHAR *Current;
891  PCHAR Last;
892 
893  /* Quick cases */
894  if (!ucb) return FALSE;
895  if (!lp) return TRUE;
896 
897  /* Get the page size */
899 
900  /* Calculate start and end */
901  Current = (volatile CHAR*)lp;
902  Last = (PCHAR)((ULONG_PTR)lp + ucb - 1);
903 
904  /* Another quick failure case */
905  if (Last < Current) return TRUE;
906 
907  /* Enter SEH */
908  _SEH2_TRY
909  {
910  /* Do an initial probe */
911  *Current = *Current;
912 
913  /* Align the addresses */
914  Current = (volatile CHAR *)ALIGN_DOWN_POINTER_BY(Current, PageSize);
915  Last = (PCHAR)ALIGN_DOWN_POINTER_BY(Last, PageSize);
916 
917  /* Probe the entire range */
918  while (Current != Last)
919  {
920  Current += PageSize;
921  *Current = *Current;
922  }
923  }
925  {
926  /* We hit an exception, so return true */
927  Result = TRUE;
928  }
929  _SEH2_END
930 
931  /* Return exception status */
932  return Result;
933 }
signed char * PCHAR
Definition: retypes.h:7
#define TRUE
Definition: types.h:120
PBASE_STATIC_SERVER_DATA BaseStaticServerData
Definition: dllmain.c:19
char CHAR
Definition: xmlstorage.h:175
_SEH2_TRY
Definition: create.c:4250
uint32_t ULONG_PTR
Definition: typedefs.h:63
#define EXCEPTION_EXECUTE_HANDLER
Definition: excpt.h:85
unsigned char BOOLEAN
_At_(*)(_In_ PWSK_CLIENT Client, _In_opt_ PUNICODE_STRING NodeName, _In_opt_ PUNICODE_STRING ServiceName, _In_opt_ ULONG NameSpace, _In_opt_ GUID *Provider, _In_opt_ PADDRINFOEXW Hints, _Outptr_ PADDRINFOEXW *Result, _In_opt_ PEPROCESS OwningProcess, _In_opt_ PETHREAD OwningThread, _Inout_ PIRP Irp Result)(Mem)) NTSTATUS(WSKAPI *PFN_WSK_GET_ADDRESS_INFO
Definition: wsk.h:426
SYSTEM_BASIC_INFORMATION SysInfo
Definition: base.h:122
#define PCHAR
Definition: match.c:90
_SEH2_END
Definition: create.c:4424
unsigned int ULONG
Definition: retypes.h:1
#define _SEH2_EXCEPT(...)
Definition: pseh2_64.h:6
#define ALIGN_DOWN_POINTER_BY(ptr, align)
Definition: umtypes.h:82

Referenced by DPA_Merge(), IsBadHugeWritePtr(), Main_DirectDraw_GetDeviceIdentifier(), Main_DirectDraw_GetDeviceIdentifier7(), Main_DirectDraw_GetDisplayMode(), Main_DirectDraw_GetDisplayMode4(), Main_DirectDraw_GetFourCCCodes(), Main_DirectDraw_GetMonitorFrequency(), ProcessIdToSessionId(), PropCopyMore(), SendARP(), SHRegWriteUSValueW(), SystemFunction036(), test_EnumBuffer(), test_GetBuffer(), test_IsBadWritePtr(), TEST_MemoryWrite(), UnProtect::UnProtect(), UrlHashA(), UrlHashW(), WSALookupServiceBeginW(), WSALookupServiceNextA(), and WSALookupServiceNextW().

◆ PrintStackTrace()

static VOID PrintStackTrace ( IN PEXCEPTION_POINTERS  ExceptionInfo)
static

Definition at line 93 of file except.c.

94 {
95  PVOID StartAddr;
96  CHAR szMod[128] = "", *szModFile;
97  PEXCEPTION_RECORD ExceptionRecord = ExceptionInfo->ExceptionRecord;
98  PCONTEXT ContextRecord = ExceptionInfo->ContextRecord;
99 
100  /* Print a stack trace */
101  DbgPrint("Unhandled exception\n");
102  DbgPrint("ExceptionCode: %8x\n", ExceptionRecord->ExceptionCode);
103 
104  if (ExceptionRecord->ExceptionCode == STATUS_ACCESS_VIOLATION &&
105  ExceptionRecord->NumberParameters == 2)
106  {
107  DbgPrint("Faulting Address: %8x\n", ExceptionRecord->ExceptionInformation[1]);
108  }
109 
111  _module_name_from_addr(ExceptionRecord->ExceptionAddress, &StartAddr, szMod, sizeof(szMod), &szModFile);
112  DbgPrint("Address:\n<%s:%x> (%s@%x)\n",
113  szModFile,
114  (ULONG_PTR)ExceptionRecord->ExceptionAddress - (ULONG_PTR)StartAddr,
115  szMod,
116  StartAddr);
117 #ifdef _M_IX86
118  DbgPrint("Frames:\n");
119 
120  _SEH2_TRY
121  {
122  UINT i;
123  PULONG Frame = (PULONG)ContextRecord->Ebp;
124 
125  for (i = 0; Frame[1] != 0 && Frame[1] != 0xdeadbeef && i < 128; i++)
126  {
127  if (IsBadReadPtr((PVOID)Frame[1], 4))
128  {
129  DbgPrint("<%s:%x>\n", "[invalid address]", Frame[1]);
130  }
131  else
132  {
133  _module_name_from_addr((const void*)Frame[1], &StartAddr,
134  szMod, sizeof(szMod), &szModFile);
135  DbgPrint("<%s:%x> (%s@%x)\n",
136  szModFile,
137  (ULONG_PTR)Frame[1] - (ULONG_PTR)StartAddr,
138  szMod,
139  StartAddr);
140  }
141 
142  if (IsBadReadPtr((PVOID)Frame[0], sizeof(*Frame) * 2))
143  break;
144 
145  Frame = (PULONG)Frame[0];
146  }
147  }
149  {
150  DbgPrint("<error dumping stack trace: 0x%x>\n", _SEH2_GetExceptionCode());
151  }
152  _SEH2_END;
153 #endif
154 }
#define DbgPrint
Definition: loader.c:25
char CHAR
Definition: xmlstorage.h:175
static VOID _dump_context(PCONTEXT pc)
Definition: except.c:59
PVOID ExceptionAddress
Definition: compat.h:199
_SEH2_TRY
Definition: create.c:4250
uint32_t ULONG_PTR
Definition: typedefs.h:63
DWORD ExceptionCode
Definition: compat.h:196
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
Definition: glfuncs.h:248
#define EXCEPTION_EXECUTE_HANDLER
Definition: excpt.h:85
ULONG_PTR ExceptionInformation[EXCEPTION_MAXIMUM_PARAMETERS]
Definition: compat.h:201
unsigned int UINT
Definition: ndis.h:50
#define for
Definition: utility.h:88
_IRQL_requires_same_ _In_ PVOID _Inout_ struct _CONTEXT * ContextRecord
Definition: ntbasedef.h:661
static const char * _module_name_from_addr(const void *addr, void **module_start_addr, char *psz, size_t nChars, char **module_name)
Definition: except.c:25
struct _EXCEPTION_RECORD * ExceptionRecord
Definition: compat.h:198
_SEH2_END
Definition: create.c:4424
#define STATUS_ACCESS_VIOLATION
Definition: ntstatus.h:228
BOOL WINAPI IsBadReadPtr(IN LPCVOID lp, IN UINT_PTR ucb)
Definition: except.c:807
unsigned int * PULONG
Definition: retypes.h:1
#define _SEH2_EXCEPT(...)
Definition: pseh2_64.h:6
#define _SEH2_GetExceptionCode()
Definition: pseh2_64.h:12
DWORD NumberParameters
Definition: compat.h:200

Referenced by UnhandledExceptionFilter().

◆ RaiseException()

VOID WINAPI RaiseException ( IN DWORD  dwExceptionCode,
IN DWORD  dwExceptionFlags,
IN DWORD  nNumberOfArguments,
IN CONST ULONG_PTR *lpArguments  OPTIONAL 
)

Definition at line 693 of file except.c.

697 {
698  EXCEPTION_RECORD ExceptionRecord;
699 
700  /* Setup the exception record */
701  ExceptionRecord.ExceptionCode = dwExceptionCode;
702  ExceptionRecord.ExceptionRecord = NULL;
703  ExceptionRecord.ExceptionAddress = (PVOID)RaiseException;
704  ExceptionRecord.ExceptionFlags = dwExceptionFlags & EXCEPTION_NONCONTINUABLE;
705 
706  /* Check if we have arguments */
707  if (!lpArguments)
708  {
709  /* We don't */
710  ExceptionRecord.NumberParameters = 0;
711  }
712  else
713  {
714  /* We do, normalize the count */
715  if (nNumberOfArguments > EXCEPTION_MAXIMUM_PARAMETERS)
716  nNumberOfArguments = EXCEPTION_MAXIMUM_PARAMETERS;
717 
718  /* Set the count of parameters and copy them */
719  ExceptionRecord.NumberParameters = nNumberOfArguments;
720  RtlCopyMemory(ExceptionRecord.ExceptionInformation,
721  lpArguments,
722  nNumberOfArguments * sizeof(ULONG));
723  }
724 
725  /* Better handling of Delphi Exceptions... a ReactOS Hack */
726  if (dwExceptionCode == 0xeedface || dwExceptionCode == 0xeedfade)
727  {
728  DPRINT1("Delphi Exception at address: %p\n", ExceptionRecord.ExceptionInformation[0]);
729  DPRINT1("Exception-Object: %p\n", ExceptionRecord.ExceptionInformation[1]);
730  DPRINT1("Exception text: %lx\n", ExceptionRecord.ExceptionInformation[2]);
731  }
732 
733  /* Trace the wine special error and show the modulename and functionname */
734  if (dwExceptionCode == 0x80000100 /* EXCEPTION_WINE_STUB */)
735  {
736  /* Numbers of parameter must be equal to two */
737  if (ExceptionRecord.NumberParameters == 2)
738  {
739  DPRINT1("Missing function in : %s\n", ExceptionRecord.ExceptionInformation[0]);
740  DPRINT1("with the functionname : %s\n", ExceptionRecord.ExceptionInformation[1]);
741  }
742  }
743 
744  /* Raise the exception */
745  RtlRaiseException(&ExceptionRecord);
746 }
NTSYSAPI VOID NTAPI RtlCopyMemory(VOID UNALIGNED *Destination, CONST VOID UNALIGNED *Source, ULONG Length)
#define EXCEPTION_NONCONTINUABLE
Definition: rtltypes.h:150
#define EXCEPTION_MAXIMUM_PARAMETERS
Definition: compat.h:194
NTSYSAPI VOID NTAPI RtlRaiseException(_In_ PEXCEPTION_RECORD ExceptionRecord)
PVOID ExceptionAddress
Definition: compat.h:199
DWORD ExceptionCode
Definition: compat.h:196
smooth NULL
Definition: ftsmooth.c:416
void * PVOID
Definition: retypes.h:9
ULONG_PTR ExceptionInformation[EXCEPTION_MAXIMUM_PARAMETERS]
Definition: compat.h:201
struct _EXCEPTION_RECORD * ExceptionRecord
Definition: compat.h:198
VOID WINAPI RaiseException(IN DWORD dwExceptionCode, IN DWORD dwExceptionFlags, IN DWORD nNumberOfArguments, IN CONST ULONG_PTR *lpArguments OPTIONAL)
Definition: except.c:693
#define DPRINT1
Definition: precomp.h:8
unsigned int ULONG
Definition: retypes.h:1
DWORD ExceptionFlags
Definition: compat.h:197
DWORD NumberParameters
Definition: compat.h:200

Referenced by __delayLoadHelper2(), _CxxThrowException(), _invalid_parameter(), CHString::AllocBuffer(), CHString::AllocCopy(), CHString::AssignCopy(), AtlThrowImp(), callback_exception(), CLIPFORMAT_UserMarshal(), CLIPFORMAT_UserSize(), CLIPFORMAT_UserUnmarshal(), CHString::ConcatCopy(), CHString::ConcatInPlace(), DEFINE_TEST(), FlsCallback3(), handle_UserMarshal(), handle_UserSize(), handle_UserUnmarshal(), HBITMAP_UserUnmarshal(), HENHMETAFILE_UserUnmarshal(), HGLOBAL_UserUnmarshal(), HMETAFILE_UserUnmarshal(), LogToFile(), notify_DllMain(), notify_TlsCallback(), OutputDebugStringA(), RpcRaiseException(), ShellExecCmdLine(), STGMEDIUM_UserFree(), STGMEDIUM_UserMarshal(), STGMEDIUM_UserSize(), STGMEDIUM_UserUnmarshal(), test_bug_4004_helper_1(), test_finally_13_helper(), test_finally_14_helper(), test_yield_2_helper(), test_yield_4_helper(), and WdtpInterfacePointer_UserUnmarshal().

◆ SetErrorMode()

UINT WINAPI SetErrorMode ( IN UINT  uMode)

Definition at line 753 of file except.c.

754 {
755  UINT PrevErrMode, NewMode;
756 
757  /* Get the previous mode */
758  PrevErrMode = GetErrorMode();
759  NewMode = uMode;
760 
761  /* Check if failing critical errors was requested */
762  if (NewMode & SEM_FAILCRITICALERRORS)
763  {
764  /* Mask it out, since the native API works differently */
765  NewMode &= ~SEM_FAILCRITICALERRORS;
766  }
767  else
768  {
769  /* OR it if the caller didn't, due to different native semantics */
770  NewMode |= SEM_FAILCRITICALERRORS;
771  }
772 
773  /* Always keep no alignment faults if they were set */
774  NewMode |= (PrevErrMode & SEM_NOALIGNMENTFAULTEXCEPT);
775 
776  /* Set the new mode */
779  (PVOID)&NewMode,
780  sizeof(NewMode));
781 
782  /* Return the previous mode */
783  return PrevErrMode;
784 }
#define SEM_FAILCRITICALERRORS
Definition: rtltypes.h:69
#define SEM_NOALIGNMENTFAULTEXCEPT
Definition: rtltypes.h:71
UINT WINAPI GetErrorMode(VOID)
Definition: except.c:223
#define NtCurrentProcess()
Definition: nt_native.h:1657
unsigned int UINT
Definition: ndis.h:50
NTSTATUS NTAPI NtSetInformationProcess(IN HANDLE ProcessHandle, IN PROCESSINFOCLASS ProcessInformationClass, IN PVOID ProcessInformation, IN ULONG ProcessInformationLength)
Definition: query.c:1089

Referenced by _seterrormode(), _tWinMain(), doCrash(), FileExists(), ShellDirectory::fill_w32fdata_shell(), fill_w32fdata_shell(), GetLongPathNameW(), GetShortPathNameW(), PathFileExistsA(), PathFileExistsAndAttributesA(), PathFileExistsAndAttributesW(), PathFileExistsW(), CWineTest::Run(), run_tests(), SHAddToRecentDocs(), test_ExitProcess(), test_Loader(), test_section_access(), VfdOpenDevice(), and wmainCRTStartup().

◆ SetLastError()

VOID WINAPI SetLastError ( IN DWORD  dwErrCode)

Definition at line 1030 of file except.c.

1031 {
1032  /* Break if a debugger requested checking for this error code */
1033  if ((g_dwLastErrorToBreakOn) && (g_dwLastErrorToBreakOn == dwErrCode)) DbgBreakPoint();
1034 
1035  /* Set last error if it's a new error */
1036  if (NtCurrentTeb()->LastErrorValue != dwErrCode) NtCurrentTeb()->LastErrorValue = dwErrCode;
1037 }
void DbgBreakPoint()
Definition: mach.c:558
DWORD g_dwLastErrorToBreakOn
Definition: except.c:159
FORCEINLINE struct _TEB * NtCurrentTeb(VOID)
Definition: psfuncs.h:420

Referenced by BaseSetLastNTError().

◆ SetUnhandledExceptionFilter()

LPTOP_LEVEL_EXCEPTION_FILTER WINAPI DECLSPEC_HOTPATCH SetUnhandledExceptionFilter ( IN LPTOP_LEVEL_EXCEPTION_FILTER  lpTopLevelExceptionFilter)

Definition at line 792 of file except.c.

793 {
794  PVOID EncodedPointer, EncodedOldPointer;
795 
796  EncodedPointer = RtlEncodePointer(lpTopLevelExceptionFilter);
798  EncodedPointer);
799  return RtlDecodePointer(EncodedOldPointer);
800 }
NTSYSAPI PVOID WINAPI RtlDecodePointer(PVOID)
NTSYSAPI PVOID WINAPI RtlEncodePointer(PVOID)
#define InterlockedExchangePointer(Target, Value)
Definition: dshow.h:45
LPTOP_LEVEL_EXCEPTION_FILTER GlobalTopLevelExceptionFilter
Definition: except.c:158

Referenced by __declspec(), call_test(), doCrash(), TestSetUnhandledExceptionFilter(), TestSSEExceptions(), and wmainCRTStartup().

◆ UnhandledExceptionFilter()

LONG WINAPI UnhandledExceptionFilter ( IN PEXCEPTION_POINTERS  ExceptionInfo)

Definition at line 262 of file except.c.

263 {
264  static UNICODE_STRING AeDebugKey =
265  RTL_CONSTANT_STRING(L"\\Registry\\Machine\\" REGSTR_PATH_AEDEBUG);
266 
267  static BOOLEAN IsSecondChance = FALSE;
268 
269  /* Exception data */
271  PEXCEPTION_RECORD ExceptionRecord = ExceptionInfo->ExceptionRecord;
272  LPTOP_LEVEL_EXCEPTION_FILTER RealFilter;
273  LONG RetValue;
274 
275  /* Debugger and hard error parameters */
276  HANDLE DebugPort = NULL;
277  ULONG_PTR ErrorParameters[4];
278  ULONG DebugResponse, ErrorResponse;
279 
280  /* Post-Mortem "Auto-Execute" (AE) Debugger registry data */
283  UNICODE_STRING ValueString;
284  ULONG Length;
287  BOOLEAN AeDebugAuto = FALSE;
288  PWCHAR AeDebugPath = NULL;
289  WCHAR AeDebugCmdLine[MAX_PATH];
290 
291  /* Debugger process data */
292  BOOL Success;
293  HRESULT hr;
294  ULONG PrependLength;
295  HANDLE hDebugEvent;
296  HANDLE WaitHandles[2];
297  STARTUPINFOW StartupInfo;
298  PROCESS_INFORMATION ProcessInfo;
299 
300  /* In case this is a nested exception, just kill the process */
301  if (ExceptionRecord->ExceptionFlags & EXCEPTION_NESTED_CALL)
302  {
305  }
306 
307  if ((ExceptionRecord->ExceptionCode == STATUS_ACCESS_VIOLATION) &&
308  (ExceptionRecord->NumberParameters >= 2))
309  {
310  switch (ExceptionRecord->ExceptionInformation[0])
311  {
313  {
314  /*
315  * Change the protection on some write attempts,
316  * some InstallShield setups have this bug.
317  */
319  (PVOID)ExceptionRecord->ExceptionInformation[1]);
320  if (RetValue == EXCEPTION_CONTINUE_EXECUTION)
322  break;
323  }
324 
326  /* FIXME */
327  break;
328  }
329  }
330 
331  /* If the process is being debugged, pass the exception to the debugger */
334  &DebugPort,
335  sizeof(DebugPort),
336  NULL);
337  if (NT_SUCCESS(Status) && DebugPort)
338  {
339  DPRINT("Passing exception to debugger\n");
341  }
342 
343  /* No debugger present, let's continue... */
344 
346  if (RealFilter)
347  {
348  RetValue = RealFilter(ExceptionInfo);
349  if (RetValue != EXCEPTION_CONTINUE_SEARCH)
350  return RetValue;
351  }
352 
353  /* ReactOS-specific: DPRINT a stack trace */
354  PrintStackTrace(ExceptionInfo);
355 
356  /*
357  * Now pop up an error if needed. Check both the process-wide (Win32)
358  * and per-thread error-mode flags (NT).
359  */
362  {
363  /* Do not display the pop-up error box, just transfer control to the exception handler */
365  }
366 
367  /* Save exception code and address */
368  ErrorParameters[0] = (ULONG_PTR)ExceptionRecord->ExceptionCode;
369  ErrorParameters[1] = (ULONG_PTR)ExceptionRecord->ExceptionAddress;
370 
371  if (ExceptionRecord->ExceptionCode == STATUS_IN_PAGE_ERROR)
372  {
373  /*
374  * Get the underlying status code that resulted in the exception,
375  * and just forget about the type of operation (read/write).
376  */
377  ErrorParameters[2] = ExceptionRecord->ExceptionInformation[2];
378  }
379  else // if (ExceptionRecord->ExceptionCode == STATUS_ACCESS_VIOLATION) or others...
380  {
381  /* Get the type of operation that caused the access violation */
382  ErrorParameters[2] = ExceptionRecord->ExceptionInformation[0];
383  }
384 
385  /* Save faulting address */
386  ErrorParameters[3] = ExceptionRecord->ExceptionInformation[1];
387 
388  /*
389  * Prepare the hard error dialog: default to only OK
390  * in case we do not have any debugger at our disposal.
391  */
392  DebugResponse = OptionOk;
393  AeDebugAuto = FALSE;
394 
395  /*
396  * Retrieve Post-Mortem Debugger settings from the registry, under:
397  * HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AeDebug
398  * (REGSTR_PATH_AEDEBUG).
399  */
400 
402  &AeDebugKey,
404  NULL,
405  NULL);
407  if (NT_SUCCESS(Status))
408  {
409  /*
410  * Read the 'Auto' REG_SZ value:
411  * "0" (or any other value): Prompt the user for starting the debugger.
412  * "1": Start the debugger without prompting.
413  */
416  &ValueString,
418  PartialInfo,
419  sizeof(Buffer),
420  &Length);
421  if (NT_SUCCESS(Status) && (PartialInfo->Type == REG_SZ))
422  {
423  AeDebugAuto = (*(PWCHAR)PartialInfo->Data == L'1');
424  }
425  else
426  {
427  AeDebugAuto = FALSE;
428  }
429 
430  /*
431  * Read and store the 'Debugger' REG_SZ value. Its usual format is:
432  * C:\dbgtools\ntsd.exe -p %ld -e %ld -g
433  * with the first and second parameters being respectively
434  * the process ID and a notification event handle.
435  */
438  &ValueString,
440  PartialInfo,
441  sizeof(Buffer),
442  &Length);
443  if (NT_SUCCESS(Status) && (PartialInfo->Type == REG_SZ))
444  {
445  /* We hope the string is NULL-terminated */
446  AeDebugPath = (PWCHAR)PartialInfo->Data;
447 
448  /* Skip any prepended whitespace */
449  while ( *AeDebugPath &&
450  ((*AeDebugPath == L' ') ||
451  (*AeDebugPath == L'\t')) ) // iswspace(*AeDebugPath)
452  {
453  ++AeDebugPath;
454  }
455 
456  if (*AeDebugPath)
457  {
458  /* We have a debugger path, we can prompt the user to debug the program */
459  DebugResponse = OptionOkCancel;
460  }
461  else
462  {
463  /* We actually do not have anything, reset the pointer */
464  AeDebugPath = NULL;
465  }
466  }
467  else
468  {
469  AeDebugPath = NULL;
470  }
471 
473  }
474 
475  // TODO: Start a ReactOS Fault Reporter (unimplemented!)
476  //
477  // For now we are doing the "old way" (aka Win2k), that is also the fallback
478  // case for Windows XP/2003 in case it does not find faultrep.dll to display
479  // the nice "Application Error" dialog box: We use a hard error to communicate
480  // the problem and prompt the user to continue debugging the application or
481  // to terminate it.
482  //
483  // Since Windows XP/2003, we have the ReportFault API available.
484  // See http://www.clausbrod.de/twiki/pub/Blog/DefinePrivatePublic20070616/reportfault.cpp
485  // and https://msdn.microsoft.com/en-us/library/windows/desktop/bb513616(v=vs.85).aspx
486  // and the legacy ReportFault API: https://msdn.microsoft.com/en-us/library/windows/desktop/bb513615(v=vs.85).aspx
487  //
488  // NOTE: Starting Vista+, the fault API is constituted of the WerXXX functions.
489  //
490  // Also see Vostokov's book "Memory Dump Analysis Anthology Collector's Edition, Volume 1"
491  // at: https://books.google.fr/books?id=9w2x6NHljg4C&pg=PA115&lpg=PA115
492 
493  if (!(AeDebugPath && AeDebugAuto))
494  {
495  /*
496  * Either there is no debugger specified, or the debugger should
497  * not start automatically: display the hard error no matter what.
498  * For a first chance exception, allow continuing or debugging;
499  * for a second chance exception, just debug or kill the process.
500  */
502  4,
503  0,
504  ErrorParameters,
505  (!IsSecondChance ? DebugResponse : OptionOk),
506  &ErrorResponse);
507  }
508  else
509  {
511  ErrorResponse = (AeDebugPath ? ResponseCancel : ResponseOk);
512  }
513 
514  /*
515  * If the user has chosen not to debug the process, or
516  * if this is a second chance exception, kill the process.
517  */
518  if (!NT_SUCCESS(Status) || (ErrorResponse != ResponseCancel) || IsSecondChance)
519  goto Quit;
520 
521  /* If the exception comes from a CSR Server, kill it (this will lead to ReactOS shutdown) */
523  {
524  IsSecondChance = TRUE;
525  goto Quit;
526  }
527 
528  /*
529  * Attach a debugger to this process. The debugger process is given
530  * the process ID of the current process to be debugged, as well as
531  * a notification event handle. After being spawned, the debugger
532  * initializes and attaches to the process by calling DebugActiveProcess.
533  * When the debugger is ready, it signals the notification event,
534  * so that we can give it control over the process being debugged,
535  * by passing it the exception.
536  *
537  * See https://msdn.microsoft.com/en-us/library/ms809754.aspx
538  * and http://www.debuginfo.com/articles/ntsdwatson.html
539  * and https://sourceware.org/ml/gdb-patches/2012-08/msg00893.html
540  * for more details.
541  */
542 
543  /* Create an inheritable notification debug event for the debugger */
545  NULL,
546  OBJ_INHERIT,
547  NULL,
548  NULL);
549  Status = NtCreateEvent(&hDebugEvent,
553  FALSE);
554  if (!NT_SUCCESS(Status))
555  hDebugEvent = NULL;
556 
557  /* Build the debugger command line */
558 
559  Success = FALSE;
560 
561  /*
562  * We will add two longs (process ID and event handle) to the command
563  * line. The biggest 32-bit unsigned int (0xFFFFFFFF == 4.294.967.295)
564  * takes 10 decimal digits. We then count the terminating NULL.
565  */
566  Length = (ULONG)wcslen(AeDebugPath) + 2*10 + 1;
567 
568  /* Check whether the debugger path may be a relative path */
569  if ((*AeDebugPath != L'"') &&
571  {
572  /* Relative path, prepend SystemRoot\System32 */
573  PrependLength = (ULONG)wcslen(SharedUserData->NtSystemRoot) + 10 /* == wcslen(L"\\System32\\") */;
574  if (PrependLength + Length <= ARRAYSIZE(AeDebugCmdLine))
575  {
576  hr = StringCchPrintfW(AeDebugCmdLine,
577  PrependLength + 1,
578  L"%s\\System32\\",
579  SharedUserData->NtSystemRoot);
580  Success = SUCCEEDED(hr);
581  }
582  }
583  else
584  {
585  /* Full path */
586  PrependLength = 0;
587  if (Length <= ARRAYSIZE(AeDebugCmdLine))
588  Success = TRUE;
589  }
590 
591  /* Format the command line */
592  if (Success)
593  {
594  hr = StringCchPrintfW(&AeDebugCmdLine[PrependLength],
595  Length,
596  AeDebugPath,
597  HandleToUlong(NtCurrentTeb()->ClientId.UniqueProcess), // GetCurrentProcessId()
598  hDebugEvent);
599  Success = SUCCEEDED(hr);
600  }
601 
602  /* Start the debugger */
603  if (Success)
604  {
605  DPRINT1("\nStarting debugger: '%S'\n", AeDebugCmdLine);
606 
607  RtlZeroMemory(&StartupInfo, sizeof(StartupInfo));
608  RtlZeroMemory(&ProcessInfo, sizeof(ProcessInfo));
609 
610  StartupInfo.cb = sizeof(StartupInfo);
611  StartupInfo.lpDesktop = L"WinSta0\\Default";
612 
614  AeDebugCmdLine,
615  NULL, NULL,
616  TRUE, 0,
617  NULL, NULL,
618  &StartupInfo, &ProcessInfo);
619  }
620 
621  if (Success)
622  {
623  WaitHandles[0] = hDebugEvent;
624  WaitHandles[1] = ProcessInfo.hProcess;
625 
626  /* Loop until the debugger gets ready or terminates unexpectedly */
627  do
628  {
629  /* Alertable wait */
631  WaitHandles,
632  WaitAny,
633  TRUE, NULL);
634  } while ((Status == STATUS_ALERTED) || (Status == STATUS_USER_APC));
635 
636  /*
637  * The debugger terminated unexpectedly and we cannot attach to it.
638  * Kill the process being debugged.
639  */
640  if (Status == STATUS_WAIT_1)
641  {
642  /* Be sure there is no other debugger attached */
645  &DebugPort,
646  sizeof(DebugPort),
647  NULL);
648  if (!NT_SUCCESS(Status) || !DebugPort)
649  {
650  /* No debugger is attached, kill the process at next round */
651  IsSecondChance = TRUE;
652  }
653  }
654 
655  CloseHandle(ProcessInfo.hThread);
656  CloseHandle(ProcessInfo.hProcess);
657 
658  if (hDebugEvent)
659  NtClose(hDebugEvent);
660 
662  }
663 
664  /* We failed starting the debugger, close the event handle and kill the process */
665 
666  if (hDebugEvent)
667  NtClose(hDebugEvent);
668 
669  IsSecondChance = TRUE;
670 
671 
672 Quit:
673  /* If this is a second chance exception, kill the process */
674  if (IsSecondChance)
676 
677  /* Otherwise allow handling exceptions in first chance */
678 
679  /*
680  * Returning EXCEPTION_EXECUTE_HANDLER means that the code in
681  * the __except block will be executed. Normally this will end up in a
682  * Terminate process.
683  */
684 
686 }
IN PUNICODE_STRING IN POBJECT_ATTRIBUTES ObjectAttributes
Definition: conport.c:35
#define TRUE
Definition: types.h:120
#define CloseHandle
Definition: compat.h:398
NTSTATUS NTAPI NtRaiseHardError(IN NTSTATUS ErrorStatus, IN ULONG NumberOfParameters, IN ULONG UnicodeStringParameterMask, IN PULONG_PTR Parameters, IN ULONG ValidResponseOptions, OUT PULONG Response)
Definition: harderr.c:553
_Must_inspect_result_ _Out_ PNDIS_STATUS _In_ NDIS_HANDLE _In_ ULONG _Out_ PNDIS_STRING _Out_ PNDIS_HANDLE KeyHandle
Definition: ndis.h:4693
__wchar_t WCHAR
Definition: xmlstorage.h:180
LONG WINAPI BasepCheckForReadOnlyResource(IN PVOID Ptr)
Definition: except.c:165
LONG NTSTATUS
Definition: precomp.h:26
#define HandleToUlong(h)
Definition: basetsd.h:79
NTSTATUS NTAPI NtQueryInformationProcess(IN HANDLE ProcessHandle, IN PROCESSINFOCLASS ProcessInformationClass, OUT PVOID ProcessInformation, IN ULONG ProcessInformationLength, OUT PULONG ReturnLength OPTIONAL)
Definition: query.c:59
NTSTATUS NTAPI NtCreateEvent(OUT PHANDLE EventHandle, IN ACCESS_MASK DesiredAccess, IN POBJECT_ATTRIBUTES ObjectAttributes OPTIONAL, IN EVENT_TYPE EventType, IN BOOLEAN InitialState)
Definition: event.c:100
#define ARRAYSIZE(array)
Definition: filtermapper.c:47
#define EXCEPTION_EXECUTE_FAULT
Definition: compat.h:274
NTSYSAPI PVOID WINAPI RtlDecodePointer(PVOID)
NTSTATUS NTAPI NtWaitForMultipleObjects(IN ULONG ObjectCount, IN PHANDLE HandleArray, IN WAIT_TYPE WaitType, IN BOOLEAN Alertable, IN PLARGE_INTEGER TimeOut OPTIONAL)
Definition: obwait.c:46
uint16_t * PWCHAR
Definition: typedefs.h:54
HANDLE UniqueProcess
Definition: compat.h:474
#define STATUS_ALERTED
Definition: ntstatus.h:80
PVOID ExceptionAddress
Definition: compat.h:199
uint32_t ULONG_PTR
Definition: typedefs.h:63
DWORD ExceptionCode
Definition: compat.h:196
#define STATUS_WAIT_1
Definition: ntstatus.h:71
#define HARDERROR_OVERRIDE_ERRORMODE
Definition: extypes.h:146
while(1)
Definition: macro.lex.yy.c:743
#define EXCEPTION_CONTINUE_SEARCH
Definition: excpt.h:86
#define REGSTR_PATH_AEDEBUG
Definition: regstr.h:672
NTSYSAPI DWORD WINAPI RtlGetThreadErrorMode(void)
Definition: error.c:217
long LONG
Definition: pedump.c:60
#define EVENT_ALL_ACCESS
Definition: isotest.c:82
UINT WINAPI GetErrorMode(VOID)
Definition: except.c:223
LPWSTR lpDesktop
Definition: winbase.h:819
#define RTL_SEM_NOGPFAULTERRORBOX
Definition: rtltypes.h:75
#define EXCEPTION_EXECUTE_HANDLER
Definition: excpt.h:85
unsigned char BOOLEAN
smooth NULL
Definition: ftsmooth.c:416
void DPRINT(...)
Definition: polytest.cpp:61
Definition: bufpool.h:45
void * PVOID
Definition: retypes.h:9
BOOL WINAPI DECLSPEC_HOTPATCH CreateProcessW(LPCWSTR lpApplicationName, LPWSTR lpCommandLine, LPSECURITY_ATTRIBUTES lpProcessAttributes, LPSECURITY_ATTRIBUTES lpThreadAttributes, BOOL bInheritHandles, DWORD dwCreationFlags, LPVOID lpEnvironment, LPCWSTR lpCurrentDirectory, LPSTARTUPINFOW lpStartupInfo, LPPROCESS_INFORMATION lpProcessInformation)
Definition: proc.c:4623
#define NtCurrentProcess()
Definition: nt_native.h:1657
NTSYSAPI NTSTATUS NTAPI NtQueryValueKey(IN HANDLE KeyHandle, IN PUNICODE_STRING ValueName, IN KEY_VALUE_INFORMATION_CLASS KeyValueInformationClass, IN PVOID KeyValueInformation, IN ULONG Length, IN PULONG ResultLength)
ULONG_PTR ExceptionInformation[EXCEPTION_MAXIMUM_PARAMETERS]
Definition: compat.h:201
unsigned int BOOL
Definition: ntddk_ex.h:94
_Out_ PCLIENT_ID ClientId
Definition: kefuncs.h:1176
BOOLEAN BaseRunningInServerProcess
Definition: dllmain.c:20
DWORD cb
Definition: winbase.h:817
#define NT_SUCCESS(StatCode)
Definition: apphelp.c:24
LONG HRESULT
Definition: typedefs.h:77
#define OBJ_INHERIT
Definition: winternl.h:225
#define MAX_PATH
Definition: compat.h:26
_In_ ULONG _In_ ULONG _In_ ULONG Length
Definition: ntddpcm.h:101
NTSTATUS NTAPI NtClose(IN HANDLE Handle)
Definition: obhandle.c:3393
#define OBJ_CASE_INSENSITIVE
Definition: winternl.h:228
#define SharedUserData
#define REGSTR_VAL_AEDEBUG_AUTO
Definition: regstr.h:674
unsigned char UCHAR
Definition: xmlstorage.h:181
static const WCHAR L[]
Definition: oid.c:1087
PTOP_LEVEL_EXCEPTION_FILTER LPTOP_LEVEL_EXCEPTION_FILTER
Definition: winbase.h:1406
#define SEM_NOGPFAULTERRORBOX
Definition: rtltypes.h:70
#define REGSTR_VAL_AEDEBUG_DEBUGGER
Definition: regstr.h:673
Status
Definition: gdiplustypes.h:24
struct _EXCEPTION_RECORD * ExceptionRecord
Definition: compat.h:198
#define STATUS_USER_APC
Definition: ntstatus.h:78
#define EXCEPTION_NESTED_CALL
Definition: rtltypes.h:154
#define EXCEPTION_WRITE_FAULT
Definition: compat.h:273
static VOID PrintStackTrace(IN PEXCEPTION_POINTERS ExceptionInfo)
Definition: except.c:93
FORCEINLINE struct _TEB * NtCurrentTeb(VOID)
Definition: psfuncs.h:420
#define STATUS_ACCESS_VIOLATION
Definition: ntstatus.h:228
#define KEY_QUERY_VALUE
Definition: nt_native.h:1016
struct _KEY_VALUE_PARTIAL_INFORMATION KEY_VALUE_PARTIAL_INFORMATION
STRSAFEAPI StringCchPrintfW(STRSAFE_LPWSTR pszDest, size_t cchDest, STRSAFE_LPCWSTR pszFormat,...)
Definition: strsafe.h:530
#define DPRINT1
Definition: precomp.h:8
NTSYSAPI NTSTATUS NTAPI NtOpenKey(OUT PHANDLE KeyHandle, IN ACCESS_MASK DesiredAccess, IN POBJECT_ATTRIBUTES ObjectAttributes)
Definition: ntapi.c:336
unsigned int ULONG
Definition: retypes.h:1
LPTOP_LEVEL_EXCEPTION_FILTER GlobalTopLevelExceptionFilter
Definition: except.c:158
NTSYSAPI VOID NTAPI RtlInitUnicodeString(PUNICODE_STRING DestinationString, PCWSTR SourceString)
#define RtlZeroMemory(Destination, Length)
Definition: typedefs.h:261
NTSTATUS NTAPI NtTerminateProcess(HANDLE ProcessHandle, LONG ExitStatus)
#define ULONG_PTR
Definition: config.h:101
DWORD ExceptionFlags
Definition: compat.h:197
#define InitializeObjectAttributes(p, n, a, r, s)
Definition: reg.c:106
#define STATUS_IN_PAGE_ERROR
Definition: ntstatus.h:229
DWORD NumberParameters
Definition: compat.h:200
return STATUS_SUCCESS
Definition: btrfs.c:2725
#define STATUS_UNHANDLED_EXCEPTION
Definition: ntstatus.h:546
size_t __cdecl wcslen(_In_z_ const wchar_t *_Str)
#define SUCCEEDED(hr)
Definition: intsafe.h:57
NTSYSAPI RTL_PATH_TYPE NTAPI RtlDetermineDosPathNameType_U(_In_ PCWSTR Path)
#define EXCEPTION_CONTINUE_EXECUTION
Definition: excpt.h:87
#define RTL_CONSTANT_STRING(s)
Definition: tunneltest.c:14
#define REG_SZ
Definition: layer.c:22

Referenced by __declspec(), and BaseProcessStartup().

Variable Documentation

◆ g_dwLastErrorToBreakOn

DWORD g_dwLastErrorToBreakOn

Definition at line 159 of file except.c.

Referenced by SetLastError().

◆ GlobalTopLevelExceptionFilter

LPTOP_LEVEL_EXCEPTION_FILTER GlobalTopLevelExceptionFilter

Definition at line 158 of file except.c.

Referenced by DllMain(), SetUnhandledExceptionFilter(), and UnhandledExceptionFilter().