Пример #1
0
        private static unsafe KeyValueStoreItem CreateFromNative(IntPtr nativeItem)
        {
            var item     = (NativeTypes.FABRIC_KEY_VALUE_STORE_ITEM *)nativeItem;
            var metadata = KeyValueStoreItemMetadata.CreateFromNative(item->Metadata);

            var returnValue = new KeyValueStoreItem()
            {
                Metadata = metadata,
                Value    = NativeTypes.FromNativeBytes(item->Value, (uint)metadata.ValueSizeInBytes)
            };

            return(returnValue);
        }
Пример #2
0
        internal static unsafe KeyValueStoreItemMetadata CreateFromNative(IntPtr nativeMetadata)
        {
            var metadata = (NativeTypes.FABRIC_KEY_VALUE_STORE_ITEM_METADATA *)nativeMetadata;

            var returnValue = new KeyValueStoreItemMetadata()
            {
                Key = NativeTypes.FromNativeString(metadata->Key),
                ValueSizeInBytes = metadata->ValueSizeInBytes,
                LastModifiedUtc  = NativeTypes.FromNativeFILETIME(metadata->LastModifiedUtc),
                SequenceNumber   = metadata->SequenceNumber
            };

            if (metadata->Reserved != IntPtr.Zero)
            {
                var ex1 = (NativeTypes.FABRIC_KEY_VALUE_STORE_ITEM_METADATA_EX1 *)metadata->Reserved;
                returnValue.LastModifiedOnPrimaryUtc = NativeTypes.FromNativeFILETIME(ex1->LastModifiedOnPrimaryUtc);
            }

            return(returnValue);
        }