Função KsDeviceGetBusData (ks.h)
A função KsDeviceGetBusData lê dados do barramento onde reside o dispositivo AVStream especificado.
Sintaxe
KSDDKAPI ULONG KsDeviceGetBusData(
[in] PKSDEVICE Device,
[in] ULONG DataType,
[in] PVOID Buffer,
[in] ULONG Offset,
[in] ULONG Length
);
Parâmetros
[in] Device
Um ponteiro para a estrutura KSDEVICE que representa o dispositivo AVStream fornecido para o qual os dados do barramento devem ser lidos.
[in] DataType
Esse parâmetro indica o tipo de dados de barramento a serem lidos. Zero corresponde ao espaço de configuração. Para obter mais informações, consulte a discussão de WhichSpace na página de referência para IRP_MN_READ_CONFIG.
[in] Buffer
Um ponteiro para um buffer que recebe os dados lidos do barramento. Deve ser pelo menos tão grande quanto Length.
[in] Offset
Esse parâmetro contém o deslocamento de bytes no espaço especificado por DataType do qual os dados são lidos.
[in] Length
Esse parâmetro especifica o número de bytes a serem lidos no Buffer.
Retornar valor
KsDeviceGetBusData retorna o número de bytes realmente lidos do barramento. Se ocorrer um erro, esse valor será zero.
Comentários
Dependendo do driver do barramento em que o dispositivo especificado reside, há dois comportamentos possíveis e conjuntos de restrições nessa função. Se o driver de barramento especificado der suporte ao padrão de interface de barramento (geralmente PCI), chame essa função em IRQL = PASSIVE_LEVEL ou DISPATCH_LEVEL. Após essa chamada, KsDeviceGetBusData retorna o número real de bytes lidos do espaço solicitado. Se, no entanto, o driver de ônibus fornecido não der suporte ao padrão de interface de barramento, o AVStream se comunicará com o motorista do ônibus por meio de IoCallDriver. Observe que isso restringe o uso de KsDeviceGetBusData para IRQL = PASSIVE_LEVEL e também significa que o valor retornado é 0, no caso de falha, ou igual a Length se a aquisição de dados foi bem-sucedida.
Para garantir a compatibilidade, os gravadores de minidriver podem querer restringir o uso de KsDeviceGetBusData para IRQL = PASSIVE_LEVEL.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Disponível no Microsoft Windows XP e em sistemas operacionais posteriores e no DirectX 8.0 e versões posteriores do DirectX. |
Plataforma de Destino | Universal |
Cabeçalho | ks.h (inclua Ks.h) |
Biblioteca | Ks.lib |
IRQL | PASSIVE_LEVEL (consulte a seção Comentários) |