KsDeviceGetBusData 関数 (ks.h)
KsDeviceGetBusData 関数は、指定された AVStream デバイスが存在するバスからデータを読み取ります。
構文
KSDDKAPI ULONG KsDeviceGetBusData(
[in] PKSDEVICE Device,
[in] ULONG DataType,
[in] PVOID Buffer,
[in] ULONG Offset,
[in] ULONG Length
);
パラメーター
[in] Device
バスからのデータを読み取る必要がある特定の AVStream デバイスを表す KSDEVICE 構造体へのポインター。
[in] DataType
このパラメーターは、読み取るバス データの種類を示します。 ゼロは構成領域に対応します。 詳細については、IRP_MN_READ_CONFIGのリファレンス ページの WhichSpace に関する説明を参照してください。
[in] Buffer
バスから読み取られたデータを受信するバッファーへのポインター。 少なくとも Length と同じ大きさにする必要があります。
[in] Offset
このパラメーターには、データの読み取り元である DataType で指定されたスペース内のバイト オフセットが含まれます。
[in] Length
このパラメーターは、Buffer に読み取るバイト数を指定 します。
戻り値
KsDeviceGetBusData は、バスから実際に読み取られたバイト数を返します。 エラーが発生した場合、この値は 0 です。
注釈
指定したデバイスが存在するバスのドライバーに応じて、この関数には 2 つの動作と制限セットが考えられます。 指定されたバス ドライバーがバス インターフェイス標準 (通常は PCI) をサポートしている場合は、IRQL = PASSIVE_LEVELまたはDISPATCH_LEVELのいずれかでこの関数を呼び出します。 このような呼び出しの後、 KsDeviceGetBusData は、要求された領域から読み取られた実際のバイト数を返します。 ただし、指定されたバス ドライバーがバス インターフェイス標準をサポートしていない場合、AVStream は IoCallDriver を介してバス ドライバーと通信します。 これにより 、KsDeviceGetBusData の使用は IRQL = PASSIVE_LEVELに制限されます。また、エラーが発生した場合は戻り値が 0 であるか、データ取得が成功した場合は Length と等しいことを意味します。
互換性を確保するために、ミニドライバー ライターは KsDeviceGetBusData の使用を IRQL = PASSIVE_LEVELに制限する必要があります。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Microsoft Windows XP 以降のオペレーティング システムおよび DirectX 8.0 以降の DirectX バージョンで使用できます。 |
対象プラットフォーム | ユニバーサル |
Header | ks.h (Ks.h を含む) |
Library | Ks.lib |
IRQL | PASSIVE_LEVEL (「解説」セクションを参照) |