ホーム › Media.WindowsMediaFormat › IWMLicenseRevocationAgent
IWMLicenseRevocationAgent
COMメソッド 2
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
vtbl 3 HRESULT GetLRBChallenge(BYTE* pMachineID, DWORD dwMachineIDLength, BYTE* pChallenge, DWORD dwChallengeLength, BYTE* pChallengeOutput, DWORD* pdwChallengeOutputLength)
| pMachineID | BYTE* | in | 対象マシンの識別子データへのポインタ。 |
| dwMachineIDLength | DWORD | in | マシン識別子データのバイト数。 |
| pChallenge | BYTE* | in | 入力チャレンジデータへのポインタ。 |
| dwChallengeLength | DWORD | in | 入力チャレンジデータのバイト数。 |
| pChallengeOutput | BYTE* | out | 生成したチャレンジ出力を格納するバッファへのポインタ。 |
| pdwChallengeOutputLength | DWORD* | out | チャレンジ出力のサイズを入出力するポインタ。 |
vtbl 4 HRESULT ProcessLRB(BYTE* pSignedLRB, DWORD dwSignedLRBLength, BYTE* pSignedACK, DWORD* pdwSignedACKLength)
| pSignedLRB | BYTE* | in | 署名済みライセンス失効リスト(LRB)データへのポインタ。 |
| dwSignedLRBLength | DWORD | in | 署名済みLRBデータのバイト数。 |
| pSignedACK | BYTE* | out | 生成した署名済み確認応答(ACK)を格納するバッファへのポインタ。 |
| pdwSignedACKLength | DWORD* | out | 署名済みACKのサイズを入出力するポインタ。 |
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
出力引数:
#define global IID_IWMLicenseRevocationAgent "{6967F2C9-4E26-4B57-8894-799880F7AC7B}" #usecom global IWMLicenseRevocationAgent IID_IWMLicenseRevocationAgent "{}" #comfunc global IWMLicenseRevocationAgent_GetLRBChallenge 3 var,int,var,int,var,var #comfunc global IWMLicenseRevocationAgent_ProcessLRB 4 var,int,var,var ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。#define global IID_IWMLicenseRevocationAgent "{6967F2C9-4E26-4B57-8894-799880F7AC7B}" #usecom global IWMLicenseRevocationAgent IID_IWMLicenseRevocationAgent "{}" #comfunc global IWMLicenseRevocationAgent_GetLRBChallenge 3 sptr,int,sptr,int,sptr,sptr #comfunc global IWMLicenseRevocationAgent_ProcessLRB 4 sptr,int,sptr,sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。