DacpRCWData-Struktur

Definiert einen Transportpuffer für RcW-Informationen (Runtime Callable Wrapper).

Note

Diese API wurde ursprünglich für die interne Verwendung in der Runtime entwickelt. Obwohl sie jetzt für die Verwendung durch Dritte unterstützt wird, wird empfohlen, nach Möglichkeit mit den APIs ICorDebug und ICorProfiler zu arbeiten.

Syntax

struct DacpRCWData : ZeroInit<DacpRCWData>
{
    CLRDATA_ADDRESS identityPointer;
    CLRDATA_ADDRESS unknownPointer;
    CLRDATA_ADDRESS managedObject;
    CLRDATA_ADDRESS jupiterObject;
    CLRDATA_ADDRESS vtablePtr;
    CLRDATA_ADDRESS creatorThread;
    CLRDATA_ADDRESS ctxCookie;
    
    LONG refCount;
    LONG interfaceCount;

    BOOL isJupiterObject;
    BOOL supportsIInspectable;
    BOOL isAggregated;
    BOOL isContained;
    BOOL isFreeThreaded;
    BOOL isDisconnected;
    
    HRESULT Request(ISOSDacInterface *sos, CLRDATA_ADDRESS rcw)
    {
        return sos->GetRCWData(rcw, this);
    }

    HRESULT IsDCOMProxy(ISOSDacInterface *sos, CLRDATA_ADDRESS rcw, BOOL* isDCOMProxy)
    {
        ISOSDacInterface2 *pSOS2 = nullptr;
        HRESULT hr = sos->QueryInterface(__uuidof(ISOSDacInterface2), reinterpret_cast<LPVOID*>(&pSOS2));
        if (SUCCEEDED(hr))
        {
            hr = pSOS2->IsRCWDCOMProxy(rcw, isDCOMProxy);
            pSOS2->Release();
        }

        return hr;
    }
};

Elemente

Mitglied Beschreibung
identityPointer Die Adresse des COM-Identitätspunkts.
unknownPointer Die Adresse des IUnknown Zeigers.
managedObject Die Adresse des verwalteten Objekts, das dem RCW zugeordnet ist.
jupiterObject Die Adresse des zugeordneten Jupiter-Objekts.
vtablePtr Die Adresse des vtable-Zeigers.
creatorThread Die Adresse des Threads, der den RCW erstellt hat.
ctxCookie Das Kontextcookies für das RCW.
refCount Die Referenzanzahl für das RCW.
interfaceCount Die Anzahl der Schnittstellen, die dem RCW zugeordnet sind.
isJupiterObject Ein Wert, der angibt, ob das RCW ein Jupiter-Objekt darstellt.
supportsIInspectable Ein Wert, der angibt, ob das RCW unterstützt IInspectablewird.
isAggregated Ein Wert, der angibt, ob der RCW aggregiert wird.
isContained Ein Wert, der angibt, ob das RCW enthalten ist.
isFreeThreaded Ein Wert, der angibt, ob der RCW freithreaded ist.
isDisconnected Ein Wert, der angibt, ob die RCW-Verbindung getrennt ist.
Request Füllt die Struktur auf, indem sie aufgerufen wird ISOSDacInterface::GetRCWData.
IsDCOMProxy Bestimmt, ob rcW ein DCOM-Proxy ist, ISOSDacInterface2::IsRCWDCOMProxywenn diese Schnittstelle verfügbar ist.

Remarks

Diese Struktur befindet sich innerhalb der Laufzeit und wird nicht über Kopfzeilen oder Bibliotheksdateien verfügbar gemacht. Um sie zu verwenden, definieren Sie die Struktur wie oben angegeben.

Anforderungen

Plattformen: Informationen finden Sie unter Systemanforderungen.
Kopfball: Nichts
Bibliothek: Nichts
.NET Framework-Versionen: Seit 4.7 verfügbar

Siehe auch