IMFOutputSchema
COM公式ドキュメント
出力保護システムとそれに対応する構成データに関する情報をカプセル化します。
解説(Remarks)
出力保護システムの構成情報が DWORD を超える領域を必要としない場合、構成情報は GetConfigurationData メソッドで取得されます。DWORD を超える構成情報が必要な場合は、IMFAttributes インターフェイスを使用して格納されます。
メソッド 3
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
このオブジェクトが表す出力保護システムを取得します。出力保護システムは GUID 値によって識別されます。
| pguidSchemaType | GUID* | out | 出力保護システムを識別する GUID を受け取ります。 |
戻り値
このメソッドは HRESULT を返します。指定できる値には次の表に示すものが含まれますが、これらに限定されません。
| 戻り値 | 説明 |
|---|---|
| メソッドは成功しました。 |
出力保護システムの構成データを返します。構成データは、保護システムを有効または無効にしたり、保護レベルを設定したりするために使用されます。
| pdwVal | DWORD* | out | 構成データを受け取ります。このデータの意味は、出力保護システムによって異なります。 |
戻り値
このメソッドは HRESULT を返します。指定できる値には次の表に示すものが含まれますが、これらに限定されません。
| 戻り値 | 説明 |
|---|---|
| メソッドは成功しました。 |
この出力スキーマ オブジェクトを生成した入力信頼機関 (ITA) を識別する GUID を取得します。
| pguidOriginatorID | GUID* | out | 生成元の ITA を識別する GUID を受け取ります。 |
戻り値
このメソッドは HRESULT を返します。指定できる値には次の表に示すものが含まれますが、これらに限定されません。
| 戻り値 | 説明 |
|---|---|
| メソッドは成功しました。 |
解説(Remarks)
同じ ITA に由来するすべてのポリシー オブジェクトと出力スキーマは、(動的なポリシー変更を含めて) 同じ生成元識別子を返す必要があります。この値により、OTA は異なる ITA に由来するポリシーを区別できるため、OTA は動的ポリシーを正しく更新できます。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
#define global IID_IMFOutputSchema "{7BE0FC5B-ABD9-44FB-A5C8-F50136E71599}" #usecom global IMFOutputSchema IID_IMFOutputSchema "{}" #comfunc global IMFOutputSchema_GetSchemaType 33 var #comfunc global IMFOutputSchema_GetConfigurationData 34 var #comfunc global IMFOutputSchema_GetOriginatorID 35 var ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。#define global IID_IMFOutputSchema "{7BE0FC5B-ABD9-44FB-A5C8-F50136E71599}" #usecom global IMFOutputSchema IID_IMFOutputSchema "{}" #comfunc global IMFOutputSchema_GetSchemaType 33 sptr #comfunc global IMFOutputSchema_GetConfigurationData 34 sptr #comfunc global IMFOutputSchema_GetOriginatorID 35 sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。