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 de 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 do WhichSpace na página de referência do 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 em buffer.
Valor de retorno
KsDeviceGetBusData retorna o número de bytes realmente lidos do barramento. Se ocorrer um erro, esse valor será zero.
Observações
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 ônibus determinado 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 determinado não der suporte ao padrão de interface de ônibus, o AVStream se comunicará com o motorista do ônibus por 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 tiver sido bem-sucedida.
Para garantir a compatibilidade, os gravadores de minidriver podem querer restringir o uso de KsDeviceGetBusData para IRQL = PASSIVE_LEVEL.
Requisitos
Requisito | Valor |
---|---|
de cliente com suporte mínimo | Disponível no Microsoft Windows XP e em sistemas operacionais posteriores e no DirectX 8.0 e versões posteriores do DirectX. |
da Plataforma de Destino | Universal |
cabeçalho | ks.h (incluir Ks.h) |
biblioteca | Ks.lib |
IRQL | PASSIVE_LEVEL (seção Ver Comentários) |