struttura VIDEO_PORT_CONFIG_INFO (video.h)
La struttura VIDEO_PORT_CONFIG_INFO contiene informazioni di configurazione dell'adattatore specifiche del bus. Questa struttura viene usata per configurare l'hardware video e fornire al driver della porta video informazioni di configurazione. Il driver della porta video può quindi allocare le risorse di sistema necessarie per il driver miniport e la relativa scheda.
Sintassi
typedef struct _VIDEO_PORT_CONFIG_INFO {
ULONG Length;
ULONG SystemIoBusNumber;
INTERFACE_TYPE AdapterInterfaceType;
ULONG BusInterruptLevel;
ULONG BusInterruptVector;
KINTERRUPT_MODE InterruptMode;
ULONG NumEmulatorAccessEntries;
PEMULATOR_ACCESS_ENTRY EmulatorAccessEntries;
ULONG_PTR EmulatorAccessEntriesContext;
PHYSICAL_ADDRESS VdmPhysicalVideoMemoryAddress;
ULONG VdmPhysicalVideoMemoryLength;
ULONG HardwareStateSize;
ULONG DmaChannel;
ULONG DmaPort;
UCHAR DmaShareable;
UCHAR InterruptShareable;
BOOLEAN Master;
DMA_WIDTH DmaWidth;
DMA_SPEED DmaSpeed;
BOOLEAN bMapBuffers;
BOOLEAN NeedPhysicalAddresses;
BOOLEAN DemandMode;
ULONG MaximumTransferLength;
ULONG NumberOfPhysicalBreaks;
BOOLEAN ScatterGather;
ULONG MaximumScatterGatherChunkSize;
PVIDEO_PORT_GET_PROC_ADDRESS VideoPortGetProcAddress;
PWSTR DriverRegistryPath;
ULONGLONG SystemMemorySize;
} VIDEO_PORT_CONFIG_INFO, *PVIDEO_PORT_CONFIG_INFO;
Membri
Length
Dimensione in byte di questa struttura. Il driver della porta video inizializza sempre il membro length. In effetti, il valore indica la versione di VIDEO_PORT_CONFIG_INFO utilizzata dal sistema. Poiché questa struttura potrebbe aumentare da una versione del sistema alla successiva, un driver miniport deve controllare questo membro per determinare se è almeno dimensione di(VIDEO_PORT_CONFIG_INFO) usato dal driver miniport per configurarne l'adattatore.
SystemIoBusNumber
Specifica il numero assegnato dal sistema del bus di I/O in cui è possibile connettere l'adattatore del driver miniport. Il driver della porta video inizializza sempre questo membro.
AdapterInterfaceType
Specifica il tipo di interfaccia del bus. Il driver della porta video imposta sempre questo membro in base al bus in cui il gestore PnP ha rilevato il dispositivo.
BusInterruptLevel
Questo membro è irrilevante se l'hardware video non genera interrupt, indicato impostando il membro HwInterrupt nella struttura VIDEO_HW_INITIALIZATION_DATA su NULL. In caso contrario, specifica l'IRQL relativo al bus che corrisponde alla richiesta di interrupt in Isa o bus di tipo MicroChannel. Il valore predefinito predefinito del membro è zero. Un driver miniport deve fornire il valore corretto se gestisce gli interrupt per una scheda video su un Isa o bus di tipo MicroChannel oppure per una scheda video configurata per gli interrupt sensibili a livello su un bus di tipo Eisa.
Se la funzione di HwVidFindAdapter di un driver miniport rileva che la scheda video non genera interruzioni o che non è in grado di determinare un vettore di interrupt/livello valido per l'adattatore, HwVidFindAdapter deve impostare sia BusInterruptLevel che BusInterruptVector su zero.
BusInterruptVector
Questo membro è irrilevante se l'hardware video non genera interrupt, indicato impostando il membro HwInterrupt nella struttura VIDEO_HW_INITIALIZATION_DATA su NULL. In caso contrario, specifica il vettore relativo al bus utilizzato dall'hardware video negli autobus di I/O che usano vettori di interrupt, ad esempio bus PCI. Il valore predefinito predefinito del membro è zero.
Se un driver miniport funzione HwVidFindAdapter rileva che la scheda video non genera interrupt o che non è in grado di determinare un vettore di interrupt/livello valido per l'adattatore, HwVidFindAdapter deve impostare sia BusInterruptVector che BusInterruptLevel su zero.
InterruptMode
Indica se l'hardware video usa latch o interrupt di LevelSensitive. Il driver della porta video inizializza questo membro se pertinente, ma un driver miniport con un ISR deve verificare che contenga il valore corretto e reimpostarlo, se necessario.
NumEmulatorAccessEntries
Questo membro e tutti i membri successivi tramite HardwareStateSize sono irrilevanti per i driver miniport che non si dichiarano come driver miniport compatibili con VGA su piattaforme basate su NT x86. Per i driver miniport che non supportano schede SVGA compatibili con VGA in computer basati su x86, questo membro deve essere zero. In caso contrario, specifica il numero di elementi di tipo EMULATOR_ACCESS_RANGE nella matrice seguente.
EmulatorAccessEntries
Puntatore a una matrice di intervalli di accesso dell'emulatore configurati dal driver miniport compatibile con VGA. Ogni intervallo di accesso dell'emulatore deve essere un subset appropriato della matrice di VIDEO_ACCESS_RANGE-type del driver miniport. Ogni elemento specifica un intervallo di porte di I/O da associare all'emulatore V86 e, possibilmente, monitorato da una funzione SvgaHwIoPortXxx fornita dal driver ogni volta che un'applicazione MS-DOS, in esecuzione a schermo intero, tenta di scrivere direttamente nei registri della scheda video. In genere, questa matrice descrive tutti gli intervalli di porte di I/O nella matrice di intervalli di accesso corrispondenti. Se il driver miniport definisce la matrice di voci di accesso dell'emulatore in modo statico nel driver stesso, il driver della porta inizializza questo puntatore a tale matrice. Se NumEmulatorAccessEntries è zero, questo membro è NULL.
EmulatorAccessEntriesContext
Specifica un valore passato con ogni chiamata a una funzione SvgaHwIoPortXxx descritta nella matrice EmulatorAccessEntries. In genere, un driver miniport compatibile con VGA imposta il valore di questo membro sul HwDeviceExtension puntatore o su un offset all'interno dell'estensione del dispositivo, in modo che il driver miniport possa mantenere lo stato, ad esempio le istruzioni inviate dall'applicazione in batch, nella relativa Funzioni svgaHwIoPortXxx.
VdmPhysicalVideoMemoryAddress
Specifica l'indirizzo logico di base (mappato) di un intervallo di memoria video di cui eseguire il mapping nello spazio indirizzi di un VDM per il supporto BIOS INT10 x86. Per i driver miniport che non supportano adattatori compatibili con VGA nei computer basati su x86, questo membro deve essere NULL.
VdmPhysicalVideoMemoryLength
Specifica le dimensioni in byte dell'intervallo di cui è stato eseguito il mapping nello spazio indirizzi di un VDM per il supporto BIOS x86. Per i driver miniport che non supportano adattatori compatibili con VGA nei computer basati su x86, questo membro deve essere zero.
HardwareStateSize
Specifica le dimensioni minime in byte necessarie per archiviare le informazioni sullo stato hardware in risposta a una richiesta di IOCTL_VIDEO_SAVE_HARDWARE_STATE, che deve essere supportata solo dai driver miniport compatibili con VGA nei computer basati su x86. Il valore inizializzato per questo membro è zero. Un driver miniport compatibile con VGA deve impostare questo membro sul numero di byte necessari per mantenere lo stato dell'adattatore salvato.
DmaChannel
Riservato per l'uso del sistema.
DmaPort
Riservato per l'uso del sistema.
DmaShareable
Riservato per l'uso del sistema.
InterruptShareable
Se il dispositivo del driver miniport interrompe, questo membro deve essere impostato su zero se l'interrupt non può essere condiviso con un altro dispositivo o impostato su uno se l'interrupt può essere condiviso. In caso contrario, un driver miniport può ignorare questo membro.
Master
Riservato per l'uso del sistema.
DmaWidth
Riservato per l'uso del sistema.
DmaSpeed
Riservato per l'uso del sistema.
bMapBuffers
Riservato per l'uso del sistema.
NeedPhysicalAddresses
Riservato per l'uso del sistema.
DemandMode
Riservato per l'uso del sistema.
MaximumTransferLength
Riservato per l'uso del sistema.
NumberOfPhysicalBreaks
Riservato per l'uso del sistema.
ScatterGather
Riservato per l'uso del sistema.
MaximumScatterGatherChunkSize
Riservato per l'uso del sistema.
VideoPortGetProcAddress
Puntatore alla routine di callback VideoPortGetProcAddress. Questo membro viene usato per trovare l'indirizzo di una funzione driver di porta video che il driver miniport video può usare senza collegarlo direttamente. Ciò consente l'esecuzione di un file binario del driver in una versione precedente di Windows. Per informazioni dettagliate, vedere Using VideoPortGetProcAddress.
DriverRegistryPath
Puntatore al percorso del Registro di sistema contenente il servizio del dispositivo. Il driver di visualizzazione può usare queste informazioni in qualsiasi modo ritiene utile.
SystemMemorySize
Indica a un driver la quantità, in byte, della memoria fisica nel sistema.
Fabbisogno
Requisito | Valore |
---|---|
intestazione | video.h (includere Video.h) |