--------------------------------------------------------------------------------
-- <auto-generated>                                                           --
--     This code was generated by a tool.                                     --
--                                                                            --
--     Changes to this file may cause incorrect behavior and will be lost if  --
--     the code is regenerated.                                               --
-- </auto-generated>                                                          --
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
--                                                                            --
--    Copyright(c) 2018 Alexander Gamper, All Rights Reserved.                --
--                                                                            --
--    Ada-WinRT                                                               --
--                                                                            --
-- This program is free software: you can redistribute it and / or modify     --
-- it under the terms of the GNU Lesser General Public License as published by--
-- the Free Software Foundation, either version 3 of the License, or          --
-- (at your option) any later version.                                        --
--                                                                            --
-- This program is distributed in the hope that it will be useful,            --
-- but WITHOUT ANY WARRANTY; without even the implied warranty of             --
-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the               --
-- GNU Lesser General Public License for more details.                        --
--                                                                            --
-- You should have received a copy of the GNU Lesser General Public License   --
-- along with this program.If not, see http://www.gnu.org/licenses            --
--                                                                            --
--------------------------------------------------------------------------------
with Windows; use Windows;
with Windows.Foundation;
with Windows.Foundation.Collections;
package Windows.Security.Isolation is

   pragma preelaborate;
   
   ------------------------------------------------------------------------
   -- Enums
   ------------------------------------------------------------------------
   
   type IsolatedWindowsEnvironmentActivator is (
      System,
      User
   );
   for IsolatedWindowsEnvironmentActivator use (
      System => 0,
      User => 1
   );
   for IsolatedWindowsEnvironmentActivator'Size use 32;
   
   type IsolatedWindowsEnvironmentActivator_Ptr is access IsolatedWindowsEnvironmentActivator;
   
   type IsolatedWindowsEnvironmentAllowedClipboardFormats is (
      None,
      Text,
      Image
   );
   for IsolatedWindowsEnvironmentAllowedClipboardFormats use (
      None => 0,
      Text => 1,
      Image => 2
   );
   for IsolatedWindowsEnvironmentAllowedClipboardFormats'Size use 32;
   
   type IsolatedWindowsEnvironmentAllowedClipboardFormats_Ptr is access IsolatedWindowsEnvironmentAllowedClipboardFormats;
   
   type IsolatedWindowsEnvironmentAvailablePrinters is (
      None,
      Local,
      Network,
      SystemPrintToPdf,
      SystemPrintToXps
   );
   for IsolatedWindowsEnvironmentAvailablePrinters use (
      None => 0,
      Local => 1,
      Network => 2,
      SystemPrintToPdf => 4,
      SystemPrintToXps => 8
   );
   for IsolatedWindowsEnvironmentAvailablePrinters'Size use 32;
   
   type IsolatedWindowsEnvironmentAvailablePrinters_Ptr is access IsolatedWindowsEnvironmentAvailablePrinters;
   
   type IsolatedWindowsEnvironmentClipboardCopyPasteDirections is (
      None,
      HostToIsolatedWindowsEnvironment,
      IsolatedWindowsEnvironmentToHost
   );
   for IsolatedWindowsEnvironmentClipboardCopyPasteDirections use (
      None => 0,
      HostToIsolatedWindowsEnvironment => 1,
      IsolatedWindowsEnvironmentToHost => 2
   );
   for IsolatedWindowsEnvironmentClipboardCopyPasteDirections'Size use 32;
   
   type IsolatedWindowsEnvironmentClipboardCopyPasteDirections_Ptr is access IsolatedWindowsEnvironmentClipboardCopyPasteDirections;
   
   type IsolatedWindowsEnvironmentCreateStatus is (
      Success,
      FailureByPolicy,
      UnknownFailure
   );
   for IsolatedWindowsEnvironmentCreateStatus use (
      Success => 0,
      FailureByPolicy => 1,
      UnknownFailure => 2
   );
   for IsolatedWindowsEnvironmentCreateStatus'Size use 32;
   
   type IsolatedWindowsEnvironmentCreateStatus_Ptr is access IsolatedWindowsEnvironmentCreateStatus;
   
   type IsolatedWindowsEnvironmentHostError is (
      AdminPolicyIsDisabledOrNotPresent,
      FeatureNotInstalled,
      HardwareRequirementsNotMet,
      RebootRequired,
      UnknownError
   );
   for IsolatedWindowsEnvironmentHostError use (
      AdminPolicyIsDisabledOrNotPresent => 0,
      FeatureNotInstalled => 1,
      HardwareRequirementsNotMet => 2,
      RebootRequired => 3,
      UnknownError => 4
   );
   for IsolatedWindowsEnvironmentHostError'Size use 32;
   
   type IsolatedWindowsEnvironmentHostError_Ptr is access IsolatedWindowsEnvironmentHostError;
   
   type IsolatedWindowsEnvironmentLaunchFileStatus is (
      Success,
      UnknownFailure,
      EnvironmentUnavailable,
      FileNotFound,
      TimedOut
   );
   for IsolatedWindowsEnvironmentLaunchFileStatus use (
      Success => 0,
      UnknownFailure => 1,
      EnvironmentUnavailable => 2,
      FileNotFound => 3,
      TimedOut => 4
   );
   for IsolatedWindowsEnvironmentLaunchFileStatus'Size use 32;
   
   type IsolatedWindowsEnvironmentLaunchFileStatus_Ptr is access IsolatedWindowsEnvironmentLaunchFileStatus;
   
   type IsolatedWindowsEnvironmentOwnerRegistrationStatus is (
      Success,
      InvalidArgument,
      AccessDenied,
      InsufficientMemory,
      UnknownFailure
   );
   for IsolatedWindowsEnvironmentOwnerRegistrationStatus use (
      Success => 0,
      InvalidArgument => 1,
      AccessDenied => 2,
      InsufficientMemory => 3,
      UnknownFailure => 4
   );
   for IsolatedWindowsEnvironmentOwnerRegistrationStatus'Size use 32;
   
   type IsolatedWindowsEnvironmentOwnerRegistrationStatus_Ptr is access IsolatedWindowsEnvironmentOwnerRegistrationStatus;
   
   type IsolatedWindowsEnvironmentProcessState is (
      Running,
      Aborted,
      Completed
   );
   for IsolatedWindowsEnvironmentProcessState use (
      Running => 1,
      Aborted => 2,
      Completed => 3
   );
   for IsolatedWindowsEnvironmentProcessState'Size use 32;
   
   type IsolatedWindowsEnvironmentProcessState_Ptr is access IsolatedWindowsEnvironmentProcessState;
   
   type IsolatedWindowsEnvironmentProgressState is (
      Queued,
      Processing,
      Completed
   );
   for IsolatedWindowsEnvironmentProgressState use (
      Queued => 0,
      Processing => 1,
      Completed => 2
   );
   for IsolatedWindowsEnvironmentProgressState'Size use 32;
   
   type IsolatedWindowsEnvironmentProgressState_Ptr is access IsolatedWindowsEnvironmentProgressState;
   
   type IsolatedWindowsEnvironmentShareFolderStatus is (
      Success,
      UnknownFailure,
      EnvironmentUnavailable,
      FolderNotFound,
      AccessDenied
   );
   for IsolatedWindowsEnvironmentShareFolderStatus use (
      Success => 0,
      UnknownFailure => 1,
      EnvironmentUnavailable => 2,
      FolderNotFound => 3,
      AccessDenied => 4
   );
   for IsolatedWindowsEnvironmentShareFolderStatus'Size use 32;
   
   type IsolatedWindowsEnvironmentShareFolderStatus_Ptr is access IsolatedWindowsEnvironmentShareFolderStatus;
   
   type IsolatedWindowsEnvironmentStartProcessStatus is (
      Success,
      UnknownFailure,
      EnvironmentUnavailable,
      FileNotFound,
      AppNotRegistered
   );
   for IsolatedWindowsEnvironmentStartProcessStatus use (
      Success => 0,
      UnknownFailure => 1,
      EnvironmentUnavailable => 2,
      FileNotFound => 3,
      AppNotRegistered => 4
   );
   for IsolatedWindowsEnvironmentStartProcessStatus'Size use 32;
   
   type IsolatedWindowsEnvironmentStartProcessStatus_Ptr is access IsolatedWindowsEnvironmentStartProcessStatus;
   
   ------------------------------------------------------------------------
   -- Record types
   ------------------------------------------------------------------------
   
   type IsolatedWindowsEnvironmentContract is null record;
   pragma Convention (C_Pass_By_Copy , IsolatedWindowsEnvironmentContract);
   
   type IsolatedWindowsEnvironmentContract_Ptr is access IsolatedWindowsEnvironmentContract;
   
   type IsolatedWindowsEnvironmentCreateProgress is record
      State : Windows.Security.Isolation.IsolatedWindowsEnvironmentProgressState;
      PercentComplete : Windows.UInt32;
   end record;
   pragma Convention (C_Pass_By_Copy , IsolatedWindowsEnvironmentCreateProgress);
   
   type IsolatedWindowsEnvironmentCreateProgress_Ptr is access IsolatedWindowsEnvironmentCreateProgress;
   
   ------------------------------------------------------------------------
   -- Forward Declaration - Delegates/Events
   ------------------------------------------------------------------------
   
   type AsyncOperationCompletedHandler_IIsolatedWindowsEnvironmentLaunchFileResult_Interface;
   type AsyncOperationCompletedHandler_IIsolatedWindowsEnvironmentLaunchFileResult is access all AsyncOperationCompletedHandler_IIsolatedWindowsEnvironmentLaunchFileResult_Interface'Class;
   type AsyncOperationCompletedHandler_IIsolatedWindowsEnvironmentLaunchFileResult_Ptr is access all AsyncOperationCompletedHandler_IIsolatedWindowsEnvironmentLaunchFileResult;
   type AsyncOperationCompletedHandler_IIsolatedWindowsEnvironmentShareFolderResult_Interface;
   type AsyncOperationCompletedHandler_IIsolatedWindowsEnvironmentShareFolderResult is access all AsyncOperationCompletedHandler_IIsolatedWindowsEnvironmentShareFolderResult_Interface'Class;
   type AsyncOperationCompletedHandler_IIsolatedWindowsEnvironmentShareFolderResult_Ptr is access all AsyncOperationCompletedHandler_IIsolatedWindowsEnvironmentShareFolderResult;
   type AsyncOperationCompletedHandler_IIsolatedWindowsEnvironmentStartProcessResult_Interface;
   type AsyncOperationCompletedHandler_IIsolatedWindowsEnvironmentStartProcessResult is access all AsyncOperationCompletedHandler_IIsolatedWindowsEnvironmentStartProcessResult_Interface'Class;
   type AsyncOperationCompletedHandler_IIsolatedWindowsEnvironmentStartProcessResult_Ptr is access all AsyncOperationCompletedHandler_IIsolatedWindowsEnvironmentStartProcessResult;
   type MessageReceivedCallback_Interface;
   type MessageReceivedCallback is access all MessageReceivedCallback_Interface'Class;
   type MessageReceivedCallback_Ptr is access all MessageReceivedCallback;
   
   ------------------------------------------------------------------------
   -- Forward Declaration - Interfaces
   ------------------------------------------------------------------------
   
   type IAsyncOperation_IIsolatedWindowsEnvironmentLaunchFileResult_Interface;
   type IAsyncOperation_IIsolatedWindowsEnvironmentLaunchFileResult is access all IAsyncOperation_IIsolatedWindowsEnvironmentLaunchFileResult_Interface'Class;
   type IAsyncOperation_IIsolatedWindowsEnvironmentLaunchFileResult_Ptr is access all IAsyncOperation_IIsolatedWindowsEnvironmentLaunchFileResult;
   type IAsyncOperation_IIsolatedWindowsEnvironmentShareFolderResult_Interface;
   type IAsyncOperation_IIsolatedWindowsEnvironmentShareFolderResult is access all IAsyncOperation_IIsolatedWindowsEnvironmentShareFolderResult_Interface'Class;
   type IAsyncOperation_IIsolatedWindowsEnvironmentShareFolderResult_Ptr is access all IAsyncOperation_IIsolatedWindowsEnvironmentShareFolderResult;
   type IAsyncOperation_IIsolatedWindowsEnvironmentStartProcessResult_Interface;
   type IAsyncOperation_IIsolatedWindowsEnvironmentStartProcessResult is access all IAsyncOperation_IIsolatedWindowsEnvironmentStartProcessResult_Interface'Class;
   type IAsyncOperation_IIsolatedWindowsEnvironmentStartProcessResult_Ptr is access all IAsyncOperation_IIsolatedWindowsEnvironmentStartProcessResult;
   type IIsolatedWindowsEnvironment_Interface;
   type IIsolatedWindowsEnvironment is access all IIsolatedWindowsEnvironment_Interface'Class;
   type IIsolatedWindowsEnvironment_Ptr is access all IIsolatedWindowsEnvironment;
   type IIsolatedWindowsEnvironmentCreateResult_Interface;
   type IIsolatedWindowsEnvironmentCreateResult is access all IIsolatedWindowsEnvironmentCreateResult_Interface'Class;
   type IIsolatedWindowsEnvironmentCreateResult_Ptr is access all IIsolatedWindowsEnvironmentCreateResult;
   type IIsolatedWindowsEnvironmentFactory_Interface;
   type IIsolatedWindowsEnvironmentFactory is access all IIsolatedWindowsEnvironmentFactory_Interface'Class;
   type IIsolatedWindowsEnvironmentFactory_Ptr is access all IIsolatedWindowsEnvironmentFactory;
   type IIsolatedWindowsEnvironmentFile_Interface;
   type IIsolatedWindowsEnvironmentFile is access all IIsolatedWindowsEnvironmentFile_Interface'Class;
   type IIsolatedWindowsEnvironmentFile_Ptr is access all IIsolatedWindowsEnvironmentFile;
   type IIsolatedWindowsEnvironmentHostStatics_Interface;
   type IIsolatedWindowsEnvironmentHostStatics is access all IIsolatedWindowsEnvironmentHostStatics_Interface'Class;
   type IIsolatedWindowsEnvironmentHostStatics_Ptr is access all IIsolatedWindowsEnvironmentHostStatics;
   type IIsolatedWindowsEnvironmentLaunchFileResult_Interface;
   type IIsolatedWindowsEnvironmentLaunchFileResult is access all IIsolatedWindowsEnvironmentLaunchFileResult_Interface'Class;
   type IIsolatedWindowsEnvironmentLaunchFileResult_Ptr is access all IIsolatedWindowsEnvironmentLaunchFileResult;
   type IIsolatedWindowsEnvironmentOptions_Interface;
   type IIsolatedWindowsEnvironmentOptions is access all IIsolatedWindowsEnvironmentOptions_Interface'Class;
   type IIsolatedWindowsEnvironmentOptions_Ptr is access all IIsolatedWindowsEnvironmentOptions;
   type IIsolatedWindowsEnvironmentOwnerRegistrationData_Interface;
   type IIsolatedWindowsEnvironmentOwnerRegistrationData is access all IIsolatedWindowsEnvironmentOwnerRegistrationData_Interface'Class;
   type IIsolatedWindowsEnvironmentOwnerRegistrationData_Ptr is access all IIsolatedWindowsEnvironmentOwnerRegistrationData;
   type IIsolatedWindowsEnvironmentOwnerRegistrationResult_Interface;
   type IIsolatedWindowsEnvironmentOwnerRegistrationResult is access all IIsolatedWindowsEnvironmentOwnerRegistrationResult_Interface'Class;
   type IIsolatedWindowsEnvironmentOwnerRegistrationResult_Ptr is access all IIsolatedWindowsEnvironmentOwnerRegistrationResult;
   type IIsolatedWindowsEnvironmentOwnerRegistrationStatics_Interface;
   type IIsolatedWindowsEnvironmentOwnerRegistrationStatics is access all IIsolatedWindowsEnvironmentOwnerRegistrationStatics_Interface'Class;
   type IIsolatedWindowsEnvironmentOwnerRegistrationStatics_Ptr is access all IIsolatedWindowsEnvironmentOwnerRegistrationStatics;
   type IIsolatedWindowsEnvironmentProcess_Interface;
   type IIsolatedWindowsEnvironmentProcess is access all IIsolatedWindowsEnvironmentProcess_Interface'Class;
   type IIsolatedWindowsEnvironmentProcess_Ptr is access all IIsolatedWindowsEnvironmentProcess;
   type IIsolatedWindowsEnvironmentShareFolderRequestOptions_Interface;
   type IIsolatedWindowsEnvironmentShareFolderRequestOptions is access all IIsolatedWindowsEnvironmentShareFolderRequestOptions_Interface'Class;
   type IIsolatedWindowsEnvironmentShareFolderRequestOptions_Ptr is access all IIsolatedWindowsEnvironmentShareFolderRequestOptions;
   type IIsolatedWindowsEnvironmentShareFolderResult_Interface;
   type IIsolatedWindowsEnvironmentShareFolderResult is access all IIsolatedWindowsEnvironmentShareFolderResult_Interface'Class;
   type IIsolatedWindowsEnvironmentShareFolderResult_Ptr is access all IIsolatedWindowsEnvironmentShareFolderResult;
   type IIsolatedWindowsEnvironmentStartProcessResult_Interface;
   type IIsolatedWindowsEnvironmentStartProcessResult is access all IIsolatedWindowsEnvironmentStartProcessResult_Interface'Class;
   type IIsolatedWindowsEnvironmentStartProcessResult_Ptr is access all IIsolatedWindowsEnvironmentStartProcessResult;
   type IIsolatedWindowsEnvironmentTelemetryParameters_Interface;
   type IIsolatedWindowsEnvironmentTelemetryParameters is access all IIsolatedWindowsEnvironmentTelemetryParameters_Interface'Class;
   type IIsolatedWindowsEnvironmentTelemetryParameters_Ptr is access all IIsolatedWindowsEnvironmentTelemetryParameters;
   type IIsolatedWindowsHostMessengerStatics_Interface;
   type IIsolatedWindowsHostMessengerStatics is access all IIsolatedWindowsHostMessengerStatics_Interface'Class;
   type IIsolatedWindowsHostMessengerStatics_Ptr is access all IIsolatedWindowsHostMessengerStatics;
   type IIterable_IIsolatedWindowsEnvironment_Interface;
   type IIterable_IIsolatedWindowsEnvironment is access all IIterable_IIsolatedWindowsEnvironment_Interface'Class;
   type IIterable_IIsolatedWindowsEnvironment_Ptr is access all IIterable_IIsolatedWindowsEnvironment;
   type IIterable_IsolatedWindowsEnvironmentHostError_Interface;
   type IIterable_IsolatedWindowsEnvironmentHostError is access all IIterable_IsolatedWindowsEnvironmentHostError_Interface'Class;
   type IIterable_IsolatedWindowsEnvironmentHostError_Ptr is access all IIterable_IsolatedWindowsEnvironmentHostError;
   type IIterator_IIsolatedWindowsEnvironment_Interface;
   type IIterator_IIsolatedWindowsEnvironment is access all IIterator_IIsolatedWindowsEnvironment_Interface'Class;
   type IIterator_IIsolatedWindowsEnvironment_Ptr is access all IIterator_IIsolatedWindowsEnvironment;
   type IIterator_IsolatedWindowsEnvironmentHostError_Interface;
   type IIterator_IsolatedWindowsEnvironmentHostError is access all IIterator_IsolatedWindowsEnvironmentHostError_Interface'Class;
   type IIterator_IsolatedWindowsEnvironmentHostError_Ptr is access all IIterator_IsolatedWindowsEnvironmentHostError;
   type IVectorView_IIsolatedWindowsEnvironment_Interface;
   type IVectorView_IIsolatedWindowsEnvironment is access all IVectorView_IIsolatedWindowsEnvironment_Interface'Class;
   type IVectorView_IIsolatedWindowsEnvironment_Ptr is access all IVectorView_IIsolatedWindowsEnvironment;
   type IVectorView_IsolatedWindowsEnvironmentHostError_Interface;
   type IVectorView_IsolatedWindowsEnvironmentHostError is access all IVectorView_IsolatedWindowsEnvironmentHostError_Interface'Class;
   type IVectorView_IsolatedWindowsEnvironmentHostError_Ptr is access all IVectorView_IsolatedWindowsEnvironmentHostError;
   
   ------------------------------------------------------------------------
   -- Interfaces
   ------------------------------------------------------------------------
   
   ------------------------------------------------------------------------
   
   IID_IAsyncOperation_IIsolatedWindowsEnvironmentLaunchFileResult : aliased constant Windows.IID := (2944999330, 16265, 24155, (167, 43, 223, 147, 107, 177, 173, 69 ));
   
   type IAsyncOperation_IIsolatedWindowsEnvironmentLaunchFileResult_Interface is interface and Windows.IInspectable_Interface;
   
   function put_Completed
   (
      This       : access IAsyncOperation_IIsolatedWindowsEnvironmentLaunchFileResult_Interface
      ; handler : Windows.Security.Isolation.AsyncOperationCompletedHandler_IIsolatedWindowsEnvironmentLaunchFileResult
   )
   return Windows.HRESULT is abstract;
   
   function get_Completed
   (
      This       : access IAsyncOperation_IIsolatedWindowsEnvironmentLaunchFileResult_Interface
      ; RetVal : access Windows.Security.Isolation.AsyncOperationCompletedHandler_IIsolatedWindowsEnvironmentLaunchFileResult
   )
   return Windows.HRESULT is abstract;
   
   function GetResults
   (
      This       : access IAsyncOperation_IIsolatedWindowsEnvironmentLaunchFileResult_Interface
      ; RetVal : access Windows.Security.Isolation.IIsolatedWindowsEnvironmentLaunchFileResult
   )
   return Windows.HRESULT is abstract;
   
   ------------------------------------------------------------------------
   
   IID_IAsyncOperation_IIsolatedWindowsEnvironmentShareFolderResult : aliased constant Windows.IID := (2302823917, 45594, 21933, (157, 74, 142, 83, 241, 84, 100, 162 ));
   
   type IAsyncOperation_IIsolatedWindowsEnvironmentShareFolderResult_Interface is interface and Windows.IInspectable_Interface;
   
   function put_Completed
   (
      This       : access IAsyncOperation_IIsolatedWindowsEnvironmentShareFolderResult_Interface
      ; handler : Windows.Security.Isolation.AsyncOperationCompletedHandler_IIsolatedWindowsEnvironmentShareFolderResult
   )
   return Windows.HRESULT is abstract;
   
   function get_Completed
   (
      This       : access IAsyncOperation_IIsolatedWindowsEnvironmentShareFolderResult_Interface
      ; RetVal : access Windows.Security.Isolation.AsyncOperationCompletedHandler_IIsolatedWindowsEnvironmentShareFolderResult
   )
   return Windows.HRESULT is abstract;
   
   function GetResults
   (
      This       : access IAsyncOperation_IIsolatedWindowsEnvironmentShareFolderResult_Interface
      ; RetVal : access Windows.Security.Isolation.IIsolatedWindowsEnvironmentShareFolderResult
   )
   return Windows.HRESULT is abstract;
   
   ------------------------------------------------------------------------
   
   IID_IAsyncOperation_IIsolatedWindowsEnvironmentStartProcessResult : aliased constant Windows.IID := (2093728671, 11178, 22343, (169, 136, 255, 163, 143, 20, 164, 70 ));
   
   type IAsyncOperation_IIsolatedWindowsEnvironmentStartProcessResult_Interface is interface and Windows.IInspectable_Interface;
   
   function put_Completed
   (
      This       : access IAsyncOperation_IIsolatedWindowsEnvironmentStartProcessResult_Interface
      ; handler : Windows.Security.Isolation.AsyncOperationCompletedHandler_IIsolatedWindowsEnvironmentStartProcessResult
   )
   return Windows.HRESULT is abstract;
   
   function get_Completed
   (
      This       : access IAsyncOperation_IIsolatedWindowsEnvironmentStartProcessResult_Interface
      ; RetVal : access Windows.Security.Isolation.AsyncOperationCompletedHandler_IIsolatedWindowsEnvironmentStartProcessResult
   )
   return Windows.HRESULT is abstract;
   
   function GetResults
   (
      This       : access IAsyncOperation_IIsolatedWindowsEnvironmentStartProcessResult_Interface
      ; RetVal : access Windows.Security.Isolation.IIsolatedWindowsEnvironmentStartProcessResult
   )
   return Windows.HRESULT is abstract;
   
   ------------------------------------------------------------------------
   
   IID_IIsolatedWindowsEnvironment : aliased constant Windows.IID := (1104299415, 49960, 17511, (179, 127, 77, 252, 111, 96, 182, 188 ));
   
   type IIsolatedWindowsEnvironment_Interface is interface and Windows.IInspectable_Interface;
   
   function get_Id
   (
      This       : access IIsolatedWindowsEnvironment_Interface
      ; RetVal : access Windows.String
   )
   return Windows.HRESULT is abstract;
   
   function StartProcessSilentlyAsync
   (
      This       : access IIsolatedWindowsEnvironment_Interface
      ; hostExePath : Windows.String
      ; arguments : Windows.String
      ; activator : Windows.Security.Isolation.IsolatedWindowsEnvironmentActivator
      ; RetVal : access Windows.Security.Isolation.IAsyncOperation_IIsolatedWindowsEnvironmentStartProcessResult -- Generic Parameter Type
   )
   return Windows.HRESULT is abstract;
   
   function StartProcessSilentlyWithTelemetryAsync
   (
      This       : access IIsolatedWindowsEnvironment_Interface
      ; hostExePath : Windows.String
      ; arguments : Windows.String
      ; activator : Windows.Security.Isolation.IsolatedWindowsEnvironmentActivator
      ; telemetryParameters : Windows.Security.Isolation.IIsolatedWindowsEnvironmentTelemetryParameters
      ; RetVal : access Windows.Security.Isolation.IAsyncOperation_IIsolatedWindowsEnvironmentStartProcessResult -- Generic Parameter Type
   )
   return Windows.HRESULT is abstract;
   
   function ShareFolderAsync
   (
      This       : access IIsolatedWindowsEnvironment_Interface
      ; hostFolder : Windows.String
      ; requestOptions : Windows.Security.Isolation.IIsolatedWindowsEnvironmentShareFolderRequestOptions
      ; RetVal : access Windows.Security.Isolation.IAsyncOperation_IIsolatedWindowsEnvironmentShareFolderResult -- Generic Parameter Type
   )
   return Windows.HRESULT is abstract;
   
   function ShareFolderWithTelemetryAsync
   (
      This       : access IIsolatedWindowsEnvironment_Interface
      ; hostFolder : Windows.String
      ; requestOptions : Windows.Security.Isolation.IIsolatedWindowsEnvironmentShareFolderRequestOptions
      ; telemetryParameters : Windows.Security.Isolation.IIsolatedWindowsEnvironmentTelemetryParameters
      ; RetVal : access Windows.Security.Isolation.IAsyncOperation_IIsolatedWindowsEnvironmentShareFolderResult -- Generic Parameter Type
   )
   return Windows.HRESULT is abstract;
   
   function LaunchFileWithUIAsync
   (
      This       : access IIsolatedWindowsEnvironment_Interface
      ; appExePath : Windows.String
      ; argumentsTemplate : Windows.String
      ; filePath : Windows.String
      ; RetVal : access Windows.Security.Isolation.IAsyncOperation_IIsolatedWindowsEnvironmentLaunchFileResult -- Generic Parameter Type
   )
   return Windows.HRESULT is abstract;
   
   function LaunchFileWithUIAndTelemetryAsync
   (
      This       : access IIsolatedWindowsEnvironment_Interface
      ; appExePath : Windows.String
      ; argumentsTemplate : Windows.String
      ; filePath : Windows.String
      ; telemetryParameters : Windows.Security.Isolation.IIsolatedWindowsEnvironmentTelemetryParameters
      ; RetVal : access Windows.Security.Isolation.IAsyncOperation_IIsolatedWindowsEnvironmentLaunchFileResult -- Generic Parameter Type
   )
   return Windows.HRESULT is abstract;
   
   function TerminateAsync
   (
      This       : access IIsolatedWindowsEnvironment_Interface
      ; RetVal : access Windows.Foundation.IAsyncAction
   )
   return Windows.HRESULT is abstract;
   
   function TerminateWithTelemetryAsync
   (
      This       : access IIsolatedWindowsEnvironment_Interface
      ; telemetryParameters : Windows.Security.Isolation.IIsolatedWindowsEnvironmentTelemetryParameters
      ; RetVal : access Windows.Foundation.IAsyncAction
   )
   return Windows.HRESULT is abstract;
   
   function RegisterMessageReceiver
   (
      This       : access IIsolatedWindowsEnvironment_Interface
      ; receiverId : Windows.Guid
      ; messageReceivedCallback : Windows.Security.Isolation.MessageReceivedCallback
   )
   return Windows.HRESULT is abstract;
   
   function UnregisterMessageReceiver
   (
      This       : access IIsolatedWindowsEnvironment_Interface
      ; receiverId : Windows.Guid
   )
   return Windows.HRESULT is abstract;
   
   ------------------------------------------------------------------------
   
   IID_IIsolatedWindowsEnvironmentCreateResult : aliased constant Windows.IID := (4019871320, 56535, 17858, (156, 133, 171, 100, 42, 113, 94, 142 ));
   
   type IIsolatedWindowsEnvironmentCreateResult_Interface is interface and Windows.IInspectable_Interface;
   
   function get_Status
   (
      This       : access IIsolatedWindowsEnvironmentCreateResult_Interface
      ; RetVal : access Windows.Security.Isolation.IsolatedWindowsEnvironmentCreateStatus
   )
   return Windows.HRESULT is abstract;
   
   function get_ExtendedError
   (
      This       : access IIsolatedWindowsEnvironmentCreateResult_Interface
      ; RetVal : access Windows.HResult
   )
   return Windows.HRESULT is abstract;
   
   function get_Environment
   (
      This       : access IIsolatedWindowsEnvironmentCreateResult_Interface
      ; RetVal : access Windows.Security.Isolation.IIsolatedWindowsEnvironment
   )
   return Windows.HRESULT is abstract;
   
   ------------------------------------------------------------------------
   
   IID_IIsolatedWindowsEnvironmentFactory : aliased constant Windows.IID := (449483751, 59396, 17741, (132, 102, 249, 137, 124, 32, 176, 246 ));
   
   type IIsolatedWindowsEnvironmentFactory_Interface is interface and Windows.IInspectable_Interface;
   
   function CreateAsync
   (
      This       : access IIsolatedWindowsEnvironmentFactory_Interface
      ; options : Windows.Security.Isolation.IIsolatedWindowsEnvironmentOptions
      ; RetVal : access Windows.Address -- Generic Parameter Type
   )
   return Windows.HRESULT is abstract;
   
   function CreateWithTelemetryAsync
   (
      This       : access IIsolatedWindowsEnvironmentFactory_Interface
      ; options : Windows.Security.Isolation.IIsolatedWindowsEnvironmentOptions
      ; telemetryParameters : Windows.Security.Isolation.IIsolatedWindowsEnvironmentTelemetryParameters
      ; RetVal : access Windows.Address -- Generic Parameter Type
   )
   return Windows.HRESULT is abstract;
   
   function GetById
   (
      This       : access IIsolatedWindowsEnvironmentFactory_Interface
      ; environmentId : Windows.String
      ; RetVal : access Windows.Security.Isolation.IIsolatedWindowsEnvironment
   )
   return Windows.HRESULT is abstract;
   
   function FindByOwnerId
   (
      This       : access IIsolatedWindowsEnvironmentFactory_Interface
      ; environmentOwnerId : Windows.String
      ; RetVal : access Windows.Security.Isolation.IVectorView_IIsolatedWindowsEnvironment -- Generic Parameter Type
   )
   return Windows.HRESULT is abstract;
   
   ------------------------------------------------------------------------
   
   IID_IIsolatedWindowsEnvironmentFile : aliased constant Windows.IID := (1297801711, 671, 16641, (140, 53, 254, 145, 191, 156, 213, 240 ));
   
   type IIsolatedWindowsEnvironmentFile_Interface is interface and Windows.IInspectable_Interface;
   
   function get_Id
   (
      This       : access IIsolatedWindowsEnvironmentFile_Interface
      ; RetVal : access Windows.Guid
   )
   return Windows.HRESULT is abstract;
   
   function get_HostPath
   (
      This       : access IIsolatedWindowsEnvironmentFile_Interface
      ; RetVal : access Windows.String
   )
   return Windows.HRESULT is abstract;
   
   function Close
   (
      This       : access IIsolatedWindowsEnvironmentFile_Interface
   )
   return Windows.HRESULT is abstract;
   
   ------------------------------------------------------------------------
   
   IID_IIsolatedWindowsEnvironmentHostStatics : aliased constant Windows.IID := (739123911, 1440, 20858, (184, 28, 110, 232, 121, 12, 56, 31 ));
   
   type IIsolatedWindowsEnvironmentHostStatics_Interface is interface and Windows.IInspectable_Interface;
   
   function get_IsReady
   (
      This       : access IIsolatedWindowsEnvironmentHostStatics_Interface
      ; RetVal : access Windows.Boolean
   )
   return Windows.HRESULT is abstract;
   
   function get_HostErrors
   (
      This       : access IIsolatedWindowsEnvironmentHostStatics_Interface
      ; RetVal : access Windows.Security.Isolation.IVectorView_IsolatedWindowsEnvironmentHostError -- Generic Parameter Type
   )
   return Windows.HRESULT is abstract;
   
   ------------------------------------------------------------------------
   
   IID_IIsolatedWindowsEnvironmentLaunchFileResult : aliased constant Windows.IID := (1750942070, 63200, 17769, (177, 170, 33, 92, 15, 245, 178, 87 ));
   
   type IIsolatedWindowsEnvironmentLaunchFileResult_Interface is interface and Windows.IInspectable_Interface;
   
   function get_Status
   (
      This       : access IIsolatedWindowsEnvironmentLaunchFileResult_Interface
      ; RetVal : access Windows.Security.Isolation.IsolatedWindowsEnvironmentLaunchFileStatus
   )
   return Windows.HRESULT is abstract;
   
   function get_ExtendedError
   (
      This       : access IIsolatedWindowsEnvironmentLaunchFileResult_Interface
      ; RetVal : access Windows.HResult
   )
   return Windows.HRESULT is abstract;
   
   function get_File
   (
      This       : access IIsolatedWindowsEnvironmentLaunchFileResult_Interface
      ; RetVal : access Windows.Security.Isolation.IIsolatedWindowsEnvironmentFile
   )
   return Windows.HRESULT is abstract;
   
   ------------------------------------------------------------------------
   
   IID_IIsolatedWindowsEnvironmentOptions : aliased constant Windows.IID := (3072170231, 25072, 16392, (178, 7, 11, 249, 235, 45, 118, 242 ));
   
   type IIsolatedWindowsEnvironmentOptions_Interface is interface and Windows.IInspectable_Interface;
   
   function get_EnvironmentOwnerId
   (
      This       : access IIsolatedWindowsEnvironmentOptions_Interface
      ; RetVal : access Windows.String
   )
   return Windows.HRESULT is abstract;
   
   function put_EnvironmentOwnerId
   (
      This       : access IIsolatedWindowsEnvironmentOptions_Interface
      ; value : Windows.String
   )
   return Windows.HRESULT is abstract;
   
   function get_AllowedClipboardFormats
   (
      This       : access IIsolatedWindowsEnvironmentOptions_Interface
      ; RetVal : access Windows.Security.Isolation.IsolatedWindowsEnvironmentAllowedClipboardFormats
   )
   return Windows.HRESULT is abstract;
   
   function put_AllowedClipboardFormats
   (
      This       : access IIsolatedWindowsEnvironmentOptions_Interface
      ; value : Windows.Security.Isolation.IsolatedWindowsEnvironmentAllowedClipboardFormats
   )
   return Windows.HRESULT is abstract;
   
   function get_ClipboardCopyPasteDirections
   (
      This       : access IIsolatedWindowsEnvironmentOptions_Interface
      ; RetVal : access Windows.Security.Isolation.IsolatedWindowsEnvironmentClipboardCopyPasteDirections
   )
   return Windows.HRESULT is abstract;
   
   function put_ClipboardCopyPasteDirections
   (
      This       : access IIsolatedWindowsEnvironmentOptions_Interface
      ; value : Windows.Security.Isolation.IsolatedWindowsEnvironmentClipboardCopyPasteDirections
   )
   return Windows.HRESULT is abstract;
   
   function get_AvailablePrinters
   (
      This       : access IIsolatedWindowsEnvironmentOptions_Interface
      ; RetVal : access Windows.Security.Isolation.IsolatedWindowsEnvironmentAvailablePrinters
   )
   return Windows.HRESULT is abstract;
   
   function put_AvailablePrinters
   (
      This       : access IIsolatedWindowsEnvironmentOptions_Interface
      ; value : Windows.Security.Isolation.IsolatedWindowsEnvironmentAvailablePrinters
   )
   return Windows.HRESULT is abstract;
   
   function get_SharedHostFolderPath
   (
      This       : access IIsolatedWindowsEnvironmentOptions_Interface
      ; RetVal : access Windows.String
   )
   return Windows.HRESULT is abstract;
   
   function get_SharedFolderNameInEnvironment
   (
      This       : access IIsolatedWindowsEnvironmentOptions_Interface
      ; RetVal : access Windows.String
   )
   return Windows.HRESULT is abstract;
   
   function ShareHostFolderForUntrustedItems
   (
      This       : access IIsolatedWindowsEnvironmentOptions_Interface
      ; SharedHostFolderPath : Windows.String
      ; ShareFolderNameInEnvironment : Windows.String
   )
   return Windows.HRESULT is abstract;
   
   function get_PersistUserProfile
   (
      This       : access IIsolatedWindowsEnvironmentOptions_Interface
      ; RetVal : access Windows.Boolean
   )
   return Windows.HRESULT is abstract;
   
   function put_PersistUserProfile
   (
      This       : access IIsolatedWindowsEnvironmentOptions_Interface
      ; value : Windows.Boolean
   )
   return Windows.HRESULT is abstract;
   
   function get_AllowGraphicsHardwareAcceleration
   (
      This       : access IIsolatedWindowsEnvironmentOptions_Interface
      ; RetVal : access Windows.Boolean
   )
   return Windows.HRESULT is abstract;
   
   function put_AllowGraphicsHardwareAcceleration
   (
      This       : access IIsolatedWindowsEnvironmentOptions_Interface
      ; value : Windows.Boolean
   )
   return Windows.HRESULT is abstract;
   
   function get_AllowCameraAndMicrophoneAccess
   (
      This       : access IIsolatedWindowsEnvironmentOptions_Interface
      ; RetVal : access Windows.Boolean
   )
   return Windows.HRESULT is abstract;
   
   function put_AllowCameraAndMicrophoneAccess
   (
      This       : access IIsolatedWindowsEnvironmentOptions_Interface
      ; value : Windows.Boolean
   )
   return Windows.HRESULT is abstract;
   
   ------------------------------------------------------------------------
   
   IID_IIsolatedWindowsEnvironmentOwnerRegistrationData : aliased constant Windows.IID := (4169722914, 59599, 22208, (177, 223, 144, 175, 74, 216, 14, 132 ));
   
   type IIsolatedWindowsEnvironmentOwnerRegistrationData_Interface is interface and Windows.IInspectable_Interface;
   
   function get_ShareableFolders
   (
      This       : access IIsolatedWindowsEnvironmentOwnerRegistrationData_Interface
      ; RetVal : access Windows.Foundation.Collections.IVector_String -- Generic Parameter Type
   )
   return Windows.HRESULT is abstract;
   
   function get_ProcessesRunnableAsSystem
   (
      This       : access IIsolatedWindowsEnvironmentOwnerRegistrationData_Interface
      ; RetVal : access Windows.Foundation.Collections.IVector_String -- Generic Parameter Type
   )
   return Windows.HRESULT is abstract;
   
   function get_ProcessesRunnableAsUser
   (
      This       : access IIsolatedWindowsEnvironmentOwnerRegistrationData_Interface
      ; RetVal : access Windows.Foundation.Collections.IVector_String -- Generic Parameter Type
   )
   return Windows.HRESULT is abstract;
   
   function get_ActivationFileExtensions
   (
      This       : access IIsolatedWindowsEnvironmentOwnerRegistrationData_Interface
      ; RetVal : access Windows.Foundation.Collections.IVector_String -- Generic Parameter Type
   )
   return Windows.HRESULT is abstract;
   
   ------------------------------------------------------------------------
   
   IID_IIsolatedWindowsEnvironmentOwnerRegistrationResult : aliased constant Windows.IID := (1839961169, 24937, 21983, (143, 81, 121, 14, 153, 215, 39, 125 ));
   
   type IIsolatedWindowsEnvironmentOwnerRegistrationResult_Interface is interface and Windows.IInspectable_Interface;
   
   function get_Status
   (
      This       : access IIsolatedWindowsEnvironmentOwnerRegistrationResult_Interface
      ; RetVal : access Windows.Security.Isolation.IsolatedWindowsEnvironmentOwnerRegistrationStatus
   )
   return Windows.HRESULT is abstract;
   
   function get_ExtendedError
   (
      This       : access IIsolatedWindowsEnvironmentOwnerRegistrationResult_Interface
      ; RetVal : access Windows.HResult
   )
   return Windows.HRESULT is abstract;
   
   ------------------------------------------------------------------------
   
   IID_IIsolatedWindowsEnvironmentOwnerRegistrationStatics : aliased constant Windows.IID := (278206292, 8267, 24265, (157, 227, 223, 121, 45, 7, 74, 97 ));
   
   type IIsolatedWindowsEnvironmentOwnerRegistrationStatics_Interface is interface and Windows.IInspectable_Interface;
   
   function Register
   (
      This       : access IIsolatedWindowsEnvironmentOwnerRegistrationStatics_Interface
      ; ownerName : Windows.String
      ; ownerRegistrationData : Windows.Security.Isolation.IIsolatedWindowsEnvironmentOwnerRegistrationData
      ; RetVal : access Windows.Security.Isolation.IIsolatedWindowsEnvironmentOwnerRegistrationResult
   )
   return Windows.HRESULT is abstract;
   
   function Unregister
   (
      This       : access IIsolatedWindowsEnvironmentOwnerRegistrationStatics_Interface
      ; ownerName : Windows.String
   )
   return Windows.HRESULT is abstract;
   
   ------------------------------------------------------------------------
   
   IID_IIsolatedWindowsEnvironmentProcess : aliased constant Windows.IID := (2824389615, 33138, 20240, (175, 147, 203, 230, 10, 248, 141, 9 ));
   
   type IIsolatedWindowsEnvironmentProcess_Interface is interface and Windows.IInspectable_Interface;
   
   function get_State
   (
      This       : access IIsolatedWindowsEnvironmentProcess_Interface
      ; RetVal : access Windows.Security.Isolation.IsolatedWindowsEnvironmentProcessState
   )
   return Windows.HRESULT is abstract;
   
   function get_ExitCode
   (
      This       : access IIsolatedWindowsEnvironmentProcess_Interface
      ; RetVal : access Windows.UInt32
   )
   return Windows.HRESULT is abstract;
   
   function WaitForExit
   (
      This       : access IIsolatedWindowsEnvironmentProcess_Interface
   )
   return Windows.HRESULT is abstract;
   
   function WaitForExitWithTimeout
   (
      This       : access IIsolatedWindowsEnvironmentProcess_Interface
      ; timeoutMilliseconds : Windows.UInt32
   )
   return Windows.HRESULT is abstract;
   
   function WaitForExitAsync
   (
      This       : access IIsolatedWindowsEnvironmentProcess_Interface
      ; RetVal : access Windows.Foundation.IAsyncAction
   )
   return Windows.HRESULT is abstract;
   
   ------------------------------------------------------------------------
   
   IID_IIsolatedWindowsEnvironmentShareFolderRequestOptions : aliased constant Windows.IID := (3288722301, 28755, 20330, (155, 135, 116, 104, 70, 237, 25, 178 ));
   
   type IIsolatedWindowsEnvironmentShareFolderRequestOptions_Interface is interface and Windows.IInspectable_Interface;
   
   function get_AllowWrite
   (
      This       : access IIsolatedWindowsEnvironmentShareFolderRequestOptions_Interface
      ; RetVal : access Windows.Boolean
   )
   return Windows.HRESULT is abstract;
   
   function put_AllowWrite
   (
      This       : access IIsolatedWindowsEnvironmentShareFolderRequestOptions_Interface
      ; value : Windows.Boolean
   )
   return Windows.HRESULT is abstract;
   
   ------------------------------------------------------------------------
   
   IID_IIsolatedWindowsEnvironmentShareFolderResult : aliased constant Windows.IID := (1433118510, 51869, 16913, (177, 67, 28, 237, 200, 110, 178, 254 ));
   
   type IIsolatedWindowsEnvironmentShareFolderResult_Interface is interface and Windows.IInspectable_Interface;
   
   function get_Status
   (
      This       : access IIsolatedWindowsEnvironmentShareFolderResult_Interface
      ; RetVal : access Windows.Security.Isolation.IsolatedWindowsEnvironmentShareFolderStatus
   )
   return Windows.HRESULT is abstract;
   
   function get_ExtendedError
   (
      This       : access IIsolatedWindowsEnvironmentShareFolderResult_Interface
      ; RetVal : access Windows.HResult
   )
   return Windows.HRESULT is abstract;
   
   ------------------------------------------------------------------------
   
   IID_IIsolatedWindowsEnvironmentStartProcessResult : aliased constant Windows.IID := (2409749551, 22490, 19381, (156, 6, 250, 7, 45, 32, 50, 226 ));
   
   type IIsolatedWindowsEnvironmentStartProcessResult_Interface is interface and Windows.IInspectable_Interface;
   
   function get_Status
   (
      This       : access IIsolatedWindowsEnvironmentStartProcessResult_Interface
      ; RetVal : access Windows.Security.Isolation.IsolatedWindowsEnvironmentStartProcessStatus
   )
   return Windows.HRESULT is abstract;
   
   function get_ExtendedError
   (
      This       : access IIsolatedWindowsEnvironmentStartProcessResult_Interface
      ; RetVal : access Windows.HResult
   )
   return Windows.HRESULT is abstract;
   
   function get_Process
   (
      This       : access IIsolatedWindowsEnvironmentStartProcessResult_Interface
      ; RetVal : access Windows.Security.Isolation.IIsolatedWindowsEnvironmentProcess
   )
   return Windows.HRESULT is abstract;
   
   ------------------------------------------------------------------------
   
   IID_IIsolatedWindowsEnvironmentTelemetryParameters : aliased constant Windows.IID := (3957013675, 31290, 17700, (160, 244, 249, 110, 40, 77, 51, 205 ));
   
   type IIsolatedWindowsEnvironmentTelemetryParameters_Interface is interface and Windows.IInspectable_Interface;
   
   function get_CorrelationId
   (
      This       : access IIsolatedWindowsEnvironmentTelemetryParameters_Interface
      ; RetVal : access Windows.Guid
   )
   return Windows.HRESULT is abstract;
   
   function put_CorrelationId
   (
      This       : access IIsolatedWindowsEnvironmentTelemetryParameters_Interface
      ; value : Windows.Guid
   )
   return Windows.HRESULT is abstract;
   
   ------------------------------------------------------------------------
   
   IID_IIsolatedWindowsHostMessengerStatics : aliased constant Windows.IID := (115623099, 21440, 18569, (143, 163, 83, 89, 46, 55, 207, 33 ));
   
   type IIsolatedWindowsHostMessengerStatics_Interface is interface and Windows.IInspectable_Interface;
   
   function PostMessageToReceiver
   (
      This       : access IIsolatedWindowsHostMessengerStatics_Interface
      ; receiverId : Windows.Guid
      ; message : Windows.Foundation.Collections.IVectorView_Object
   )
   return Windows.HRESULT is abstract;
   
   function GetFileId
   (
      This       : access IIsolatedWindowsHostMessengerStatics_Interface
      ; filePath : Windows.String
      ; RetVal : access Windows.Guid
   )
   return Windows.HRESULT is abstract;
   
   ------------------------------------------------------------------------
   
   IID_IIterable_IIsolatedWindowsEnvironment : aliased constant Windows.IID := (928013799, 24606, 23575, (167, 245, 26, 106, 196, 185, 27, 3 ));
   
   type IIterable_IIsolatedWindowsEnvironment_Interface is interface and Windows.IInspectable_Interface;
   
   function First
   (
      This       : access IIterable_IIsolatedWindowsEnvironment_Interface
      ; RetVal : access Windows.Security.Isolation.IIterator_IIsolatedWindowsEnvironment
   )
   return Windows.HRESULT is abstract;
   
   ------------------------------------------------------------------------
   
   IID_IIterable_IsolatedWindowsEnvironmentHostError : aliased constant Windows.IID := (3804286073, 32789, 20886, (139, 50, 122, 8, 135, 160, 145, 189 ));
   
   type IIterable_IsolatedWindowsEnvironmentHostError_Interface is interface and Windows.IInspectable_Interface;
   
   function First
   (
      This       : access IIterable_IsolatedWindowsEnvironmentHostError_Interface
      ; RetVal : access Windows.Security.Isolation.IIterator_IsolatedWindowsEnvironmentHostError
   )
   return Windows.HRESULT is abstract;
   
   ------------------------------------------------------------------------
   
   IID_IIterator_IIsolatedWindowsEnvironment : aliased constant Windows.IID := (3677300935, 19524, 23635, (176, 27, 67, 129, 168, 206, 152, 0 ));
   
   type IIterator_IIsolatedWindowsEnvironment_Interface is interface and Windows.IInspectable_Interface;
   
   function get_Current
   (
      This       : access IIterator_IIsolatedWindowsEnvironment_Interface
      ; RetVal : access Windows.Security.Isolation.IIsolatedWindowsEnvironment
   )
   return Windows.HRESULT is abstract;
   
   function get_HasCurrent
   (
      This       : access IIterator_IIsolatedWindowsEnvironment_Interface
      ; RetVal : access Windows.Boolean
   )
   return Windows.HRESULT is abstract;
   
   function MoveNext
   (
      This       : access IIterator_IIsolatedWindowsEnvironment_Interface
      ; RetVal : access Windows.Boolean
   )
   return Windows.HRESULT is abstract;
   
   function GetMany
   (
      This       : access IIterator_IIsolatedWindowsEnvironment_Interface
      ; items : Windows.Security.Isolation.IIsolatedWindowsEnvironment_Ptr
      ; RetVal : access Windows.UInt32
   )
   return Windows.HRESULT is abstract;
   
   ------------------------------------------------------------------------
   
   IID_IIterator_IsolatedWindowsEnvironmentHostError : aliased constant Windows.IID := (1667718162, 12820, 21776, (130, 217, 203, 128, 127, 248, 155, 200 ));
   
   type IIterator_IsolatedWindowsEnvironmentHostError_Interface is interface and Windows.IInspectable_Interface;
   
   function get_Current
   (
      This       : access IIterator_IsolatedWindowsEnvironmentHostError_Interface
      ; RetVal : access Windows.Security.Isolation.IsolatedWindowsEnvironmentHostError
   )
   return Windows.HRESULT is abstract;
   
   function get_HasCurrent
   (
      This       : access IIterator_IsolatedWindowsEnvironmentHostError_Interface
      ; RetVal : access Windows.Boolean
   )
   return Windows.HRESULT is abstract;
   
   function MoveNext
   (
      This       : access IIterator_IsolatedWindowsEnvironmentHostError_Interface
      ; RetVal : access Windows.Boolean
   )
   return Windows.HRESULT is abstract;
   
   function GetMany
   (
      This       : access IIterator_IsolatedWindowsEnvironmentHostError_Interface
      ; items : Windows.Security.Isolation.IsolatedWindowsEnvironmentHostError_Ptr
      ; RetVal : access Windows.UInt32
   )
   return Windows.HRESULT is abstract;
   
   ------------------------------------------------------------------------
   
   IID_IVectorView_IIsolatedWindowsEnvironment : aliased constant Windows.IID := (1961946632, 10587, 23361, (147, 203, 16, 196, 183, 167, 165, 108 ));
   
   type IVectorView_IIsolatedWindowsEnvironment_Interface is interface and Windows.IInspectable_Interface;
   
   function GetAt
   (
      This       : access IVectorView_IIsolatedWindowsEnvironment_Interface
      ; index : Windows.UInt32
      ; RetVal : access Windows.Security.Isolation.IIsolatedWindowsEnvironment
   )
   return Windows.HRESULT is abstract;
   
   function get_Size
   (
      This       : access IVectorView_IIsolatedWindowsEnvironment_Interface
      ; RetVal : access Windows.UInt32
   )
   return Windows.HRESULT is abstract;
   
   function IndexOf
   (
      This       : access IVectorView_IIsolatedWindowsEnvironment_Interface
      ; value : Windows.Security.Isolation.IIsolatedWindowsEnvironment
      ; index : access Windows.UInt32
      ; RetVal : access Windows.Boolean
   )
   return Windows.HRESULT is abstract;
   
   function GetMany
   (
      This       : access IVectorView_IIsolatedWindowsEnvironment_Interface
      ; startIndex : Windows.UInt32
      ; items : Windows.Security.Isolation.IIsolatedWindowsEnvironment_Ptr
      ; RetVal : access Windows.UInt32
   )
   return Windows.HRESULT is abstract;
   
   ------------------------------------------------------------------------
   
   IID_IVectorView_IsolatedWindowsEnvironmentHostError : aliased constant Windows.IID := (2821781025, 42158, 24412, (160, 3, 152, 95, 227, 224, 30, 81 ));
   
   type IVectorView_IsolatedWindowsEnvironmentHostError_Interface is interface and Windows.IInspectable_Interface;
   
   function GetAt
   (
      This       : access IVectorView_IsolatedWindowsEnvironmentHostError_Interface
      ; index : Windows.UInt32
      ; RetVal : access Windows.Security.Isolation.IsolatedWindowsEnvironmentHostError
   )
   return Windows.HRESULT is abstract;
   
   function get_Size
   (
      This       : access IVectorView_IsolatedWindowsEnvironmentHostError_Interface
      ; RetVal : access Windows.UInt32
   )
   return Windows.HRESULT is abstract;
   
   function IndexOf
   (
      This       : access IVectorView_IsolatedWindowsEnvironmentHostError_Interface
      ; value : Windows.Security.Isolation.IsolatedWindowsEnvironmentHostError
      ; index : access Windows.UInt32
      ; RetVal : access Windows.Boolean
   )
   return Windows.HRESULT is abstract;
   
   function GetMany
   (
      This       : access IVectorView_IsolatedWindowsEnvironmentHostError_Interface
      ; startIndex : Windows.UInt32
      ; items : Windows.Security.Isolation.IsolatedWindowsEnvironmentHostError_Ptr
      ; RetVal : access Windows.UInt32
   )
   return Windows.HRESULT is abstract;
   
   ------------------------------------------------------------------------
   -- Delegates/Events
   ------------------------------------------------------------------------
   
   ------------------------------------------------------------------------
   
   IID_AsyncOperationCompletedHandler_IIsolatedWindowsEnvironmentLaunchFileResult : aliased constant Windows.IID := (2484004965, 35980, 23403, (136, 246, 160, 55, 31, 88, 179, 134 ));
   
   type AsyncOperationCompletedHandler_IIsolatedWindowsEnvironmentLaunchFileResult_Interface(Callback : access procedure (asyncInfo : Windows.Security.Isolation.IAsyncOperation_IIsolatedWindowsEnvironmentLaunchFileResult ; asyncStatus : Windows.Foundation.AsyncStatus)) is new Windows.IMulticastDelegate_Interface(IID_AsyncOperationCompletedHandler_IIsolatedWindowsEnvironmentLaunchFileResult'access) with null record;
   function Invoke
   (
      This       : access AsyncOperationCompletedHandler_IIsolatedWindowsEnvironmentLaunchFileResult_Interface
      ; asyncInfo : Windows.Security.Isolation.IAsyncOperation_IIsolatedWindowsEnvironmentLaunchFileResult
      ; asyncStatus : Windows.Foundation.AsyncStatus
   )
   return Windows.HRESULT;
   
   ------------------------------------------------------------------------
   
   IID_AsyncOperationCompletedHandler_IIsolatedWindowsEnvironmentShareFolderResult : aliased constant Windows.IID := (1432112074, 54107, 24212, (184, 229, 167, 227, 196, 75, 209, 193 ));
   
   type AsyncOperationCompletedHandler_IIsolatedWindowsEnvironmentShareFolderResult_Interface(Callback : access procedure (asyncInfo : Windows.Security.Isolation.IAsyncOperation_IIsolatedWindowsEnvironmentShareFolderResult ; asyncStatus : Windows.Foundation.AsyncStatus)) is new Windows.IMulticastDelegate_Interface(IID_AsyncOperationCompletedHandler_IIsolatedWindowsEnvironmentShareFolderResult'access) with null record;
   function Invoke
   (
      This       : access AsyncOperationCompletedHandler_IIsolatedWindowsEnvironmentShareFolderResult_Interface
      ; asyncInfo : Windows.Security.Isolation.IAsyncOperation_IIsolatedWindowsEnvironmentShareFolderResult
      ; asyncStatus : Windows.Foundation.AsyncStatus
   )
   return Windows.HRESULT;
   
   ------------------------------------------------------------------------
   
   IID_AsyncOperationCompletedHandler_IIsolatedWindowsEnvironmentStartProcessResult : aliased constant Windows.IID := (109545084, 24127, 21435, (145, 192, 204, 147, 25, 72, 213, 36 ));
   
   type AsyncOperationCompletedHandler_IIsolatedWindowsEnvironmentStartProcessResult_Interface(Callback : access procedure (asyncInfo : Windows.Security.Isolation.IAsyncOperation_IIsolatedWindowsEnvironmentStartProcessResult ; asyncStatus : Windows.Foundation.AsyncStatus)) is new Windows.IMulticastDelegate_Interface(IID_AsyncOperationCompletedHandler_IIsolatedWindowsEnvironmentStartProcessResult'access) with null record;
   function Invoke
   (
      This       : access AsyncOperationCompletedHandler_IIsolatedWindowsEnvironmentStartProcessResult_Interface
      ; asyncInfo : Windows.Security.Isolation.IAsyncOperation_IIsolatedWindowsEnvironmentStartProcessResult
      ; asyncStatus : Windows.Foundation.AsyncStatus
   )
   return Windows.HRESULT;
   
   ------------------------------------------------------------------------
   
   IID_MessageReceivedCallback : aliased constant Windows.IID := (4122265855, 7581, 18837, (159, 234, 77, 21, 37, 124, 7, 87 ));
   
   type MessageReceivedCallback_Interface(Callback : access procedure (receiverId : Windows.Guid ; message : Windows.Foundation.Collections.IVectorView_Object)) is new Windows.IMulticastDelegate_Interface(IID_MessageReceivedCallback'access) with null record;
   function Invoke
   (
      This       : access MessageReceivedCallback_Interface
      ; receiverId : Windows.Guid
      ; message : Windows.Foundation.Collections.IVectorView_Object
   )
   return Windows.HRESULT;
   
   ------------------------------------------------------------------------
   -- Classes
   ------------------------------------------------------------------------
   
   subtype IsolatedWindowsEnvironment is Windows.Security.Isolation.IIsolatedWindowsEnvironment;
   subtype IsolatedWindowsEnvironmentCreateResult is Windows.Security.Isolation.IIsolatedWindowsEnvironmentCreateResult;
   subtype IsolatedWindowsEnvironmentFile is Windows.Security.Isolation.IIsolatedWindowsEnvironmentFile;
   subtype IsolatedWindowsEnvironmentLaunchFileResult is Windows.Security.Isolation.IIsolatedWindowsEnvironmentLaunchFileResult;
   subtype IsolatedWindowsEnvironmentOptions is Windows.Security.Isolation.IIsolatedWindowsEnvironmentOptions;
   function Create return Windows.Security.Isolation.IIsolatedWindowsEnvironmentOptions;
   
   subtype IsolatedWindowsEnvironmentOwnerRegistrationData is Windows.Security.Isolation.IIsolatedWindowsEnvironmentOwnerRegistrationData;
   function Create return Windows.Security.Isolation.IIsolatedWindowsEnvironmentOwnerRegistrationData;
   
   subtype IsolatedWindowsEnvironmentOwnerRegistrationResult is Windows.Security.Isolation.IIsolatedWindowsEnvironmentOwnerRegistrationResult;
   subtype IsolatedWindowsEnvironmentProcess is Windows.Security.Isolation.IIsolatedWindowsEnvironmentProcess;
   subtype IsolatedWindowsEnvironmentShareFolderRequestOptions is Windows.Security.Isolation.IIsolatedWindowsEnvironmentShareFolderRequestOptions;
   function Create return Windows.Security.Isolation.IIsolatedWindowsEnvironmentShareFolderRequestOptions;
   
   subtype IsolatedWindowsEnvironmentShareFolderResult is Windows.Security.Isolation.IIsolatedWindowsEnvironmentShareFolderResult;
   subtype IsolatedWindowsEnvironmentStartProcessResult is Windows.Security.Isolation.IIsolatedWindowsEnvironmentStartProcessResult;
   subtype IsolatedWindowsEnvironmentTelemetryParameters is Windows.Security.Isolation.IIsolatedWindowsEnvironmentTelemetryParameters;
   function Create return Windows.Security.Isolation.IIsolatedWindowsEnvironmentTelemetryParameters;
   
   
   ------------------------------------------------------------------------
   -- Static Procedures/functions
   ------------------------------------------------------------------------
   
   function CreateAsync
   (
      options : Windows.Security.Isolation.IIsolatedWindowsEnvironmentOptions
   )
   return Windows.Address;
   
   function CreateWithTelemetryAsync
   (
      options : Windows.Security.Isolation.IIsolatedWindowsEnvironmentOptions
      ; telemetryParameters : Windows.Security.Isolation.IIsolatedWindowsEnvironmentTelemetryParameters
   )
   return Windows.Address;
   
   function FindByOwnerId
   (
      environmentOwnerId : Windows.String
   )
   return Windows.Security.Isolation.IVectorView_IIsolatedWindowsEnvironment;
   
   function GetById
   (
      environmentId : Windows.String
   )
   return Windows.Security.Isolation.IIsolatedWindowsEnvironment;
   
   function get_HostErrors
   return Windows.Security.Isolation.IVectorView_IsolatedWindowsEnvironmentHostError;
   
   function get_IsReady
   return Windows.Boolean;
   
   function Register
   (
      ownerName : Windows.String
      ; ownerRegistrationData : Windows.Security.Isolation.IIsolatedWindowsEnvironmentOwnerRegistrationData
   )
   return Windows.Security.Isolation.IIsolatedWindowsEnvironmentOwnerRegistrationResult;
   
   procedure Unregister
   (
      ownerName : Windows.String
   )
   ;
   
   function GetFileId
   (
      filePath : Windows.String
   )
   return Windows.Guid;
   
   procedure PostMessageToReceiver
   (
      receiverId : Windows.Guid
      ; message : Windows.Foundation.Collections.IVectorView_Object
   )
   ;
   
end;
