структура 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 (включая Ntddvdeo.h)

См. также раздел

IOCTL_VIDEO_SHARE_VIDEO_MEMORY

IOCTL_VIDEO_UNSHARE_VIDEO_MEMORY

VIDEO_SHARE_MEMORY_INFORMATION