Compartilhar via


Método IAMDevMemoryControl::WriteSync (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.]

Nota A interface IAMDevMemoryControl foi preterida.
 
Usado para sincronizar com a gravação concluída. Esse método retorna quando todos os dados que estão sendo gravados na região do alocador específico são totalmente gravados na memória.

Sintaxe

HRESULT WriteSync();

Retornar valor

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

Código de retorno Descrição
E_FAIL
Ocorreu um tempo limite sem que esse método confirmasse que os dados foram gravados.
S_OK
Os dados foram gravados com êxito na memória.
VFW_E_NOT_COMMITTED
O alocador não chamou o método IMemAllocator::Commit .

Comentários

Esse método garante que todas as operações de gravação anteriores à memória alocada tenham sido bem-sucedidas. As operações de gravação de memória subsequentes exigem outra chamada para WriteSync.

Esse método depende da implementação e é usado (quando necessário) para sincronizar operações de gravação de memória com a memória. O driver da memória a bordo fornece a implementação.

A interface IAMDevMemoryControl normalmente é encontrada na memória acessada por meio de uma ponte PCI (interconexão de componente periférico). (Uma PCI é um barramento local para computadores pessoais que fornece um caminho de dados de alta velocidade entre o processador e os dispositivos periféricos.) A memória por trás de uma ponte PCI deve ser sincronizada após a conclusão de uma operação de gravação de memória, se outro dispositivo acessar essa memória por trás da ponte PCI. Isso ocorre porque o acesso do host à memória é armazenado em buffer por meio do FIFO da ponte PCI (primeiro na primeira saída) e o host assumirá que a gravação foi concluída antes que a ponte realmente grave os dados. Uma ação subsequente de um dispositivo atrás da ponte, como um controlador SCSI, pode ler a memória antes da gravação ser concluída, se o método IAMDevMemoryControl::WriteSync não for chamado.

Requisitos

Requisito Valor
Plataforma de Destino Windows
Cabeçalho strmif.h (inclua Dshow.h)

Confira também

Códigos de erro e êxito

IAMDevMemoryControl Interface