Поделиться через


структура 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

IOCTL_VIDEO_UNSHARE_VIDEO_MEMORY

VIDEO_SHARE_MEMORY_INFORMATION