ホーム › Media.WindowsMediaFormat › IWMDRMWriter
IWMDRMWriter
COMメソッド 4
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
| pwszKeySeed | LPWSTR | out | 生成されたキーシードを受け取る文字列バッファ。NULLで長さ問い合わせ。 |
| pcwchLength | DWORD* | inout | 入力で確保文字数、出力で必要文字数を示すDWORDポインタ。 |
| pwszKeyID | LPWSTR | out | 生成されたキーIDを受け取る文字列バッファ。NULLで長さ問い合わせ。 |
| pcwchLength | DWORD* | inout | 入力で確保文字数、出力で必要文字数を示すDWORDポインタ。 |
vtbl 5 HRESULT GenerateSigningKeyPair(LPWSTR pwszPrivKey, DWORD* pcwchPrivKeyLength, LPWSTR pwszPubKey, DWORD* pcwchPubKeyLength)
| pwszPrivKey | LPWSTR | out | 生成された署名用秘密鍵を受け取る文字列バッファ。 |
| pcwchPrivKeyLength | DWORD* | inout | 入力で秘密鍵バッファ確保文字数、出力で必要文字数を示すポインタ。 |
| pwszPubKey | LPWSTR | out | 生成された署名用公開鍵を受け取る文字列バッファ。 |
| pcwchPubKeyLength | DWORD* | inout | 入力で公開鍵バッファ確保文字数、出力で必要文字数を示すポインタ。 |
vtbl 6 HRESULT SetDRMAttribute(WORD wStreamNum, LPWSTR pszName, WMT_ATTR_DATATYPE Type, BYTE* pValue, WORD cbLength)
| wStreamNum | WORD | in | 属性を適用するストリーム番号。0で全体を対象とする。 |
| pszName | LPWSTR | in | 設定するDRM属性名を指す広域文字列。 |
| Type | WMT_ATTR_DATATYPE | in | 属性値のデータ型を示すWMT_ATTR_DATATYPE列挙値。 |
| pValue | BYTE* | in | 設定する属性値が格納されたバイトバッファへのポインタ。 |
| cbLength | WORD | in | 属性値のバイト長を指定する。 |
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
出力引数:
#define global IID_IWMDRMWriter "{D6EA5DD0-12A0-43F4-90AB-A3FD451E6A07}" #usecom global IWMDRMWriter IID_IWMDRMWriter "{}" #comfunc global IWMDRMWriter_GenerateKeySeed 3 var,var #comfunc global IWMDRMWriter_GenerateKeyID 4 var,var #comfunc global IWMDRMWriter_GenerateSigningKeyPair 5 var,var,var,var #comfunc global IWMDRMWriter_SetDRMAttribute 6 int,wstr,int,var,int ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。#define global IID_IWMDRMWriter "{D6EA5DD0-12A0-43F4-90AB-A3FD451E6A07}" #usecom global IWMDRMWriter IID_IWMDRMWriter "{}" #comfunc global IWMDRMWriter_GenerateKeySeed 3 sptr,sptr #comfunc global IWMDRMWriter_GenerateKeyID 4 sptr,sptr #comfunc global IWMDRMWriter_GenerateSigningKeyPair 5 sptr,sptr,sptr,sptr #comfunc global IWMDRMWriter_SetDRMAttribute 6 int,wstr,int,sptr,int ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。