VRAM_SURFACE_INFO 구조체(ksmedia.h)
VRAM_SURFACE_INFO 구조는 AVStream 미니드라이버가 오디오 또는 비디오 데이터를 캡처하는 시스템 또는 디스플레이 메모리 영역을 설명합니다.
구문
typedef struct {
UINT_PTR hSurface;
LONGLONG VramPhysicalAddress;
DWORD cbCaptured;
DWORD dwWidth;
DWORD dwHeight;
DWORD dwLinearSize;
LONG lPitch;
ULONGLONG ullReserved[16];
} VRAM_SURFACE_INFO, *PVRAM_SURFACE_INFO;
멤버
hSurface
VRAM 표면을 식별하는 커널 모드 핸들에 대한 포인터입니다.
VramPhysicalAddress
이 멤버는 디스플레이 메모리에 있는 표면의 실제 주소를 포함합니다. 미니 드라이버는 KSPROPERTY_MAP_CAPTURE_HANDLE_TO_VRAM_ADDRESS 대한 처리기에서 이 멤버를 채웁니다.
cbCaptured
이 멤버는 VRAM 화면에 복사된 바이트 수를 지정합니다. 미니 드라이버는 이 값을 설정합니다.
dwWidth
이 멤버는 비디오 데이터의 너비를 픽셀 단위로 지정합니다. 미니 드라이버는 이 값을 설정합니다.
dwHeight
이 멤버는 비디오 데이터의 높이를 픽셀 단위로 지정합니다. 미니 드라이버는 이 값을 설정합니다.
dwLinearSize
이 멤버는 비사각형 표면의 선형 크기(바이트)를 지정합니다. 미니 드라이버는 이 값을 설정합니다.
lPitch
이 멤버는 표면의 피치를 지정합니다. 즉, 다음 줄의 시작까지의 거리(바이트)입니다. 이를 표면의 보폭 이라고도 합니다. 미니 드라이버는 이 값을 설정합니다.
ullReserved[16]
미니 드라이버는 이 멤버를 사용하여 KSPROPERTY_MAP_CAPTURE_HANDLE_TO_VRAM_ADDRESS 요청을 처리할 때 표면에 대한 정보를 저장할 수 있습니다. 그러나 주의해야 합니다. 이 구조체는 AVStrMiniPinProcess 호출에서 유지되지 않습니다.
설명
미니드라이버가 KSPROPERTY_MAP_CAPTURE_HANDLE_TO_VRAM_ADDRESS 속성 호출을 통해 VRAM_SURFACE_INFO 받으면 멤버 목록의 VramPhysicalAddress 다음 멤버( ullReserved 제외)가 0으로 표시됩니다. 캡처 드라이버는 캡처 관련 프라이빗 데이터를 이러한 멤버에 저장할 수 있습니다.
그런 다음 AVStream은 이 정보를 스트림 헤더에 저장하고 AVStrMiniPinProcess 콜백 함수의 미니드라이버에 반환합니다.
이러한 멤버의 데이터는 스트림 헤더의 수명 동안 유지됩니다. 모든 클론이 삭제되거나 선행 에지가 고급이면 이 데이터에 더 이상 액세스할 수 없습니다.
요구 사항
요구 사항 | 값 |
---|---|
헤더 | ksmedia.h(Ksmedia.h 포함) |