OpenServiceW

既存のサービスを開く。(Unicode)

OpenServiceW hSCManager, lpServiceName, dwDesiredAccess

hSCManager : [intptr] サービスコントロールマネージャデータベースへのハンドル。OpenSCManager 関数がこのハンドルを返す。詳細は「Service Security and Access Rights」を参照。
lpServiceName : [wstr] 開くサービスの名前。これはサービスオブジェクトが作成されたときに CreateService 関数の lpServiceName パラメータで指定された名前であり、ユーザーインターフェイスアプリケーションがサービスを識別するために表示するサービス表示名ではない。最大文字列長は 256 文字である。サービスコントロールマネージャデータベースは文字の大文字と小文字を保持するが、サービス名の比較は常に大文字小文字を区別しない。スラッシュ (/) とバックスラッシュ (\\) は無効なサービス名文字である。
dwDesiredAccess : [int] サービスへのアクセス。アクセス権のリストについては「Service Security and Access Rights」を参照。

(プラグイン / モジュール : advapi32.dll)

解説

既存のサービスを開く。(Unicode)

[戻り値]
関数が成功した場合、戻り値はサービスへのハンドルである。関数が失敗した場合、戻り値は NULL である。拡張エラー情報を取得するには
GetLastError を呼び出す。以下のエラーコードがサービスコントロールマネージャによって設定されることがある。
(以下省略)

[備考]
返されたハンドルは OpenService を呼び出したプロセスでのみ有効である。CloseServiceHandle
関数を呼び出して閉じることができる。OpenService を使用するために、SC_MANAGER_CONNECT 以外の特権は必要ない。

情報

プラグイン / モジュールadvapi32.dll
バージョン1.0
作成日2026/04/16
著作者IronHSP / CsWin32 bridge
URLhttps://github.com/inovia/IronHSP
備考Win32 API の advapi32.dll 関数群。CsWin32 + win32metadata から自動生成。
hsp3net 専用 (intptr / NSTRUCT / wstr を使用)。
タイプ拡張命令
グループWin32API
対応環境
  • Windows 版 HSP
hs ファイルhsphelp\win32_advapi32_gen2.hs