структура VIDEO_SHARE_MEMORY (ntddvdeo.h)
Структура VIDEO_SHARE_MEMORY используется в запросе к драйверу видеопорта для общего доступа к заданному процессу блок памяти в режиме пользователя.
Синтаксис
typedef struct _VIDEO_SHARE_MEMORY {
HANDLE ProcessHandle;
ULONG ViewOffset;
ULONG ViewSize;
PVOID RequestedVirtualAddress;
} VIDEO_SHARE_MEMORY, *PVIDEO_SHARE_MEMORY;
Члены
ProcessHandle
Дескриптор текущего процесса. Обычно этот элемент имеет значение NtCurrentProcess, макрос, определенный в Ntddk.h.
ViewOffset
Указывает смещение байтов с начала буфера кадра . Обычно этот элемент имеет значение 0.
ViewSize
Указывает размер буфера кадра в байтах.
RequestedVirtualAddress
Указывает расположение запрошенного буфера кадров в памяти процесса. Обычно этот элемент имеет значение NULL, что означает, что модуль записи драйвера отображения не заботится о точном расположении запрошенной памяти. Если для этого элемента задано значение, отличное отNULL, модуль записи драйвера отображения намерен разместить буфер кадра по этому адресу. В этом случае модуль записи драйвера отображения должен быть уверен, что указанное расположение еще не используется для другой цели.
Замечания
VIDEO_SHARE_MEMORY предоставляется таким образом, чтобы такие приложения, как Direct Draw, могли просматривать память видео. Хотя драйвер дисплея не может напрямую предоставить такой доступ к памяти видео, он может вызвать драйвер видеопорта для этой цели. Драйвер отображения делает это, отправив IOCTL_VIDEO_SHARE_VIDEO_MEMORY запрос на минипорт-драйвер. Когда драйвер минипорта выполняет этот запрос, он использует сведения в структуре VIDEO_SHARE_MEMORY и заполняет структуру VIDEO_SHARE_MEMORY_INFORMATION фактическим расположением запрошенной памяти, если расположение не указано. Если приложению больше не нужна общая память, драйвер отображения может освободить эту память, выполнив запрос IOCTL_VIDEO_UNSHARE_VIDEO_MEMORY, который также использует структуру VIDEO_SHARE_MEMORY в качестве входного буфера.
Структуры, используемые в сопоставлении с памятью видео в режиме ядра, см. в VIDEO_MEMORY и VIDEO_MEMORY_INFORMATION.
Требования
Требование | Ценность |
---|---|
заголовка | ntddvdeo.h (include Ntddvdeo.h) |
См. также
IOCTL_VIDEO_SHARE_VIDEO_MEMORY