Freigeben über


IModelKeyReference2::GetContextObject-Methode (dbgmodel.h)

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

Rückgabewert

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

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

IModelKeyReference2-Schnittstelle