ISampleGrabber::GetCurrentBuffer 메서드
[이 페이지와 연결된 기능인 DirectShow는 레거시 기능입니다. MediaPlayer, IMFMediaEngine 및 Media Foundation의 오디오/비디오 캡처로 대체되었습니다. 이러한 기능은 Windows 10 및 Windows 11 최적화되었습니다. 가능한 경우 새 코드에서 DirectShow 대신 MediaPlayer, IMFMediaEngine 및 오디오/비디오 캡처를 사용하는 것이 좋습니다. 가능한 경우 레거시 API를 사용하는 기존 코드를 다시 작성하여 새 API를 사용하도록 제안합니다.]
참고
[더 이상 사용되지 않습니다. 이 API는 향후 Windows 릴리스에서 제거될 수 있습니다.]
GetCurrentBuffer 메서드는 최신 샘플과 연결된 버퍼의 복사본을 검색합니다.
구문
HRESULT GetCurrentBuffer(
[in, out] long *pBufferSize,
[out] long *pBuffer
);
매개 변수
-
pBufferSize [in, out]
-
버퍼 크기에 대한 포인터입니다. pBuffer가 NULL인 경우 이 매개 변수는 필요한 버퍼 크기(바이트)를 받습니다. pBuffer가 NULL이 아닌 경우 이 매개 변수를 버퍼 크기(바이트)와 동일하게 설정합니다. 출력 시 매개 변수는 버퍼에 복사된 바이트 수를 받습니다. 이 값은 버퍼 크기보다 작을 수 있습니다.
-
pBuffer [out]
-
pBufferSize 또는 NULL 크기의 바이트 배열에 대한 포인터입니다. 이 매개 변수가 NULL이 아니면 현재 버퍼가 배열에 복사됩니다. 이 매개 변수가 NULL이면 pBufferSize 매개 변수는 필요한 버퍼 크기를 받습니다.
반환 값
다음 값 중 하나를 반환합니다.
반환 코드 | 설명 |
---|---|
|
샘플이 버퍼링되지 않습니다.
ISampleGrabber::SetBufferSamples를 호출합니다. |
|
지정된 버퍼가 충분히 크지 않습니다. |
|
NULL 포인터 인수입니다. |
|
성공. |
|
필터가 연결되어 있지 않습니다. |
|
필터가 아직 샘플을 받지 못했습니다. 샘플을 제공하려면 그래프를 실행하거나 일시 중지합니다. |
설명
버퍼링을 활성화하려면 값이 TRUE인 ISampleGrabber::SetBufferSamples를 호출합니다.
이 메서드를 두 번 호출합니다. 첫 번째 호출에서 pBuffer 를 NULL로 설정합니다. 버퍼의 크기는 pBufferSize로 반환됩니다. 그런 다음 배열을 할당하고 메서드를 다시 호출합니다. 두 번째 호출에서 pBufferSize에서 배열의 크기를 전달하고 pBuffer에서 배열의 주소를 전달합니다. 배열이 충분히 크지 않으면 메서드는 E_OUTOFMEMORY 반환합니다.
pBuffer 매개 변수는 긴 포인터로 형식화되지만 버퍼의 내용은 데이터 형식에 따라 달라집니다. ISampleGrabber::GetConnectedMediaType을 호출하여 형식의 미디어 형식을 가져옵니다.
필터 그래프가 실행되는 동안에는 이 메서드를 호출하지 마세요. 필터 그래프가 실행되는 동안 샘플 그래버 필터는 새 샘플을 받을 때마다 버퍼의 내용을 덮어씁니다. 이 방법을 사용하는 가장 좋은 방법은 첫 번째 샘플을 받은 후 그래프를 중지하는 "원샷 모드"를 사용하는 것입니다. 원샷 모드를 설정하려면 ISampleGrabber::SetOneShot을 호출합니다.
필터는 사전 등록 샘플을 버퍼링하지 않거나 AM_SAMPLE2_PROPERTIES 구조체의 dwStreamId 멤버가 AM_STREAM_MEDIA 이외의 항목인 샘플을 버퍼링하지 않습니다.
참고
헤더 파일 Qedit.h는 버전 7 이후의 Direct3D 헤더와 호환되지 않습니다.
참고
Qedit.h를 가져오려면 Windows Vista용 Microsoft Windows SDK 업데이트를 다운로드하고 3.0을 .NET Framework. Qedit.h는 Windows 7 및 .NET Framework 3.5 서비스 팩 1용 Microsoft Windows SDK 사용할 수 없습니다.
요구 사항
요구 사항 | 값 |
---|---|
헤더 |
|
라이브러리 |
|
추가 정보