Exemplo n.º 1
0
        protected override void ProcessRecord()
        {
            using (RegistryKey regKey = RegistryControl.GetRegistryKey(RegistryPath, false, false))
            {
                //  レジストリキーの有無チェック
                if (regKey == null)
                {
                    Console.Error.WriteLine("対象のレジストリキー (Path) 無し: {0}", RegistryPath.ToString());
                    return;
                }
                if (Target == Item.PATH)
                {
                    retValue = true;
                    return;
                }

                //  レジストリのパラメータ名/種類/値のチェック
                if (Target == Item.NAME || Target == Item.TYPE || Target == Item.VALUE)
                {
                    CheckRegValue(regKey);
                    return;
                }

                //  所有者チェック
                if (Target == Item.OWNER)
                {
                    CheckOwner(regKey); return;
                }

                //  アクセス権チェック
                if (Target == Item.ACCESS)
                {
                    CheckAccess(regKey); return;
                }

                //  Accountチェック
                if (Target == Item.ACCOUNT)
                {
                    CheckAccount(regKey); return;
                }

                //  Inheritedチェック
                if (Target == Item.INHERITED)
                {
                    CheckInherited(regKey); return;
                }
            }
        }