Freigeben über


CBasePropertyPage.OnConnect-Methode

[Das dieser Seite zugeordnete Feature DirectShow ist ein Legacyfeature. Es wurde durch MediaPlayer, IMFMediaEngine und Audio/Video Capture in Media Foundation ersetzt. Diese Features wurden für Windows 10 und Windows 11 optimiert. Microsoft empfiehlt dringend, dass neuer Code nach Möglichkeit MediaPlayer, IMFMediaEngine und Audio/Video Capture in Media Foundation anstelle von DirectShow verwendet. Microsoft schlägt vor, vorhandenen Code, der die Legacy-APIs verwendet, um nach Möglichkeit die neuen APIs zu verwenden.]

Die OnConnect -Methode stellt einen IUnknown-Zeiger auf das Objekt bereit, das der Eigenschaftenseite zugeordnet ist.

Syntax

virtual HRESULT OnConnect(
   IUnknown *pUnknown
);

Parameter

pUnknown

Zeiger auf die IUnknown-Schnittstelle des -Objekts.

Rückgabewert

Die Basisklassenimplementierung gibt S_OK zurück.

Bemerkungen

Die CBasePropertyPage::SetObjects-Methode ruft die OnConnect -Methode auf. Überschreiben Sie diese Methode, um einen Zeiger auf das von pUnknown angegebene Objekt zu speichern. Sie können entweder den pUnknown-Zeiger selbst speichern oder diesen Zeiger nach anderen Schnittstellen abfragen. Wenn Sie den pUnknown-Zeiger speichern, rufen Sie AddRef auf, bevor OnConnect sie zurückgegeben werden.

Verwenden Sie in der CBasePropertyPage::OnActivate-Methode den gespeicherten Zeiger (oder Zeiger), um die Anfangswerte für die Dialogeigenschaften abzurufen. Wenden Sie in der CBasePropertyPage::OnApplyChanges-Methode alle Änderungen wieder auf das Objekt an. Lassen Sie alle Zeiger in der CBasePropertyPage::OnDisconnect-Methode frei .

Beispiele

HRESULT CMyProp::OnConnect(IUnknown *pUnk)
{
    ASSERT(m_pOwningFilter == NULL);
    HRESULT hr;
    // Query pUnk for the filter's custom interface.
    hr = pUnk->QueryInterface(IID_ISomeCustomInterface,
             reinterpret_cast<void**>(&m_pOwningFilter));
    return hr;
}

Anforderungen

Anforderung Wert
Header
Cprop.h (include Streams.h)
Bibliothek
Strmbase.lib (Einzelhandelsbuilds);
Strmbasd.lib (Debugbuilds)

Siehe auch

CBasePropertyPage-Klasse