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.

See also