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 포함)

추가 정보

AVStrMiniPinProcess

KSPROPERTY_MAP_CAPTURE_HANDLE_TO_VRAM_ADDRESS