步驟 9. 中斷屬性頁的連線
[與此頁面相關的功能 DirectShow是舊版功能。 它已被 MediaPlayer、 IMFMediaEngine和 Media Foundation 中的音訊/視訊擷取取代。 這些功能已針對Windows 10和Windows 11進行優化。 Microsoft 強烈建議新程式碼盡可能使用 MediaPlayer、 IMFMediaEngine 和 音訊/視訊擷取 ,而不是 DirectShow。 Microsoft 建議使用舊版 API 的現有程式碼盡可能重寫為使用新的 API。
覆寫 CBasePropertyPage::OnDisconnect 方法,以釋放您在 OnConnect 方法中取得的任何介面。 此外,如果使用者在未認可變更的情況下關閉屬性工作表,您應該在變更時還原原始值。 使用者取消時不會呼叫 「OnCancel」 方法,因此您必須追蹤使用者是否已呼叫 OnApplyChanges。 此範例使用先前所述的m_lVal變數:
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;
}
相關主題