Compartilhar via


Função KsDeviceSetBusData (ks.h)

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

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 de 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 do WhichSpace na página de referência do 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 Comprimento.

[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 de Buffer.

Valor de retorno

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.

Observações

Essa função é executada de forma diferente dependendo do driver do ônibus no qual o dispositivo especificado reside. Se o driver de ônibus 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 ônibus 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 posterior 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
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 Consulte a seção Comentários.

Consulte também

do IoCallDriver

KsDeviceGetBusData