структура 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
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по