次の方法で共有


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 「解説」を参照してください。

こちらもご覧ください

IoCallDriver

KsDeviceGetBusData