Condividi tramite


Funzione KsDeviceGetBusData (ks.h)

La funzione KsDeviceGetBusData legge i dati dal bus in cui risiede il dispositivo AVStream specificato.

Sintassi

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

Parametri

[in] Device

Puntatore alla struttura KSDEVICE che rappresenta il dispositivo AVStream specificato per cui devono essere letti i dati del bus.

[in] DataType

Questo parametro indica il tipo di dati del bus da leggere. 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 che riceve i dati letti dal bus. Deve essere almeno di dimensioni pari a Lunghezza.

[in] Offset

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

[in] Length

Questo parametro specifica il numero di byte da leggere in Buffer.

Valore restituito

KsDeviceGetBusData restituisce il numero di byte effettivamente letti dal bus. Se si verificano errori, questo valore è zero.

Osservazioni

A seconda del driver per il bus in cui risiede il dispositivo specificato, esistono due possibili comportamenti e set di restrizioni per questa funzione. Se il driver del bus specificato supporta lo standard di interfaccia bus (in genere PCI), chiamare questa funzione in IRQL = PASSIVE_LEVEL o DISPATCH_LEVEL. Dopo tale chiamata, KsDeviceGetBusData restituisce il numero effettivo di byte letti dallo spazio richiesto. Se, tuttavia, il driver del bus specificato non supporta lo standard dell'interfaccia del bus, AVStream comunica con l'autista del bus tramite IoCallDriver. Si noti che questo limita l'uso di KsDeviceGetBusData a IRQL = PASSIVE_LEVEL e significa anche che il valore restituito è 0, in caso di errore o uguale a Lunghezza se l'acquisizione dei dati ha avuto esito positivo.

Per garantire la compatibilità, i writer di minidriver possono voler limitare l'uso di KsDeviceGetBusData 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 PASSIVE_LEVEL (vedere la sezione Osservazioni)

Vedere anche

IoCallDriver

KsDeviceSetBusData