IResourceManager::RequestResource-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 RequestResource
-Methode fordert die Verwendung einer bestimmten registrierten Ressource an.
Syntax
HRESULT RequestResource(
[in] LONG idResource,
[in] IUnknown *pFocusObject,
[in] IResourceConsumer *pConsumer
);
Parameter
[in] idResource
Ressourcentoken, das beim Registrieren der Ressource abgerufen wurde.
[in] pFocusObject
Zeiger auf die IUnknown-Schnittstelle eines Fokusobjekts, das einer Anforderung zugeordnet ist (in der Regel die IUnknown-Schnittstelle des Filters).
[in] pConsumer
Zeiger auf die IResourceConsumer-Schnittstelle für das Objekt, das die Ressource anfordert.
Rückgabewert
Gibt einen HRESULT-Wert zurück. Gibt S_OK zurück, wenn die angeforderte Ressource zurückgegeben wird, oder S_FALSE, wenn die Ressource nicht verfügbar ist. In diesem Fall ruft der Ressourcen-Manager das anfordernde Objekt zurück, wenn die Ressource verfügbar ist. Jede andere Rückgabe ist ein Fehler.
Bemerkungen
Wenn mehr als eine Anforderung für die Ressource vorhanden ist, bestimmt der Ressourcen-Manager die Priorität anhand des Fokusobjekts, das mit jeder Anforderung übergeben wird, und vergleicht es mit dem Fokusobjekt, das in der neuesten IResourceManager::SetFocus-Methode übergeben wurde.
Anforderungen werden in der folgenden Prioritätsreihenfolge ausgefüllt:
- Anforderungen, die mit genau demselben Fokusobjekt wie die letzte SetFocus-Methode ausgeführt wurden.
- Anforderungen, deren Fokusobjekt einen gemeinsamen Quellfilter verwendet, dessen Fokusobjekt ein gemeinsames Filterdiagramm verwendet.
- Anforderungen im gleichen Prozess wie der Fokus.
Ein Filter sollte die IUnknown-Schnittstelle des Filters im pFocusObject-Parameter übergeben. Der Filterdiagramm-Manager vergleicht Filter mit dem Filtergraphen und versucht, Filter auf gängige Quellfilter zurückzuverfolgen, wenn Objekte des Fokus überprüft werden.
Das Fokusobjekt muss für die gesamte Lebensdauer der Anforderung gültig sein, bis entweder die IResourceManager::CancelRequest-Methode oder die IResourceManager::NotifyRelease-Methode aufgerufen wird, wobei der bStillWant-Parameter auf FALSE festgelegt ist.
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 |