SCM ハンドル

SCM では、次のオブジェクトへのアクセスを許可するハンドル型がサポートされています。

  • インストールされているサービスのデータベース。
  • サービス。
  • データベース ロック。

SCManager オブジェクトは、インストールされているサービスのデータベースを表します。 サービス オブジェクトを保持するコンテナー オブジェクトです。 OpenSCManager 関数は、指定されたコンピューター上の SCManager オブジェクトへのハンドルを返します。 このハンドルは、サービスのインストール、削除、開き、列挙、およびサービス データベースのロック時に使用されます。

サービス オブジェクトは、インストールされているサービスを表します。 CreateService 関数と OpenService 関数は、インストールされているサービスにハンドルを返します。

OpenSCManagerCreateService、および OpenService 関数は、SCManager およびサービス オブジェクトへのさまざまな種類のアクセスを要求できます。 要求されたアクセスは、呼び出し元プロセスのアクセス トークンと、SCManager またはサービス オブジェクトに関連付けられているセキュリティ記述子に応じて許可または拒否されます。

CloseServiceHandle 関数は、SCManager オブジェクトとサービス オブジェクトのハンドルを閉じます。 これらのハンドルが不要になった場合は、必ず閉じておく必要があります。