Share via


Função KsDeviceSetBusData (ks.h)

A função KsDeviceSetBusData grava dados no barramento no qual o dispositivo AVStream especificado reside.

Sintaxe

KSDDKAPI ULONG KsDeviceSetBusData(
  [in] PKSDEVICE Device,
  [in] ULONG     DataType,
  [in] PVOID     Buffer,
  [in] ULONG     Offset,
  [in] ULONG     Length
);

Parâmetros

[in] Device

Um ponteiro para uma estrutura KSDEVICE . Essa rotina tenta gravar dados no barramento no qual esse dispositivo reside.

[in] DataType

Esse parâmetro indica o tipo de dados de barramento a serem gravados. 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 contém os dados a serem gravados no barramento. O número de bytes no buffer deve ser igual ou maior que Length.

[in] Offset

Esse parâmetro contém o deslocamento de bytes para o espaço especificado por DataType em que os dados são gravados.

[in] Length

Esse parâmetro especifica o número de bytes de dados a serem gravados no barramento do Buffer.

Retornar valor

KsDeviceSetBusData retorna o número de bytes realmente gravados no barramento. No caso de um erro, a rotina retorna zero. Veja os detalhes abaixo na seção Comentários.

Comentários

Essa função é executada de forma diferente dependendo do driver do barramento no qual o dispositivo especificado reside. Se o driver de barramento der suporte ao padrão de interface do barramento (geralmente PCI), chame essa função em IRQL = PASSIVE_LEVEL ou DISPATCH_LEVEL. Após essa chamada, KsDeviceSetBusData retorna o número real de bytes gravados no espaço solicitado.

Se o motorista do barramento não der suporte ao padrão de interface de barramento, o AVStream se comunicará com o motorista do ônibus usando IoCallDriver. Nesse caso, chame KsDeviceSetBusData em IRQL = PASSIVE_LEVEL. O valor retornado é zero, no caso de falha ou igual a Length se os dados tiverem sido gravados com êxito.

Os drivers em execução no Windows 2000 e posteriores podem fazer essa chamada em IRQL = DISPATCH_LEVEL. No entanto, para garantir a compatibilidade, os gravadores de minidriver podem querer restringir o uso de KsDeviceSetBusData 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 Consulte a seção Observações.

Confira também

IoCallDriver

KsDeviceGetBusData