Freigeben über


IModelKeyReference2::GetContextObject-Methode (dbgmodel.h)

Die GetContextObject-Methode gibt den Kontext (diesen Zeiger) zurück, der an die GetValue- oder SetValue-Methode eines Eigenschaftsaccessors übergeben wird, wenn der betreffende Schlüssel auf einen Eigenschaftsaccessor verweist. Das hier zurückgegebene Kontextobjekt ist möglicherweise identisch mit dem ursprünglichen Objekt, das von GetOriginalObject abgerufen wurde. Wenn sich ein Schlüssel in einem übergeordneten Modell befindet und ein Kontextanpassungsmodul diesem übergeordneten Modell zugeordnet ist, ist das ursprüngliche Objekt das Instanzobjekt, für das GetKeyReference oder EnumerateKeyReferences aufgerufen wurde. Das Kontextobjekt wäre aus dem endgültigen Kontextanpassungsmodul zwischen dem ursprünglichen Objekt und dem übergeordneten Modell, das den Schlüssel enthält, mit dem 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 jede Eigenschaftsaccessormethode übergeben wird, wird hier zurückgegeben.

Rückgabewert

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

Bemerkungen

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

Siehe auch

IModelKeyReference2-Schnittstelle