aboutsummaryrefslogtreecommitdiff
path: root/src/client/windows/handler/exception_handler.h
diff options
context:
space:
mode:
authormmentovai <mmentovai@4c0a9323-5329-0410-9bdc-e9ce6186880e>2008-01-28 20:02:01 +0000
committermmentovai <mmentovai@4c0a9323-5329-0410-9bdc-e9ce6186880e>2008-01-28 20:02:01 +0000
commit469580e2dfe4860966200f8c451b7b8b6d7554a2 (patch)
tree6f402097b17267bbcc2d6b621b01be50a5a518b5 /src/client/windows/handler/exception_handler.h
parentFix issue 235, properly handling included(inlined) code. (diff)
downloadbreakpad-469580e2dfe4860966200f8c451b7b8b6d7554a2.tar.xz
Remove dependency on ole32 on Windows (#132). Patch by Sorin Jianu <sorinj>, r=me.
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@237 4c0a9323-5329-0410-9bdc-e9ce6186880e
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_;