Marshal.GetActiveObject-Methode
Aktualisiert: November 2007
Ruft eine ausgeführte Instanz des angegebenen Objekts aus der ROT (Running Object Table) ab.
Assembly: mscorlib (in mscorlib.dll)
[SecurityPermissionAttribute(SecurityAction.LinkDemand, Flags = SecurityPermissionFlag.UnmanagedCode)] public static Object GetActiveObject( string progID )
/** @attribute SecurityPermissionAttribute(SecurityAction.LinkDemand, Flags = SecurityPermissionFlag.UnmanagedCode) */ public static Object GetActiveObject( String progID )
public static function GetActiveObject( progID : String ) : Object
Parameter
- progID
- Typ: System.String
Die ProgID des angeforderten Objekts.
Rückgabewert
Typ: System.ObjectDas angeforderte Objekt. Sie können dieses Objekt in eine beliebige unterstützte COM-Schnittstelle umwandeln.
Marshal.GetActiveObject macht die GetActiveObject-COM-API-Methode aus OLEAUT32.DLL verfügbar. Letztere erwartet jedoch eine CLSID (Klassen-ID) anstelle der ProgID (Programmbezeichner), die von dieser Methode erwartet wird. Zum Abrufen einer ausgeführten Instanz eines COM-Objekts ohne registrierte ProgID definieren Sie die GetActivateObject-COM-Methode mit einem Plattformaufruf. Eine Beschreibung eines Plattformaufrufs finden Sie unter Verwenden nicht verwalteter DLL-Funktionen. Weitere Informationen über die GetActiveObject-COM-Methode finden Sie in der MSDN Library.
Hinweis: |
|---|
Diese Methode verwendet SecurityAction.LinkDemand, um einen Aufruf aus nicht vertrauenswürdigem Code zu verhindern. Nur der direkte Aufrufer muss über die SecurityPermissionAttribute.UnmanagedCode-Berechtigung verfügen. Wenn der Code aus teilweise vertrauenswürdigem Code aufgerufen werden kann, dürfen Benutzereingaben nicht ohne Validierung an Methoden der Marshal-Klasse übergeben werden. Wichtige Einschränkungen bei der Verwendung des LinkDemand-Members finden Sie unter "Demand" und "LinkDemand". |
ProgID und CLSID
Die Schlüssel in der Teilstruktur HKEY_CLASSES_ROOT der Registrierung enthalten verschiedene Typen von Unterschlüsseln. Bei den meisten Unterschlüsseln handelt es sich um ProgIDs, die einer CLSID eine benutzerfreundliche Zeichenfolge zuordnen. Für Anwendungen werden häufig diese lesbaren Zeichenfolgen anstelle numerischer CLSIDs verwendet. Häufig verfügt eine Komponente über eine versionsunabhängige ProgID, die der zuletzt auf dem System installierten Version der Komponente zugeordnet ist.
Anwendungen und Komponenten verwenden ProgIDs hauptsächlich um Abrufen der entsprechenden CLSIDs.
- SecurityPermission
für die Berechtigung zum Aufrufen von nicht verwaltetem Code.
Zugeordnete Enumeration: UnmanagedCode Sicherheitsaktion: LinkDemand
Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP Starter Edition, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98
.NET Framework und .NET Compact Framework unterstützen nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen für .NET Framework.
Hinweis: