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