CODECAPI_ALLSETTINGS プロパティは、ミニドライバーによって生成されたデータ ブロックをやり取りするために使用されます。
| 取得 | オン | ターゲット | プロパティ記述子の種類 | プロパティ値の型 |
|---|---|---|---|---|
| イエス | イエス | フィルター | KSPROPERTY | PVOID |
プロパティ値 (操作データ) は PVOID 型で、ミニドライバーによって生成されたデータ ブロックのユーザー モード バッファーへのポインターです。
コメント
プロパティで呼び出しを取得します。
アプリケーションが長さ 0 のバッファーを持つプロパティ取得呼び出しを行う場合、ミニドライバーはSTATUS_BUFFER_OVERFLOWを返し、Irp->IoStatus.Information フィールドに必要なバッファー サイズを指定する必要があります。 長さバッファーが 0 以外の場合、ミニドライバーは、指定されたバッファーがデータ ブロックに対して小さすぎる場合はSTATUS_BUFFER_TOO_SMALLを返す必要があります。それ以外の場合、ミニドライバーは設定を後で復元できるデータ ブロックにパックします。
ミニドライバーがデータを生成したことを示す一意の GUID、循環冗長チェック (CRC)、ヘッダーの長さなど、データ整合性チェックをデータに追加するのはミニドライバーの責任です。
返されるデータは軽量で、現在の設定を再構築するために必要な情報のみが含まれている必要があります。
アプリケーションでは、このプロパティを複数レベルの元に戻したり、プロジェクトと共に保存したりするために使用されます。
プロパティ セット呼び出しの場合:
ミニドライバーは、データの整合性を確認し、データ ブロック のサイズが最大データ サイズ以下であることを確認する必要があります (たとえば、特定のサイズを超えるデータは拒否します)。 また、CRC とヘッダーの長さも確認する必要があります。 ミニドライバーは、CODECAPI_CURRENTCHANGELISTに反映される変更もキャッシュする必要があります。
必要条件
ヘッダー: ksmedia.hで宣言された。 ksmedia.h 含めます。