Freigeben über


IModelKeyReference::GetContextObject-Methode (dbgmodel.h)

Die GetContextObject-Methode gibt den Kontext (diesen Zeiger) zurück, der an die GetValue- oder SetValue-Methode eines Eigenschaftszugriffsgebers übergeben wird, wenn der betreffende Schlüssel auf einen Eigenschaftenzugriffsor verweist. Das hier zurückgegebene Kontextobjekt kann mit dem ursprünglichen Objekt identisch sein, das von GetOriginalObject abgerufen wurde. Wenn sich ein Schlüssel in einem übergeordneten Modell befindet und diesem übergeordneten Modell ein Kontextanpassungsor zugeordnet ist, ist das ursprüngliche Objekt das instance-Objekt, für das GetKeyReference oder EnumerateKeyReferences aufgerufen wurde. Das Kontextobjekt ist das, was aus der endgültigen Kontextanpassung zwischen dem ursprünglichen Objekt und dem übergeordneten Modell mit dem Schlüssel stammt, auf den dieser Schlüsselverweis ein Handle ist. Wenn keine Kontextanpassungen vorhanden sind, sind das ursprüngliche Objekt und das Kontextobjekt identisch.

Syntax

HRESULT GetContextObject(
  IModelObject **containingObject
);

Parameter

containingObject

Das Kontextobjekt, das an eine beliebige Eigenschaftszugriffsmethode übergeben wird, wird hier zurückgegeben.

Rückgabewert

Diese Methode gibt HRESULT zurück, das auf Erfolg oder Fehler hinweist.

Hinweise

Codebeispiel

ComPtr<IModelObject> spObject; /* get an object */

ComPtr<IModelKeyReference> spKeyRef;
if (SUCCEEDED(spObject->GetKeyReference(L"Id", &spKeyRef, nullptr)))
{
    ComPtr<IModelObject> spContextObject;
    if (SUCCEEDED(spKeyRef->GetContextObject(&spContextObject)))
    {
        // spObject and spContextObject should be the same.
        // This is *NOT* true if there was an intervening call to OverrideContextObject 
    }
}

Anforderungen

Anforderung Wert
Header dbgmodel.h

Weitere Informationen

IModelKeyReference-Schnittstelle