Condividi tramite


struttura VIDEO_SHARE_MEMORY (ntdvertitaeo.h)

La struttura VIDEO_SHARE_MEMORY viene usata in una richiesta al driver miniport video per un blocco di memoria in modalità utente da condividere con il processo specificato.

Sintassi

typedef struct _VIDEO_SHARE_MEMORY {
  HANDLE ProcessHandle;
  ULONG  ViewOffset;
  ULONG  ViewSize;
  PVOID  RequestedVirtualAddress;
} VIDEO_SHARE_MEMORY, *PVIDEO_SHARE_MEMORY;

Members

ProcessHandle

Handle per il processo corrente. Questo membro è in genere impostato su NtCurrentProcess, una macro definita in Ntddk.h.

ViewOffset

Indica l'offset di byte dall'inizio del buffer del frame. Questo membro è in genere impostato su 0.

ViewSize

Indica le dimensioni, in byte, del buffer dei frame.

RequestedVirtualAddress

Indica la posizione del buffer dei frame richiesti nella memoria del processo. Questo membro è in genere impostato su NULL, il che significa che il writer del driver di visualizzazione non si occupa della posizione precisa della memoria richiesta. Se questo membro è impostato su un valore diverso da NULL , il writer del driver di visualizzazione intende che il buffer dei frame si trovi in tale indirizzo. In questo caso, il writer del driver di visualizzazione deve essere certo che il percorso specificato non sia già in uso per un altro scopo.

Commenti

VIDEO_SHARE_MEMORY viene fornito in modo che le applicazioni come Direct Draw possano avere una visualizzazione della memoria video. Anche se il driver di visualizzazione non è in grado di fornire direttamente tale accesso alla memoria video, può chiamare nel driver miniport video per questo scopo. Il driver di visualizzazione esegue questa operazione inviando una richiesta di IOCTL_VIDEO_SHARE_VIDEO_MEMORY al driver miniport. Quando il driver miniport soddisfa questa richiesta, usa le informazioni nella struttura VIDEO_SHARE_MEMORY e compila una struttura VIDEO_SHARE_MEMORY_INFORMATION con la posizione effettiva della memoria richiesta, se non è stata specificata alcuna posizione. Quando l'applicazione non necessita più della memoria condivisa, il driver di visualizzazione può rilasciare questa memoria effettuando una richiesta di IOCTL_VIDEO_UNSHARE_VIDEO_MEMORY , che usa anche una struttura VIDEO_SHARE_MEMORY come buffer di input.

Per le strutture usate nel mapping nella memoria video in modalità kernel, vedere VIDEO_MEMORY e VIDEO_MEMORY_INFORMATION.

Requisiti

Requisito Valore
Intestazione ntdvertitaeo.h (include Ntdvertitaeo.h)

Vedi anche

IOCTL_VIDEO_SHARE_VIDEO_MEMORY

IOCTL_VIDEO_UNSHARE_VIDEO_MEMORY

VIDEO_SHARE_MEMORY_INFORMATION