<trclass="memdesc:"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Ensures that a range, composed of a base and a size, does not overflow the pointer type of the process it describes a range in. <ahref="classcrashpad_1_1internal_1_1CheckedAddressRangeGeneric.html#details">More...</a><br/></td></tr>
<trclass="memdesc:"><tdclass="mdescLeft"> </td><tdclass="mdescRight">The context data for registered threadpool waits. <ahref="classcrashpad_1_1internal_1_1ClientData.html#details">More...</a><br/></td></tr>
<trclass="memdesc:"><tdclass="mdescLeft"> </td><tdclass="mdescRight">An <aclass="el"href="classcrashpad_1_1ExceptionSnapshot.html"title="An abstract interface to a snapshot representing an exception that a snapshot process sustained and t...">ExceptionSnapshot</a> of an exception sustained by a running (or crashed) process on a macOS system. <ahref="classcrashpad_1_1internal_1_1ExceptionSnapshotMac.html#details">More...</a><br/></td></tr>
<trclass="memdesc:"><tdclass="mdescLeft"> </td><tdclass="mdescRight">The internal implementation for <aclass="el"href="classcrashpad_1_1MachOImageSymbolTableReader.html"title="A reader for symbol tables in Mach-O images mapped into another process. ">MachOImageSymbolTableReader</a>. <ahref="classcrashpad_1_1internal_1_1MachOImageSymbolTableReaderInitializer.html#details">More...</a><br/></td></tr>
<trclass="memdesc:"><tdclass="mdescLeft"> </td><tdclass="mdescRight">A <aclass="el"href="classcrashpad_1_1MemorySnapshot.html"title="An abstract interface to a snapshot representing a region of memory present in a snapshot process...">MemorySnapshot</a> of a memory region in a process on the running system, when the system runs Linux. <ahref="classcrashpad_1_1internal_1_1MemorySnapshotLinux.html#details">More...</a><br/></td></tr>
<trclass="memdesc:"><tdclass="mdescLeft"> </td><tdclass="mdescRight">A <aclass="el"href="classcrashpad_1_1MemorySnapshot.html"title="An abstract interface to a snapshot representing a region of memory present in a snapshot process...">MemorySnapshot</a> of a memory region in a process on the running system, when the system runs macOS. <ahref="classcrashpad_1_1internal_1_1MemorySnapshotMac.html#details">More...</a><br/></td></tr>
<trclass="memdesc:"><tdclass="mdescLeft"> </td><tdclass="mdescRight">A <aclass="el"href="classcrashpad_1_1MemorySnapshot.html"title="An abstract interface to a snapshot representing a region of memory present in a snapshot process...">MemorySnapshot</a> of a memory region in a process on the running system, when the system runs Windows. <ahref="classcrashpad_1_1internal_1_1MemorySnapshotWin.html#details">More...</a><br/></td></tr>
<trclass="memdesc:"><tdclass="mdescLeft"> </td><tdclass="mdescRight">The base class for writers of CodeView records that serve as links to <code>.pdb</code> (program database) files. <ahref="classcrashpad_1_1internal_1_1MinidumpModuleCodeViewRecordPDBLinkWriter.html#details">More...</a><br/></td></tr>
<trclass="memdesc:"><tdclass="mdescLeft"> </td><tdclass="mdescRight">The writer for a <aclass="el"href="structcrashpad_1_1MinidumpRVAList.html"title="A list of RVA pointers. ">MinidumpRVAList</a> object in a minidump file, containing a list of <aclass="el"href="dbghelp_8h.html#acf465a1a77ecf067a9d946583bc6a3f8"title="An offset within a minidump file, relative to the start of its MINIDUMP_HEADER. ">RVA</a> pointers. <ahref="classcrashpad_1_1internal_1_1MinidumpRVAListWriter.html#details">More...</a><br/></td></tr>
<trclass="memdesc:"><tdclass="mdescLeft"> </td><tdclass="mdescRight">The base class for all second-level objects (“streams”) in a minidump file. <ahref="classcrashpad_1_1internal_1_1MinidumpStreamWriter.html#details">More...</a><br/></td></tr>
<trclass="memdesc:"><tdclass="mdescLeft"> </td><tdclass="mdescRight">The writer for a <aclass="el"href="structcrashpad_1_1MinidumpRVAList.html"title="A list of RVA pointers. ">MinidumpRVAList</a> object in a minidump file, containing a list of <em>MinidumpStringWriterType</em> objects. <ahref="classcrashpad_1_1internal_1_1MinidumpStringListWriter.html#details">More...</a><br/></td></tr>
<trclass="memdesc:"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Writes a variable-length string to a minidump file in accordance with the string type’s characteristics. <ahref="classcrashpad_1_1internal_1_1MinidumpStringWriter.html#details">More...</a><br/></td></tr>
<trclass="memdesc:"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Writes a variable-length UTF-16-encoded <aclass="el"href="structMINIDUMP__STRING.html"title="A variable-length UTF-16-encoded string carried within a minidump file. ">MINIDUMP_STRING</a> to a minidump file. <ahref="classcrashpad_1_1internal_1_1MinidumpUTF16StringWriter.html#details">More...</a><br/></td></tr>
<trclass="memdesc:"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Writes a variable-length UTF-8-encoded <aclass="el"href="structcrashpad_1_1MinidumpUTF8String.html"title="A variable-length UTF-8-encoded string carried within a minidump file. ">MinidumpUTF8String</a> to a minidump file. <ahref="classcrashpad_1_1internal_1_1MinidumpUTF8StringWriter.html#details">More...</a><br/></td></tr>
<trclass="memdesc:"><tdclass="mdescLeft"> </td><tdclass="mdescRight">The base class for all content that might be written to a minidump file. <ahref="classcrashpad_1_1internal_1_1MinidumpWritable.html#details">More...</a><br/></td></tr>
<trclass="memdesc:"><tdclass="mdescLeft"> </td><tdclass="mdescRight">A collection of utility functions used by the <aclass="el"href="classcrashpad_1_1internal_1_1MinidumpWritable.html"title="The base class for all content that might be written to a minidump file. ">MinidumpWritable</a> family of classes. <ahref="classcrashpad_1_1internal_1_1MinidumpWriterUtil.html#details">More...</a><br/></td></tr>
<trclass="memdesc:"><tdclass="mdescLeft"> </td><tdclass="mdescRight">A <aclass="el"href="classcrashpad_1_1ModuleSnapshot.html"title="An abstract interface to a snapshot representing a code module (binary image) loaded into a snapshot ...">ModuleSnapshot</a> of a code module (binary image) loaded into a running (or crashed) process on a macOS system. <ahref="classcrashpad_1_1internal_1_1ModuleSnapshotMac.html#details">More...</a><br/></td></tr>
<trclass="memdesc:"><tdclass="mdescLeft"> </td><tdclass="mdescRight">A <aclass="el"href="classcrashpad_1_1ModuleSnapshot.html"title="An abstract interface to a snapshot representing a code module (binary image) loaded into a snapshot ...">ModuleSnapshot</a> based on a module in a minidump file. <ahref="classcrashpad_1_1internal_1_1ModuleSnapshotMinidump.html#details">More...</a><br/></td></tr>
<trclass="memdesc:"><tdclass="mdescLeft"> </td><tdclass="mdescRight">A <aclass="el"href="classcrashpad_1_1ModuleSnapshot.html"title="An abstract interface to a snapshot representing a code module (binary image) loaded into a snapshot ...">ModuleSnapshot</a> of a code module (binary image) loaded into a running (or crashed) process on a Windows system. <ahref="classcrashpad_1_1internal_1_1ModuleSnapshotWin.html#details">More...</a><br/></td></tr>
<trclass="memdesc:"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Context information for the named pipe handler threads. <ahref="classcrashpad_1_1internal_1_1PipeServiceContext.html#details">More...</a><br/></td></tr>
<trclass="memdesc:"><tdclass="mdescLeft"> </td><tdclass="mdescRight">The internal implementation of <aclass="el"href="namespacecrashpad.html#a6e685af255d9b71fb46ed2679329dd7c"title="Wraps ReadFile(), retrying following a short read, ensuring that exactly size bytes are read...">ReadFileExactly()</a> and its wrappers. <ahref="classcrashpad_1_1internal_1_1ReadExactlyInternal.html#details">More...</a><br/></td></tr>
<trclass="memdesc:"><tdclass="mdescLeft"> </td><tdclass="mdescRight">A <aclass="el"href="classcrashpad_1_1SystemSnapshot.html"title="An abstract interface to a snapshot representing the state of a system, comprising an operating syste...">SystemSnapshot</a> of the running system, when the system runs macOS. <ahref="classcrashpad_1_1internal_1_1SystemSnapshotMac.html#details">More...</a><br/></td></tr>
<trclass="memdesc:"><tdclass="mdescLeft"> </td><tdclass="mdescRight">A <aclass="el"href="classcrashpad_1_1SystemSnapshot.html"title="An abstract interface to a snapshot representing the state of a system, comprising an operating syste...">SystemSnapshot</a> of the running system, when the system runs Windows. <ahref="classcrashpad_1_1internal_1_1SystemSnapshotWin.html#details">More...</a><br/></td></tr>
<trclass="memdesc:"><tdclass="mdescLeft"> </td><tdclass="mdescRight">A <aclass="el"href="classcrashpad_1_1ThreadSnapshot.html"title="An abstract interface to a snapshot representing a thread (lightweight process) present in a snapshot...">ThreadSnapshot</a> of a thread on a Linux system. <ahref="classcrashpad_1_1internal_1_1ThreadSnapshotLinux.html#details">More...</a><br/></td></tr>
<trclass="memdesc:"><tdclass="mdescLeft"> </td><tdclass="mdescRight">A <aclass="el"href="classcrashpad_1_1ThreadSnapshot.html"title="An abstract interface to a snapshot representing a thread (lightweight process) present in a snapshot...">ThreadSnapshot</a> of a thread in a running (or crashed) process on a macOS system. <ahref="classcrashpad_1_1internal_1_1ThreadSnapshotMac.html#details">More...</a><br/></td></tr>
<trclass="memdesc:"><tdclass="mdescLeft"> </td><tdclass="mdescRight">A <aclass="el"href="classcrashpad_1_1ThreadSnapshot.html"title="An abstract interface to a snapshot representing a thread (lightweight process) present in a snapshot...">ThreadSnapshot</a> of a thread in a running (or crashed) process on a Windows system. <ahref="classcrashpad_1_1internal_1_1ThreadSnapshotWin.html#details">More...</a><br/></td></tr>
<trclass="memdesc:"><tdclass="mdescLeft"> </td><tdclass="mdescRight">A linked list of blocks representing custom streams in the minidump, with addresses (and size) stored as uint64_t to simplify reading from the handler process. <ahref="structcrashpad_1_1internal_1_1UserDataMinidumpStreamListEntry.html#details">More...</a><br/></td></tr>
<trclass="memdesc:"><tdclass="mdescLeft"> </td><tdclass="mdescRight">The internal implementation of <aclass="el"href="namespacecrashpad.html#ada530c306bf30e9ed9274c20d05c0db4"title="Writes to a file, retrying when interrupted on POSIX or following a short write. ">WriteFile()</a> and its wrappers. <ahref="classcrashpad_1_1internal_1_1WriteAllInternal.html#details">More...</a><br/></td></tr>
<trclass="memdesc:a55cbb2f61a8a593e5861e0634eb7a4ee"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Returns the string to set in <aclass="el"href="structMINIDUMP__MISC__INFO__4.html#a75b120e8a596ddc38c414a317da33132"title="The minidump producer’s “build string”, a string identifying the module that produced a minidump f...">MINIDUMP_MISC_INFO_4::DbgBldStr</a>. <ahref="#a55cbb2f61a8a593e5861e0634eb7a4ee">More...</a><br/></td></tr>
<trclass="memdesc:a6b476aa47305d2678612d890fd57f6bd"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Initializes a <aclass="el"href="structcrashpad_1_1CPUContextX86.html"title="A context structure carrying 32-bit x86 CPU state. ">CPUContextX86</a> structure from native context structures on Linux. <ahref="#a6b476aa47305d2678612d890fd57f6bd">More...</a><br/></td></tr>
<trclass="memdesc:a96f536d00a24fee52d5e2045481981c5"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Initializes a <aclass="el"href="structcrashpad_1_1CPUContextX86__64.html"title="A context structure carrying x86_64 CPU state. ">CPUContextX86_64</a> structure from native context structures on Linux. <ahref="#a96f536d00a24fee52d5e2045481981c5">More...</a><br/></td></tr>
<trclass="memdesc:ad5bd580ef499998bcd94b4d28f252177"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Initializes a <aclass="el"href="structcrashpad_1_1CPUContextX86.html"title="A context structure carrying 32-bit x86 CPU state. ">CPUContextX86</a> structure from native context structures on macOS. <ahref="#ad5bd580ef499998bcd94b4d28f252177">More...</a><br/></td></tr>
<trclass="memdesc:a806b669802cbd5edc81d1dfa66abe38b"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Initializes a <aclass="el"href="structcrashpad_1_1CPUContextX86__64.html"title="A context structure carrying x86_64 CPU state. ">CPUContextX86_64</a> structure from native context structures on macOS. <ahref="#a806b669802cbd5edc81d1dfa66abe38b">More...</a><br/></td></tr>
<trclass="memdesc:aa9b358d36faf271ec17d7e9a829610a9"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Reads a <aclass="el"href="structcrashpad_1_1MinidumpSimpleStringDictionary.html"title="A list of key-value pairs. ">MinidumpSimpleStringDictionary</a> from a minidump file <em>location</em> in <em>file_reader</em>, and returns it in <em>dictionary</em>. <ahref="#aa9b358d36faf271ec17d7e9a829610a9">More...</a><br/></td></tr>
<trclass="memdesc:afac4436aa35c86be47e56179a51662ca"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Reads a list of <aclass="el"href="structcrashpad_1_1MinidumpUTF8String.html"title="A variable-length UTF-8-encoded string carried within a minidump file. ">MinidumpUTF8String</a> objects in a <aclass="el"href="structcrashpad_1_1MinidumpRVAList.html"title="A list of RVA pointers. ">MinidumpRVAList</a> from a minidump file <em>location</em> in <em>file_reader</em>, and returns it in <em>list</em>. <ahref="#afac4436aa35c86be47e56179a51662ca">More...</a><br/></td></tr>
<trclass="memdesc:a769d4791b91e4fffea817ad2e9dda54b"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Reads a <aclass="el"href="structcrashpad_1_1MinidumpUTF8String.html"title="A variable-length UTF-8-encoded string carried within a minidump file. ">MinidumpUTF8String</a> from a minidump file at offset <em>rva</em> in <em>file_reader</em>, and returns it in <em>string</em>. <ahref="#a769d4791b91e4fffea817ad2e9dda54b">More...</a><br/></td></tr>
<trclass="memdesc:a7292eaf3187362eada8aafa56951aacd"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Writes to a file, retrying when interrupted on POSIX. <ahref="#a7292eaf3187362eada8aafa56951aacd">More...</a><br/></td></tr>
<trclass="memdesc:a009fda01516a2f6e3bec94db18c60a27"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Allocates memory with the specified alignment constraint. <ahref="#a009fda01516a2f6e3bec94db18c60a27">More...</a><br/></td></tr>
<trclass="memdesc:a248fec963c49d172027231280c27fc60"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Frees memory allocated by <aclass="el"href="namespacecrashpad_1_1internal.html#a009fda01516a2f6e3bec94db18c60a27"title="Allocates memory with the specified alignment constraint. ">AlignedAllocate()</a>. <ahref="#a248fec963c49d172027231280c27fc60">More...</a><br/></td></tr>
<trclass="memdesc:aa982a8cad0e72cddf1989d135db3c338"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Returns a function pointer to a named function in a library. <ahref="#aa982a8cad0e72cddf1989d135db3c338">More...</a><br/></td></tr>
<trclass="memdesc:a334a660002ce6e6f06432ccf7d3cc50f"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Returns a function pointer to a named function in a library. <ahref="#a334a660002ce6e6f06432ccf7d3cc50f">More...</a><br/></td></tr>
<trclass="memdesc:ad721931863942c751ca4852cb2f0112e"><tdclass="mdescLeft"> </td><tdclass="mdescRight">The name of the native read function used by <aclass="el"href="namespacecrashpad.html#a8599600814a17d622766decd5f122a96"title="Reads from a file, retrying when interrupted before reading any data on POSIX. ">ReadFile()</a>. <ahref="#ad721931863942c751ca4852cb2f0112e">More...</a><br/></td></tr>
<trclass="memdesc:a3e88f1d108a5961424fa705b4284e6af"><tdclass="mdescLeft"> </td><tdclass="mdescRight">The name of the native write function used by <aclass="el"href="namespacecrashpad.html#ada530c306bf30e9ed9274c20d05c0db4"title="Writes to a file, retrying when interrupted on POSIX or following a short write. ">WriteFile()</a>. <ahref="#a3e88f1d108a5961424fa705b4284e6af">More...</a><br/></td></tr>
<p>Allocates memory with the specified alignment constraint. </p>
<p>This function wraps <code>posix_memalign()</code> or <code>_aligned_malloc()</code>. Memory allocated by this function must be released by AlignFree(). </p>
<p>Frees memory allocated by <aclass="el"href="namespacecrashpad_1_1internal.html#a009fda01516a2f6e3bec94db18c60a27"title="Allocates memory with the specified alignment constraint. ">AlignedAllocate()</a>. </p>
<p>This function wraps <code>free()</code> or <code>_aligned_free()</code>. </p>
<p>Do not call this directly, use the <aclass="el"href="get__function_8h.html#a0997574e7522725516242d78632ed686"title="Returns a function pointer to a named function in a library without requiring that it be found...">GET_FUNCTION()</a> or <aclass="el"href="get__function_8h.html#ae87bc4c8800c7e6f35c06bf48cb636f3"title="Returns a function pointer to a named function in a library, requiring that it be found...">GET_FUNCTION_REQUIRED()</a> macros instead.</p>
<p>This accesses <em>library</em> by calling <code>LoadLibrary()</code> and is subject to the same restrictions as that function. Notably, it can’t be used from a <code>DllMain()</code> entry point.</p>
<dlclass="params"><dt>Parameters</dt><dd>
<tableclass="params">
<tr><tdclass="paramdir">[in]</td><tdclass="paramname">library</td><td>The library to search in. </td></tr>
<tr><tdclass="paramdir">[in]</td><tdclass="paramname">function</td><td>The function to search for. If a leading <code>::</code> is present, it will be stripped. </td></tr>
<tr><tdclass="paramdir">[in]</td><tdclass="paramname">required</td><td>If <code>true</code>, require the function to resolve by <code>DCHECK</code>.</td></tr>
</table>
</dd>
</dl>
<dlclass="section return"><dt>Returns</dt><dd>A pointer to the requested function on success. If <em>required</em> is <code>true</code>, triggers a <code>DCHECK</code> assertion on failure, otherwise, <code>nullptr</code> on failure. </dd></dl>
<p>Do not call this directly, use the <aclass="el"href="get__function_8h.html#a0997574e7522725516242d78632ed686"title="Returns a function pointer to a named function in a library without requiring that it be found...">GET_FUNCTION()</a> or <aclass="el"href="get__function_8h.html#ae87bc4c8800c7e6f35c06bf48cb636f3"title="Returns a function pointer to a named function in a library, requiring that it be found...">GET_FUNCTION_REQUIRED()</a> macros instead.</p>
<p>This accesses <em>library</em> by calling <code>LoadLibrary()</code> and is subject to the same restrictions as that function. Notably, it can’t be used from a <code>DllMain()</code> entry point.</p>
<dlclass="params"><dt>Parameters</dt><dd>
<tableclass="params">
<tr><tdclass="paramdir">[in]</td><tdclass="paramname">library</td><td>The library to search in. </td></tr>
<tr><tdclass="paramdir">[in]</td><tdclass="paramname">function</td><td>The function to search for. If a leading <code>::</code> is present, it will be stripped. </td></tr>
<tr><tdclass="paramdir">[in]</td><tdclass="paramname">required</td><td>If <code>true</code>, require the function to resolve by <code>DCHECK</code>.</td></tr>
</table>
</dd>
</dl>
<dlclass="section return"><dt>Returns</dt><dd>A pointer to the requested function on success. If <em>required</em> is <code>true</code>, triggers a <code>DCHECK</code> assertion on failure, otherwise, <code>nullptr</code> on failure. </dd></dl>
<p>Initializes a <aclass="el"href="structcrashpad_1_1CPUContextX86.html"title="A context structure carrying 32-bit x86 CPU state. ">CPUContextX86</a> structure from native context structures on Linux. </p>
<tr><tdclass="paramdir">[out]</td><tdclass="paramname">context</td><td>The <aclass="el"href="structcrashpad_1_1CPUContextX86.html"title="A context structure carrying 32-bit x86 CPU state. ">CPUContextX86</a> structure to initialize. </td></tr>
<p>Initializes a <aclass="el"href="structcrashpad_1_1CPUContextX86.html"title="A context structure carrying 32-bit x86 CPU state. ">CPUContextX86</a> structure from native context structures on macOS. </p>
<p><em>flavor</em>, <em>state</em>, and <em>state_count</em> may be supplied by exception handlers in order for the <em>context</em> parameter to be initialized by the thread state received by the exception handler to the extent possible. In that case, whatever thread state specified by these three parameters will supersede <em>x86_thread_state32</em>, <em>x86_float_state32</em>, or <em>x86_debug_state32</em>. If thread state in this format is not available, <em>flavor</em> may be set to <code>THREAD_STATE_NONE</code>, and all of <em>x86_thread_state32</em>, <em>x86_float_state32</em>, and <em>x86_debug_state32</em> will be honored.</p>
<p>If <em>flavor</em>, <em>state</em>, and <em>state_count</em> are provided but do not contain valid values, a message will be logged and their values will be ignored as though <em>flavor</em> were specified as <code>THREAD_STATE_NONE</code>.</p>
<dlclass="params"><dt>Parameters</dt><dd>
<tableclass="params">
<tr><tdclass="paramdir">[out]</td><tdclass="paramname">context</td><td>The <aclass="el"href="structcrashpad_1_1CPUContextX86.html"title="A context structure carrying 32-bit x86 CPU state. ">CPUContextX86</a> structure to initialize. </td></tr>
<tr><tdclass="paramdir">[in]</td><tdclass="paramname">flavor</td><td>The native thread state flavor of <em>state</em>. This may be <code>x86_THREAD_STATE32</code>, <code>x86_FLOAT_STATE32</code>, <code>x86_DEBUG_STATE32</code>, <code>x86_THREAD_STATE</code>, <code>x86_FLOAT_STATE</code>, or <code>x86_DEBUG_STATE</code>. It may also be <code>THREAD_STATE_NONE</code> if <em>state</em> is not supplied (and is <code>nullptr</code>). </td></tr>
<tr><tdclass="paramdir">[in]</td><tdclass="paramname">state</td><td>The native thread state, which may be a casted pointer to <code>x86_thread_state32_t</code>, <code>x86_float_state32_t</code>, <code>x86_debug_state32_t</code>, <code>x86_thread_state</code>, <code>x86_float_state</code>, or <code>x86_debug_state</code>. This parameter may be <code>nullptr</code> to not supply this data, in which case <em>flavor</em> must be <code>THREAD_STATE_NONE</code>. If a “universal”structure is used, it must carry 32-bit state data of the correct type. </td></tr>
<tr><tdclass="paramdir">[in]</td><tdclass="paramname">state_count</td><td>The number of <code>natural_t</code>-sized (<code>int</code>-sized) units in <em>state</em>. This may be 0 if <em>state</em> is <code>nullptr</code>. </td></tr>
<tr><tdclass="paramdir">[in]</td><tdclass="paramname">x86_thread_state32</td><td>The state of the thread’s integer registers. </td></tr>
<tr><tdclass="paramdir">[in]</td><tdclass="paramname">x86_float_state32</td><td>The state of the thread’s floating-point registers. </td></tr>
<tr><tdclass="paramdir">[in]</td><tdclass="paramname">x86_debug_state32</td><td>The state of the thread’s debug registers. </td></tr>
<p>Initializes a <aclass="el"href="structcrashpad_1_1CPUContextX86__64.html"title="A context structure carrying x86_64 CPU state. ">CPUContextX86_64</a> structure from native context structures on Linux. </p>
<p>Initializes a <aclass="el"href="structcrashpad_1_1CPUContextX86__64.html"title="A context structure carrying x86_64 CPU state. ">CPUContextX86_64</a> structure from native context structures on macOS. </p>
<p><em>flavor</em>, <em>state</em>, and <em>state_count</em> may be supplied by exception handlers in order for the <em>context</em> parameter to be initialized by the thread state received by the exception handler to the extent possible. In that case, whatever thread state specified by these three parameters will supersede <em>x86_thread_state64</em>, <em>x86_float_state64</em>, or <em>x86_debug_state64</em>. If thread state in this format is not available, <em>flavor</em> may be set to <code>THREAD_STATE_NONE</code>, and all of <em>x86_thread_state64</em>, <em>x86_float_state64</em>, and <em>x86_debug_state64</em> will be honored.</p>
<p>If <em>flavor</em>, <em>state</em>, and <em>state_count</em> are provided but do not contain valid values, a message will be logged and their values will be ignored as though <em>flavor</em> were specified as <code>THREAD_STATE_NONE</code>.</p>
<dlclass="params"><dt>Parameters</dt><dd>
<tableclass="params">
<tr><tdclass="paramdir">[out]</td><tdclass="paramname">context</td><td>The <aclass="el"href="structcrashpad_1_1CPUContextX86__64.html"title="A context structure carrying x86_64 CPU state. ">CPUContextX86_64</a> structure to initialize. </td></tr>
<tr><tdclass="paramdir">[in]</td><tdclass="paramname">flavor</td><td>The native thread state flavor of <em>state</em>. This may be <code>x86_THREAD_STATE64</code>, <code>x86_FLOAT_STATE64</code>, <code>x86_DEBUG_STATE64</code>, <code>x86_THREAD_STATE</code>, <code>x86_FLOAT_STATE</code>, or <code>x86_DEBUG_STATE</code>. It may also be <code>THREAD_STATE_NONE</code> if <em>state</em> is not supplied (and is <code>nullptr</code>). </td></tr>
<tr><tdclass="paramdir">[in]</td><tdclass="paramname">state</td><td>The native thread state, which may be a casted pointer to <code>x86_thread_state64_t</code>, <code>x86_float_state64_t</code>, <code>x86_debug_state64_t</code>, <code>x86_thread_state</code>, <code>x86_float_state</code>, or <code>x86_debug_state</code>. This parameter may be <code>nullptr</code> to not supply this data, in which case <em>flavor</em> must be <code>THREAD_STATE_NONE</code>. If a “universal”structure is used, it must carry 64-bit state data of the correct type. </td></tr>
<tr><tdclass="paramdir">[in]</td><tdclass="paramname">state_count</td><td>The number of <code>int</code>-sized units in <em>state</em>. This may be 0 if <em>state</em> is <code>nullptr</code>. </td></tr>
<tr><tdclass="paramdir">[in]</td><tdclass="paramname">x86_thread_state64</td><td>The state of the thread’s integer registers. </td></tr>
<tr><tdclass="paramdir">[in]</td><tdclass="paramname">x86_float_state64</td><td>The state of the thread’s floating-point registers. </td></tr>
<tr><tdclass="paramdir">[in]</td><tdclass="paramname">x86_debug_state64</td><td>The state of the thread’s debug registers. </td></tr>
<p>Returns the string to set in <aclass="el"href="structMINIDUMP__MISC__INFO__4.html#a75b120e8a596ddc38c414a317da33132"title="The minidump producer’s “build string”, a string identifying the module that produced a minidump f...">MINIDUMP_MISC_INFO_4::DbgBldStr</a>. </p>
<p>dbghelp produces strings like <code>"dbghelp.i386,6.3.9600.16520"</code> and <code>"dbghelp.amd64,6.3.9600.16520"</code>. This function mimics that format, and adds the OS that wrote the minidump along with any relevant platform-specific data describing the compilation environment.</p>
<p>This function is an implementation detail of <aclass="el"href="classcrashpad_1_1MinidumpMiscInfoWriter.html#a25ccb6770c07d55f1d1756d04a9d42e9"title="Initializes MINIDUMP_MISC_INFO_N based on process_snapshot. ">MinidumpMiscInfoWriter::InitializeFromSnapshot()</a> and is only exposed for testing purposes. </p>
<p>Writes to a file, retrying when interrupted on POSIX. </p>
<p>Fewer than <em>size</em> bytes may be written to <em>file</em>. This can happen if the underlying write operation returns before writing the entire buffer, or if the buffer is too large to write in a single operation, possibly due to a limitation of a data type used to express the number of bytes written.</p>
<p>This function adapts native write operations for uniform use by <aclass="el"href="namespacecrashpad.html#ada530c306bf30e9ed9274c20d05c0db4"title="Writes to a file, retrying when interrupted on POSIX or following a short write. ">WriteFile()</a>. This function should only be called by <aclass="el"href="namespacecrashpad.html#ada530c306bf30e9ed9274c20d05c0db4"title="Writes to a file, retrying when interrupted on POSIX or following a short write. ">WriteFile()</a>. Other code should call <aclass="el"href="namespacecrashpad.html#ada530c306bf30e9ed9274c20d05c0db4"title="Writes to a file, retrying when interrupted on POSIX or following a short write. ">WriteFile()</a> or another function that wraps <aclass="el"href="namespacecrashpad.html#ada530c306bf30e9ed9274c20d05c0db4"title="Writes to a file, retrying when interrupted on POSIX or following a short write. ">WriteFile()</a>.</p>
<dlclass="params"><dt>Parameters</dt><dd>
<tableclass="params">
<tr><tdclass="paramdir">[in]</td><tdclass="paramname">file</td><td>The file to write to. </td></tr>
<tr><tdclass="paramdir">[in]</td><tdclass="paramname">buffer</td><td>A buffer containing data to be written. </td></tr>
<tr><tdclass="paramdir">[in]</td><tdclass="paramname">size</td><td>The number of bytes from <em>buffer</em> to write.</td></tr>
</table>
</dd>
</dl>
<dlclass="section return"><dt>Returns</dt><dd>The number of bytes actually written from <em>buffer</em> to <em>file</em> on success. <code>-1</code> on error, with <code>errno</code> or <code>GetLastError()</code> set appropriately. </dd></dl>
<p>Reads a <aclass="el"href="structcrashpad_1_1MinidumpSimpleStringDictionary.html"title="A list of key-value pairs. ">MinidumpSimpleStringDictionary</a> from a minidump file <em>location</em> in <em>file_reader</em>, and returns it in <em>dictionary</em>. </p>
<dlclass="section return"><dt>Returns</dt><dd><code>true</code> on success, with <em>dictionary</em> set by replacing its contents. <code>false</code> on failure, with a message logged. </dd></dl>
<p>Reads a list of <aclass="el"href="structcrashpad_1_1MinidumpUTF8String.html"title="A variable-length UTF-8-encoded string carried within a minidump file. ">MinidumpUTF8String</a> objects in a <aclass="el"href="structcrashpad_1_1MinidumpRVAList.html"title="A list of RVA pointers. ">MinidumpRVAList</a> from a minidump file <em>location</em> in <em>file_reader</em>, and returns it in <em>list</em>. </p>
<dlclass="section return"><dt>Returns</dt><dd><code>true</code> on success, with <em>list</em> set by replacing its contents. <code>false</code> on failure, with a message logged. </dd></dl>
<p>Reads a <aclass="el"href="structcrashpad_1_1MinidumpUTF8String.html"title="A variable-length UTF-8-encoded string carried within a minidump file. ">MinidumpUTF8String</a> from a minidump file at offset <em>rva</em> in <em>file_reader</em>, and returns it in <em>string</em>. </p>
<dlclass="section return"><dt>Returns</dt><dd><code>true</code> on success, with <em>string</em> set. <code>false</code> on failure, with a message logged. </dd></dl>
<p>The name of the native read function used by <aclass="el"href="namespacecrashpad.html#a8599600814a17d622766decd5f122a96"title="Reads from a file, retrying when interrupted before reading any data on POSIX. ">ReadFile()</a>. </p>
<dlclass="section see"><dt>See also</dt><dd><aclass="el"href="namespacecrashpad_1_1internal.html#a3e88f1d108a5961424fa705b4284e6af"title="The name of the native write function used by WriteFile(). ">kNativeWriteFunctionName</a></dd></dl>
<p>The name of the native write function used by <aclass="el"href="namespacecrashpad.html#ada530c306bf30e9ed9274c20d05c0db4"title="Writes to a file, retrying when interrupted on POSIX or following a short write. ">WriteFile()</a>. </p>
<dlclass="section see"><dt>See also</dt><dd><aclass="el"href="namespacecrashpad_1_1internal.html#ad721931863942c751ca4852cb2f0112e"title="The name of the native read function used by ReadFile(). ">kNativeReadFunctionName</a></dd></dl>