Compartilhar via


Método IAsyncReader::SyncRead (strmif.h)

[O recurso associado a esta página, DirectShow, é um recurso herdado. Ele foi substituído por MediaPlayer, IMFMediaEngine e Captura de Áudio/Vídeo na Media Foundation. Esses recursos foram otimizados para Windows 10 e Windows 11. A Microsoft recomenda fortemente que o novo código use MediaPlayer, IMFMediaEngine e Captura de Áudio/Vídeo no Media Foundation em vez de DirectShow, quando possível. A Microsoft sugere que o código existente que usa as APIs herdadas seja reescrito para usar as novas APIs, se possível.]

O SyncRead método executa uma leitura síncrona. O método é bloqueado até que a solicitação seja concluída. As posições do arquivo e o endereço do buffer não precisam ser alinhados. Se a solicitação não estiver alinhada, o método executará uma operação de leitura em buffer.

Sintaxe

HRESULT SyncRead(
  [in]  LONGLONG llPosition,
  [in]  LONG     lLength,
  [out] BYTE     *pBuffer
);

Parâmetros

[in] llPosition

Especifica o deslocamento de bytes no qual começar a ler. O método falhará se esse valor estiver além do final do arquivo.

[in] lLength

Especifica o número de bytes a serem lidos.

[out] pBuffer

Ponteiro para um buffer que recebe os dados.

Retornar valor

Retorna um valor HRESULT . Os possíveis valores incluem os seguintes.

Código de retorno Descrição
S_FALSE
Recuperou menos bytes do que o solicitado. (Provavelmente, o final do arquivo foi atingido.)
S_OK
Êxito.

Comentários

Esse método funciona mesmo se o filtro for interrompido.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows 2000 Professional [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows 2000 Server [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho strmif.h (inclua Dshow.h)
Biblioteca Strmiids.lib

Confira também

Códigos de erro e êxito

IAsyncReader Interface

IAsyncReader::SyncReadAligned