Schritt 9 Trennen der Eigenschaftenseite
[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.]
Überschreiben Sie die CBasePropertyPage::OnDisconnect-Methode , um alle Schnittstellen freizugeben, die Sie in der OnConnect-Methode abgerufen haben. Wenn der Benutzer das Eigenschaftenblatt schließt, ohne die Änderungen zu übernehmen, sollten Sie die ursprünglichen Werte wiederherstellen, wenn sie sich geändert haben. Es gibt keine "OnCancel"-Methode, die aufgerufen wird, wenn der Benutzer abbricht. Daher müssen Sie nachverfolgen, ob der Benutzer OnApplyChanges aufgerufen hat. In diesem Beispiel wird die zuvor beschriebene variable m_lVal verwendet:
HRESULT CGrayProp::OnDisconnect(void)
{
if (m_pGray)
{
// If the user clicked OK, m_lVal holds the new value.
// Otherwise, if the user clicked Cancel, m_lVal is the old value.
m_pGray->SetSaturation(m_lVal);
m_pGray->Release();
m_pGray = NULL;
}
return S_OK;
}
Weiter: Schritt 10. Unterstützung der COM-Registrierung
Zugehörige Themen