Win32 API 日本語リファレンス
ホームNetworking.ActiveDirectory › IADsClass

IADsClass

COMIDispatch (デュアル)
IDispatch を実装(デュアルインターフェース)。HSP では comobj 経由でメソッド名による遅延バインド呼び出しができます(vtableインデックス不要)。
IIDc8f93dd0-4ae0-11cf-9e73-00aa004a5691継承元IADs呼び出し名前(IDispatch) または vtbl自前メソッド開始 vtbl20

メソッド 30

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

vtbl 20 HRESULT get_PrimaryInterface(LPWSTR* retval)
retvalLPWSTR*outクラスのプライマリインターフェイスのIIDを文字列で受け取る出力ポインタ。
vtbl 21 HRESULT get_CLSID(LPWSTR* retval)
retvalLPWSTR*outクラスのCLSIDを文字列で受け取る出力ポインタ。
vtbl 22 HRESULT put_CLSID(LPWSTR bstrCLSID)
bstrCLSIDLPWSTRin設定するクラスのCLSIDを示す文字列。
vtbl 23 HRESULT get_OID(LPWSTR* retval)
retvalLPWSTR*outクラスのオブジェクト識別子(OID)を示す文字列を受け取る出力ポインタ。
vtbl 24 HRESULT put_OID(LPWSTR bstrOID)
bstrOIDLPWSTRin設定するクラスのオブジェクト識別子(OID)を示す文字列。
vtbl 25 HRESULT get_Abstract(VARIANT_BOOL* retval)
retvalVARIANT_BOOL*outクラスが抽象クラスならVARIANT_TRUEを受け取るVARIANT_BOOL出力ポインタ。
vtbl 26 HRESULT put_Abstract(VARIANT_BOOL fAbstract)
fAbstractVARIANT_BOOLinクラスを抽象クラスにする場合にVARIANT_TRUEを指定する。
vtbl 27 HRESULT get_Auxiliary(VARIANT_BOOL* retval)
retvalVARIANT_BOOL*outクラスが補助クラスならVARIANT_TRUEを受け取るVARIANT_BOOL出力ポインタ。
vtbl 28 HRESULT put_Auxiliary(VARIANT_BOOL fAuxiliary)
fAuxiliaryVARIANT_BOOLinクラスを補助クラスにする場合にVARIANT_TRUEを指定する。
vtbl 29 HRESULT get_MandatoryProperties(VARIANT* retval)
retvalVARIANT*out必須プロパティ名の配列を保持するVARIANTを受け取る出力ポインタ。
vtbl 30 HRESULT put_MandatoryProperties(VARIANT vMandatoryProperties)
vMandatoryPropertiesVARIANTin設定する必須プロパティ名の配列を保持するVARIANT。
vtbl 31 HRESULT get_OptionalProperties(VARIANT* retval)
retvalVARIANT*out任意プロパティ名の配列を保持するVARIANTを受け取る出力ポインタ。
vtbl 32 HRESULT put_OptionalProperties(VARIANT vOptionalProperties)
vOptionalPropertiesVARIANTin設定する任意プロパティ名の配列を保持するVARIANT。
vtbl 33 HRESULT get_NamingProperties(VARIANT* retval)
retvalVARIANT*out名前付けに使うプロパティ名の配列を保持するVARIANTを受け取る出力ポインタ。
vtbl 34 HRESULT put_NamingProperties(VARIANT vNamingProperties)
vNamingPropertiesVARIANTin設定する名前付け用プロパティ名の配列を保持するVARIANT。
vtbl 35 HRESULT get_DerivedFrom(VARIANT* retval)
retvalVARIANT*out継承元クラス名の配列を保持するVARIANTを受け取る出力ポインタ。
vtbl 36 HRESULT put_DerivedFrom(VARIANT vDerivedFrom)
vDerivedFromVARIANTin設定する継承元クラス名の配列を保持するVARIANT。
vtbl 37 HRESULT get_AuxDerivedFrom(VARIANT* retval)
retvalVARIANT*out継承する補助クラス名の配列を保持するVARIANTを受け取る出力ポインタ。
vtbl 38 HRESULT put_AuxDerivedFrom(VARIANT vAuxDerivedFrom)
vAuxDerivedFromVARIANTin設定する継承補助クラス名の配列を保持するVARIANT。
vtbl 39 HRESULT get_PossibleSuperiors(VARIANT* retval)
retvalVARIANT*out親になりうるクラス名の配列を保持するVARIANTを受け取る出力ポインタ。
vtbl 40 HRESULT put_PossibleSuperiors(VARIANT vPossibleSuperiors)
vPossibleSuperiorsVARIANTin設定する親になりうるクラス名の配列を保持するVARIANT。
vtbl 41 HRESULT get_Containment(VARIANT* retval)
retvalVARIANT*out格納可能な子クラス名の配列を保持するVARIANTを受け取る出力ポインタ。
vtbl 42 HRESULT put_Containment(VARIANT vContainment)
vContainmentVARIANTin設定する格納可能な子クラス名の配列を保持するVARIANT。
vtbl 43 HRESULT get_Container(VARIANT_BOOL* retval)
retvalVARIANT_BOOL*outクラスがコンテナならVARIANT_TRUEを受け取るVARIANT_BOOL出力ポインタ。
vtbl 44 HRESULT put_Container(VARIANT_BOOL fContainer)
fContainerVARIANT_BOOLinクラスをコンテナにする場合にVARIANT_TRUEを指定する。
vtbl 45 HRESULT get_HelpFileName(LPWSTR* retval)
retvalLPWSTR*outクラスのヘルプファイル名を示す文字列を受け取る出力ポインタ。
vtbl 46 HRESULT put_HelpFileName(LPWSTR bstrHelpFileName)
bstrHelpFileNameLPWSTRin設定するクラスのヘルプファイル名を示す文字列。
vtbl 47 HRESULT get_HelpFileContext(INT* retval)
retvalINT*outヘルプファイル内のコンテキストID(トピック番号)を受け取る出力ポインタ。
vtbl 48 HRESULT put_HelpFileContext(INT lnHelpFileContext)
lnHelpFileContextINTin設定するヘルプファイル内のコンテキストID(トピック番号)。
vtbl 49 HRESULT Qualifiers(IADsCollection** ppQualifiers)
ppQualifiersIADsCollection**outクラスの修飾子コレクションを表すIADsCollectionを受け取る出力ポインタ。

HSP用 COM定義

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

出力引数:
#define global IID_IADsClass "{C8F93DD0-4AE0-11CF-9E73-00AA004A5691}"
#usecom global IADsClass IID_IADsClass "{}"
#comfunc global IADsClass_get_PrimaryInterface     20 var
#comfunc global IADsClass_get_CLSID                21 var
#comfunc global IADsClass_put_CLSID                22 wstr
#comfunc global IADsClass_get_OID                  23 var
#comfunc global IADsClass_put_OID                  24 wstr
#comfunc global IADsClass_get_Abstract             25 var
#comfunc global IADsClass_put_Abstract             26 int
#comfunc global IADsClass_get_Auxiliary            27 var
#comfunc global IADsClass_put_Auxiliary            28 int
#comfunc global IADsClass_get_MandatoryProperties  29 var
#comfunc global IADsClass_put_MandatoryProperties  30 int
#comfunc global IADsClass_get_OptionalProperties   31 var
#comfunc global IADsClass_put_OptionalProperties   32 int
#comfunc global IADsClass_get_NamingProperties     33 var
#comfunc global IADsClass_put_NamingProperties     34 int
#comfunc global IADsClass_get_DerivedFrom          35 var
#comfunc global IADsClass_put_DerivedFrom          36 int
#comfunc global IADsClass_get_AuxDerivedFrom       37 var
#comfunc global IADsClass_put_AuxDerivedFrom       38 int
#comfunc global IADsClass_get_PossibleSuperiors    39 var
#comfunc global IADsClass_put_PossibleSuperiors    40 int
#comfunc global IADsClass_get_Containment          41 var
#comfunc global IADsClass_put_Containment          42 int
#comfunc global IADsClass_get_Container            43 var
#comfunc global IADsClass_put_Container            44 int
#comfunc global IADsClass_get_HelpFileName         45 var
#comfunc global IADsClass_put_HelpFileName         46 wstr
#comfunc global IADsClass_get_HelpFileContext      47 var
#comfunc global IADsClass_put_HelpFileContext      48 int
#comfunc global IADsClass_Qualifiers               49 sptr
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。
; ※IDispatch 実装。HSP では comobj 経由でメソッド名による呼び出しも可能(vtbl 不要)。