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

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

Osservazioni

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 tale chiamata, 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 conducente del bus usando IoCallDriver. In questo caso, chiamare KsDeviceSetBusData in IRQL = PASSIVE_LEVEL. Il valore restituito è zero, in caso di errore o uguale a Lunghezza 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 possono voler limitare l'uso di KsDeviceSetBusData a IRQL = PASSIVE_LEVEL.

Fabbisogno

Requisito Valore
client minimo supportato Disponibile in Microsoft Windows XP e nei sistemi operativi successivi e in 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.

Vedere anche

IoCallDriver

KsDeviceGetBusData