Condividi tramite


Funzione KsDeviceSetBusData (ks.h)

La funzione KsDeviceSetBusData scrive i dati nel bus in cui risiede il dispositivo AVStream specificato.

Sintassi

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

Parametri

[in] Device

Puntatore a una struttura KSDEVICE . Questa routine tenta di scrivere dati nel bus in cui si trova questo dispositivo.

[in] DataType

Questo parametro indica il tipo di dati del bus da scrivere. Zero corrisponde allo spazio di configurazione. Per altre informazioni, vedere la discussione di WhichSpace nella pagina di riferimento per IRP_MN_READ_CONFIG.

[in] Buffer

Puntatore a un buffer contenente i dati da scrivere nel bus. Il numero di byte nel buffer deve essere uguale o maggiore di Length.

[in] Offset

Questo parametro contiene l'offset dei byte nello spazio specificato da DataType in cui vengono scritti i dati.

[in] Length

Questo parametro specifica il numero di byte di dati da scrivere nel bus da Buffer.

Valore restituito

KsDeviceSetBusData restituisce il numero di byte effettivamente scritti nel bus. Nel caso di un errore, la routine restituisce zero. Vedere i dettagli seguenti nella sezione Osservazioni.

Commenti

Questa funzione viene eseguita in modo diverso a seconda del driver del bus in cui risiede il dispositivo specificato. Se il driver del bus supporta lo standard di interfaccia bus (in genere PCI), chiamare questa funzione in IRQL = PASSIVE_LEVEL o DISPATCH_LEVEL. Dopo una chiamata di questo tipo, KsDeviceSetBusData restituisce il numero effettivo di byte scritti nello spazio richiesto.

Se il driver del bus non supporta lo standard dell'interfaccia bus, AVStream comunica con il driver del bus usando IoCallDriver. In questo caso, chiamare KsDeviceSetBusData in IRQL = PASSIVE_LEVEL. Il valore restituito è zero, in caso di errore o uguale a Length se i dati sono stati scritti correttamente.

I driver in esecuzione in Windows 2000 e versioni successive possono effettuare questa chiamata in IRQL = DISPATCH_LEVEL. Tuttavia, per garantire la compatibilità, i writer di minidriver potrebbero voler limitare l'uso di KsDeviceSetBusData a IRQL = PASSIVE_LEVEL.

Requisiti

Requisito Valore
Client minimo supportato Disponibile nei sistemi operativi Microsoft Windows XP e versioni successive e DirectX 8.0 e versioni successive di DirectX.
Piattaforma di destinazione Universale
Intestazione ks.h (include Ks.h)
Libreria Ks.lib
IRQL Vedere la sezione Osservazioni.

Vedi anche

IoCallDriver

KsDeviceGetBusData