This documentation is archived and is not being maintained.

Marshal.GetActiveObject Method

Obtains a running instance of the specified object from the Running Object Table (ROT).

[Visual Basic]
Public Shared Function GetActiveObject( _
   ByVal progID As String _
) As Object
public static object GetActiveObject(
 string progID
public: static Object* GetActiveObject(
 String* progID
public static function GetActiveObject(
   progID : String
) : Object;


The ProgID of the object being requested.

Return Value

The object requested. You can cast this object to any COM interface that it supports.


Marshal.GetActiveObject exposes the GetActiveObject COM API method from OLEAUT32.DLL; however, the latter expects a class identifier (CLSID) instead of the programmatic identifier (ProgID) expected by this method. To obtain a running instance of a COM object without a registered ProgID, use platform invoke to define the GetActivateObject COM method. For a description of platform invoke, see Consuming Unmanaged DLL Functions. For additional information about the GetActiveObject COM method, see the MSDN Library.

Note   This method uses SecurityAction.LinkDemand to prevent it from being called from untrusted code; only the immediate caller is required to have SecurityPermissionAttribute.UnmanagedCode permission. If your code can be called from partially trusted code, do not pass user input to Marshal class methods without validation. For important limitations on using the LinkDemand member, see Demand vs. LinkDemand.


Platforms: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 family

.NET Framework Security: 

See Also

Marshal Class | Marshal Members | System.Runtime.InteropServices Namespace