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

IADsService

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

メソッド 24

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

vtbl 20 HRESULT get_HostComputer(LPWSTR* retval)
retvalLPWSTR*outサービスを実行するホストコンピューターのADsパスを受け取る出力先。BSTRで返る。
vtbl 21 HRESULT put_HostComputer(LPWSTR bstrHostComputer)
bstrHostComputerLPWSTRin設定するホストコンピューターのADsパスをBSTRで指定する。
vtbl 22 HRESULT get_DisplayName(LPWSTR* retval)
retvalLPWSTR*outサービスの表示名を受け取る出力先。BSTRで返る。
vtbl 23 HRESULT put_DisplayName(LPWSTR bstrDisplayName)
bstrDisplayNameLPWSTRin設定するサービスの表示名をBSTRで指定する。
vtbl 24 HRESULT get_Version(LPWSTR* retval)
retvalLPWSTR*outサービスのバージョン文字列を受け取る出力先。BSTRで返る。
vtbl 25 HRESULT put_Version(LPWSTR bstrVersion)
bstrVersionLPWSTRin設定するサービスのバージョン文字列をBSTRで指定する。
vtbl 26 HRESULT get_ServiceType(INT* retval)
retvalINT*outサービスの種類フラグを受け取る出力先。SERVICE_WIN32_OWN_PROCESS等のビット値。
vtbl 27 HRESULT put_ServiceType(INT lnServiceType)
lnServiceTypeINTin設定するサービスの種類フラグ(SERVICE_*のビット値)を指定する。
vtbl 28 HRESULT get_StartType(INT* retval)
retvalINT*outサービスの起動種別を受け取る出力先。SERVICE_AUTO_START等の値。
vtbl 29 HRESULT put_StartType(INT lnStartType)
lnStartTypeINTin設定するサービスの起動種別(SERVICE_*_START)を指定する。
vtbl 30 HRESULT get_Path(LPWSTR* retval)
retvalLPWSTR*outサービス実行ファイルのパスを受け取る出力先。BSTRで返る。
vtbl 31 HRESULT put_Path(LPWSTR bstrPath)
bstrPathLPWSTRin設定するサービス実行ファイルのパスをBSTRで指定する。
vtbl 32 HRESULT get_StartupParameters(LPWSTR* retval)
retvalLPWSTR*outサービス起動時に渡すパラメーターを受け取る出力先。BSTRで返る。
vtbl 33 HRESULT put_StartupParameters(LPWSTR bstrStartupParameters)
bstrStartupParametersLPWSTRin設定するサービス起動パラメーターをBSTRで指定する。
vtbl 34 HRESULT get_ErrorControl(INT* retval)
retvalINT*out起動失敗時のエラー制御レベルを受け取る出力先。SERVICE_ERROR_*の値。
vtbl 35 HRESULT put_ErrorControl(INT lnErrorControl)
lnErrorControlINTin設定するエラー制御レベル(SERVICE_ERROR_*)を指定する。
vtbl 36 HRESULT get_LoadOrderGroup(LPWSTR* retval)
retvalLPWSTR*outサービスが属する読み込み順序グループ名を受け取る出力先。BSTRで返る。
vtbl 37 HRESULT put_LoadOrderGroup(LPWSTR bstrLoadOrderGroup)
bstrLoadOrderGroupLPWSTRin設定する読み込み順序グループ名をBSTRで指定する。
vtbl 38 HRESULT get_ServiceAccountName(LPWSTR* retval)
retvalLPWSTR*outサービスを実行するアカウント名を受け取る出力先。BSTRで返る。
vtbl 39 HRESULT put_ServiceAccountName(LPWSTR bstrServiceAccountName)
bstrServiceAccountNameLPWSTRin設定するサービス実行アカウント名をBSTRで指定する。
vtbl 40 HRESULT get_ServiceAccountPath(LPWSTR* retval)
retvalLPWSTR*outサービス実行アカウントのADsパスを受け取る出力先。BSTRで返る。
vtbl 41 HRESULT put_ServiceAccountPath(LPWSTR bstrServiceAccountPath)
bstrServiceAccountPathLPWSTRin設定するサービス実行アカウントのADsパスをBSTRで指定する。
vtbl 42 HRESULT get_Dependencies(VARIANT* retval)
retvalVARIANT*outこのサービスが依存する他サービスの一覧を受け取る出力先。文字列配列のVARIANTで返る。
vtbl 43 HRESULT put_Dependencies(VARIANT vDependencies)
vDependenciesVARIANTin設定する依存サービスの一覧を文字列配列のVARIANTで指定する。

HSP用 COM定義

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

出力引数:
#define global IID_IADsService "{68AF66E0-31CA-11CF-A98A-00AA006BC149}"
#usecom global IADsService IID_IADsService "{}"
#comfunc global IADsService_get_HostComputer        20 var
#comfunc global IADsService_put_HostComputer        21 wstr
#comfunc global IADsService_get_DisplayName         22 var
#comfunc global IADsService_put_DisplayName         23 wstr
#comfunc global IADsService_get_Version             24 var
#comfunc global IADsService_put_Version             25 wstr
#comfunc global IADsService_get_ServiceType         26 var
#comfunc global IADsService_put_ServiceType         27 int
#comfunc global IADsService_get_StartType           28 var
#comfunc global IADsService_put_StartType           29 int
#comfunc global IADsService_get_Path                30 var
#comfunc global IADsService_put_Path                31 wstr
#comfunc global IADsService_get_StartupParameters   32 var
#comfunc global IADsService_put_StartupParameters   33 wstr
#comfunc global IADsService_get_ErrorControl        34 var
#comfunc global IADsService_put_ErrorControl        35 int
#comfunc global IADsService_get_LoadOrderGroup      36 var
#comfunc global IADsService_put_LoadOrderGroup      37 wstr
#comfunc global IADsService_get_ServiceAccountName  38 var
#comfunc global IADsService_put_ServiceAccountName  39 wstr
#comfunc global IADsService_get_ServiceAccountPath  40 var
#comfunc global IADsService_put_ServiceAccountPath  41 wstr
#comfunc global IADsService_get_Dependencies        42 var
#comfunc global IADsService_put_Dependencies        43 int
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※IDispatch 実装。HSP では comobj 経由でメソッド名による呼び出しも可能(vtbl 不要)。