DkmProcess.GetInstructionAddress Method

Definition

Overloads

GetInstructionAddress(DkmInstructionAddress, Int32)

Returns the address of the kth instruction relative to a starting address. For constant length instruction sets, this is simple arithmetic. For variable length instruction sets, reverse-disassembly is required to obtain this address.

Location constraint: API must be called from an IDE component (component level > 100,000).

GetInstructionAddress(DkmWorkList, UInt64, DkmCompletionRoutine<DkmGetInstructionAddressAsyncResult>)

Resolves a CPU InstructionAddress to a DkmInstructionAddress.

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).

GetInstructionAddress(DkmWorkList, DkmInstructionAddress, Int32, DkmCompletionRoutine<DkmGetRelativeInstructionAddressAsyncResult>)

Returns the address of the kth instruction relative to a starting address. For constant length instruction sets, this is simple arithmetic. For variable length instruction sets, reverse-disassembly is required to obtain this address.

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).

GetInstructionAddress(DkmInstructionAddress, Int32)

Returns the address of the kth instruction relative to a starting address. For constant length instruction sets, this is simple arithmetic. For variable length instruction sets, reverse-disassembly is required to obtain this address.

Location constraint: API must be called from an IDE component (component level > 100,000).

public:
 Microsoft::VisualStudio::Debugger::DkmInstructionAddress ^ GetInstructionAddress(Microsoft::VisualStudio::Debugger::DkmInstructionAddress ^ StartAddress, int InstructionOffset);
public:
 Microsoft::VisualStudio::Debugger::DkmInstructionAddress ^ GetInstructionAddress(Microsoft::VisualStudio::Debugger::DkmInstructionAddress ^ StartAddress, int InstructionOffset);
Microsoft::VisualStudio::Debugger::DkmInstructionAddress GetInstructionAddress(Microsoft::VisualStudio::Debugger::DkmInstructionAddress const & StartAddress, int InstructionOffset);
public Microsoft.VisualStudio.Debugger.DkmInstructionAddress GetInstructionAddress (Microsoft.VisualStudio.Debugger.DkmInstructionAddress StartAddress, int InstructionOffset);
member this.GetInstructionAddress : Microsoft.VisualStudio.Debugger.DkmInstructionAddress * int -> Microsoft.VisualStudio.Debugger.DkmInstructionAddress
Public Function GetInstructionAddress (StartAddress As DkmInstructionAddress, InstructionOffset As Integer) As DkmInstructionAddress

Parameters

StartAddress
DkmInstructionAddress

[In] The address of the current instruction where the offset should begin.

InstructionOffset
Int32

[In] The number of instructions relative to StartAddress to find the desired address. This value can be negative.

Returns

[Out] The address of the instruction InstructionOffset instructions from StartAddress.

Applies to

GetInstructionAddress(DkmWorkList, UInt64, DkmCompletionRoutine<DkmGetInstructionAddressAsyncResult>)

Resolves a CPU InstructionAddress to a DkmInstructionAddress.

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).

public:
 void GetInstructionAddress(Microsoft::VisualStudio::Debugger::DkmWorkList ^ WorkList, System::UInt64 InstructionPointer, Microsoft::VisualStudio::Debugger::DkmCompletionRoutine<Microsoft::VisualStudio::Debugger::DkmGetInstructionAddressAsyncResult> ^ CompletionRoutine);
public void GetInstructionAddress (Microsoft.VisualStudio.Debugger.DkmWorkList WorkList, ulong InstructionPointer, Microsoft.VisualStudio.Debugger.DkmCompletionRoutine<Microsoft.VisualStudio.Debugger.DkmGetInstructionAddressAsyncResult> CompletionRoutine);
member this.GetInstructionAddress : Microsoft.VisualStudio.Debugger.DkmWorkList * uint64 * Microsoft.VisualStudio.Debugger.DkmCompletionRoutine<Microsoft.VisualStudio.Debugger.DkmGetInstructionAddressAsyncResult> -> unit
Public Sub GetInstructionAddress (WorkList As DkmWorkList, InstructionPointer As ULong, CompletionRoutine As DkmCompletionRoutine(Of DkmGetInstructionAddressAsyncResult))

Parameters

WorkList
DkmWorkList

WorkList to append the new work item to.

InstructionPointer
UInt64

[In] Memory address where the native instruction is located.

CompletionRoutine
DkmCompletionRoutine<DkmGetInstructionAddressAsyncResult>

Routine to fire when the request is complete. If the request is successfully appended to the work list, this will always fire (including when the operation is canceled). This will never fire if appending the work item fails.

Applies to

GetInstructionAddress(DkmWorkList, DkmInstructionAddress, Int32, DkmCompletionRoutine<DkmGetRelativeInstructionAddressAsyncResult>)

Returns the address of the kth instruction relative to a starting address. For constant length instruction sets, this is simple arithmetic. For variable length instruction sets, reverse-disassembly is required to obtain this address.

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).

public:
 void GetInstructionAddress(Microsoft::VisualStudio::Debugger::DkmWorkList ^ WorkList, Microsoft::VisualStudio::Debugger::DkmInstructionAddress ^ StartAddress, int InstructionOffset, Microsoft::VisualStudio::Debugger::DkmCompletionRoutine<Microsoft::VisualStudio::Debugger::DkmGetRelativeInstructionAddressAsyncResult> ^ CompletionRoutine);
public void GetInstructionAddress (Microsoft.VisualStudio.Debugger.DkmWorkList WorkList, Microsoft.VisualStudio.Debugger.DkmInstructionAddress StartAddress, int InstructionOffset, Microsoft.VisualStudio.Debugger.DkmCompletionRoutine<Microsoft.VisualStudio.Debugger.DkmGetRelativeInstructionAddressAsyncResult> CompletionRoutine);
member this.GetInstructionAddress : Microsoft.VisualStudio.Debugger.DkmWorkList * Microsoft.VisualStudio.Debugger.DkmInstructionAddress * int * Microsoft.VisualStudio.Debugger.DkmCompletionRoutine<Microsoft.VisualStudio.Debugger.DkmGetRelativeInstructionAddressAsyncResult> -> unit
Public Sub GetInstructionAddress (WorkList As DkmWorkList, StartAddress As DkmInstructionAddress, InstructionOffset As Integer, CompletionRoutine As DkmCompletionRoutine(Of DkmGetRelativeInstructionAddressAsyncResult))

Parameters

WorkList
DkmWorkList

WorkList to append the new work item to.

StartAddress
DkmInstructionAddress

[In] The address of the current instruction where the offset should begin.

InstructionOffset
Int32

[In] The number of instructions relative to StartAddress to find the desired address. This value can be negative.

CompletionRoutine
DkmCompletionRoutine<DkmGetRelativeInstructionAddressAsyncResult>

Routine to fire when the request is complete. If the request is successfully appended to the work list, this will always fire (including when the operation is canceled). This will never fire if appending the work item fails.

Applies to