Método IResourceManager::RequestResource (strmif.h)

[La característica asociada a esta página, DirectShow, es una característica heredada. Se ha reemplazado por MediaPlayer, IMFMediaEngine y Captura de audio/vídeo en Media Foundation. Esas características se han optimizado para Windows 10 y Windows 11. Microsoft recomienda encarecidamente que el nuevo código use MediaPlayer, IMFMediaEngine y Audio/Video Capture en Media Foundation en lugar de DirectShow, siempre que sea posible. Microsoft sugiere que el código existente que usa las API heredadas se reescriba para usar las nuevas API si es posible.

El RequestResource método solicita el uso de un recurso registrado determinado.

Sintaxis

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

Parámetros

[in] idResource

Token de recurso recuperado cuando se registró el recurso.

[in] pFocusObject

Puntero a la interfaz IUnknown de un objeto de enfoque asociado a una solicitud (normalmente la interfaz IUnknown del filtro).

[in] pConsumer

Puntero a la interfaz IResourceConsumer en el objeto que solicita el recurso.

Valor devuelto

Devuelve un valor HRESULT . Devuelve S_OK si se devuelve el recurso solicitado o S_FALSE si el recurso no está disponible, en cuyo caso el administrador de recursos llamará al objeto solicitante cuando el recurso esté disponible. Cualquier otra devolución es un error.

Observaciones

Cuando haya más de una solicitud para el recurso, el administrador de recursos decidirá la prioridad mediante el uso del objeto de foco pasado con cada solicitud y comparándolo con el objeto de foco pasado en el método IResourceManager::SetFocus más reciente.

Las solicitudes se rellenarán en el siguiente orden de prioridad:

  1. Solicitudes realizadas exactamente con el mismo objeto de foco que el último método SetFocus .
  2. Solicitudes cuyo objeto de foco comparte un filtro de origen común cuyo objeto de foco comparte un grafo de filtro común.
  3. Solicitudes en el mismo proceso que el foco.
Al comprobar esta prioridad, el administrador de recursos usará QueryInterface en el objeto de enfoque para IID_IFilter. Si se encuentra, el administrador de recursos usará métodos IBaseFilter para comprobar el gráfico de filtros y buscar filtros de origen comunes con el objeto de enfoque actual.

Un filtro debe pasar la interfaz IUnknown del filtro en el parámetro pFocusObject . El administrador de gráficos de filtros coincide con los filtros del gráfico de filtros e intentará realizar un seguimiento de los filtros de origen comunes al comprobar los objetos de foco.

El objeto de foco debe ser válido durante toda la duración de la solicitud, hasta que se llame al método IResourceManager::CancelRequest o se llame al método IResourceManager::NotifyRelease con el parámetro bStillWant establecido en FALSE.

Requisitos

   
Cliente mínimo compatible Windows 2000 Professional [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows 2000 Server [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado strmif.h (incluya Dshow.h)
Library Strmiids.lib

Consulte también

Códigos de error y éxito

IResourceManager (interfaz)