ReactOS 0.4.15-dev-7788-g1ad9096
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_opt_ const ULONG_PTR *lpArguments)
 
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 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}
#define DbgPrint
Definition: hal.h:12
ULONG Esp
Definition: nt_native.h:1479
ULONG SegFs
Definition: nt_native.h:1454
ULONG R5
Definition: ke.h:260
ULONG Cpsr
Definition: ke.h:272
ULONG Edx
Definition: nt_native.h:1466
ULONG Esi
Definition: nt_native.h:1464
ULONG R2
Definition: ke.h:257
ULONG R7
Definition: ke.h:262
ULONG R6
Definition: ke.h:261
ULONG Ebp
Definition: nt_native.h:1475
ULONG R3
Definition: ke.h:258
ULONG R8
Definition: ke.h:263
ULONG R1
Definition: ke.h:256
ULONG R0
Definition: ke.h:255
ULONG Ecx
Definition: nt_native.h:1467
ULONG R4
Definition: ke.h:259
ULONG Eip
Definition: nt_native.h:1476
ULONG R12
Definition: ke.h:267
ULONG SegCs
Definition: nt_native.h:1477
ULONG Pc
Definition: ke.h:271
ULONG SegDs
Definition: nt_native.h:1456
ULONG R9
Definition: ke.h:264
ULONG EFlags
Definition: nt_native.h:1478
ULONG SegGs
Definition: nt_native.h:1453
ULONG Fpscr
Definition: ke.h:275
ULONG R10
Definition: ke.h:265
ULONG Eax
Definition: nt_native.h:1468
ULONG SegEs
Definition: nt_native.h:1455
ULONG Ebx
Definition: nt_native.h:1465
ULONG Edi
Definition: nt_native.h:1463
ULONG R11
Definition: ke.h:266

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)) ||
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}
static LPCWSTR LPCWSTR module_name
Definition: db.cpp:170
DWORD WINAPI GetModuleFileNameA(HINSTANCE hModule, LPSTR lpFilename, DWORD nSize)
Definition: loader.c:539
unsigned long DWORD
Definition: ntddk_ex.h:95
GLenum const GLvoid * addr
Definition: glext.h:9621
struct S1 s1
struct S2 s2
#define MAXDWORD
_Check_return_ _CRTIMP _CONST_RETURN char *__cdecl strrchr(_In_z_ const char *_Str, _In_ int _Ch)
SIZE_T NTAPI VirtualQuery(IN LPCVOID lpAddress, OUT PMEMORY_BASIC_INFORMATION lpBuffer, IN SIZE_T dwLength)
Definition: virtmem.c:211

Referenced by PrintStackTrace().

◆ BasepCheckForReadOnlyResource()

LONG WINAPI BasepCheckForReadOnlyResource ( IN PVOID  Ptr)

Definition at line 172 of file except.c.

173{
174 PVOID Data;
175 ULONG Size, OldProtect;
176 SIZE_T Size2;
180
181 /* Check if it was an attempt to write to a read-only image section! */
183 Ptr,
185 &mbi,
186 sizeof(mbi),
187 NULL);
188 if (NT_SUCCESS(Status) &&
189 mbi.Protect == PAGE_READONLY && mbi.Type == MEM_IMAGE)
190 {
191 /* Attempt to treat it as a resource section. We need to
192 use SEH here because we don't know if it's actually a
193 resource mapping */
195 {
197 TRUE,
199 &Size);
200
201 if (Data != NULL &&
204 {
205 /* The user tried to write into the resources. Make the page
206 writable... */
207 Size2 = 1;
209 &Ptr,
210 &Size2,
212 &OldProtect);
213 if (NT_SUCCESS(Status))
214 {
216 }
217 }
218 }
220 {
221 }
222 _SEH2_END;
223 }
224
225 return Ret;
226}
LONG NTSTATUS
Definition: precomp.h:26
#define NULL
Definition: types.h:112
#define TRUE
Definition: types.h:120
#define NT_SUCCESS(StatCode)
Definition: apphelp.c:32
#define PAGE_READONLY
Definition: compat.h:138
#define RtlImageDirectoryEntryToData
Definition: compat.h:809
#define _SEH2_END
Definition: filesup.c:22
#define _SEH2_TRY
Definition: filesup.c:19
_Must_inspect_result_ _In_ PFSRTL_PER_STREAM_CONTEXT Ptr
Definition: fsrtlfuncs.h:898
Status
Definition: gdiplustypes.h:25
#define EXCEPTION_EXECUTE_HANDLER
Definition: excpt.h:85
#define EXCEPTION_CONTINUE_SEARCH
Definition: excpt.h:86
#define EXCEPTION_CONTINUE_EXECUTION
Definition: excpt.h:87
@ MemoryBasicInformation
Definition: mmtypes.h:183
#define MEM_IMAGE
Definition: mmtypes.h:89
#define PAGE_READWRITE
Definition: nt_native.h:1304
#define NtCurrentProcess()
Definition: nt_native.h:1657
NTSTATUS NTAPI NtProtectVirtualMemory(IN HANDLE ProcessHandle, IN OUT PVOID *UnsafeBaseAddress, IN OUT SIZE_T *UnsafeNumberOfBytesToProtect, IN ULONG NewAccessProtection, OUT PULONG UnsafeOldAccessProtection)
Definition: virtual.c:3109
NTSTATUS NTAPI NtQueryVirtualMemory(IN HANDLE ProcessHandle, IN PVOID BaseAddress, IN MEMORY_INFORMATION_CLASS MemoryInformationClass, OUT PVOID MemoryInformation, IN SIZE_T MemoryInformationLength, OUT PSIZE_T ReturnLength)
Definition: virtual.c:4407
long LONG
Definition: pedump.c:60
#define IMAGE_DIRECTORY_ENTRY_RESOURCE
Definition: pedump.c:261
#define _SEH2_EXCEPT(...)
Definition: pseh2_64.h:34
ULONG_PTR SIZE_T
Definition: typedefs.h:80
uint32_t ULONG_PTR
Definition: typedefs.h:65
uint32_t ULONG
Definition: typedefs.h:59
_Must_inspect_result_ _In_ WDFDEVICE _In_ PWDF_DEVICE_PROPERTY_DATA _In_ DEVPROPTYPE _In_ ULONG Size
Definition: wdfdevice.h:4533

Referenced by UnhandledExceptionFilter().

◆ GetErrorMode()

UINT WINAPI GetErrorMode ( VOID  )

Definition at line 230 of file except.c.

231{
233 UINT ErrMode;
234
235 /* Query the current setting */
238 &ErrMode,
239 sizeof(ErrMode),
240 NULL);
241 if (!NT_SUCCESS(Status))
242 {
243 /* Fail if we couldn't query */
245 return 0;
246 }
247
248 /* Check if NOT failing critical errors was requested */
249 if (ErrMode & SEM_FAILCRITICALERRORS)
250 {
251 /* Mask it out, since the native API works differently */
252 ErrMode &= ~SEM_FAILCRITICALERRORS;
253 }
254 else
255 {
256 /* OR it if the caller didn't, due to different native semantics */
257 ErrMode |= SEM_FAILCRITICALERRORS;
258 }
259
260 /* Return the mode */
261 return ErrMode;
262}
@ ProcessDefaultHardErrorMode
Definition: winternl.h:868
unsigned int UINT
Definition: ndis.h:50
#define SEM_FAILCRITICALERRORS
Definition: rtltypes.h:69
NTSTATUS NTAPI NtQueryInformationProcess(_In_ HANDLE ProcessHandle, _In_ PROCESSINFOCLASS ProcessInformationClass, _Out_ PVOID ProcessInformation, _In_ ULONG ProcessInformationLength, _Out_opt_ PULONG ReturnLength)
Definition: query.c:59
DWORD BaseSetLastNTError(IN NTSTATUS Status)
Definition: reactos.cpp:166

Referenced by SetErrorMode(), and UnhandledExceptionFilter().

◆ GetLastError()

DWORD WINAPI GetLastError ( VOID  )

Definition at line 1042 of file except.c.

1043{
1044 /* Return the current value */
1045 return NtCurrentTeb()->LastErrorValue;
1046}
#define NtCurrentTeb

Referenced by __delayLoadHelper2(), __drv_when(), __file_size(), __mbtowc(), __mingwthr_run_key_dtors(), __wine_msi_call_dll_function(), _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(), _DoDLLInjection(), _dup2(), _expect_data_available(), _findclose(), _fstat64(), _futime(), _GetNonspooledPortName(), _GetUserSidStringFromToken(), _HandleAddPort(), _HandleConfigureLPTPortCommandOK(), _HandleDeletePort(), _HandleGetDefaultCommConfig(), _HandlePortExists(), _HandlePortIsValid(), _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(), _RpcAbortPrinter(), _RpcAddForm(), _RpcAddJob(), _RpcAddMonitor(), _RpcAddPort(), _RpcAddPortEx(), _RpcAddPrinterDriver(), _RpcAddPrinterDriverEx(), _RpcAddPrintProcessor(), _RpcAddPrintProvidor(), _RpcClosePrinter(), _RpcCloseSpoolFileHandle(), _RpcCommitSpoolData(), _RpcCommitSpoolData2(), _RpcConfigurePort(), _RpcDeleteForm(), _RpcDeleteMonitor(), _RpcDeletePort(), _RpcDeletePrinter(), _RpcDeletePrinterDriver(), _RpcDeletePrinterDriverEx(), _RpcDeletePrintProcessor(), _RpcDeletePrintProvidor(), _RpcEndDocPrinter(), _RpcEndPagePrinter(), _RpcEnumForms(), _RpcEnumJobs(), _RpcEnumMonitors(), _RpcEnumPorts(), _RpcEnumPrinterDrivers(), _RpcEnumPrinters(), _RpcEnumPrintProcessorDatatypes(), _RpcEnumPrintProcessors(), _RpcGetForm(), _RpcGetJob(), _RpcGetPrinter(), _RpcGetPrinterDriver(), _RpcGetPrinterDriver2(), _RpcGetPrinterDriverDirectory(), _RpcGetPrintProcessorDirectory(), _RpcGetSpoolFileInfo(), _RpcGetSpoolFileInfo2(), _RpcOpenPrinter(), _RpcPrinterMessageBox(), _RpcReadPrinter(), _RpcResetPrinterEx(), _RpcScheduleJob(), _RpcSeekPrinter(), _RpcSetForm(), _RpcSetJob(), _RpcSetPort(), _RpcSpoolerInit(), _RpcStartDocPrinter(), _RpcStartPagePrinter(), _RpcWritePrinter(), _RpcXcvData(), _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(), CicIMCCLock< T_DATA >::_UnlockIMCC(), _waccess(), _wchmod(), _wfreopen(), _wmktemp(), _wremove(), _wrename(), _write(), _wsopen_s(), _wsystem(), _wtempnam(), _wtmpnam(), _wunlink(), AbortSvchostService(), access_dirT(), AccpLookupCurrentUser(), AccpLookupSidByName(), AccpOpenNamedObject(), AccRewriteGetExplicitEntriesFromAcl(), AccRewriteGetHandleRights(), AccRewriteGetNamedRights(), AccRewriteSetEntriesInAcl(), AccRewriteSetHandleRights(), AccRewriteSetNamedRights(), AcquireRemoveRestorePrivilege(), ACTION_RemoveFiles(), activate_context(), StartMenu::ActivateEntry(), add_lv_column(), add_ms_root_certs(), CMenuToolbarBase::AddButton(), BtrfsSend::AddClone(), BtrfsDeviceAdd::AddDevice(), AddDeviceW(), AddMonitorW(), CMenuToolbarBase::AddPlaceholder(), AddPortExW(), AddPortW(), AddPrinterDriverExA(), AddPrinterDriverExW(), AddPrinterExW(), AddPrinterW(), AddPrintMonitorList(), CMenuToolbarBase::AddSeparator(), AddSubst(), AddToMessageLog(), AddUserProfiles(), AddVolumeToList(), AdjustEnableDefaultPriv(), AdvInstallFileW(), CTrayWindow::AlignControls(), AllocAndGetEntityArray(), AllocStringA(), AllocStringW(), AllowAccessOnSession(), AllowDesktopAccessToUser(), AllowWinstaAccessToUser(), alpha_blend_image(), AlphaBlendProc(), apartment_createwindowifneeded(), apd_copyfile(), append_file(), append_file_test(), AppendFullPathURL(), AppendSystemPostfix(), Applet1(), BtrfsPropSheet::apply_changes_file(), apply_patch(), ApplyGeneralSettings(), ApplyPatchToFileByHandles(), ApplyRegistryValues(), are_all_privileges_disabled(), assembly_create(), AsyncInetDownload(), AsyncInetReadFileLoop(), ata_send_ioctl(), ata_send_scsi(), ATL::AtlHresultFromLastError(), AtlLoadTypeLib(), ATL::AtlLoadTypeLib(), AttachToConsoleInternal(), attr_cache_init(), AutoStartupApplications(), BackgroundCopyJob_Cancel(), BackupBootSector(), BtrfsBalance::BalanceOptsDlgProc(), BaseCheckVDM(), BaseMemAllocator_Commit(), BaseMemAllocator_ReleaseBuffer(), BasepCopyFileExW(), BasepDoTapeOperation(), BasepGetComputerNameFromNtPath(), BaseWindowImpl_PrepareWindow(), BatteryClassInstall(), 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(), ChangeOutputCP_(), ChangePortNumber(), check_dc_state(), check_device_iface_(), check_device_info_(), check_dirid(), check_exe(), check_for_files(), check_instance_(), check_key(), check_menu_item_info(), check_param(), check_result(), check_thread_instance(), check_wellknown_name(), checkChainPolicyStatus(), checkCRLHash(), CheckForGuestsAndAdmins(), checkHash(), CheckTestFile(), child_process(), ClassTest(), clean_up_aes_environment(), clean_up_base_environment(), cleanup_eventlog(), cleanup_gcc_dll(), cleanup_msvc_dll(), 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_request(), CloseProcess(), CloseProcessAndVerify_(), CloseSharedMemory(), closetest_callback(), BtrfsRecv::cmd_chmod(), BtrfsRecv::cmd_chown(), BtrfsRecv::cmd_clone(), cmd_copy(), BtrfsRecv::cmd_link(), cmd_mkdir(), BtrfsRecv::cmd_mkfile(), cmd_mklink(), cmd_move(), BtrfsRecv::cmd_removexattr(), BtrfsRecv::cmd_rename(), 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(), CmosCleanup(), CmosInitialize(), MainFrameBase::Command(), MDIMainFrame::Command(), CommandThreadProc(), commit_cache_entry(), ATL::CAtlModule::CommonInitRegistrar(), CommonInstall(), compare_bitmap_bits_(), compare_emf_bits(), compare_export_(), compare_file_(), compare_mf_disk_bits(), compareStore(), CompleteFilename(), condvar_base_consumer(), condvar_consumer(), condvar_producer(), config_init(), ConfigurePortW(), 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(), ConvertToSelfRelative(), ConvertUTF8StringToBSTR(), copy_file(), copy_folder(), copy_install_file(), CopyDirectory(), CopySdbToAppPatch(), CopySystemProfile(), count_blocks(), CoWaitForMultipleHandles(), crash_and_debug(), crash_and_winedbg(), Create(), CicFileMappingStatic::Create(), create_actctx(), create_and_write_file(), create_async_message_window(), create_avi_file(), create_backup(), create_bitmap_file(), create_cache_entry(), create_cdf_file(), create_converted_emf(), create_cookie_url(), 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_process(), create_req_file(), create_server(), create_server_process(), create_silly_rename(), create_snapshot(), create_storagefile(), create_stream(), create_target_process(), 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(), CreateApplicationDesktopSecurity(), CreateAssemblyCache(), CreateAudioDeviceList(), CKsProxy::CreateClockInstance(), SEALED_::CreateControlWindow(), CreateDefaultProcessSecurityCommon(), CreateDhcpPipeSecurity(), CreateDirectoryPath(), CreateEnvironmentBlock(), CreateInheritableDesktop(), CreateInheritableWinsta(), CreateJob(), CreateLogoffSecurityAttributes(), CreateMain(), CreateMemoryDialog(), CreatePerfWindows(), CreatePnpInstallEventSecurity(), CreatePowrProfSemaphoreSecurity(), CreatePrinterFriendlyName(), CreateProcessAsUserA(), CreateProcessAsUserW(), CreateProcessInternalW(), CreateProfile(), CreateProfileMutex(), CreateScreenSaverSecurity(), CreateServers(), CreateServiceThread(), CCabinet::CreateSimpleCabinet(), CreateSoundThread(), CreateStandardProfile(), CreateSymbolicLinkW(), CreateTempDir(), CreateTestDir(), CreateTestFile(), CreateUserEnvironment(), CreateUserProfileExW(), CreateWindowStationAndDesktops(), CreateWinlogonDesktopSecurity(), CreateWinstaSecurity(), 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(), custom_action_server(), custom_client_thread(), custom_start_server(), D3DReadFileToBlob(), d3dx_include_from_file_open(), ddraw_attach_d3d_device(), ddraw_set_cooperative_level(), debug_init(), debug_target_init_modules_info(), debugdataspaces_ReadVirtual(), debugstr_sid(), DECLARE_INTERFACE_(), decodeAndCompareBase64_A(), decodeBase64WithLenFmt(), decompress_file_cab(), delegation_create(), delegation_return(), Delete(), delete_chm(), delete_file(), delete_file_(), delete_files(), delete_folder(), delete_object(), delete_test_service(), DeleteFiles(), DeleteFolder(), DeleteMonitorW(), DeletePortW(), DeletePrinterDriverExA(), DeletePrinterDriverExW(), DeleteProfileW(), DeleteSubst(), CChangeNotifyServer::DeliverNotification(), demClientErrorEx(), demFileDelete(), demFileFindFirst(), demFileFindNext(), DemLoadNTDOSKernel(), derive_key(), DestroyService(), detect_nt(), device_tests(), BtrfsVolPropSheet::DeviceDlgProc(), DeviceIdMatch(), DevInstallW(), DhcpCApiInitialize(), DisablePrivilege(), DisableTokenPrivileges(), CNetConnection::Disconnect(), DiskClassInstaller(), DiskFreeMain(), DismountMain(), dispatch_rpc(), DispatcherThread(), display_error(), DisplayClassInstaller(), DisplayDeviceAdvancedProperties(), DisplayDevicePropertyText(), DisplayDns(), 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(), do_request(), BtrfsDeviceResize::do_resize(), do_spawnT(), do_typelib_reg_key(), do_wait_idle_child(), DoAction2(), DoAction3(), DoAction4(), DoAction5(), DoAction6(), DoAction7(), DoAction8(), doChild(), doChildren(), DoControlService(), doDebugger(), DoEjectDrive(), DoEntry(), DoesPortExist(), DoesUserHavePrivilege(), DoFileSave(), DoFormatMessage(), CFontExt::DoGetFontTitle(), Telnet::DoInit(), DoOpenFile(), DoRegServer(), DoSaveFile(), DosChangeDirectory(), DosCmdInterpreterBop(), DosCreateFile(), DosCreateFileEx(), DosCreateProcess(), DosGetCountryInfo(), DosInitialize(), DosInt21h(), DosKRNLInitialize(), DosLoadDriver(), DosLoadExecutable(), DosLockFile(), DosOpenFile(), DosReadFile(), DosSeekFile(), DosStart(), DosStartProcess32(), DoStartService(), DoStartStartupItems(), DoStopService(), DosUnlockFile(), DosWriteFile(), DoTest(), dotest_spi_iconhorizontalspacing(), dotest_spi_iconverticalspacing(), DoTestComputerName(), DoTestEntry(), DoTypeFile(), DoUnregServer(), CVfdShExt::DoVfdDrop(), CVfdShExt::DoVfdProtect(), DownloadBSC_OnStopBinding(), downloadcb_OnStopBinding(), DPLAYX_ConstructData(), DrawDibBegin(), driver_load(), DrivesContextMenuCallback(), DrivesMain(), drop_window_therad(), dsm_RegisterWindowClasses(), DSoundRender_create(), dump_emf_records(), DumpFont(), DumpMemory(), DumpParams(), DwInitializeSdFromThreadToken(), elf_map_section(), 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(), EnumFilesWorker(), EnumHotpluggedDevices(), EnumMonitorsA(), EnumMonitorsW(), EnumOLEVERB_Clone(), EnumPortsA(), EnumPortsW(), EnumPrinterDataExA(), EnumPrinterDriversA(), EnumPrinterDriversW(), EnumPrintersA(), EnumPrintersW(), EnumPrintProcessorsA(), EnumServices(), error(), error_exit(), Escape(), eto_emf_enum_proc(), CShellCommandDACL::Execute(), CShellCommandOwner::Execute(), CShellCommandSACL::Execute(), execute_command(), execute_test(), ExecuteAsync(), exercizeServer(), ExitWindowsThread(), ExitWindowsWorker(), export_validate_filename(), Extract(), extract2(), extract_gcc_dll(), extract_msvc_dll(), extract_one(), extract_resource(), extract_test(), CCabinet::ExtractFile(), ExtractFilesFromCab(), CZipExtract::ExtractSingle(), 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_service(), FillList(), FilterLoadUnload(), find_devices(), find_installed_ports(), find_local_server(), find_portinfo2(), find_tempfile(), FindCurrentDriver(), FindDfltProvRegVals(), FindFirstVolumeW(), CSendToMenu::FindItemFromIdOffset(), FinishNotificationThread(), SEALED_::FireEventOutsideApartmentAsync(), flush_proc(), FlushDns(), FmtAcquireDrive_(), FNFDINOTIFY(), foldercoll_get_Count(), Format(), format_size(), FormatOutput(), BtrfsVolPropSheet::FormatUsage(), FormatVerisignExtension(), 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_cache_path(), 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_lock_error(), get_menu_style(), get_module_version(), 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(), CSearchBar::GetBandInfo(), DriveVolume::GetBitmap(), GetBitmapPixelBuffer(), getChain(), GetClassInfoExA(), GetClassInfoExW(), DriveVolume::GetClusterInfo(), getCommandLineFromProcess(), GetComputerNameA(), GetComputerNameExW(), GetComputerNameW(), GetComputerObjectNameW(), CSecurityDescriptor::GetDACLEntriesCount(), CSecurityDescriptor::GetDACLEntry(), GetDefaultPrinterA(), GetDefaultUserProfileDirectoryW(), GetDeviceCapabilities(), GetDeviceData(), getDeviceInterfaceDetail(), GetDeviceListInterfaces(), GetDiskFreeSpaceExW(), GetDiskGeometry(), GetDisplayName(), getdomainname(), GetDuplicateToken(), GetError(), GetFinalPathNameByHandleA(), GetFromToken(), GetFunctionPointer(), GetHardwareAndCompatibleIDsLists(), gethostbyaddr(), gethostbyname(), GetIFEntry(), GetIPSNMPInfo(), GetKeyName(), GetLastErrorText(), GetLineText(), GetListOfTestExes(), GetLocaleName(), GetLocalsplFuncs(), GetMonitorUI(), GetNameInfoW(), GetNumberOfExesInFolder(), BtrfsIconOverlay::GetOverlayInfo(), GetOwnerModuleFromPidEntry(), GetOwnerModuleFromTagEntry(), GetPathOfFile(), GetPortNameWithoutColon(), GetPrinterA(), GetPrinterDriverA(), GetPrinterDriverDirectoryW(), GetProcessToken(), GetProfilesDirectoryW(), GetProfileSize(), GetProfileType(), CSecurityDescriptor::GetSACLEntriesCount(), CSecurityDescriptor::GetSACLEntry(), GetServiceConfig(), GetServiceDescription(), GetServiceDllFunction(), GetServiceList(), GetServiceMainFunctions(), GetServices(), GetSetFileTimestamp(), GetSpoolssFunc(), GetStorageDirectory(), GetTdiEntityType(), GetTempFileNameW(), GetThemeBackgroundRegion(), GetThemeSysFont(), GetThemeTextMetrics(), GetThreadFromCurrentProcess(), GetTokenFromCurrentProcess(), GetTokenProcess(), CTravelLog::GetToolTipText(), GetUserAndDomainName(), GetUserNameW(), GetUserProfileDirectoryW(), GetUserSid(), GetUserToken(), GetVolumeExtents(), GetVolumeNameForRoot(), GetVolumePathNamesForVolumeNameA(), GetVolumePathNamesForVolumeNameW(), GetVolumePathNameW(), GetWinprintFunc(), getxyDataEnt(), gl_local_filename_completion_proc(), GopherProtocol_open_request(), grab_clipboard_process(), GuiConsoleShowConsoleProperties(), GuiSaveParam(), handle_getacl(), handle_lock(), handle_readdir(), handle_setacl(), HandleException(), HandleLogoff(), HandleShutdown(), hash_file(), 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(), I_ScValidatePnpService(), ICO_ExtractIconExW(), COpenWithMenu::IconToBitmap(), IDirectInputAImpl_RunControlPanel(), IDirectSoundCaptureBufferImpl_Start(), IdnToNameprepUnicode(), IEffectivePermission_fnGetEffectivePermission(), ImageSymToVa(), ImagingFactory_CreateBitmapFromHICON(), Imm32IsInteractiveUserLogon(), ImpersonatePrinterClient(), import_reg(), import_validate_filename(), SEALED_::IMsRdpClient::RequestClose(), SEALED_::IMsTscAx::Connect(), 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(), FxInterruptThreadpool::Initialize(), FxInterruptWaitblock::Initialize(), _MdTimer::Initialize(), Initialize(), CFileSysEnum::Initialize(), BtrfsPropSheet::Initialize(), CExplorerBand::InitializeExplorerBand(), InitializePnPManager(), InitializePortList(), InitializePrintMonitor2(), InitializePrintMonitorList(), InitializePrintProcessorList(), InitializeProfiles(), InitializeProgramFilesDir(), InitializeScreenSaver(), InitiateShutdownA(), InitiateSystemShutdownThread(), CMruPidlList::InitList(), InitLogging(), InitPropertyBag_IPropertyBag_Read(), InitRappsConsole(), InitShellServices(), InputWait(), insendmessage_wnd_proc(), insert_menu_item(), InsertProcessSecurityCommon(), install_assembly(), install_init(), install_policy(), InstallBuiltinAccounts(), InstallCompositeBattery(), InstallCurrentDriver(), InstallDevice(), InstallDeviceData(), InstallDevInstEx(), InstallEventSource(), InstallHinfSectionW(), InstallInfSections(), InstallLiveCD(), InstallNetDevice(), InstallNetworkComponent(), 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(), IntFixUpDevModeNames(), BtrfsContextMenu::InvokeCommand(), COutputPin::IoProcessRoutine(), is_font_available(), ISecurityObjectTypeInfo_fnGetInheritSource(), IsInteractiveUserLogon(), IsLetterOwned(), IsNTAdmin(), IsPrivilegeEnabled(), IsProcessRunning(), CShellDispatch::IsServiceRunning(), IStream_fnRead(), IStream_fnSeek(), IStream_fnWrite(), 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_exe(), launch_file(), LauncherRoutine2(), LaunchProcess(), 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(), LoadCodePageData(), LoadHelperDll(), LoadIconWithScaleDown(), COpenWithList::LoadInfo(), LoadModule(), LoadModuleWithSymbolsFullPath(), LoadPrinterDriver(), LoadRom(), LoadScreenSaverParameters(), SEALED_::LoadTypeLibrary(), LoadUserProfileW(), local_server_thread(), LocalEndDocPrinter(), LocalEnumPrintProcessorDatatypes(), LocalmonAddPortEx(), LocalmonDeletePort(), LocalmonGetPrinterDataFromPort(), LocalmonOpenPort(), LocalmonReadPort(), LocalmonSetPortTimeOuts(), LocalmonStartDocPort(), LocalmonWritePort(), LocalmonXcvOpenPort(), LocalOpenPrinter(), LocalReadPrinter(), LocalScheduleJob(), LocalStartDocPrinter(), localui_AddPortUI(), LocalWritePrinter(), LockOrUnlockVolume(), LogErrorConsole(), LogoffShutdownThread(), LogToFile(), LogWarningConsole(), LookupPrivilegeDisplayNameA(), LookupPrivilegeNameA(), LS_ThreadProc(), LsarStartRpcServer(), macho_map_file(), macho_map_range(), 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(), ATL::CAtlFileMappingBase::MapSharedMem(), MCIAVI_RegisterClass(), MCICDA_GetError(), MCICDA_GetStatus(), MCICDA_playLoop(), MCIWndRegisterClass(), menu_track_again_wnd_proc(), mi_show_error(), midiStreamPause(), midiStreamRestart(), MMDevEnum_RegisterEndpointNotificationCallback(), modify_menu(), monitor_enum_proc(), MountDisk(), MountFDI(), MountHDD(), mouse_tests(), move_file(), DriveVolume::MoveFileDumb(), MsgCheckProc(), msi_create_empty_local_file(), msi_create_full_path(), msi_download_file(), msi_export_stream(), msi_get_filehash(), 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(), myAddPrinterDriverEx(), MySetFilePointerEx(), named_pipe_client_func(), NetApiBufferAllocate(), NetApiBufferReallocate(), NetClassInstaller(), netcon_secure_connect_setup(), netconn_create(), 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(), NlNetlogonMain(), NLS_EnumCalendarInfo(), no_stop_main(), notif_thread_proc(), NotificationThread(), NotifyLogon(), NPAddConnection3(), NPCancelConnection(), NtfsInfoMain(), ok_path(), ole_server(), OleRegEnumVerbs(), OnCreate(), CSysPagerWnd::OnCreate(), CShellLink::OnInitDialog(), CTrayWindow::OnNcHitTest(), OnOK(), OnSelChange(), OnShutDown(), OnTimer(), OnUpdate(), CZipExtract::CExtractSettingsPage::OnWizardNext(), Open(), Telnet::Open(), BtrfsRecv::Open(), BtrfsSend::Open(), COpenControlPanel::Open(), BtrfsPropSheet::open_as_admin(), open_async_request(), open_desk(), open_file_test(), open_log_files(), open_socket_request(), open_winsta(), OpenColorProfileW(), OpenCurrentToken(), OpenDevice(), OpenDeviceKey(), OpenDeviceList(), OpenEffectiveToken(), OpenFile(), OpenFilter(), OpenKernelDevice(), OpenKernelSoundDeviceByName(), OpenPrinterW(), OpenSharedMemory(), OpenTokenFromProcess(), OpenUserEventLogFile(), OpenVolume(), output_formatstring(), output_message(), OutputError(), OutputErrorCode(), overlapped_server(), parse_url_from_outside(), ParseCmdAndExecute(), PARSER_GetInfClassW(), patch_assembly(), patch_file(), PathCanonicalizeA(), pattern_fork(), CKsClockForwarder::Pause(), BtrfsBalance::PauseBalance(), PauseBalanceW(), BtrfsScrub::PauseScrub(), pCDevSettings_GetDeviceInstanceId(), PdhCollectQueryDataEx(), pendingRename(), PerformIO(), PersistFile_Save(), Ping(), pipe_thread(), pipeClient(), pipeServer(), pipeserver(), PipeThreadProc(), PlayLogonSoundThread(), PlotCharacter(), PNP_ReportLogOn(), BtrfsDeviceAdd::populate_device_tree(), prepare_and_run_test(), Preview_Edit(), print_condwait_status(), print_err(), PrintDaclsOfFiles(), PrintDlgA(), PrintDlgW(), PrinterProperties(), PrintFileDacl(), PrintingThreadProc(), PrintLastError(), PrintRawJob(), PrintVolumeHeader(), printWindowsError(), priorityTimeProc(), Privilege(), process2(), process_pending_renames(), processFile(), ProcessPlayingNotes(), ProcessRunKeys(), ProcessRunOnceEx(), 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(), PSetupCreateMonitorInfo(), pSetupInstallCatalog(), pSetupOpenAndMapFileForRead(), PullPin_InitProcessing(), query_auth_schemes(), query_data_available(), query_dsym(), query_http_info(), query_image_section(), query_service_config(), QueryConfig(), QueryConfig2A(), QueryConfig2W(), CSendToMenu::QueryContextMenu(), CTrayWindowCtxMenu::QueryContextMenu(), QueryDescription(), QueryDeviceName(), QueryDNS(), QueryDriverInfo(), QueryMain(), QueryService(), QuerySpoolMode(), 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(), CPipe::Read(), read_data(), read_entire_dir(), read_expect_async(), read_http_stream(), read_i(), read_pipe(), read_pipe_test(), read_reg_output_(), read_trusted_roots_from_known_locations(), read_utf8(), ReadAndHandleOutput(), ReadJobShadowFile(), readproc(), ReadVolumeSector(), CKsProxy::Reassociate(), receive_response(), 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(), RegisterDlls(), RegisterDriver(), RegisterForDeviceNotifications(), REGPROC_print_error(), RegQueryStringA(), remove(), remove_dir(), RemoveDeviceW(), RemovePort(), RemoveTempFont(), rename(), ReplaceFileW(), report(), report_service_status(), ReportLastError(), request_get_codepage(), request_receive(), request_send(), request_set_parameters(), request_wait(), res_sec_url_cmp(), BtrfsVolPropSheet::ResetStats(), ResetStatsW(), CAppInfoDisplay::ResizeChildren(), ResizeDeviceW(), ResizeTextConsole(), ATL::CRegObject::resource_register(), resource_register(), ResProtocol_Start(), CDirectoryWatcher::RestartWatching(), 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_for_each_device(), run_from_file(), run_reg_exe_(), run_script(), run_script_file(), run_server(), run_spi_setmouse_test(), run_test(), run_tests(), run_thread(), runCmd(), RunCurrentJobs(), RunInstallReactOS(), RunningAsSYSTEM(), SaBlob_CreateFromRecords(), SaBlob_Query(), SaBlob_WriteNameOrAlias(), Save(), save_credentials(), savedc_emf_enum_proc(), SaveDefaultUserHive(), SaveEventLog(), sc_cb_lseek(), ScConnectControlPipe(), SchedEventLogoff(), SchedServiceMain(), SchedStartShell(), ScmControlService(), ScmCreateNewControlPipe(), ScmEnableBackupRestorePrivileges(), ScmLogEvent(), ScmLogonService(), ScmReadString(), ScmSendStartCommand(), ScmStartUserModeService(), ScmWaitForLsa(), ScmWaitForServiceConnect(), ScreenSaverThreadMain(), ScServiceDispatcher(), SdbpGetLongPathName(), SdbUninstall(), sds_present(), SdSet(), SdShow(), SearchDriver(), SeclCreateProcessWithLogonW(), send_http_request(), send_msg_thread(), send_msg_thread_2(), send_request(), send_socket_request(), send_subvol(), SendClientShutdown(), SendClipboardOwnerMessage(), CHttpClient::SendFile(), FxIrp::SendIrpSynchronously(), 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(), SetPortW(), SetPrivilege(), SetRootPath(), SetSecurityServicesEvent(), SETUP_CallInstaller(), SETUP_CreateDevicesList(), 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_DefaultContextMenuCallBack(), shell_execute_ex_(), SHELL_ExecuteW(), shellex_get_dataobj(), ShellExecCmdLine(), SHEmptyRecycleBinA(), SHEmptyRecycleBinW(), SHNotifyCopyFileW(), SHNotifyCreateDirectoryW(), SHNotifyDeleteFileW(), SHNotifyMoveFileW(), SHNotifyRemoveDirectoryW(), SHOpenWithDialog(), BtrfsBalance::ShowBalance(), BtrfsVolPropSheet::ShowChangeDriveLetter(), ShowLastError(), ShowLastWin32Error(), ShowParallelStatus(), ShowPropSheetW(), BtrfsVolPropSheet::ShowScrub(), ShowScrubW(), ShowUsage(), ShowX509EncodedCertificate(), SHPathPrepareForWriteW(), SHQueryRecycleBinA(), SHUnicodeToAnsiCP(), ShutDown_Hibernate(), ShutDown_LockComputer(), ShutDown_LogOffUser(), ShutDown_PowerOff(), ShutDown_Reboot(), ShutDown_StandBy(), SIC_Initialize(), SIC_OverlayShortcutImage(), sis_present(), SizeOfSector(), 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(), sss_started(), sss_stopped(), StampFileSecurity(), Start(), start_local_service(), start_rpcss(), start_server(), start_service(), START_TEST(), StartAudioService(), BtrfsBalance::StartBalance(), StartBalanceW(), StartChild(), StartDevice(), StartDocDlgW(), StartDocPrinterA(), StartDocPrinterW(), StartDriver(), StartNotificationThread(), StartOneService(), StartProcess(), StartScreenSaver(), BtrfsScrub::StartScrub(), BtrfsSend::StartSend(), StartServicesManager(), StartStopEnumEventsThread(), StartSystemAudioServices(), StartSystemShutdown(), startup(), StatisticsMain(), Status(), statusclb_OnDataAvailable(), statusclb_OnStopBinding(), StatusDialogProc(), StatusMessageWindowProc(), StdMemAllocator_Free(), StgOpenStorage(), stop_service(), stop_service_dependents(), BtrfsBalance::StopBalance(), StopBalanceW(), StopDriver(), BtrfsScrub::StopScrub(), superblock_create(), SvcEntry_Seclogon(), SvcRegisterStopCallback(), SxsLookupClrGuid(), SyncOverlappedDeviceIoControl(), system(), system_time_to_minutes(), SystemClockPostMessageToAdviseThread(), SystemSetLocalTime(), 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_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_cached_manual(), test_basic_auth_credentials_different(), test_basic_auth_credentials_end_session(), test_basic_auth_credentials_manual(), 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_string(), test_cert_struct(), test_cert_struct_string(), 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_close(), test_close_inf_file(), 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_CompletionPort(), test_complicated_cookie(), test_concurrent_header_access(), test_condvars_base(), test_ConfigurePort(), test_ConfigurePortUI(), test_conn_close(), test_connect(), 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_crack_url(), test_create(), test_create_and_fail(), test_create_catalog_file(), test_create_delete_svc(), test_create_device_list_ex(), 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_iface(), test_device_iface_detail(), test_device_info(), test_device_interface_key(), test_device_key(), test_devnode(), 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_dpi_context(), test_dpi_mapping(), test_dpi_window(), 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_EnableScrollBar(), 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_sections(), test_enum_svc(), test_enum_value(), test_enum_vols(), test_EnumBuffer(), test_EnumColorProfilesA(), test_EnumColorProfilesW(), test_EnumDateFormatsA(), test_enumdesktops(), test_enumdisplaydevices_adapter(), 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_device_instance_id(), test_get_digest_stream(), test_get_displayname(), test_get_inf_class(), 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_get_wndproc(), 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_GetFirmwareType(), 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_GetMenuItemRect(), 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_GetPointerType(), 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_GetStandardColorSpaceProfileA(), test_GetStandardColorSpaceProfileW(), Test_GetStockObject(), test_GetStringTypeW(), test_GetSysColorBrush(), test_GetSystemDirectory(), test_GetSystemDirectoryW(), Test_GetSystemMetrics(), test_GetSystemPreferredUILanguages(), test_GetTempFileNameA(), test_GetTempPathW(), test_gettext(), 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_GetUrlCacheConfigInfo(), 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_GLE(), 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_IInitializeSpy(), test_image_mapping(), test_Image_StretchMode(), 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_ini_values(), test_initial_cursor(), test_InitializePrintMonitor(), test_InitializePrintMonitor2(), test_initonce(), test_InitPathA(), test_Input_mouse(), test_inputdesktop(), test_inputdesktop2(), test_InSendMessage(), test_install_class(), test_install_from(), 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_invalid_window(), test_InvalidIMC(), test_invariant(), test_iocp_callback(), 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_names(), test_key_permissions(), test_keyboard_layout_name(), test_keyed_events(), test_KillOnJobClose(), test_large_content(), test_large_data_authentication(), test_layered_window(), test_LBS_NODATA(), 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_LoadImage_working_directory(), test_LoadImage_working_directory_run(), 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_metrics_for_dpi(), 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_NetFwAuthorizedApplication(), test_NhGetInterfaceNameFromDeviceGuid(), test_NhGetInterfaceNameFromGuid(), test_no_cache(), test_no_content(), test_no_headers(), test_no_stop(), test_nonalertable(), test_nonole_clipboard(), test_normal_imports(), test_not_modified(), test_note(), 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_class_key(), 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_OpenThemeData(), test_OpenThemeDataEx(), test_options(), test_ordinal_imports(), 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_ownerdraw(), 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_passport_auth(), 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_properties(), test_prov(), test_proxy_direct(), test_proxy_indirect(), test_ps_alternate(), test_ps_userstyle(), test_pSetupGetField(), 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_QueryServiceConfig2A(), Test_QueryServiceConfig2W(), test_QueueUserWorkItem(), test_quit_message(), Test_RawSize(), 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_reconnect(), 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_register_device_iface(), test_register_device_info(), test_RegisterClipboardFormatA(), test_registerDefaultOIDFunction(), test_registered_object_thread_affinity(), test_registerOIDFunction(), test_registerOIDInfo(), test_RegisterRawInputDevices(), test_RegisterWaitForSingleObject(), test_registry(), test_registry_property_a(), test_registry_property_w(), test_RegNotifyChangeKeyValue(), test_RegOpenCurrentUser(), test_RegPolicyFlags(), test_relative_path(), test_RemoteDebugger(), test_remove_certificate(), test_remove_dot_segments(), 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_request_path_escapes(), 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_section_names(), Test_SectionContents(), test_secure_connection(), test_security_descriptor(), test_security_flags(), test_security_info(), test_select(), test_selection(), test_semaphore(), test_semaphore_security(), test_SendMessage_other_thread(), test_sequence(), test_service(), test_servicenotify(), test_Session(), test_session_info(), Test_Set(), test_set_clipboard_DRAWCLIPBOARD(), test_set_coop(), test_set_count(), 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_SetMenu(), test_SetMetaFileBits(), Test_SetPixel_PAL(), test_setpixelformat(), test_SetScrollPos(), 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_SetupDiGetClassDescriptionA(), test_SetupDiGetClassDevsA(), test_SetupDiInstallClassExA(), test_SetupDiOpenClassRegKeyExA(), test_SetupDuplicateDiskSpaceListA(), test_SetupDuplicateDiskSpaceListW(), test_SetupGetInfInformation(), test_SetupGetIntField(), test_SetupGetSourceFileLocation(), test_SetupInstallServicesFromInfSectionExA(), test_SetupInstallServicesFromInfSectionExW(), test_SetupLogError(), test_SetupQueryDrivesInDiskSpaceListA(), test_SetupQuerySpaceRequiredOnDriveA(), test_SetupQuerySpaceRequiredOnDriveW(), test_SetupUninstallOEMInf(), test_SetWindowLong(), test_SetWindowPos(), 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_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_subclass(), test_subpopup_locked_by_menu(), test_successive_HttpSendRequest(), test_SuspendThread(), test_swap_control(), test_SxsLookupClrGuid(), test_SymFromAddr(), test_SymRegCallback(), 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_Truncate(), 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_WinHttpOpenRequest(), test_WinHttpQueryOption(), test_WinHttpSendRequest(), 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_notifyformat(), 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_WTSEnumerateProcessesW(), test_WTSQuerySessionInformationW(), test_WTSQueryUserToken(), 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(), testCreateSelfSignCert(), testCRLProperties(), testCryptHashCert(), testCTLProperties(), testCtrlHandler(), testCursor(), testCursorInfo(), testDupCert(), testEmptyStore(), TestEntry(), TestEnumFontFamilies(), testExportPublicKey(), TestFileFsDeviceInformation(), testFileNameStore(), testFileStore(), testFindCert(), testFindCertInCRL(), testFindCRL(), testGetCertChain(), TestGetComputerNameEx(), testGetComputerObjectNameA(), testGetComputerObjectNameW(), testGetCRLFromStore(), TestGetCurrentDirectoryA(), TestGetCurrentDirectoryW(), testGetIssuerCert(), testGetModuleFileName(), testGetModuleHandleEx(), testGetProcAddress_Wrong(), testGetPublicKeyLength(), testGetSubjectCert(), testGetUserNameExA(), testGetUserNameExW(), TestGetUserObjectInfoW(), testGetValidUsages(), TestGetVolumeInformationA(), TestGetVolumeInformationW(), TestGlobalLockNUnlock(), testHashPublicKeyInfo(), testHashToBeSigned(), testIcmpSendEcho(), testImportPublicKey(), testInit(), testIntendedKeyUsage(), testIsRDNAttrsInCertificateName(), testIsValidCRLForCert(), testKeyboardLayouts(), testKeyUsage(), TestKM(), TestKs(), testLayout(), TestLibDependency(), testLinkCert(), testLoadLibraryA(), testLoadLibraryA_Wrong(), testLoadLibraryEx(), TestManualInstantiation(), testMemStore(), testMessageStore(), TestMyEventProvider(), testNotifyAddrChange(), TestPrivMoveFileIdentityW(), TestRead(), TestRecursiveInterThreadMessages(), testRegStore(), testRegStoreSavedCerts(), TestReturnValues(), testScreenBuffer(), testScroll(), testSerializedStore(), TestSetAndGetExtraFormat(), testSetupDiGetClassDevsA(), 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(), CDownloadManager::ThreadFunc(), 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(), UManStartDlg(), UndocumentedMethod(), Uninitialize(), uninstall_assembly(), Unlink(), UnloadUserProfile(), UnlockFile(), update_empty_exe(), update_missing_exe(), update_resources_bigdata(), update_resources_version(), CAppDB::UpdateAvailable(), UpdateDevicesListViewControl(), UpdateDevInfo(), UpdateDriverForPlugAndPlayDevicesW(), UpdateImageInfo(), UpdateStatus(), UpdateSystemTime(), BtrfsScrub::UpdateTextBox(), FxInterruptThreadpool::UpdateThreadPoolThreadLimits(), urlcache_delete_file(), User32CreateWindowEx(), UsermodeMethod(), UserpShowInformationBalloon(), utf16_to_utf8(), utf8_to_utf16(), 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(), W32TmServiceMain(), 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_update_swap_interval_cs(), WinExec(), winhttp_request_get_Status(), winhttp_request_get_StatusText(), winhttp_request_GetAllResponseHeaders(), winhttp_request_GetResponseHeader(), winhttp_request_Open(), winhttp_request_Send(), winhttp_request_SetCredentials(), winhttp_request_SetRequestHeader(), 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_buffer_to_file(), write_data(), write_file(), write_manifest(), write_post_stream(), write_raw_file(), write_to_file(), WriteFileEx_Remixer(), WriteJobShadowFile(), WriteMinidump(), WritePrinter(), WriteSdbFile(), WriteVolumeSector(), 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(), XCOPY_wprintf(), and YGetPrinterDriver2().

◆ IsBadCodePtr()

BOOL NTAPI IsBadCodePtr ( FARPROC  lpfn)

Definition at line 872 of file except.c.

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

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 860 of file except.c.

862{
863 /* Implementation is the same on 32-bit */
864 return IsBadReadPtr(lp, ucb);
865}

◆ IsBadHugeWritePtr()

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

Definition at line 938 of file except.c.

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

◆ IsBadReadPtr()

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

Definition at line 805 of file except.c.

807{
808 ULONG PageSize;
810 volatile CHAR *Current;
811 PCHAR Last;
812
813 /* Quick cases */
814 if (!ucb) return FALSE;
815 if (!lp) return TRUE;
816
817 /* Get the page size */
819
820 /* Calculate start and end */
821 Current = (volatile CHAR*)lp;
822 Last = (PCHAR)((ULONG_PTR)lp + ucb - 1);
823
824 /* Another quick failure case */
825 if (Last < Current) return TRUE;
826
827 /* Enter SEH */
829 {
830 /* Do an initial probe */
831 *Current;
832
833 /* Align the addresses */
834 Current = (volatile CHAR *)ALIGN_DOWN_POINTER_BY(Current, PageSize);
835 Last = (PCHAR)ALIGN_DOWN_POINTER_BY(Last, PageSize);
836
837 /* Probe the entire range */
838 while (Current != Last)
839 {
840 Current += PageSize;
841 *Current;
842 }
843 }
845 {
846 /* We hit an exception, so return true */
847 Result = TRUE;
848 }
850
851 /* Return exception status */
852 return Result;
853}
unsigned char BOOLEAN
#define FALSE
Definition: types.h:117
PBASE_STATIC_SERVER_DATA BaseStaticServerData
Definition: dllmain.c:19
#define PCHAR
Definition: match.c:90
SYSTEM_BASIC_INFORMATION SysInfo
Definition: base.h:130
char * PCHAR
Definition: typedefs.h:51
#define ALIGN_DOWN_POINTER_BY(ptr, align)
Definition: umtypes.h:82
_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:409
char CHAR
Definition: xmlstorage.h:175

Referenced by connect(), DrawThemeParentBackground(), FBadColumnSet(), FBadEntryList(), FBadProp(), FBadRglpszA(), FBadRglpszW(), FBadRow(), FBadRowSet(), 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 989 of file except.c.

991{
993 volatile CHAR *Current;
994 PCHAR Last;
995 CHAR Char;
996
997 /* Quick cases */
998 if (!ucchMax) return FALSE;
999 if (!lpsz) return TRUE;
1000
1001 /* Calculate start and end */
1002 Current = (volatile CHAR*)lpsz;
1003 Last = (PCHAR)((ULONG_PTR)lpsz + ucchMax - 1);
1004
1005 /* Enter SEH */
1006 _SEH2_TRY
1007 {
1008 /* Probe the entire range */
1009 Char = *Current++;
1010 while ((Char) && (Current != Last)) Char = *Current++;
1011 }
1013 {
1014 /* We hit an exception, so return true */
1015 Result = TRUE;
1016 }
1017 _SEH2_END
1018
1019 /* Return exception status */
1020 return Result;
1021}

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 950 of file except.c.

952{
954 volatile WCHAR *Current;
955 PWCHAR Last;
956 WCHAR Char;
957
958 /* Quick cases */
959 if (!ucchMax) return FALSE;
960 if (!lpsz) return TRUE;
961
962 /* Calculate start and end */
963 Current = (volatile WCHAR*)lpsz;
964 Last = (PWCHAR)((ULONG_PTR)lpsz + (ucchMax * 2) - 2);
965
966 /* Enter SEH */
968 {
969 /* Probe the entire range */
970 Char = *Current++;
971 while ((Char) && (Current != Last)) Char = *Current++;
972 }
974 {
975 /* We hit an exception, so return true */
976 Result = TRUE;
977 }
979
980 /* Return exception status */
981 return Result;
982}
uint16_t * PWCHAR
Definition: typedefs.h:56
__wchar_t WCHAR
Definition: xmlstorage.h:180

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

◆ IsBadWritePtr()

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

Definition at line 883 of file except.c.

885{
886 ULONG PageSize;
888 volatile CHAR *Current;
889 PCHAR Last;
890
891 /* Quick cases */
892 if (!ucb) return FALSE;
893 if (!lp) return TRUE;
894
895 /* Get the page size */
897
898 /* Calculate start and end */
899 Current = (volatile CHAR*)lp;
900 Last = (PCHAR)((ULONG_PTR)lp + ucb - 1);
901
902 /* Another quick failure case */
903 if (Last < Current) return TRUE;
904
905 /* Enter SEH */
907 {
908 /* Do an initial probe */
909 *Current = *Current;
910
911 /* Align the addresses */
912 Current = (volatile CHAR *)ALIGN_DOWN_POINTER_BY(Current, PageSize);
913 Last = (PCHAR)ALIGN_DOWN_POINTER_BY(Last, PageSize);
914
915 /* Probe the entire range */
916 while (Current != Last)
917 {
918 Current += PageSize;
919 *Current = *Current;
920 }
921 }
923 {
924 /* We hit an exception, so return true */
925 Result = TRUE;
926 }
928
929 /* Return exception status */
930 return Result;
931}

Referenced by DPA_Merge(), GetOwnerModuleFromPidEntry(), GetOwnerModuleFromTagEntry(), Imm32ProcessRequest(), 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: %p\n", (PVOID)ExceptionRecord->ExceptionInformation[1]);
108 }
109
110 /* Trace the wine special error and show the modulename and functionname */
111 if (ExceptionRecord->ExceptionCode == 0x80000100 /* EXCEPTION_WINE_STUB */ &&
112 ExceptionRecord->NumberParameters == 2)
113 {
114 DbgPrint("Missing function: %s!%s\n", (PSZ)ExceptionRecord->ExceptionInformation[0], (PSZ)ExceptionRecord->ExceptionInformation[1]);
115 }
116
118 _module_name_from_addr(ExceptionRecord->ExceptionAddress, &StartAddr, szMod, sizeof(szMod), &szModFile);
119 DbgPrint("Address:\n<%s:%x> (%s@%x)\n",
120 szModFile,
121 (ULONG_PTR)ExceptionRecord->ExceptionAddress - (ULONG_PTR)StartAddr,
122 szMod,
123 StartAddr);
124#ifdef _M_IX86
125 DbgPrint("Frames:\n");
126
128 {
129 UINT i;
130 PULONG Frame = (PULONG)ContextRecord->Ebp;
131
132 for (i = 0; Frame[1] != 0 && Frame[1] != 0xdeadbeef && i < 128; i++)
133 {
134 if (IsBadReadPtr((PVOID)Frame[1], 4))
135 {
136 DbgPrint("<%s:%x>\n", "[invalid address]", Frame[1]);
137 }
138 else
139 {
140 _module_name_from_addr((const void*)Frame[1], &StartAddr,
141 szMod, sizeof(szMod), &szModFile);
142 DbgPrint("<%s:%x> (%s@%x)\n",
143 szModFile,
144 (ULONG_PTR)Frame[1] - (ULONG_PTR)StartAddr,
145 szMod,
146 StartAddr);
147 }
148
149 if (IsBadReadPtr((PVOID)Frame[0], sizeof(*Frame) * 2))
150 break;
151
152 Frame = (PULONG)Frame[0];
153 }
154 }
156 {
157 DbgPrint("<error dumping stack trace: 0x%x>\n", _SEH2_GetExceptionCode());
158 }
159 _SEH2_END;
160#endif
161}
static VOID _dump_context(PCONTEXT pc)
Definition: except.c:59
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
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 for
Definition: utility.h:88
_IRQL_requires_same_ _In_ PVOID _Inout_ struct _CONTEXT * ContextRecord
Definition: ntbasedef.h:654
#define STATUS_ACCESS_VIOLATION
Definition: ntstatus.h:242
#define _SEH2_GetExceptionCode()
Definition: pseh2_64.h:159
struct _EXCEPTION_RECORD * ExceptionRecord
Definition: compat.h:210
DWORD ExceptionCode
Definition: compat.h:208
DWORD NumberParameters
Definition: compat.h:212
ULONG_PTR ExceptionInformation[EXCEPTION_MAXIMUM_PARAMETERS]
Definition: compat.h:213
PVOID ExceptionAddress
Definition: compat.h:211
uint32_t * PULONG
Definition: typedefs.h:59
char * PSZ
Definition: windef.h:57

Referenced by UnhandledExceptionFilter().

◆ RaiseException()

VOID WINAPI RaiseException ( _In_ DWORD  dwExceptionCode,
_In_ DWORD  dwExceptionFlags,
_In_ DWORD  nNumberOfArguments,
_In_opt_ const ULONG_PTR lpArguments 
)

Definition at line 700 of file except.c.

705{
706 EXCEPTION_RECORD ExceptionRecord;
707
708 /* Setup the exception record */
709 RtlZeroMemory(&ExceptionRecord, sizeof(ExceptionRecord));
710 ExceptionRecord.ExceptionCode = dwExceptionCode;
711 ExceptionRecord.ExceptionRecord = NULL;
712 ExceptionRecord.ExceptionAddress = (PVOID)RaiseException;
713 ExceptionRecord.ExceptionFlags = dwExceptionFlags & EXCEPTION_NONCONTINUABLE;
714
715 /* Check if we have arguments */
716 if (!lpArguments)
717 {
718 /* We don't */
719 ExceptionRecord.NumberParameters = 0;
720 }
721 else
722 {
723 /* We do, normalize the count */
724 if (nNumberOfArguments > EXCEPTION_MAXIMUM_PARAMETERS)
725 nNumberOfArguments = EXCEPTION_MAXIMUM_PARAMETERS;
726
727 /* Set the count of parameters and copy them */
728 ExceptionRecord.NumberParameters = nNumberOfArguments;
729 RtlCopyMemory(ExceptionRecord.ExceptionInformation,
730 lpArguments,
731 nNumberOfArguments * sizeof(ULONG_PTR));
732 }
733
734 /* Better handling of Delphi Exceptions... a ReactOS Hack */
735 if (dwExceptionCode == 0xeedface || dwExceptionCode == 0xeedfade)
736 {
737 DPRINT1("Delphi Exception at address: %p\n", ExceptionRecord.ExceptionInformation[0]);
738 DPRINT1("Exception-Object: %p\n", ExceptionRecord.ExceptionInformation[1]);
739 DPRINT1("Exception text: %lx\n", ExceptionRecord.ExceptionInformation[2]);
740 }
741
742 /* Raise the exception */
743 RtlRaiseException(&ExceptionRecord);
744}
#define DPRINT1
Definition: precomp.h:8
#define EXCEPTION_MAXIMUM_PARAMETERS
Definition: compat.h:206
VOID WINAPI RaiseException(_In_ DWORD dwExceptionCode, _In_ DWORD dwExceptionFlags, _In_ DWORD nNumberOfArguments, _In_opt_ const ULONG_PTR *lpArguments)
Definition: except.c:700
NTSYSAPI VOID NTAPI RtlRaiseException(_In_ PEXCEPTION_RECORD ExceptionRecord)
DWORD ExceptionFlags
Definition: compat.h:209
#define EXCEPTION_NONCONTINUABLE
Definition: stubs.h:23
void * PVOID
Definition: typedefs.h:50
#define RtlCopyMemory(Destination, Source, Length)
Definition: typedefs.h:263
#define RtlZeroMemory(Destination, Length)
Definition: typedefs.h:262

Referenced by __delayLoadHelper2(), __ExceptionPtrRethrow(), _CxxThrowException(), _invalid_parameter(), addtwo(), CHString::AllocBuffer(), CHString::AllocCopy(), CHString::AssignCopy(), ATL::AtlThrowImp(), callback_exception(), CLIPFORMAT_UserMarshal(), CLIPFORMAT_UserSize(), CLIPFORMAT_UserUnmarshal(), CHString::ConcatCopy(), CHString::ConcatInPlace(), DEFINE_TEST(), dojump(), except1(), FlsCallback3(), handle_UserMarshal(), handle_UserSize(), handle_UserUnmarshal(), HBITMAP_UserUnmarshal(), HENHMETAFILE_UserUnmarshal(), HGLOBAL_UserUnmarshal(), HMETAFILE_UserUnmarshal(), LogToFile(), main(), notify_DllMain(), notify_TlsCallback(), OutputDebugStringA(), RaiseException(), RpcRaiseException(), rtlRaiseExceptin(), rtlRaiseException(), rtlRaiseExcpt(), rtlRaiseStatus(), 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 751 of file except.c.

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

Referenced by _seterrormode(), _tWinMain(), APIHook_LoadLibraryA(), APIHook_LoadLibraryExA(), APIHook_LoadLibraryExW(), APIHook_LoadLibraryW(), doCrash(), FileExists(), ShellDirectory::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 1028 of file except.c.

1029{
1030 /* Break if a debugger requested checking for this error code */
1032
1033 /* Set last error if it's a new error */
1034 if (NtCurrentTeb()->LastErrorValue != dwErrCode) NtCurrentTeb()->LastErrorValue = dwErrCode;
1035}
DWORD g_dwLastErrorToBreakOn
Definition: except.c:166
NTSYSAPI void WINAPI DbgBreakPoint(void)

◆ SetUnhandledExceptionFilter()

LPTOP_LEVEL_EXCEPTION_FILTER WINAPI DECLSPEC_HOTPATCH SetUnhandledExceptionFilter ( IN LPTOP_LEVEL_EXCEPTION_FILTER  lpTopLevelExceptionFilter)

Definition at line 790 of file except.c.

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

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

◆ UnhandledExceptionFilter()

LONG WINAPI UnhandledExceptionFilter ( IN PEXCEPTION_POINTERS  ExceptionInfo)

Definition at line 269 of file except.c.

270{
271 static UNICODE_STRING AeDebugKey =
272 RTL_CONSTANT_STRING(L"\\Registry\\Machine\\" REGSTR_PATH_AEDEBUG);
273
274 static BOOLEAN IsSecondChance = FALSE;
275
276 /* Exception data */
278 PEXCEPTION_RECORD ExceptionRecord = ExceptionInfo->ExceptionRecord;
280 LONG RetValue;
281
282 /* Debugger and hard error parameters */
283 HANDLE DebugPort = NULL;
284 ULONG_PTR ErrorParameters[4];
285 ULONG DebugResponse, ErrorResponse;
286
287 /* Post-Mortem "Auto-Execute" (AE) Debugger registry data */
290 UNICODE_STRING ValueString;
294 BOOLEAN AeDebugAuto = FALSE;
295 PWCHAR AeDebugPath = NULL;
296 WCHAR AeDebugCmdLine[MAX_PATH];
297
298 /* Debugger process data */
300 HRESULT hr;
301 ULONG PrependLength;
302 HANDLE hDebugEvent;
303 HANDLE WaitHandles[2];
304 STARTUPINFOW StartupInfo;
305 PROCESS_INFORMATION ProcessInfo;
306
307 /* In case this is a nested exception, just kill the process */
308 if (ExceptionRecord->ExceptionFlags & EXCEPTION_NESTED_CALL)
309 {
312 }
313
314 if ((ExceptionRecord->ExceptionCode == STATUS_ACCESS_VIOLATION) &&
315 (ExceptionRecord->NumberParameters >= 2))
316 {
317 switch (ExceptionRecord->ExceptionInformation[0])
318 {
320 {
321 /*
322 * Change the protection on some write attempts,
323 * some InstallShield setups have this bug.
324 */
326 (PVOID)ExceptionRecord->ExceptionInformation[1]);
327 if (RetValue == EXCEPTION_CONTINUE_EXECUTION)
329 break;
330 }
331
333 /* FIXME */
334 break;
335 }
336 }
337
338 /* If the process is being debugged, pass the exception to the debugger */
341 &DebugPort,
342 sizeof(DebugPort),
343 NULL);
344 if (NT_SUCCESS(Status) && DebugPort)
345 {
346 DPRINT("Passing exception to debugger\n");
348 }
349
350 /* No debugger present, let's continue... */
351
353 if (RealFilter)
354 {
355 RetValue = RealFilter(ExceptionInfo);
356 if (RetValue != EXCEPTION_CONTINUE_SEARCH)
357 return RetValue;
358 }
359
360 /* ReactOS-specific: DPRINT a stack trace */
361 PrintStackTrace(ExceptionInfo);
362
363 /*
364 * Now pop up an error if needed. Check both the process-wide (Win32)
365 * and per-thread error-mode flags (NT).
366 */
369 {
370 /* Do not display the pop-up error box, just transfer control to the exception handler */
372 }
373
374 /* Save exception code and address */
375 ErrorParameters[0] = (ULONG_PTR)ExceptionRecord->ExceptionCode;
376 ErrorParameters[1] = (ULONG_PTR)ExceptionRecord->ExceptionAddress;
377
378 if (ExceptionRecord->ExceptionCode == STATUS_IN_PAGE_ERROR)
379 {
380 /*
381 * Get the underlying status code that resulted in the exception,
382 * and just forget about the type of operation (read/write).
383 */
384 ErrorParameters[2] = ExceptionRecord->ExceptionInformation[2];
385 }
386 else // if (ExceptionRecord->ExceptionCode == STATUS_ACCESS_VIOLATION) or others...
387 {
388 /* Get the type of operation that caused the access violation */
389 ErrorParameters[2] = ExceptionRecord->ExceptionInformation[0];
390 }
391
392 /* Save faulting address */
393 ErrorParameters[3] = ExceptionRecord->ExceptionInformation[1];
394
395 /*
396 * Prepare the hard error dialog: default to only OK
397 * in case we do not have any debugger at our disposal.
398 */
399 DebugResponse = OptionOk;
400 AeDebugAuto = FALSE;
401
402 /*
403 * Retrieve Post-Mortem Debugger settings from the registry, under:
404 * HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AeDebug
405 * (REGSTR_PATH_AEDEBUG).
406 */
407
409 &AeDebugKey,
411 NULL,
412 NULL);
414 if (NT_SUCCESS(Status))
415 {
416 /*
417 * Read the 'Auto' REG_SZ value:
418 * "0" (or any other value): Prompt the user for starting the debugger.
419 * "1": Start the debugger without prompting.
420 */
423 &ValueString,
425 PartialInfo,
426 sizeof(Buffer),
427 &Length);
428 if (NT_SUCCESS(Status) && (PartialInfo->Type == REG_SZ))
429 {
430 AeDebugAuto = (*(PWCHAR)PartialInfo->Data == L'1');
431 }
432 else
433 {
434 AeDebugAuto = FALSE;
435 }
436
437 /*
438 * Read and store the 'Debugger' REG_SZ value. Its usual format is:
439 * C:\dbgtools\ntsd.exe -p %ld -e %ld -g
440 * with the first and second parameters being respectively
441 * the process ID and a notification event handle.
442 */
445 &ValueString,
447 PartialInfo,
448 sizeof(Buffer),
449 &Length);
450 if (NT_SUCCESS(Status) && (PartialInfo->Type == REG_SZ))
451 {
452 /* We hope the string is NULL-terminated */
453 AeDebugPath = (PWCHAR)PartialInfo->Data;
454
455 /* Skip any prepended whitespace */
456 while ( *AeDebugPath &&
457 ((*AeDebugPath == L' ') ||
458 (*AeDebugPath == L'\t')) ) // iswspace(*AeDebugPath)
459 {
460 ++AeDebugPath;
461 }
462
463 if (*AeDebugPath)
464 {
465 /* We have a debugger path, we can prompt the user to debug the program */
466 DebugResponse = OptionOkCancel;
467 }
468 else
469 {
470 /* We actually do not have anything, reset the pointer */
471 AeDebugPath = NULL;
472 }
473 }
474 else
475 {
476 AeDebugPath = NULL;
477 }
478
480 }
481
482 // TODO: Start a ReactOS Fault Reporter (unimplemented!)
483 //
484 // For now we are doing the "old way" (aka Win2k), that is also the fallback
485 // case for Windows XP/2003 in case it does not find faultrep.dll to display
486 // the nice "Application Error" dialog box: We use a hard error to communicate
487 // the problem and prompt the user to continue debugging the application or
488 // to terminate it.
489 //
490 // Since Windows XP/2003, we have the ReportFault API available.
491 // See http://www.clausbrod.de/twiki/pub/Blog/DefinePrivatePublic20070616/reportfault.cpp
492 // and https://msdn.microsoft.com/en-us/library/windows/desktop/bb513616(v=vs.85).aspx
493 // and the legacy ReportFault API: https://msdn.microsoft.com/en-us/library/windows/desktop/bb513615(v=vs.85).aspx
494 //
495 // NOTE: Starting Vista+, the fault API is constituted of the WerXXX functions.
496 //
497 // Also see Vostokov's book "Memory Dump Analysis Anthology Collector's Edition, Volume 1"
498 // at: https://books.google.fr/books?id=9w2x6NHljg4C&pg=PA115&lpg=PA115
499
500 if (!(AeDebugPath && AeDebugAuto))
501 {
502 /*
503 * Either there is no debugger specified, or the debugger should
504 * not start automatically: display the hard error no matter what.
505 * For a first chance exception, allow continuing or debugging;
506 * for a second chance exception, just debug or kill the process.
507 */
509 4,
510 0,
511 ErrorParameters,
512 (!IsSecondChance ? DebugResponse : OptionOk),
513 &ErrorResponse);
514 }
515 else
516 {
518 ErrorResponse = (AeDebugPath ? ResponseCancel : ResponseOk);
519 }
520
521 /*
522 * If the user has chosen not to debug the process, or
523 * if this is a second chance exception, kill the process.
524 */
525 if (!NT_SUCCESS(Status) || (ErrorResponse != ResponseCancel) || IsSecondChance)
526 goto Quit;
527
528 /* If the exception comes from a CSR Server, kill it (this will lead to ReactOS shutdown) */
530 {
531 IsSecondChance = TRUE;
532 goto Quit;
533 }
534
535 /*
536 * Attach a debugger to this process. The debugger process is given
537 * the process ID of the current process to be debugged, as well as
538 * a notification event handle. After being spawned, the debugger
539 * initializes and attaches to the process by calling DebugActiveProcess.
540 * When the debugger is ready, it signals the notification event,
541 * so that we can give it control over the process being debugged,
542 * by passing it the exception.
543 *
544 * See https://msdn.microsoft.com/en-us/library/ms809754.aspx
545 * and http://www.debuginfo.com/articles/ntsdwatson.html
546 * and https://sourceware.org/ml/gdb-patches/2012-08/msg00893.html
547 * for more details.
548 */
549
550 /* Create an inheritable notification debug event for the debugger */
552 NULL,
554 NULL,
555 NULL);
556 Status = NtCreateEvent(&hDebugEvent,
560 FALSE);
561 if (!NT_SUCCESS(Status))
562 hDebugEvent = NULL;
563
564 /* Build the debugger command line */
565
566 Success = FALSE;
567
568 /*
569 * We will add two longs (process ID and event handle) to the command
570 * line. The biggest 32-bit unsigned int (0xFFFFFFFF == 4.294.967.295)
571 * takes 10 decimal digits. We then count the terminating NULL.
572 */
573 Length = (ULONG)wcslen(AeDebugPath) + 2*10 + 1;
574
575 /* Check whether the debugger path may be a relative path */
576 if ((*AeDebugPath != L'"') &&
578 {
579 /* Relative path, prepend SystemRoot\System32 */
580 PrependLength = (ULONG)wcslen(SharedUserData->NtSystemRoot) + 10 /* == wcslen(L"\\System32\\") */;
581 if (PrependLength + Length <= ARRAYSIZE(AeDebugCmdLine))
582 {
583 hr = StringCchPrintfW(AeDebugCmdLine,
584 PrependLength + 1,
585 L"%s\\System32\\",
586 SharedUserData->NtSystemRoot);
588 }
589 }
590 else
591 {
592 /* Full path */
593 PrependLength = 0;
594 if (Length <= ARRAYSIZE(AeDebugCmdLine))
595 Success = TRUE;
596 }
597
598 /* Format the command line */
599 if (Success)
600 {
601 hr = StringCchPrintfW(&AeDebugCmdLine[PrependLength],
602 Length,
603 AeDebugPath,
604 HandleToUlong(NtCurrentTeb()->ClientId.UniqueProcess), // GetCurrentProcessId()
605 hDebugEvent);
607 }
608
609 /* Start the debugger */
610 if (Success)
611 {
612 DPRINT1("\nStarting debugger: '%S'\n", AeDebugCmdLine);
613
614 RtlZeroMemory(&StartupInfo, sizeof(StartupInfo));
615 RtlZeroMemory(&ProcessInfo, sizeof(ProcessInfo));
616
617 StartupInfo.cb = sizeof(StartupInfo);
618 StartupInfo.lpDesktop = L"WinSta0\\Default";
619
621 AeDebugCmdLine,
622 NULL, NULL,
623 TRUE, 0,
624 NULL, NULL,
625 &StartupInfo, &ProcessInfo);
626 }
627
628 if (Success)
629 {
630 WaitHandles[0] = hDebugEvent;
631 WaitHandles[1] = ProcessInfo.hProcess;
632
633 /* Loop until the debugger gets ready or terminates unexpectedly */
634 do
635 {
636 /* Alertable wait */
638 WaitHandles,
639 WaitAny,
640 TRUE, NULL);
641 } while ((Status == STATUS_ALERTED) || (Status == STATUS_USER_APC));
642
643 /*
644 * The debugger terminated unexpectedly and we cannot attach to it.
645 * Kill the process being debugged.
646 */
647 if (Status == STATUS_WAIT_1)
648 {
649 /* Be sure there is no other debugger attached */
652 &DebugPort,
653 sizeof(DebugPort),
654 NULL);
655 if (!NT_SUCCESS(Status) || !DebugPort)
656 {
657 /* No debugger is attached, kill the process at next round */
658 IsSecondChance = TRUE;
659 }
660 }
661
662 CloseHandle(ProcessInfo.hThread);
663 CloseHandle(ProcessInfo.hProcess);
664
665 if (hDebugEvent)
666 NtClose(hDebugEvent);
667
669 }
670
671 /* We failed starting the debugger, close the event handle and kill the process */
672
673 if (hDebugEvent)
674 NtClose(hDebugEvent);
675
676 IsSecondChance = TRUE;
677
678
679Quit:
680 /* If this is a second chance exception, kill the process */
681 if (IsSecondChance)
683
684 /* Otherwise allow handling exceptions in first chance */
685
686 /*
687 * Returning EXCEPTION_EXECUTE_HANDLER means that the code in
688 * the __except block will be executed. Normally this will end up in a
689 * Terminate process.
690 */
691
693}
#define HandleToUlong(h)
Definition: basetsd.h:79
while(CdLookupNextInitialFileDirent(IrpContext, Fcb, FileContext))
Definition: bufpool.h:45
IN PUNICODE_STRING IN POBJECT_ATTRIBUTES ObjectAttributes
Definition: conport.c:36
#define ARRAYSIZE(array)
Definition: filtermapper.c:47
#define CloseHandle
Definition: compat.h:739
#define MAX_PATH
Definition: compat.h:34
BOOLEAN BaseRunningInServerProcess
Definition: dllmain.c:20
LONG WINAPI BasepCheckForReadOnlyResource(IN PVOID Ptr)
Definition: except.c:172
static VOID PrintStackTrace(IN PEXCEPTION_POINTERS ExceptionInfo)
Definition: except.c:93
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:4592
#define ULONG_PTR
Definition: config.h:101
@ Success
Definition: eventcreate.c:712
unsigned int BOOL
Definition: ntddk_ex.h:94
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:551
_CRTIMP size_t __cdecl wcslen(_In_z_ const wchar_t *_Str)
#define OBJ_CASE_INSENSITIVE
Definition: winternl.h:228
@ ProcessDebugPort
Definition: winternl.h:395
#define OBJ_INHERIT
Definition: winternl.h:225
NTSYSAPI DWORD WINAPI RtlGetThreadErrorMode(void)
Definition: error.c:217
#define SUCCEEDED(hr)
Definition: intsafe.h:50
#define EVENT_ALL_ACCESS
Definition: isotest.c:82
#define REG_SZ
Definition: layer.c:22
#define InitializeObjectAttributes(p, n, a, r, s)
Definition: reg.c:106
_Must_inspect_result_ _Out_ PNDIS_STATUS _In_ NDIS_HANDLE _In_ ULONG _Out_ PNDIS_STRING _Out_ PNDIS_HANDLE KeyHandle
Definition: ndis.h:4715
#define HARDERROR_OVERRIDE_ERRORMODE
Definition: extypes.h:146
@ OptionOkCancel
Definition: extypes.h:188
@ OptionOk
Definition: extypes.h:187
@ ResponseOk
Definition: extypes.h:205
@ ResponseCancel
Definition: extypes.h:202
NTSYSAPI RTL_PATH_TYPE NTAPI RtlDetermineDosPathNameType_U(_In_ PCWSTR Path)
#define SEM_NOGPFAULTERRORBOX
Definition: rtltypes.h:70
#define RTL_SEM_NOGPFAULTERRORBOX
Definition: rtltypes.h:75
@ RtlPathTypeRelative
Definition: rtltypes.h:476
NTSYSAPI NTSTATUS NTAPI NtOpenKey(OUT PHANDLE KeyHandle, IN ACCESS_MASK DesiredAccess, IN POBJECT_ATTRIBUTES ObjectAttributes)
Definition: ntapi.c:336
@ KeyValuePartialInformation
Definition: nt_native.h:1182
NTSYSAPI VOID NTAPI RtlInitUnicodeString(PUNICODE_STRING DestinationString, PCWSTR SourceString)
NTSTATUS NTAPI NtTerminateProcess(HANDLE ProcessHandle, LONG ExitStatus)
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)
#define KEY_QUERY_VALUE
Definition: nt_native.h:1016
struct _KEY_VALUE_PARTIAL_INFORMATION KEY_VALUE_PARTIAL_INFORMATION
NTSTATUS NTAPI NtClose(IN HANDLE Handle)
Definition: obhandle.c:3402
_In_ ULONG _In_ ULONG _In_ ULONG Length
Definition: ntddpcm.h:102
@ NotificationEvent
@ WaitAny
NTSTATUS NTAPI NtCreateEvent(OUT PHANDLE EventHandle, IN ACCESS_MASK DesiredAccess, IN POBJECT_ATTRIBUTES ObjectAttributes OPTIONAL, IN EVENT_TYPE EventType, IN BOOLEAN InitialState)
Definition: event.c:96
#define STATUS_WAIT_1
Definition: ntstatus.h:71
#define STATUS_ALERTED
Definition: ntstatus.h:80
#define STATUS_USER_APC
Definition: ntstatus.h:78
#define STATUS_UNHANDLED_EXCEPTION
Definition: ntstatus.h:560
#define STATUS_IN_PAGE_ERROR
Definition: ntstatus.h:243
#define L(x)
Definition: ntvdm.h:50
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
#define REGSTR_PATH_AEDEBUG
Definition: regstr.h:672
#define REGSTR_VAL_AEDEBUG_AUTO
Definition: regstr.h:674
#define REGSTR_VAL_AEDEBUG_DEBUGGER
Definition: regstr.h:673
#define EXCEPTION_WRITE_FAULT
#define EXCEPTION_EXECUTE_FAULT
#define SharedUserData
#define STATUS_SUCCESS
Definition: shellext.h:65
HRESULT hr
Definition: shlfolder.c:183
#define DPRINT
Definition: sndvol32.h:71
STRSAFEAPI StringCchPrintfW(STRSAFE_LPWSTR pszDest, size_t cchDest, STRSAFE_LPCWSTR pszFormat,...)
Definition: strsafe.h:530
HANDLE UniqueProcess
Definition: compat.h:825
LPWSTR lpDesktop
Definition: winbase.h:854
DWORD cb
Definition: winbase.h:852
#define RTL_CONSTANT_STRING(s)
Definition: tunneltest.c:14
PTOP_LEVEL_EXCEPTION_FILTER LPTOP_LEVEL_EXCEPTION_FILTER
Definition: winbase.h:1453
_Out_ PCLIENT_ID ClientId
Definition: kefuncs.h:1151
#define EXCEPTION_NESTED_CALL
Definition: rtltypes.h:158
unsigned char UCHAR
Definition: xmlstorage.h:181

Referenced by BaseProcessStartup(), and BaseThreadStartup().

Variable Documentation

◆ g_dwLastErrorToBreakOn

DWORD g_dwLastErrorToBreakOn

Definition at line 166 of file except.c.

Referenced by SetLastError().

◆ GlobalTopLevelExceptionFilter

LPTOP_LEVEL_EXCEPTION_FILTER GlobalTopLevelExceptionFilter

Definition at line 165 of file except.c.

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