VIDEO_SHARE_MEMORY_INFORMATION 구조체(ntddvdeo.h)
VIDEO_SHARE_MEMORY_INFORMATION 구조체는 사용자 모드 메모리 블록에 대한 요청이 처리되었음을 디스플레이 드라이버와 통신하는 데 사용됩니다.
구문
typedef struct _VIDEO_SHARE_MEMORY_INFORMATION {
ULONG SharedViewOffset;
ULONG SharedViewSize;
PVOID VirtualAddress;
} VIDEO_SHARE_MEMORY_INFORMATION, *PVIDEO_SHARE_MEMORY_INFORMATION;
멤버
SharedViewOffset
프레임 버퍼의 시작 부분부터 오프셋(바이트)을 나타냅니다.
SharedViewSize
프레임 버퍼의 크기(바이트)를 나타냅니다. 이 멤버의 값은 항상 64KB의 배수입니다.
VirtualAddress
요청된 메모리가 매핑된 가상 메모리의 주소를 나타냅니다.
설명
애플리케이션이 사용자 모드 비디오 메모리에 액세스할 수 있어야 하는 경우 디스플레이 드라이버는 IOCTL_VIDEO_SHARE_VIDEO_MEMORY 요청을 전송하여 비디오 미니포트 드라이버를 호출할 수 있습니다. 미니포트 드라이버는 VIDEO_SHARE_MEMORY 구조를 입력 버퍼로 사용하고 VIDEO_SHARE_MEMORY_INFORMATION 구조체를 디스플레이 드라이버에 다시 전달합니다.
비디오 미니포트 드라이버는 VIDEO_SHARE_MEMORY 구조의 정보에 따라 VIDEO_SHARE_MEMORY_INFORMATION 구조를 채웁니다. 다음 표에는 정보가 사용되는 방법이 요약되어 있습니다.
VIDEO_SHARE_MEMORY 멤버 | VIDEO_SHARE_MEMORY_INFORMATION 결과 |
---|---|
ProcessHandle | 사용되지 않습니다. |
ViewOffset | SharedViewOffset에 직접 복사됩니다. |
ViewSize | 64KB의 배수인 값은 SharedViewSize에 직접 복사됩니다. 다른 값은 64KB의 다음 큰 배수로 반올림됩니다. |
RequestedVirtualAddress | NULL인 경우 미니포트 드라이버는 VirtualAddress에 할당할 프레임 버퍼의 주소를 결정합니다. NULL이 아닌 경우 미니포트 드라이버는 해당 값을 VirtualAddress에 할당하려고 시도합니다. |
요구 사항
요구 사항 | 값 |
---|---|
헤더 | ntddvdeo.h(Ntddvdeo.h 포함) |