Compartir a través de


Método IAsyncReader::RequestAllocator (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 RequestAllocator método solicita un asignador durante la conexión de patillas.

Sintaxis

HRESULT RequestAllocator(
  [in]  IMemAllocator        *pPreferred,
  [in]  ALLOCATOR_PROPERTIES *pProps,
  [out] IMemAllocator        **ppActual
);

Parámetros

[in] pPreferred

Puntero a la interfaz IMemAllocator en el asignador preferido del pin de entrada o NULL.

[in] pProps

Especifica la dirección de una estructura de ALLOCATOR_PROPERTIES , asignada por el autor de la llamada. El autor de la llamada debe rellenar las propiedades del asignador que requiera el pin de entrada y establecer los miembros restantes en cero.

[out] ppActual

Dirección de una variable que recibe un puntero de interfaz IMemAllocator .

Valor devuelto

Devuelve un valor HRESULT . Estos son algunos de los valores posibles.

Código devuelto Descripción
E_FAIL
Error al inicializar un asignador.
VFW_E_BADALIGN
Se especificó una alineación no válida.
S_OK
Se devolvió el asignador.

Comentarios

El pin de entrada de bajada debe llamar a este método durante el proceso de conexión. Si el pin tiene un asignador preferido, especifíquelo en el parámetro pPreferred . Especifique los requisitos de búfer, como el tamaño o la alineación del búfer, en el parámetro pProps . El pin de salida elige el asignador y devuelve un puntero a él en el parámetro ppActual .

El pin de salida no es necesario para respetar las solicitudes del pin de entrada. Si el pin de entrada tiene requisitos absolutos, debe llamar al método IMemAllocator::GetProperties en el asignador devuelto. Puede producir un error en la conexión si las propiedades del asignador no son adecuadas. Una vez establecida la conexión, el pin de entrada debe usar el asignador elegido por el pin de salida.

El pin de entrada es responsable de confirmar y descommitr el asignador.

Requisitos

Requisito Value
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

IAsyncReader (interfaz)