ホーム › Media.DirectShow › IBDA_DRIWMDRMSession
IBDA_DRIWMDRMSession
COMメソッド 7
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
| hrLicenseAck | HRESULT | in | ライセンス処理の結果を通知するHRESULT値を渡す入力引数。成功時はS_OK。 |
vtbl 4 HRESULT ProcessLicenseChallenge(DWORD dwcbLicenseMessage, BYTE* pbLicenseMessage, DWORD* pdwcbLicenseResponse, BYTE** ppbLicenseResponse)
| dwcbLicenseMessage | DWORD | in | pbLicenseMessageが指すライセンスチャレンジのバイト長を指定する入力値。 |
| pbLicenseMessage | BYTE* | in | 処理するライセンスチャレンジメッセージデータへの入力ポインタ。 |
| pdwcbLicenseResponse | DWORD* | inout | 生成された応答データのバイト長を受け取る出力ポインタ。 |
| ppbLicenseResponse | BYTE** | inout | 生成されたライセンス応答バッファのアドレスを受け取る出力ポインタ。呼出側が解放する。 |
vtbl 5 HRESULT ProcessRegistrationChallenge(DWORD dwcbRegistrationMessage, BYTE* pbRegistrationMessage, DWORD* pdwcbRegistrationResponse, BYTE** ppbRegistrationResponse)
| dwcbRegistrationMessage | DWORD | in | pbRegistrationMessageが指す登録チャレンジのバイト長を指定する入力値。 |
| pbRegistrationMessage | BYTE* | in | 処理する登録チャレンジメッセージデータへの入力ポインタ。 |
| pdwcbRegistrationResponse | DWORD* | inout | 生成された登録応答データのバイト長を受け取る出力ポインタ。 |
| ppbRegistrationResponse | BYTE** | inout | 生成された登録応答バッファのアドレスを受け取る出力ポインタ。呼出側が解放する。 |
| dwRevInfoLen | DWORD | in | pbRevInfoが指す失効情報のバイト長を指定する入力値。 |
| pbRevInfo | BYTE* | in | 設定する失効情報(Revocation Info)データへの入力ポインタ。 |
| pdwResponse | DWORD* | inout | 失効情報設定処理の応答コードを受け取る出力ポインタ。 |
| dwCrlLen | DWORD | in | pbCrlLenが指す証明書失効リストのバイト長を指定する入力値。 |
| pbCrlLen | BYTE* | in | 設定する証明書失効リスト(CRL)データへの入力ポインタ。 |
| pdwResponse | DWORD* | inout | CRL設定処理の応答コードを受け取る出力ポインタ。 |
vtbl 8 HRESULT GetHMSAssociationData()
| pdwError | DWORD* | inout | 直近に発生したCardea(DRI WMDRM)エラーコードを受け取る出力ポインタ。 |
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
出力引数:
#define global IID_IBDA_DRIWMDRMSession "{05C690F8-56DB-4BB2-B053-79C12098BB26}" #usecom global IBDA_DRIWMDRMSession IID_IBDA_DRIWMDRMSession "{}" #comfunc global IBDA_DRIWMDRMSession_AcknowledgeLicense 3 int #comfunc global IBDA_DRIWMDRMSession_ProcessLicenseChallenge 4 int,var,var,var #comfunc global IBDA_DRIWMDRMSession_ProcessRegistrationChallenge 5 int,var,var,var #comfunc global IBDA_DRIWMDRMSession_SetRevInfo 6 int,var,var #comfunc global IBDA_DRIWMDRMSession_SetCrl 7 int,var,var #comfunc global IBDA_DRIWMDRMSession_GetHMSAssociationData 8 #comfunc global IBDA_DRIWMDRMSession_GetLastCardeaError 9 var ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。#define global IID_IBDA_DRIWMDRMSession "{05C690F8-56DB-4BB2-B053-79C12098BB26}" #usecom global IBDA_DRIWMDRMSession IID_IBDA_DRIWMDRMSession "{}" #comfunc global IBDA_DRIWMDRMSession_AcknowledgeLicense 3 int #comfunc global IBDA_DRIWMDRMSession_ProcessLicenseChallenge 4 int,sptr,sptr,sptr #comfunc global IBDA_DRIWMDRMSession_ProcessRegistrationChallenge 5 int,sptr,sptr,sptr #comfunc global IBDA_DRIWMDRMSession_SetRevInfo 6 int,sptr,sptr #comfunc global IBDA_DRIWMDRMSession_SetCrl 7 int,sptr,sptr #comfunc global IBDA_DRIWMDRMSession_GetHMSAssociationData 8 #comfunc global IBDA_DRIWMDRMSession_GetLastCardeaError 9 sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。