DkmResolvedDocument Class
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Object which represents the result of a source file query against a symbol file (PDB). The resolved document object might encapsulate multiple document records with the symbol file. For example, in C++ compilation, each time that a header file is included there is another reference within the PDB. However, there is only one DkmResolvedDocument object for the header file.
Derived classes: DkmResolvedMappedDocument
public ref class DkmResolvedDocument : Microsoft::VisualStudio::Debugger::DkmDataContainer, IDisposable
[System.Runtime.InteropServices.Guid("79baa60b-1e97-ac96-0d95-996e6b997c33")]
public class DkmResolvedDocument : Microsoft.VisualStudio.Debugger.DkmDataContainer, IDisposable
[<System.Runtime.InteropServices.Guid("79baa60b-1e97-ac96-0d95-996e6b997c33")>]
type DkmResolvedDocument = class
inherit DkmDataContainer
interface IDisposable
Public Class DkmResolvedDocument
Inherits DkmDataContainer
Implements IDisposable
- Inheritance
- Inheritance
- Derived
- Attributes
- Implements
Properties
DocumentName |
Name of the source file. This is generally a full path, but in some scenarios it make be a partial path or just a name with extension (ex: example.cpp). In the case of a dynamic document (ex: running script from internet explorer) 'Path' could be a URL rather than a local file path. |
IsUnloaded |
Returns true if a 'unloaded' event has been raised for this object (example: DkmThread::Unload is called) or if the object has been closed. Note that care must be used when checking this status as, without synchronization, the returned status may no longer be accurate the instruction after it is read. (Inherited from DkmDataContainer) |
MatchStrength |
Indicates how strong of a match there was between the DkmDocumentQuery and the resulting DkmResolvedDocument. |
Module |
The DkmModule class represents a code bundle (ex: dll or exe) which is or once was loaded into one or more processes. The DkmModule class is the central object to the symbol APIs, and is 1:1 with the symbol handler's notation of what is loaded. If a code bundle loads into three different processes (or the same process but with three different base addresses or three different app domains) but the symbol handler thinks of all of these as being identical, there will be only one module object. |
ScriptDocument |
[Optional] Script document which this resolved document represents. This should be null for non script-based symbol providers. |
TextRequested |
If true, return the source text. |
UniqueId |
Guid which uniquely identifies this object. |
Warning |
Warning that occurred during the match. Depending on context, these may need to be surfaced to the user. |
Methods
Close() |
Closes the resolved document object. This method must be invoked when the component which requested the resolved document is done with the object. DkmResolvedDocument objects are automatically closed when their associated DkmModule object is closed. |
Create(DkmModule, String, DkmScriptDocument, DkmDocumentMatchStrength, DkmResolvedDocumentWarning, Boolean, DkmDataItem) |
Creates a new resolved document object. Resolved document objects are created by a symbol provider. They are a data container so that a symbol provider may back the resolved document with their own internal state. |
FindSymbols(DkmTextSpan, String, DkmSourcePosition[]) |
Finds the symbols within the document which best match the input text span. For IL-based languages, the symbol handler always return the DkmInstructionSymbol for sequence points. It will prefer sequence points which exactly match the text span followed by the sequence point or points which is left-most and which is inside the input span. Location constraint: API must be called from an IDE component (component level > 100,000). |
FindSymbols(DkmWorkList, DkmTextSpan, String, DkmCompletionRoutine<DkmFindSymbolsAsyncResult>) |
Finds the symbols within the document which best match the input text span. For IL-based languages, the symbol handler always return the DkmInstructionSymbol for sequence points. It will prefer sequence points which exactly match the text span followed by the sequence point or points which is left-most and which is inside the input span. This method will append a new work item to the specified work list, and return once the work item has been appended. The actual processing of the work item is asynchronous. The caller will be notified that the request is complete through the completion routine. Location constraint: API must be called from an IDE component (component level > 100,000). |
GetDataItem<T>() |
Gets the instance of 'T' which has been added to this container instance. If this container does not contain a 'T', this function will return null. (Inherited from DkmDataContainer) |
RemoveDataItem<T>() |
Remove the instance of 'T' from this container. It is usually unnecessary to call this method as a data container will automatically be emptied when the object is closed. (Inherited from DkmDataContainer) |
SetDataItem<T>(DkmDataCreationDisposition, T) |
Place a new item in the data container. (Inherited from DkmDataContainer) |
Explicit Interface Implementations
IDisposable.Dispose() |