aboutsummaryrefslogtreecommitdiff
path: root/src/client/windows/handler/exception_handler.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/client/windows/handler/exception_handler.h')
-rw-r--r--src/client/windows/handler/exception_handler.h12
1 files changed, 8 insertions, 4 deletions
diff --git a/src/client/windows/handler/exception_handler.h b/src/client/windows/handler/exception_handler.h
index 7d82564c..fc9af326 100644
--- a/src/client/windows/handler/exception_handler.h
+++ b/src/client/windows/handler/exception_handler.h
@@ -52,9 +52,6 @@
// ExceptionHandler *f = new ExceptionHandler(...);
// delete e;
// This will put the exception filter stack into an inconsistent state.
-//
-// To use this library in your project, you will need to link against
-// ole32.lib.
#ifndef CLIENT_WINDOWS_HANDLER_EXCEPTION_HANDLER_H__
#define CLIENT_WINDOWS_HANDLER_EXCEPTION_HANDLER_H__
@@ -62,10 +59,11 @@
#include <stdlib.h>
#include <Windows.h>
#include <DbgHelp.h>
+#include <rpc.h>
#pragma warning( push )
// Disable exception handler warnings.
-#pragma warning( disable : 4530 )
+#pragma warning( disable : 4530 )
#include <string>
#include <vector>
@@ -195,6 +193,9 @@ class ExceptionHandler {
CONST PMINIDUMP_USER_STREAM_INFORMATION UserStreamParam,
CONST PMINIDUMP_CALLBACK_INFORMATION CallbackParam);
+ // Function pointer type for UuidCreate, which is looked up dynamically.
+ typedef RPC_STATUS (RPC_ENTRY *UuidCreate_type)(UUID *Uuid);
+
// Runs the main loop for the exception handler thread.
static DWORD WINAPI ExceptionHandlerThreadMain(void *lpParameter);
@@ -272,6 +273,9 @@ class ExceptionHandler {
HMODULE dbghelp_module_;
MiniDumpWriteDump_type minidump_write_dump_;
+ HMODULE rpcrt4_module_;
+ UuidCreate_type uuid_create_;
+
// Tracks the handler types that were installed according to the
// handler_types constructor argument.
int handler_types_;