예제 #1
0
        internal static unsafe DeployedCodePackage CreateFromNative(
            NativeTypes.FABRIC_DEPLOYED_CODE_PACKAGE_QUERY_RESULT_ITEM nativeResultItem)
        {
            var servicePackageActivationId = string.Empty;
            var hostType          = HostType.Invalid;
            var hostIsolationMode = HostIsolationMode.None;

            if (nativeResultItem.Reserved != IntPtr.Zero)
            {
                var nativeResultItemEx1 =
                    (NativeTypes.FABRIC_DEPLOYED_CODE_PACKAGE_QUERY_RESULT_ITEM_EX1 *)nativeResultItem.Reserved;

                servicePackageActivationId = NativeTypes.FromNativeString(nativeResultItemEx1->ServicePackageActivationId);
                hostType          = (HostType)nativeResultItemEx1->HostType;
                hostIsolationMode = (HostIsolationMode)nativeResultItemEx1->HostIsolationMode;
            }

            return(new DeployedCodePackage(
                       NativeTypes.FromNativeString(nativeResultItem.CodePackageName),
                       NativeTypes.FromNativeString(nativeResultItem.CodePackageVersion),
                       (nativeResultItem.SetupEntryPoint == IntPtr.Zero) ? null : CodePackageEntryPoint.FromNative(*(NativeTypes.FABRIC_CODE_PACKAGE_ENTRY_POINT *)nativeResultItem.SetupEntryPoint),
                       NativeTypes.FromNativeString(nativeResultItem.ServiceManifestName),
                       servicePackageActivationId,
                       nativeResultItem.RunFrequencyInterval,
                       hostType,
                       hostIsolationMode,
                       (DeploymentStatus)nativeResultItem.DeployedCodePackageStatus,
                       CodePackageEntryPoint.FromNative(*(NativeTypes.FABRIC_CODE_PACKAGE_ENTRY_POINT *)nativeResultItem.EntryPoint)));
        }
예제 #2
0
 internal DeployedCodePackage(
     string codePackageName,
     string codePackageVersion,
     CodePackageEntryPoint setupEntryPoint,
     string serviceManifestName,
     string servicePackageActivationId,
     long runFrequencyInterval,
     HostType hostType,
     HostIsolationMode hostIsolationMode,
     DeploymentStatus deployedCodePackageStatus,
     CodePackageEntryPoint entryPoint)
 {
     this.CodePackageName            = codePackageName;
     this.CodePackageVersion         = codePackageVersion;
     this.SetupEntryPoint            = setupEntryPoint;
     this.ServiceManifestName        = serviceManifestName;
     this.ServicePackageActivationId = servicePackageActivationId;
     this.RunFrequencyInterval       = runFrequencyInterval;
     this.HostType                  = hostType;
     this.HostIsolationMode         = hostIsolationMode;
     this.DeployedCodePackageStatus = deployedCodePackageStatus;
     this.EntryPoint                = entryPoint;
 }