private bool TryGetPropertyDefinitionsFromPropertyTags(StoreSession session, ICorePropertyBag corePropertyBag, uint[] propertyTags, NativeStorePropertyDefinition.TypeCheckingFlag typeCheckingFlag, out NativeStorePropertyDefinition[] propertyDefinitions, out uint unresolvablePropTag) { Util.ThrowOnNullArgument(session, "session"); Util.ThrowOnNullArgument(corePropertyBag, "corePropertyBag"); Util.ThrowOnNullArgument(propertyTags, "propertyTags"); EnumValidator.ThrowIfInvalid <NativeStorePropertyDefinition.TypeCheckingFlag>(typeCheckingFlag, PropertyTagCache.validOptionSet); unresolvablePropTag = 0U; PropTag[] array = new PropTag[propertyTags.Length]; for (int i = 0; i < propertyTags.Length; i++) { array[i] = (PropTag)propertyTags[i]; } propertyDefinitions = this.PropertyDefinitionsFromPropTags(typeCheckingFlag, PersistablePropertyBag.GetPersistablePropertyBag(corePropertyBag).MapiProp, session, array); for (int j = 0; j < propertyDefinitions.Length; j++) { if (propertyDefinitions[j] == null) { unresolvablePropTag = (uint)array[j]; return(false); } } return(true); }
internal static PersistablePropertyBag GetPersistablePropertyBag(ICoreObject coreObject) { return(PersistablePropertyBag.GetPersistablePropertyBag(coreObject.PropertyBag)); }