public ItemProperty[] QueryAvailableProperties(string itemId) { if (itemId == null) { throw new ArgumentNullException(nameof(itemId)); } _itemProperties.QueryAvailableProperties( itemId, out var size, out var idsPtr, out var descriptionsPtr, out var typesPtr); return(ItemPropertyResultReader.ReadItemProperties( size, idsPtr, descriptionsPtr, typesPtr)); }
public ItemPropertyId[] LookupItemIds(string itemId, int[] propertyIds) { if (itemId == null) { throw new ArgumentNullException(nameof(itemId)); } if (propertyIds == null) { throw new ArgumentNullException(nameof(propertyIds)); } if (propertyIds.Length == 0) { return(new ItemPropertyId[0]); } _itemProperties.LookupItemIDs( itemId, (uint)propertyIds.Length, propertyIds, out var dataPtr, out var errorsPtr); return(ItemPropertyResultReader.ReadItemPropertyIds( propertyIds.Length, dataPtr, errorsPtr)); }