Compartilhar via


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)

Confira também

IoCallDriver

KsDeviceSetBusData