PMINIPORT_QUERY_DEVICE_ROUTINE funzione di callback (video.h)

HwVidQueryDeviceCallback usa i dati di configurazione specificati per configurare la scheda e, possibilmente, per inserire informazioni di configurazione mancanti nella struttura VIDEO_PORT_CONFIG_INFO .

Sintassi

PMINIPORT_QUERY_DEVICE_ROUTINE PminiportQueryDeviceRoutine;

VP_STATUS PminiportQueryDeviceRoutine(
  PVOID HwDeviceExtension,
  PVOID Context,
  VIDEO_DEVICE_DATA_TYPE DeviceDataType,
  PVOID Identifier,
  ULONG IdentiferLength,
  PVOID ConfigurationData,
  ULONG ConfigurationDataLength,
  PVOID ComponentInformation,
  ULONG ComponentInformationLength
)
{...}

Parametri

HwDeviceExtension

Puntatore all'area di archiviazione per scheda del driver miniport. Per altre informazioni, vedere Estensioni del dispositivo.

Context

Puntatore al valore di contesto impostato da HwVidFindAdapter. In genere punta al buffer VIDEO_PORT_CONFIG_INFO o a un offset in tale buffer.

DeviceDataType

Specifica il tipo di informazioni di configurazione richieste, ovvero una delle seguenti:

VpBusData

VpCmosData

VpControllerData

VpMachineData

VpMonitorData

I driver miniport di schede video di tipo x86 specificano in genere VpBusData, in particolare per le schede sugli autobus EISA. I valori VpControllerData e VpMonitorData hanno significato solo nelle piattaforme conformi ad ARC. I valori VpCmosData e VpMachineData vengono usati raramente.

Identifier

Puntatore al nome del dispositivo come determinato dal firmware ARC. Questo parametro deve essere usato solo nelle piattaforme conformi ad ARC. In caso contrario, questo puntatore deve essere NULL.

IdentiferLength

Specifica le dimensioni in byte della stringa identificatore memorizzata nel buffer. Il valore deve essere zero se il computer non è conforme ad ARC.

ConfigurationData

Puntatore ai dati di configurazione hardware. Il formato di questi dati è determinato dal valore DeviceDataType specificato e dal valore AdapterInterfaceType nel VIDEO_PORT_CONFIG_INFO.

ConfigurationDataLength

Specifica le dimensioni in byte del buffer ConfigurationData . In effetti, ciò indica la quantità di informazioni raccolte dal Registro di sistema e archiviate nel buffer ConfigurationData allocato da VideoPortGetDeviceBase.

ComponentInformation

Riservato per l'utilizzo nel sistema.

ComponentInformationLength

Riservato per l'utilizzo nel sistema.

Valore restituito

HwVidQueryDeviceCallback restituisce lo stato dell'operazione.

Commenti

HwVidQueryDeviceCallback viene passato in una chiamata a VideoPortGetDeviceData dalla funzione HwVidFindAdapter del driver miniport. VideoPortGetDeviceData chiama HwVidQueryDeviceCallback dopo aver raccolto le informazioni di configurazione disponibili nel nodo \Registry\Machine\Hardware\Description del Registro di sistema.

HwVidQueryDeviceCallback esamina ConfigurationData, raccolto dal Registro di sistema da VideoPortGetDeviceData. Usa queste informazioni per configurare l'adattatore e, possibilmente, per inserire le informazioni di configurazione mancanti nella struttura VIDEO_PORT_CONFIG_INFO .

HwVidQueryDeviceCallback non può passare direttamente i valori dell'intervallo di accesso trovati in ConfigurationData a qualsiasi VideoPortReadXxx o VideoPortWriteXxx ; Tali indirizzi devono prima essere mappati chiamando VideoPortGetDeviceBase.

Se il buffer ConfigurationData non ha informazioni sull'intervallo di accesso e la funzione HwVidFindAdapter del driver miniport non ha già chiamato VideoPortGetBusData (o VideoPortGetAccessRanges), la relativa funzione HwVidQueryDeviceCallback può chiamare VideoPortGetBusData. Le informazioni sull'intervallo di accesso restituite da VideoPortGetBusData devono anche essere passate a VideoPortVerifyAccessRanges.

Se VideoPortVerifyAccessRanges restituisce NO_ERROR, il driver miniport può chiamare VideoPortGetDeviceBase per ottenere indirizzi logici mappati che può usare per comunicare con la scheda chiamando le funzioni VideoPortReadXxx e/o VideoPortWriteXxx .

Se non riesce a ottenere valori degli intervalli di accesso relativi al bus chiamando VideoPortGetDeviceData, VideoPortGetBusData o VideoPortGetAccessRanges, un driver miniport può usare un set di valori di intervallo di accesso predefiniti forniti dal driver per trovare la scheda. In queste circostanze, il driver miniport deve chiamare VideoPortVerifyAccessRanges con gli intervalli di accesso forniti dal driver miniport e quindi chiamare VideoPortGetDeviceBase solo se VideoPortVerifyAccessRanges ha restituito NO_ERROR. Se una chiamata a VideoPortVerifyAccessRanges non riesce, un determinato intervallo relativo al bus è già in uso dal driver di un altro dispositivo.

HwVidQueryDeviceCallback deve essere reso pageable.

Requisiti

Requisito Valore
Piattaforma di destinazione Desktop
Intestazione video.h (include Video.h)

Vedi anche

VideoPortGetAccessRanges

VideoPortGetBusData

VideoPortGetDeviceBase

VideoPortGetDeviceData

VideoPortVerifyAccessRanges