diff --git a/doc/generated/doc/developing.html b/doc/generated/doc/developing.html index 6ab46897..844a92a8 100644 --- a/doc/generated/doc/developing.html +++ b/doc/generated/doc/developing.html @@ -825,8 +825,8 @@ need to install them separately.

Initial Checkout

-
$ mkdir /crashpad
-$ cd /crashpad
+
$ mkdir ~/crashpad
+$ cd ~/crashpad
 $ fetch crashpad

fetch crashpad performs the initial gclient sync, establishing a diff --git a/doc/generated/doxygen/dir_04861af0646e74845232399e73d584d9.html b/doc/generated/doxygen/dir_04861af0646e74845232399e73d584d9.html index cafd6fe0..aa9b7573 100644 --- a/doc/generated/doxygen/dir_04861af0646e74845232399e73d584d9.html +++ b/doc/generated/doxygen/dir_04861af0646e74845232399e73d584d9.html @@ -107,6 +107,12 @@ Files   file  exception_handler_server_test.cc   +file  get_function.cc +  +file  get_function.h +  +file  get_function_test.cc +  file  module_version.cc   file  module_version.h diff --git a/doc/generated/doxygen/files.html b/doc/generated/doxygen/files.html index 303b7b7c..f95ba83e 100644 --- a/doc/generated/doxygen/files.html +++ b/doc/generated/doxygen/files.html @@ -105,6 +105,8 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');   misc  initialization_state_dcheck.h  symbolic_constants_common.h +  win + get_function.h

diff --git a/doc/generated/doxygen/get__function_8h.html b/doc/generated/doxygen/get__function_8h.html new file mode 100644 index 00000000..b2e2b46b --- /dev/null +++ b/doc/generated/doxygen/get__function_8h.html @@ -0,0 +1,227 @@ + + + + + + +Crashpad: util/win/get_function.h File Reference + + + + + + + + + + +
+
+ + + + + + +
+
Crashpad +
+
+
+ + + + + + +
+
+ + +
+ +
+ + +
+
+
+Namespaces | +Macros | +Functions
+
+
get_function.h File Reference
+
+
+
#include <windows.h>
+
+ + + + + + + +

+Namespaces

 crashpad
 The main namespace.
 
 crashpad::internal
 The internal namespace, not for public use.
 
+ + + + + + + +

+Macros

#define GET_FUNCTION(library, function)
 Returns a function pointer to a named function in a library without requiring that it be found. More...
 
#define GET_FUNCTION_REQUIRED(library, function)
 Returns a function pointer to a named function in a library, requiring that it be found. More...
 
+ + + + + + + + +

+Functions

FARPROC crashpad::internal::GetFunctionInternal (const wchar_t *library, const char *function, bool required)
 Returns a function pointer to a named function in a library. More...
 
template<typename FunctionType >
FunctionType * crashpad::internal::GetFunction (const wchar_t *library, const char *function, bool required)
 Returns a function pointer to a named function in a library. More...
 
+

Macro Definition Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + +
#define GET_FUNCTION( library,
 function 
)
+
+Value:
crashpad::internal::GetFunction<decltype(function)>( \
+
library, #function, false)
+
+

Returns a function pointer to a named function in a library without requiring that it be found.

+

If the library or function cannot be found, this will return nullptr. This macro is intended to be used to access functions that may not be available at runtime.

+

This macro returns a properly-typed function pointer. It is expected to be used in this way:

1 static const auto get_named_pipe_client_process_id =
+
2  GET_FUNCTION(L"kernel32.dll", ::GetNamedPipeClientProcessId);
+
3 if (get_named_pipe_client_process_id) {
+
4  BOOL rv = get_named_pipe_client_process_id(pipe, &client_process_id);
+
5 }
+

This accesses library by calling LoadLibrary() and is subject to the same restrictions as that function. Notably, it can’t be used from a DllMain() entry point.

+
Parameters
+ + + +
[in]libraryThe library to search in.
[in]functionThe function to search for. A leading :: is recommended when a wrapper function of the same name is present.
+
+
+
Returns
A pointer to the requested function on success, or nullptr on failure.
+
See also
GET_FUNCTION_REQUIRED
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
#define GET_FUNCTION_REQUIRED( library,
 function 
)
+
+Value:
crashpad::internal::GetFunction<decltype(function)>( \
+
library, #function, true)
+
+

Returns a function pointer to a named function in a library, requiring that it be found.

+

If the library or function cannot be found, this will trigger a DCHECK assertion. This macro is intended to be used to access functions that are always expected to be available at runtime but which are not present in any import library.

+

This macro returns a properly-typed function pointer. It is expected to be used in this way:

1 static const auto nt_query_object =
+
2  GET_FUNCTION_REQUIRED(L"ntdll.dll", ::NtQueryObject);
+
3 NTSTATUS status =
+
4  nt_query_object(handle, type, &info, info_length, &return_length);
+

This accesses library by calling LoadLibrary() and is subject to the same restrictions as that function. Notably, it can’t be used from a DllMain() entry point.

+
Parameters
+ + + +
[in]libraryThe library to search in.
[in]functionThe function to search for. A leading :: is recommended when a wrapper function of the same name is present.
+
+
+
Returns
A pointer to the requested function.
+
See also
GET_FUNCTION
+ +
+
+
+ + + + diff --git a/doc/generated/doxygen/globals.html b/doc/generated/doxygen/globals.html index e5ee4fec..66c200bb 100644 --- a/doc/generated/doxygen/globals.html +++ b/doc/generated/doxygen/globals.html @@ -82,6 +82,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
  • a
  • c
  • e
  • +
  • g
  • i
  • m
  • r
  • @@ -139,6 +140,16 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); +

    - g -

    + +

    - i -