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. |