예제 #1
0
        private unsafe void TestToAndFromNative(ResourceIdentifier resourceIdentifier)
        {
            IntPtr             nativePtr = IntPtr.Zero;
            ResourceIdentifier second    = null;
            ResourceIdentifier first     = resourceIdentifier;

            var firstStr = AccessControlUtility.ToString(first);

            LogHelper.Log("Managed ResourceIdentifier = {0}", firstStr);

            using (var pinCollection = new PinCollection())
            {
                nativePtr = resourceIdentifier.ToNative(pinCollection);
                second    = ResourceIdentifier.FromNative((NativeTypes.FABRIC_SECURITY_RESOURCE_IDENTIFIER *)nativePtr);
            }

            var secondStr = AccessControlUtility.ToString(second);

            LogHelper.Log("FromNative ResourceIdentifier = {0}", secondStr);
            Assert.AreEqual <string>(firstStr, secondStr, "Managed ResourceIdentifier == FromNative ResourceIdentifier");
        }