Metodo IResourceManager::RequestResource (strmif.h)

[La funzionalità associata a questa pagina, DirectShow, è una funzionalità legacy. È stata sostituita da MediaPlayer, IMFMediaEngine e Audio/Video Capture in Media Foundation. Queste funzionalità sono state ottimizzate per Windows 10 e Windows 11. Microsoft consiglia vivamente che il nuovo codice usi MediaPlayer, IMFMediaEngine e Audio/Video Capture in Media Foundation invece di DirectShow, quando possibile. Microsoft suggerisce che il codice esistente che usa le API legacy venga riscritto per usare le nuove API, se possibile.

Il RequestResource metodo richiede l'uso di una determinata risorsa registrata.

Sintassi

HRESULT RequestResource(
  [in] LONG              idResource,
  [in] IUnknown          *pFocusObject,
  [in] IResourceConsumer *pConsumer
);

Parametri

[in] idResource

Token di risorsa recuperato quando la risorsa è stata registrata.

[in] pFocusObject

Puntatore all'interfaccia IUnknown di un oggetto messa a fuoco associato a una richiesta (in genere l'interfaccia IUnknown del filtro).

[in] pConsumer

Puntatore all'interfaccia IResourceConsumer nell'oggetto che richiede la risorsa.

Valore restituito

Restituisce un valore HRESULT . Restituisce S_OK se la risorsa richiesta viene restituita o S_FALSE se la risorsa non è disponibile, nel qual caso gestione risorse chiamerà nuovamente l'oggetto richiedente quando la risorsa diventa disponibile. Qualsiasi altra restituzione è un errore.

Commenti

Quando sono presenti più richieste per la risorsa, gestione risorse deciderà la priorità usando l'oggetto di stato attivo passato con ogni richiesta e confrontandolo con l'oggetto di stato attivo passato nel metodo IResourceManager::SetFocus più recente.

Le richieste verranno compilate nell'ordine di priorità seguente:

  1. Richieste effettuate con esattamente lo stesso oggetto dello stato attivo dell'ultimo metodo SetFocus .
  2. Richieste il cui oggetto dello stato attivo condivide un filtro di origine comune il cui oggetto di stato attivo condivide un grafico di filtro comune.
  3. Richieste nello stesso processo dello stato attivo.
Durante il controllo di questa priorità, Gestione risorse userà QueryInterface sull'oggetto focus per IID_IFilter. Se trovato, gestione risorse userà i metodi IBaseFilter per controllare il grafico dei filtri e cercare filtri di origine comuni con l'oggetto stato attivo corrente.

Un filtro deve passare l'interfaccia IUnknown del filtro nel parametro pFocusObject . Gestione grafici filtro corrisponde ai filtri al grafico dei filtri e tenterà di tracciare i filtri ai filtri di origine comuni durante il controllo degli oggetti di stato attivo.

L'oggetto focus deve essere valido per l'intera durata della richiesta, fino a quando non viene chiamato il metodo IResourceManager::CancelRequest oppure il metodo IResourceManager::NotifyRelease viene chiamato con il parametro bStillWant impostato su FALSE.

Requisiti

   
Client minimo supportato Windows 2000 Professional [solo app desktop]
Server minimo supportato Windows 2000 Server [solo app desktop]
Piattaforma di destinazione Windows
Intestazione strmif.h (include Dshow.h)
Libreria Strmiids.lib

Vedi anche

Codici di errore e di esito positivo

Interfaccia IResourceManager