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 di almeno la lunghezza.

[in] Offset

Questo parametro contiene l'offset di 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 verifica un errore, questo valore è zero.

Commenti

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 una chiamata di questo tipo, 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 il driver dell'autobus 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 Length 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.

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 PASSIVE_LEVEL (vedere la sezione Osservazioni)

Vedi anche

IoCallDriver

KsDeviceSetBusData