internal static new unsafe ContainerHostEntryPointDescription CreateFromNative(IntPtr entryPointDescriptionPtr)
        {
            NativeTypes.FABRIC_CONTAINERHOST_ENTRY_POINT_DESCRIPTION *nativeEntryPointDescription = (NativeTypes.FABRIC_CONTAINERHOST_ENTRY_POINT_DESCRIPTION *)entryPointDescriptionPtr;

            ContainerHostEntryPointDescription entryPointDescription = new ContainerHostEntryPointDescription
            {
                ImageName  = NativeTypes.FromNativeString(nativeEntryPointDescription->ImageName),
                Commands   = NativeTypes.FromNativeString(nativeEntryPointDescription->Commands),
                EntryPoint = NativeTypes.FromNativeString(nativeEntryPointDescription->EntryPoint)
            };

            return(entryPointDescription);
        }
        internal static unsafe EntryPointDescription CreateFromNative(IntPtr entryPointDescriptionPtr)
        {
            NativeTypes.FABRIC_CODE_PACKAGE_ENTRY_POINT_DESCRIPTION *nativeEntryPointDescription = (NativeTypes.FABRIC_CODE_PACKAGE_ENTRY_POINT_DESCRIPTION *)entryPointDescriptionPtr;

            switch (nativeEntryPointDescription->Kind)
            {
            case NativeTypes.FABRIC_CODE_PACKAGE_ENTRY_POINT_KIND.FABRIC_CODE_PACKAGE_ENTRY_POINT_KIND_EXEHOST:
                return(ExeHostEntryPointDescription.CreateFromNative(nativeEntryPointDescription->Value));

            case NativeTypes.FABRIC_CODE_PACKAGE_ENTRY_POINT_KIND.FABRIC_CODE_PACKAGE_ENTRY_POINT_KIND_DLLHOST:
                return(DllHostEntryPointDescription.CreateFromNative(nativeEntryPointDescription->Value));

            case NativeTypes.FABRIC_CODE_PACKAGE_ENTRY_POINT_KIND.FABRIC_CODE_PACKAGE_ENTRY_POINT_KIND_CONTAINERHOST:
                return(ContainerHostEntryPointDescription.CreateFromNative(nativeEntryPointDescription->Value));

            default:
                AppTrace.TraceSource.WriteError("EntryPointDescription.CreateFromNative", "Unknown code package entry point type : {0}", nativeEntryPointDescription->Kind);
                ReleaseAssert.Failfast(string.Format(CultureInfo.CurrentCulture, StringResources.Error_UnknownCodePackageEntryType_Formatted, nativeEntryPointDescription->Kind));
                return(null);
            }
        }