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
バスから読み取られたデータを受け取るバッファーへのポインター。 長以上の大きさにする必要があります。
[in] Offset
このパラメーターには、データの読み取り元 DataType で指定された領域のバイト オフセットが含まれます。
[in] Length
このパラメーターは、バッファー に読み取るバイト数指定します。
戻り値
KsDeviceGetBusData は、バスから実際に読み取られたバイト数を返します。 エラーが発生した場合、この値は 0 です。
備考
指定したデバイスが存在するバスのドライバーに応じて、この関数には 2 つの動作と制限セットが考えられます。 指定されたバス ドライバーがバス インターフェイス標準 (通常は PCI) をサポートしている場合は、IRQL = PASSIVE_LEVELまたはDISPATCH_LEVELでこの関数を呼び出します。 このような呼び出しの後、KsDeviceGetBusData は、要求された領域から読み取られた実際のバイト数を返します。 ただし、指定されたバス ドライバーがバス インターフェイス標準をサポートしていない場合、AVStream は、IoCallDriverを介してバス ドライバーと通信します。 これにより、KsDeviceGetBusData の使用は IRQL = PASSIVE_LEVEL に制限され、また、エラーが発生した場合は戻り値が 0 であるか、データの取得が成功した場合 長さ等しいことを意味します。
互換性を確保するために、ミニドライバー ライターは、KsDeviceGetBusData の使用を IRQL = PASSIVE_LEVELに制限することができます。
必要条件
要件 | 価値 |
---|---|
サポートされる最小クライアント | Microsoft Windows XP 以降のオペレーティング システムと DirectX 8.0 以降の DirectX バージョンで使用できます。 |
ターゲット プラットフォーム の | 万国 |
ヘッダー | ks.h (Ks.h を含む) |
ライブラリ | Ks.lib |
IRQL | PASSIVE_LEVEL (「解説」セクションを参照) |
関連項目
IoCallDriver の