AppIDキー
1つまたは複数のDCOMオブジェクトの構成オプションを、レジストリ内の1つの一元的な場所にグループ化します。 同じ実行可能ファイルによってホストされるDCOMオブジェクトは、共通のセキュリティ設定と構成設定の管理を簡略化するために、1つのAppIDにグループ化されます。
レジストリ キー
HKEY_LOCAL_MACHINE\SOFTWARE\Classes\AppID\{AppID_GUID}
レジストリ値 | 説明 |
---|---|
AccessPermission | このクラスのインスタンスにアクセスできるプリンシパルのアクセス制御リスト (ACL) について説明します。 このACLは、CoInitializeSecurityを呼び出さないアプリケーションによってのみ使用されます。 |
ActivateAtStorage | 使用している永続的な状態または初期化元の永続的な状態と同じコンピューター上のオブジェクトをインスタンス化するようにクライアントを構成します。 |
AppID | 名前付き実行可能ファイルに対応するAppID GUIDを識別します。 |
AppIDFlags | "対話ユーザー"として実行するように構成されているCOMサーバーが、既定以外のデスクトップのクライアントによって起動またはバインドされる方法を構成します。 |
AuthenticationLevel | CoInitializeSecurityを呼び出さないアプリケーション、またはCoInitializeSecurityを呼び出してAppIDを指定するアプリケーションの認証レベルを設定します。 |
DllSurrogate | DLLサーバーがサロゲートプロセスで実行できるようにします。 空の文字列を指定した場合は、システムによって提供されるサロゲートが使用されます。それ以外の場合は、使用するサロゲートのパスを指定します。 |
DllSurrogateExecutable | DLLサーバーをDllSurrogateレジストリ値と組み合わせてカスタムサロゲートプロセスで実行できるようにします。 |
エンドポイント | 指定したTCPポート番号をDCOM通信に使用するようにCOMアプリケーションを構成します。 |
LaunchPermission | このクラスの新しいサーバーを起動できるプリンシパルのアクセス制御リスト (ACL) を記述します。 |
LoadUserSettings | 起動ユーザーアプリケーションIDとして実行されているCOMサーバーのユーザープロファイルをCOMが読み込むかどうかを決定します。 |
LocalService | サービス アプリケーションとしてオブジェクトをインストールします。 |
PreferredServerBitness | このCOMサーバーの優先アーキテクチャ (32ビットまたは64ビット) を設定します。 |
RemoteServerName | COSERVERINFO構造体が指定されていないアクティベーション関数が呼び出されるたびに、特定のコンピューターでオブジェクトを実行するように要求するようにクライアントを構成します。 |
ROTFlags | 実行オブジェクトテーブル (ROT) へのCOMサーバーの登録を制御します。 |
RunAs | サービスアプリケーションとして記述せずに、リモートクライアントによってアクティブ化されたときに特定のユーザーアカウントで実行するクラスを構成します。 |
ServiceParameters | LocalServiceレジストリ値を通じて、COMで使用するためにインストールされたオブジェクトに渡されるコマンドラインパラメーターを指定します。 |
SRPTrustLevel | アプリケーションのソフトウェア制限ポリシー (SRP) の信頼レベルを設定します。 |
解説
AppIdは、次の2つの異なるメカニズムを使用して、実行可能ファイルとクラスにマップされます。
- AppIDキーを識別する128ビットのグローバル一意識別子 (GUID) を使用します。 クラスは、"AppID"という名前付きの値のCLSIDキーの下にある対応するAppIDを示します。 このマッピングは、アクティブ化時に使用されます。
- 実行可能ファイル名(例:"MYOLAPP.EXE")を示す名前付きの値を使用します。 この名前付きの値はREG_SZ型であり、実行可能ファイルに関連付けられているAppIDの文字列形式が含まれています。 このマッピングは、既定のアクセス許可と認証レベルを取得するために使用されます。
HKEY_LOCAL_MACHINE\SOFTWARE\Classes キーは、以前のバージョンの COM との互換性のために保持されていた HKEY_CLASSES_ROOT キーに対応します。
COMサーバーの場合、マッピングは通常、登録プロセス中またはdcomcnfg.exeの実行時に生成され、レジストリに書き込まれます。 ただし、AppIDキーを使用してセキュリティを設定するCOMクライアントは、適切なレジストリキーを作成し、レジストリ関数を呼び出すか、Regedit.exeを使用して必要なマッピングを指定する必要があります。 その後、AccessPermissionやAuthenticationLevelなどの値をクライアントに設定できます。 たとえば、クライアントプロセスの実行可能ファイルの名前が"YourClient.exe"で、認証レベルを"None"に設定するとします。 Guidgen.exeまたはUuidgen.exeを使用して、実行可能ファイルのAppIDであるGUIDを作成します。 次に、次の例に示すように、レジストリに値を設定します。ここで、00000001は"None"の認証レベルを表します。
HKEY_LOCAL_MACHINE\SOFTWARE\Classes\AppID
{MyGuid}
AuthenticationLevel = 00000001
MyClient.exe
AppID = {MyGUID}