IResourceManager::SetFocus-Methode (strmif.h)
[Das dieser Seite zugeordnete Feature DirectShow ist ein Legacyfeature. Es wurde von MediaPlayer, IMFMediaEngine und Audio/Video Capture in Media Foundation abgelöst. Diese Features wurden für Windows 10 und Windows 11 optimiert. Microsoft empfiehlt dringend, dass neuer Code mediaPlayer, IMFMediaEngine und Audio/Video Capture in Media Foundation anstelle von DirectShow verwendet, wenn möglich. Microsoft schlägt vor, dass vorhandener Code, der die Legacy-APIs verwendet, so umgeschrieben wird, dass nach Möglichkeit die neuen APIs verwendet werden.]
Die SetFocus
-Methode benachrichtigt den Ressourcen-Manager, dass ein angegebenes Objekt den Fokus des Benutzers erhalten hat.
Syntax
HRESULT SetFocus(
[in] IUnknown *pFocusObject
);
Parameter
[in] pFocusObject
Zeiger auf das Objekt, dem der Fokus des Benutzers zugewiesen wurde.
Rückgabewert
Gibt einen HRESULT-Wert zurück, der von der Implementierung abhängt. HRESULT kann eine der folgenden Standardkonstanten oder andere Werte sein, die nicht aufgeführt sind.
Rückgabecode | Beschreibung |
---|---|
|
Fehler. |
|
NULL-Zeigerargument. |
|
Ungültiges Argument. |
|
Die -Methode wird nicht unterstützt. |
|
Erfolg. |
Bemerkungen
In DirectShow ist das Objekt, das dem Benutzer den Fokus erhält, in der Regel ein Videorenderer, dessen Fenster den Fokus erhalten hat. Der Ressourcen-Manager gibt Anforderungen für Ressourcen in der folgenden Reihenfolge Priorität:
- Anforderungen, die mit dem im pFocusObject-Parameter angegebenen Fokusobjekt ausgeführt werden.
- Anforderungen, deren Fokusobjekt einen gemeinsamen Quellfilter verwendet.
- Anforderungen, deren Fokusobjekt ein gemeinsames Filterdiagramm verwendet.
- Anforderungen im gleichen Prozess wie der Fokus.
SetFocus
in der Zwischenzeit von einem anderen Objekt aufgerufen wird. Für das Fokusobjekt wird keine Verweisanzahl gehalten.
Der Ressourcen-Manager hält diesen Zeiger, bis er ersetzt oder abgebrochen wird, und verwendet ihn, um Ressourcenkonflikte zu lösen. Es verwendet QueryInterface mindestens für die IBaseFilter-Schnittstelle und verwendet, falls gefunden, Methoden für diese Schnittstelle. Es ruft Methoden für IBaseFilter auf, um zu entscheiden, welcher Audiorenderer verwendet werden soll, wenn zwei vorhanden sind (es wird der mit einem Quellfilter ausgewählt, der dem Fokusobjekt gemeinsam ist), und um zu bestimmen, ob sich die beiden Objekte innerhalb desselben Filterdiagramms befinden.
Anforderungen
Unterstützte Mindestversion (Client) | Windows 2000 Professional [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) | Windows 2000 Server [nur Desktop-Apps] |
Zielplattform | Windows |
Kopfzeile | strmif.h (include Dshow.h) |
Bibliothek | Strmiids.lib |