IDiaDataSourceEx::loadDataFromIStreamEx
Prepares the debug data stored in a program database (.pdb) file accessed through a potentially in-memory data stream, with optional record prefetching.
Syntax
HRESULT loadDataFromIStreamEx (
IStream* pIStream,
BOOL fPdbPrefetching
);
Parameters
pIStream
[in] An IStream object representing the data stream to use.
fPdbPrefetching
[in] If set to TRUE
, adjacent debug records are prefetched into memory, potentially replacing many smaller file I/O operations with fewer, larger operations, and thus improving overall throughput as those records are subsequently accessed, at the expense of potentially increased memory usage. If set to FALSE
, this behaves identically to IDiaDataSource::loadDataFromIStream
. If set to some other value, behavior is unspecified.
Return Value
If successful, returns S_OK
; otherwise, returns an error code. The following table shows the possible return values for this method.
Value | Description |
---|---|
E_PDB_FORMAT |
Attempted to access a file with an obsolete format. |
E_INVALIDARG |
Invalid parameter. |
E_UNEXPECTED |
Data source has already been prepared. |
Remarks
This method allows the debug data for an executable to be obtained from memory through an IStream object.
To load a .pdb file without validation, use the IDiaDataSourceEx::loadDataFromPdbEx
method.
To validate the .pdb file against specific criteria, use the IDiaDataSourceEx::loadAndValidateDataFromPdbEx
method.
To gain access to the data load process (through a callback mechanism), use the IDiaDataSourceEx::loadDataForExeEx
method.