IAMDevMemoryControl::WriteSync 메서드(strmif.h)
[이 페이지와 연결된 기능인 DirectShow는 레거시 기능입니다. MediaPlayer, IMFMediaEngine 및 Media Foundation의 오디오/비디오 캡처로 대체되었습니다. 이러한 기능은 Windows 10 및 Windows 11 최적화되었습니다. 가능한 경우 새 코드에서 DirectShow 대신 MediaPlayer, IMFMediaEngine 및 오디오/비디오 캡처를 사용하는 것이 좋습니다. 가능한 경우 레거시 API를 사용하는 기존 코드를 다시 작성하여 새 API를 사용하도록 제안합니다.]
구문
HRESULT WriteSync();
반환 값
HRESULT 값을 반환합니다. 가능한 값은 다음과 같습니다.
반환 코드 | 설명 |
---|---|
|
이 메서드가 데이터가 기록되었는지 확인하지 않고 시간 초과가 발생했습니다. |
|
데이터가 메모리에 성공적으로 기록되었습니다. |
|
할당자는 IMemAllocator::Commit 메서드를 호출하지 않았습니다. |
설명
이 메서드는 할당된 메모리에 대한 모든 이전 쓰기 작업이 성공했음을 보장합니다. 후속 메모리 쓰기 작업에는 에 대한 또 다른 호출이 WriteSync
필요합니다.
이 메서드는 구현에 따라 다르며 필요한 경우 메모리 쓰기 작업을 메모리에 동기화하는 데 사용됩니다. 온보드 메모리의 드라이버는 구현을 제공합니다.
IAMDevMemoryControl 인터페이스는 일반적으로 PCI(주변 구성 요소 상호 연결) 브리지를 통해 액세스되는 메모리에서 찾을 수 있습니다. (PCI는 프로세서와 주변 장치 간에 고속 데이터 경로를 제공하는 개인용 컴퓨터용 로컬 버스입니다.) 다른 디바이스가 PCI 브리지 뒤에서 해당 메모리에 액세스하는 경우 메모리 쓰기 작업이 완료된 후 PCI 브리지 뒤의 메모리를 동기화해야 합니다. 이는 메모리에 대한 호스트 액세스가 PCI 브리지 FIFO를 통해 버퍼링되고(처음에는 먼저) 브리지가 실제로 데이터를 쓰기 전에 쓰기가 완료되었다고 가정하기 때문입니다. IAMDevMemoryControl::WriteSync 메서드가 호출되지 않은 경우 SCSI 컨트롤러와 같이 브리지 뒤의 디바이스에 의한 후속 작업은 쓰기가 완료되기 전에 메모리를 읽을 수 있습니다.
요구 사항
요구 사항 | 값 |
---|---|
대상 플랫폼 | Windows |
헤더 | strmif.h(Dshow.h 포함) |