コード例 #1
0
        // Token: 0x060005BF RID: 1471 RVA: 0x00015BE4 File Offset: 0x00013DE4
        public object GetValue(string propertyName, out bool isValueExist, out RegistryValueKind valueKind, ReadWriteConstraints constraints)
        {
            ReadOptions readOptions = this.GetReadOptions(constraints);

            isValueExist = false;
            valueKind    = RegistryValueKind.Unknown;
            PropertyValue propertyValue = this.BaseParameters.KeyFactory.RunOperationAndTranslateException <PropertyValue>(OperationCategory.GetValue, this.FullKeyName, delegate()
            {
                DxStoreAccessRequest.GetProperty getProperty = this.CreateRequest <DxStoreAccessRequest.GetProperty>();
                getProperty.Name        = propertyName;
                getProperty.ReadOptions = readOptions;
                DxStoreAccessReply.GetProperty property = this.BaseParameters.Client.GetProperty(getProperty, null);
                this.SetReadResult(constraints, property.ReadResult);
                return(property.Value);
            }, false);
            object result = null;

            if (propertyValue != null)
            {
                isValueExist = true;
                result       = propertyValue.Value;
                valueKind    = (RegistryValueKind)propertyValue.Kind;
            }
            return(result);
        }
コード例 #2
0
        private DxStoreAccessReply.GetProperty GetPropertyInternal(DxStoreAccessRequest.GetProperty request)
        {
            bool isStale = !this.EnsureInstanceReadyAndNotStale(request.ReadOptions);

            DxStoreAccessReply.GetProperty getProperty = this.CreateReply <DxStoreAccessReply.GetProperty>();
            getProperty.ReadResult = new ReadResult
            {
                IsStale = isStale
            };
            getProperty.Value = this.instance.LocalDataStore.GetProperty(request.FullKeyName, request.Name);
            return(this.FinishRequest <DxStoreAccessReply.GetProperty>(getProperty));
        }