DacpRCWData, structure

Définit une mémoire tampon de transport pour les informations RCW (Runtime Callable Wrapper).

Note

Cette API a été conçue à l’origine pour une utilisation interne dans le runtime. Bien qu’elle soit désormais prise en charge pour une utilisation tierce, nous vous recommandons, autant que possible, d’utiliser les API ICorDebug et ICorProfiler.

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;
    }
};

Members

Membre Description
identityPointer Adresse du pointeur d’identité COM.
unknownPointer Adresse du IUnknown pointeur.
managedObject Adresse de l’objet managé associé au RCW.
jupiterObject Adresse de l’objet Jupiter associé.
vtablePtr Adresse du pointeur de la table virtuelle.
creatorThread Adresse du thread qui a créé le RCW.
ctxCookie Cookie de contexte pour rcW.
refCount Nombre de références pour le RCW.
interfaceCount Nombre d’interfaces associées au RCW.
isJupiterObject Valeur qui indique si le RCW représente un objet Jupiter.
supportsIInspectable Valeur qui indique si rcW prend en charge IInspectable.
isAggregated Valeur qui indique si le RCW est agrégé.
isContained Valeur qui indique si le RCW est contenu.
isFreeThreaded Valeur qui indique si rcW est thread libre.
isDisconnected Valeur qui indique si le RCW est déconnecté.
Request Remplit la structure en appelant ISOSDacInterface::GetRCWData.
IsDCOMProxy Détermine si rcW est un proxy DCOM à l’aide ISOSDacInterface2::IsRCWDCOMProxyde , lorsque cette interface est disponible.

Remarks

Cette structure se trouve à l’intérieur du runtime et n’est pas exposée par le biais d’en-têtes ou de fichiers de bibliothèque. Pour l’utiliser, définissez la structure comme indiqué ci-dessus.

Exigences

Plateformes : Consultez Configuration requise.
En-tête: Aucun
Bibliothèque: Aucun
versions de .NET Framework : disponible depuis la version 4.7

Voir aussi