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