Win32 API 日本語リファレンス
ホームSecurity.Authorization › IAzOperation

IAzOperation

COMIDispatch (デュアル)
IDispatch を実装(デュアルインターフェース)。HSP では comobj 経由でメソッド名による遅延バインド呼び出しができます(vtableインデックス不要)。
IID5e56b24f-ea01-4d61-be44-c49b5e4eaf74継承元IDispatch呼び出し名前(IDispatch) または vtbl自前メソッド開始 vtbl7

メソッド 12

vtbl = vtable インデックス(0始まり)。IDispatch 実装のため HSP ではメソッド名でも呼べます(上記)。低レベルの index 呼び出し用に vtbl も掲載。0〜2 は IUnknown。

vtbl 7 HRESULT get_Name(LPWSTR* pbstrName)
pbstrNameLPWSTR*out操作の名前を受け取る文字列へのポインタである。
vtbl 8 HRESULT put_Name(LPWSTR bstrName)
bstrNameLPWSTRin操作に設定する名前を指定する。
vtbl 9 HRESULT get_Description(LPWSTR* pbstrDescription)
pbstrDescriptionLPWSTR*out操作の説明文を受け取る文字列へのポインタである。
vtbl 10 HRESULT put_Description(LPWSTR bstrDescription)
bstrDescriptionLPWSTRin操作に設定する説明文を指定する。
vtbl 11 HRESULT get_ApplicationData(LPWSTR* pbstrApplicationData)
pbstrApplicationDataLPWSTR*outアプリケーション固有のデータ文字列を受け取る文字列へのポインタである。
vtbl 12 HRESULT put_ApplicationData(LPWSTR bstrApplicationData)
bstrApplicationDataLPWSTRinアプリケーション固有のデータ文字列を指定する。
vtbl 13 HRESULT get_OperationID(INT* plProp)
plPropINT*out操作を識別する数値の操作 ID を受け取る整数へのポインタである。
vtbl 14 HRESULT put_OperationID(INT lProp)
lPropINTin操作を識別する数値の操作 ID を指定する。
vtbl 15 HRESULT get_Writable(BOOL* pfProp)
pfPropBOOL*out操作が書き込み可能かどうかを示す BOOL 値を受け取るポインタである。
vtbl 16 HRESULT GetProperty(INT lPropId, VARIANT varReserved, VARIANT* pvarProp)
lPropIdINTin取得するプロパティを識別するプロパティ ID を指定する。
varReservedVARIANTin予約済みの引数であり、空の VARIANT を指定する。
pvarPropVARIANT*out取得したプロパティ値を格納する VARIANT を受け取るポインタである。
vtbl 17 HRESULT SetProperty(INT lPropId, VARIANT varProp, VARIANT varReserved)
lPropIdINTin設定するプロパティを識別するプロパティ ID を指定する。
varPropVARIANTin設定するプロパティ値を格納した VARIANT を指定する。
varReservedVARIANTin予約済みの引数であり、空の VARIANT を指定する。
vtbl 18 HRESULT Submit(INT lFlags, VARIANT varReserved)
lFlagsINTin送信時の動作を制御するフラグを指定する。
varReservedVARIANTin予約済みの引数であり、空の VARIANT を指定する。

HSP用 COM定義

#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"

出力引数:
#define global IID_IAzOperation "{5E56B24F-EA01-4D61-BE44-C49B5E4EAF74}"
#usecom global IAzOperation IID_IAzOperation "{}"
#comfunc global IAzOperation_get_Name             7 var
#comfunc global IAzOperation_put_Name             8 wstr
#comfunc global IAzOperation_get_Description      9 var
#comfunc global IAzOperation_put_Description      10 wstr
#comfunc global IAzOperation_get_ApplicationData  11 var
#comfunc global IAzOperation_put_ApplicationData  12 wstr
#comfunc global IAzOperation_get_OperationID      13 var
#comfunc global IAzOperation_put_OperationID      14 int
#comfunc global IAzOperation_get_Writable         15 var
#comfunc global IAzOperation_GetProperty          16 int,int,var
#comfunc global IAzOperation_SetProperty          17 int,int,int
#comfunc global IAzOperation_Submit               18 int,int
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※IDispatch 実装。HSP では comobj 経由でメソッド名による呼び出しも可能(vtbl 不要)。