DkmWorkerProcessConnection Class

Definition

This represents a transport connection used for symbol processing, or other memory intensive activities. This worker process may be remote or local.

This API was introduced in Visual Studio 16 RTM (DkmApiVersion.VS16RTMPreview).

public ref class DkmWorkerProcessConnection : Microsoft::VisualStudio::Debugger::DkmDataContainer, IDisposable
[System.Runtime.InteropServices.Guid("0071742b-a9f0-718a-0ead-54c1acef59af")]
public class DkmWorkerProcessConnection : Microsoft.VisualStudio.Debugger.DkmDataContainer, IDisposable
[<System.Runtime.InteropServices.Guid("0071742b-a9f0-718a-0ead-54c1acef59af")>]
type DkmWorkerProcessConnection = class
    inherit DkmDataContainer
    interface IDisposable
Public Class DkmWorkerProcessConnection
Inherits DkmDataContainer
Implements IDisposable
Inheritance
DkmWorkerProcessConnection
Inheritance
DkmWorkerProcessConnection
Attributes
Implements

Properties

Flags

Flags indicating traits of the underlying connection.

This API was introduced in Visual Studio 16 RTM (DkmApiVersion.VS16RTMPreview).

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

The version of the protocol used between Visual Studio and the worker process. This is the minimum of the protocol version that Visual Studio understands, and the protocol version that the worker process understands.

This API was introduced in Visual Studio 16 RTM (DkmApiVersion.VS16RTMPreview).

Qualifier

[Optional] String indicating the connection destination. This value should be null for a local worker process (worker process on the same computer as Visual Studio). Currently this value will always be null as remote worker processes aren't supported.

This API was introduced in Visual Studio 16 RTM (DkmApiVersion.VS16RTMPreview).

UniqueId

Guid which uniquely identifies this connection.

This API was introduced in Visual Studio 16 RTM (DkmApiVersion.VS16RTMPreview).

Methods

Close()

Closes a DkmWorkerProcessConnection object instance. This will release any resources associated with this object across all components. This includes resources across computer or managed/native marshalling boundaries.

This method may only be called by the component which created the object.

This API was introduced in Visual Studio 16 RTM (DkmApiVersion.VS16RTMPreview).

Current()

When running in a worker process, this returns the DkmWorkerProcessConnection that represents the connection to the current worker process. Otherwise this returns null.

FindWorkerProcessConnection(Guid)

Find a DkmWorkerProcessConnection object. If no object with the given input key is present, FindWorkerProcessConnection will fail.

This API was introduced in Visual Studio 16 RTM (DkmApiVersion.VS16RTMPreview).

FlushClosedObjectQueue()

This function is used to force all object close notifications to be immediately exchanged with the monitor process. Like 'GC.Collect' in managed code, this function is normally unnecessary, as the system automatically flushes the queue. However, this method can be used if it is important that all updates are immediately exchanged.

An object close notification is created (and queued) when a component calls 'Close' on a given object. Both the monitor process and the engine process maintain a queue of closed objects. This method may only be called from the engine process, but it is used to flush both queues.

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

This API was introduced in Visual Studio 16 RTM (DkmApiVersion.VS16RTMPreview).

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)
GetLocalSymbolsConnection()

This obtains the worker process connection for the local symbols worker process. If the locals symbols worker process is not already started, this API will start it and connect.

This API may only be called from within the IDE.

GetWorkerProcessConnections()

GetWorkerProcessConnections enumerates all the created DkmWorkerProcessConnection objects.

This API was introduced in Visual Studio 16 RTM (DkmApiVersion.VS16RTMPreview).

Open(String)

Opens a new connection to a worker process and returns the DkmWorkerProcessConnection object that represents this connection.

This API was introduced in Visual Studio 16 RTM (DkmApiVersion.VS16RTM).

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

Applies to