IOCTL_VIDEO_SHARE_VIDEO_MEMORY IOCTL (ntdvertitaeo.h)
Questo IOCTL viene chiamato da un processo che condividerà la memoria video in modalità utente come buffer di fotogrammi lineare. I driver Miniport gestiscono questo IOCTL eseguendo il mapping del buffer dei fotogrammi nello spazio indirizzi del chiamante con VideoPortMapBankedMemory. In caso contrario, questo IOCTL è uguale a IOCTL_VIDEO_MAP_VIDEO_MEMORY.
Questa richiesta è modale e non modale: il driver miniport deve restituire le dimensioni della posizione del buffer dei fotogrammi all'interno della memoria video e le dimensioni e la posizione del buffer dei fotogrammi possono variare da modalità a modalità (caratteristica modale), ma una successiva operazione in modalità set (alla stessa modalità) non deve causare la modifica della posizione della memoria video (caratteristica nondala).
Questo IOCTL è solo DCI.
Codice principale
Buffer di input
InputBuffer VRP contiene una struttura VIDEO_SHARE_MEMORY che specifica un handle per il processo che esegue il mapping del buffer dei frame e le dimensioni e l'offset della vista richiesti nella memoria condivisa. Le dimensioni della visualizzazione più l'offset non devono superare le dimensioni di memoria dell'adattatore.
Buffer di output
Il driver miniport restituisce la struttura VIDEO_SHARE_MEMORY_INFORMATIONnell'outputbuffer VRP. Questo output contiene l'indirizzo virtuale in cui viene eseguito il mapping della memoria video, le dimensioni della visualizzazione in byte della memoria mappata e l'offset nella visualizzazione.
Blocco dello stato
Se il driver miniport esegue correttamente il mapping della memoria, imposta il membro Informazioni della struttura STATUS_BLOCK su sizeof(VIDEO_SHARE_MEMORY_INFORMATION); in caso contrario, il driver miniport imposta questo membro su zero.
Requisiti
Requisito | Valore |
---|---|
Intestazione | ntdvertitaeo.h |