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