PMINIPORT_QUERY_DEVICE_ROUTINE função de retorno de chamada (video.h)
HwVidQueryDeviceCallback usa os dados de configuração especificados para configurar seu adaptador e, possivelmente, para preencher informações de configuração ausentes na estrutura VIDEO_PORT_CONFIG_INFO.
Sintaxe
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
)
{...}
Parâmetros
HwDeviceExtension
Ponteiro para a área de armazenamento por adaptador do driver de miniport. Para obter mais informações, consulte de Extensões de Dispositivo.
Context
Ponteiro para o valor de contexto configurado por HwVidFindAdapter. Normalmente, ele aponta para o buffer de VIDEO_PORT_CONFIG_INFO ou para um deslocamento nesse buffer.
DeviceDataType
Especifica o tipo de informações de configuração solicitadas, que é um dos seguintes:
VpBusData
VpCmosData
VpControllerData
VpMachineData
VpMonitorData
Os drivers de miniport de adaptadores de vídeo do tipo x86 geralmente especificam VpBusData, especialmente para adaptadores em ônibus EISA. Os valores VpControllerData e VpMonitorData têm significado apenas em plataformas compatíveis com ARC. Os valores de VpCmosData e VpMachineData raramente são usados.
Identifier
Ponteiro para o nome do dispositivo, conforme determinado pelo firmware ARC. Esse parâmetro deve ser usado apenas em plataformas compatíveis com ARC. Caso contrário, esse ponteiro deverá ser NULL.
IdentiferLength
Especifica o tamanho em bytes do identificador de em buffer cadeia de caracteres. O valor deverá ser zero se o computador não estiver em conformidade com ARC.
ConfigurationData
Ponteiro para dados de configuração de hardware. O formato desses dados é determinado pelo DeviceDataType especificado e pelo valor AdapterInterfaceType no VIDEO_PORT_CONFIG_INFO.
ConfigurationDataLength
Especifica o tamanho em bytes do buffer ConfigurationData. Na verdade, isso indica a quantidade de informações coletadas do registro e armazenadas no buffer ConfigurationData alocado por VideoPortGetDeviceBase.
ComponentInformation
Reservado para uso do sistema.
ComponentInformationLength
Reservado para uso do sistema.
Valor de retorno
HwVidQueryDeviceCallback retorna o status da operação.
Observações
HwVidQueryDeviceCallback é passada em uma chamada para VideoPortGetDeviceData da função HwVidFindAdapter do driver de miniport. VideoPortGetDeviceData chamadas HwVidQueryDeviceCallback após coletar informações de configuração disponíveis no nó \Registry\Machine\Hardware\Description do registro.
HwVidQueryDeviceCallback examina o ConfigurationData, coletado do registro por VideoPortGetDeviceData. Ele usa essas informações para configurar seu adaptador e, possivelmente, para preencher informações de configuração ausentes na estrutura VIDEO_PORT_CONFIG_INFO.
HwVidQueryDeviceCallback não pode passar valores de intervalo de acesso encontrados no ConfigurationData para qualquer VideoPortReadxxx ou VideoPortWritexxx diretamente; esses endereços primeiro devem ser mapeados chamando VideoPortGetDeviceBase.
Se o buffer ConfigurationData não tiver informações de intervalo de acesso e a função de HwVidFindAdapter do driver de miniporto ainda não tiver sido chamada VideoPortGetBusData(ouVideoPortGetAccessRanges), sua função HwVidQueryDeviceCallback pode chamar VideoPortGetBusData. As informações de intervalo de acesso retornadas por VideoPortGetBusData também devem ser passadas para VideoPortVerifyAccessRanges.
Se VideoPortVerifyAccessRanges retornar NO_ERROR, o driver de miniporto poderá chamar VideoPortGetDeviceBase para obter endereços lógicos mapeados que ele pode usar para se comunicar com o adaptador chamando as funções VideoPortReadxxx e/ou VideoPortWritexxx.
Se ele não conseguir obter valores de intervalos de acesso relativos ao barramento chamando VideoPortGetDeviceData, VideoPortGetBusData ou VideoPortGetAccessRanges, um driver de miniporto poderá usar um conjunto de valores de intervalo de acesso padrão fornecidos pelo driver para localizar seu adaptador. Nessas circunstâncias, o driver de miniporto deve chamar VideoPortVerifyAccessRanges com os intervalos de acesso fornecidos pelo miniportor fornecidos pelo driver e, em seguida, chamar VideoPortGetDeviceBase somente se VideoPortVerifyAccessRanges retornado NO_ERROR. Se uma chamada para VideoPortVerifyAccessRanges não for bem-sucedida, um determinado intervalo relativo ao ônibus já estará em uso pelo driver de outro dispositivo.
HwVidQueryDeviceCallback deve ficar paginável.
Requisitos
Requisito | Valor |
---|---|
da Plataforma de Destino | Área de trabalho |
cabeçalho | video.h (inclua Video.h) |