iResourceManager::SetFocus 方法 (strmif.h)
[與此頁面 相關的功能 DirectShow是舊版功能。 它已被 MediaPlayer、 IMFMediaEngine和 Media Foundation 中的音訊/視訊擷取取代。 這些功能已針對Windows 10和Windows 11進行優化。 Microsoft 強烈建議新程式碼盡可能使用 MediaPlayer、 IMFMediaEngine 和 音訊/視訊擷取 ,而不是 DirectShow。 Microsoft 建議盡可能重寫使用舊版 API 的現有程式碼,以使用新的 API。]
方法 SetFocus
會通知資源管理員,指定的物件已獲得使用者的焦點。
語法
HRESULT SetFocus(
[in] IUnknown *pFocusObject
);
參數
[in] pFocusObject
已指定使用者焦點之物件的指標。
傳回值
傳回相依于實作的 HRESULT 值。 HRESULT 可以是下列其中一個標準常數,或未列出的其他值。
傳回碼 | Description |
---|---|
|
失敗。 |
|
Null 指標引數。 |
|
無效引數。 |
|
不支援方法。 |
|
成功。 |
備註
在 DirectShow 中,指定使用者焦點的物件通常是視訊轉譯器,其視窗已收到焦點。 資源管理員會依下列順序來優先要求資源:
- 使用 pFocusObject 參數中指定的焦點物件提出的要求。
- 要求其焦點物件共用通用來源篩選準則。
- 要求其焦點物件共用通用篩選圖形。
- 在與焦點相同的進程中要求。
SetFocus
同時由不同的物件呼叫。 焦點物件上不會保留參考計數。
資源管理員會保留此指標,直到取代或取消為止,並使用該指標來解析資源爭用。 它至少會針對IBaseFilter介面使用QueryInterface,如果找到的話,將會在該介面上使用方法。 它會在 IBaseFilter 上呼叫方法,以決定如果有兩個 (它會選擇焦點物件通用來源篩選) 的音訊轉譯器,以及判斷兩個物件是否位於相同的篩選圖形中。
規格需求
最低支援的用戶端 | Windows 2000 Professional [僅限傳統型應用程式] |
最低支援的伺服器 | Windows 2000 Server [僅限桌面應用程式] |
目標平台 | Windows |
標頭 | strmif.h (包含 Dshow.h) |
程式庫 | Strmiids.lib |