IOCTL_VIDEO_SHARE_VIDEO_MEMORY IOCTL (ntddvdeo.h)
Diese IOCTL wird von einem Prozess aufgerufen, der den Videospeicher im Benutzermodus als linearen Framepuffergemeinsam verwendet. Miniporttreiber behandeln diese IOCTL, indem der Framepuffer dem Adressraum des Aufrufers mit VideoPortMapBankedMemory-zugeordnet wird. Andernfalls ist diese IOCTL mit IOCTL_VIDEO_MAP_VIDEO_MEMORYidentisch.
Diese Anforderung ist sowohl modal als auch nicht modal: Der Miniporttreiber muss die Positionsgröße des Framepuffers innerhalb des Videospeichers zurückgeben, und die Framepuffergröße und -position können vom Modus zum Modus (modale Eigenschaft) variieren, aber ein nachfolgender Set-Mode-Vorgang (im selben Modus) darf den Videospeicher nicht dazu führen, den Speicherort zu ändern (nichtmodale Eigenschaft).
Diese IOCTL ist nur DCI.
Hauptcode
Eingabepuffer
Die VRP-InputBuffer- enthält eine VIDEO_SHARE_MEMORY Struktur, die ein Handle für die Prozesszuordnung des Framepuffers sowie die angeforderte Ansichtsgröße und den Offset in den freigegebenen Speicher angibt. Die Ansichtsgröße und der Offset dürfen die Speichergröße des Adapters nicht überschreiten.
Ausgabepuffer
Der Miniporttreiber gibt die VIDEO_SHARE_MEMORY_INFORMATION Struktur in der VRP-OutputBuffer-zurück. Diese Ausgabe enthält die virtuelle Adresse, an der der Videospeicher zugeordnet ist, die Ansichtsgröße in Byte des zugeordneten Speichers und den Offset in die Ansicht.
Statusblock
Wenn der Miniporttreiber den Speicher erfolgreich zuordnet, wird das Information Member der STATUS_BLOCK Struktur auf Größe(VIDEO_SHARE_MEMORY_INFORMATION) festgelegt; andernfalls legt der Miniporttreiber dieses Element auf Null fest.
Anforderungen
Anforderung | Wert |
---|---|
Header- | ntddvdeo.h |