#pragma autorecover
#pragma classflags(64)
#pragma namespace("\\\\.\\root")

[NamespaceSecuritySDDL("O:BAG:BAD:P(A;CI;0X0006003F;;;SY)(A;CI;0X0006003F;;;BA)(A;CI;0X0006003F;;;NS)(A;;0X00000023;;;AU)")] 
Instance of __Namespace
{
  Name = "RSOP";
};
#pragma namespace("\\\\.\\root\\RSOP")

[NamespaceSecuritySDDL("O:BAG:BAD:P(A;CI;0X0006003F;;;SY)(A;CI;0X0006003F;;;BA)(A;CI;0X0006003F;;;NS)")] 
Instance of __Namespace
{
  Name = "User";
};

[NamespaceSecuritySDDL("O:BAG:BAD:P(A;CI;0X0006003F;;;SY)(A;CI;0X0006003F;;;BA)(A;CI;0X0006003F;;;LS)(A;CI;0X0006003F;;;NS)")] 
Instance of __Namespace
{
  Name = "Computer";
};

Instance of __Win32Provider as $P1
{
  Name = "Rsop Logging Mode Provider";
  CLSID = "{B3FF88A4-96EC-4cc1-983F-72BE0EBB368B}";
  PerUserInitialization = TRUE;
  HostingModel = "NetworkServiceHost";
};

Instance of __MethodProviderRegistration
{
  Provider = $P1;
};

[dynamic,provider("Rsop Logging Mode Provider") : ToInstance] 
class RsopLoggingModeProvider
{
  [static,implemented] void RsopCreateSession([in] uint32 flags,[in] string userSid,[out] string nameSpace,[out] uint32 hResult,[out] uint32 ExtendedInfo);
  [static,implemented] void RsopDeleteSession([in] string nameSpace,[out] uint32 hResult);
  [static,implemented] void RsopEnumerateUsers([out] string userSids[],[out] uint32 hResult);
};

Instance of __Win32Provider as $P2
{
  Name = "Rsop Planning Mode Provider";
  CLSID = "{F0FF8EBB-F14D-4369-bd2e-d84fbf6122d6}";
  PerUserInitialization = TRUE;
  HostingModel = "SelfHost";
};

Instance of __MethodProviderRegistration
{
  Provider = $P2;
};

[dynamic,provider("Rsop Planning Mode Provider") : ToInstance] 
class RsopPlanningModeProvider
{
  [static,implemented] void RsopCreateSession([in] uint32 flags,[in] string computerName,[in] string computerSOM,[in] string computerSecurityGroups[],[in] string computerGPOFilters[],[in] string userName,[in] string userSOM,[in] string userSecurityGroups[],[in] string userGPOFilters[],[in] string site,[out] string nameSpace,[out] uint32 hResult,[out] uint32 ExtendedInfo);
  [static,implemented] void RsopDeleteSession([in] string namespace,[out] uint32 hResult);
};
#pragma namespace("\\\\.\\root\\RSOP\\User")

[Locale(1033) : ToInstance] 
class RSOP_Session
{
  [key : ToInstance ToSubclass DisableOverride,Read : ToSubclass] string id;
  [Read : ToSubclass] uint32 version = 0;
  [Read : ToSubclass] string targetName = "";
  [Read : ToSubclass] string SOM = "";
  [Read : ToSubclass] string SecurityGroups[];
  [Read : ToSubclass] string Site;
  [Read : ToSubclass] uint32 flags = 0;
  [Read : ToSubclass] datetime creationTime;
  [Read : ToSubclass] uint32 ttlMinutes;
  [Read : ToSubclass] boolean slowLink;
};

[Locale(1033) : ToInstance] 
class RSOP_SOM
{
  [key : ToInstance ToSubclass DisableOverride,Read : ToSubclass] string id;
  [key : ToInstance ToSubclass DisableOverride,ValueMap{"1", "2"} : ToSubclass,Read : ToSubclass] uint32 reason = 1;
  [ValueMap{"1", "2", "3", "4"} : ToSubclass,Read : ToSubclass] uint32 type;
  [Read : ToSubclass] uint32 SOMOrder;
  [Read : ToSubclass] boolean blocking = FALSE;
  [Read : ToSubclass] boolean blocked = FALSE;
};

[Locale(1033) : ToInstance] 
class RSOP_GPO
{
  [key : ToInstance ToSubclass DisableOverride,Read : ToSubclass] string id;
  [Read : ToSubclass] string name = "";
  [Read : ToSubclass] string guidName = "";
  [Read : ToSubclass] uint32 version = 0;
  [Read : ToSubclass] boolean enabled = TRUE;
  [Read : ToSubclass] uint8 securityDescriptor[];
  [Read : ToSubclass] string fileSystemPath = "";
  [Read : ToSubclass] boolean accessDenied = FALSE;
  [Read : ToSubclass] string filterId = "";
  [Read : ToSubclass] boolean filterAllowed = TRUE;
  [Read : ToSubclass] string extensionIds[];
};

[Association : ToInstance ToSubclass DisableOverride,Locale(1033) : ToInstance] 
class RSOP_GPLink
{
  [key : ToInstance ToSubclass DisableOverride,Read : ToSubclass] RSOP_SOM Ref SOM;
  [key : ToInstance ToSubclass DisableOverride,Read : ToSubclass] RSOP_GPO Ref GPO;
  [key : ToInstance ToSubclass DisableOverride,Read : ToSubclass] uint32 somOrder = 0;
  [Read : ToSubclass] uint32 linkOrder = 0;
  [Read : ToSubclass] uint32 appliedOrder = 0;
  [Read : ToSubclass] boolean enabled = TRUE;
  [Read : ToSubclass] boolean noOverride = FALSE;
};

[abstract,Locale(1033) : ToInstance] 
class RSOP_PolicySetting
{
  [Required,Not_Null : ToSubclass,Read : ToSubclass] string id;
  [Required,Not_Null : ToSubclass,Read : ToSubclass] uint32 precedence;
  [Read : ToSubclass] string name = "";
  [Read : ToSubclass] string GPOID = "";
  [Read : ToSubclass] string SOMID = "";
  [Read : ToSubclass] datetime creationTime;
};

[Locale(1033) : ToInstance] 
class RSoP_PolicySettingStatus
{
  [key : ToInstance ToSubclass DisableOverride,Read : ToSubclass] string id;
  [Read : ToSubclass] string eventSource;
  [Read : ToSubclass] string eventLogName;
  [Read : ToSubclass] uint32 eventID;
  [Read : ToSubclass] datetime eventTime;
  [Read : ToSubclass] uint32 errorCode;
  [ValueMap{"0", "1", "2", "3", "4"} : ToSubclass,Read : ToSubclass] sint32 status = 0;
};

[Locale(1033) : ToInstance,Association : ToInstance ToSubclass DisableOverride] 
class RSoP_PolicySettingLink
{
  [key : ToInstance ToSubclass DisableOverride,Read : ToSubclass] RSOP_PolicySetting Ref setting;
  [key : ToInstance ToSubclass DisableOverride,Read : ToSubclass] RSoP_PolicySettingStatus Ref status;
};

[Locale(1033) : ToInstance] 
class RSOP_IPSECPolicySetting : RSOP_PolicySetting
{
  [key : ToInstance ToSubclass DisableOverride,Read : ToSubclass] string id;
  [Read : ToSubclass] uint32 precedence;
  [Read : ToSubclass] string ClassName;
  [Read : ToSubclass] string description;
  [Read : ToSubclass] string name;
  [Read : ToSubclass] string ipsecName;
  [Read : ToSubclass] string ipsecID;
  [Read : ToSubclass] uint32 ipsecDataType;
  [Read : ToSubclass] uint8 ipsecData[];
  [Read : ToSubclass] string ipsecISAKMPReference;
  [Read : ToSubclass] string ipsecNFAReference[];
  [Read : ToSubclass] uint32 whenChanged;
  [Read : ToSubclass] string ipsecOwnersReference[];
  [Read : ToSubclass] string ipsecNegotiationPolicyReference;
  [Read : ToSubclass] string ipsecNegotiationPolicyType;
  [Read : ToSubclass] string ipsecNegotiationPolicyAction;
  [Read : ToSubclass] string ipsecFilterReference[];
};

[Locale(1033) : ToInstance] 
class RSOP_IEEE80211PolicySetting : RSOP_PolicySetting
{
  [key : ToInstance ToSubclass DisableOverride,Read : ToSubclass] string id;
  [Read : ToSubclass] uint32 precedence;
  [Read : ToSubclass] string ClassName;
  [Read : ToSubclass] string description;
  [Read : ToSubclass] string name;
  [Read : ToSubclass] string msieee80211Name;
  [Read : ToSubclass] string msieee80211ID;
  [Read : ToSubclass] uint32 msieee80211DataType;
  [Read : ToSubclass] uint8 msieee80211Data[];
  [Read : ToSubclass] uint32 whenChanged;
};

[Locale(1033) : ToInstance] 
class RSOP_IEEE80211GroupPolicySetting : RSOP_PolicySetting
{
  [key : ToInstance ToSubclass DisableOverride,Read : ToSubclass] string id;
  [Read : ToSubclass] uint32 precedence;
  [Read : ToSubclass] string description;
  [Read : ToSubclass] string name;
  [Read : ToSubclass] uint8 msieee80211PolicyReserved[];
  [Read : ToSubclass] string msieee80211PolicyData;
  [Read : ToSubclass] uint32 whenChanged;
};

[Locale(1033) : ToInstance] 
class RSOP_IEEE8023GroupPolicySetting : RSOP_PolicySetting
{
  [key : ToInstance ToSubclass DisableOverride,Read : ToSubclass] string id;
  [Read : ToSubclass] uint32 precedence;
  [Read : ToSubclass] string description;
  [Read : ToSubclass] string name;
  [Read : ToSubclass] uint8 msieee8023PolicyReserved[];
  [Read : ToSubclass] string msieee8023PolicyData;
  [Read : ToSubclass] uint32 whenChanged;
};

[Locale(1033) : ToInstance] 
class RSOP_RegistryPolicySetting : RSOP_PolicySetting
{
  [key : ToInstance ToSubclass DisableOverride,Read : ToSubclass] string id;
  [key : ToInstance ToSubclass DisableOverride,Read : ToSubclass] uint32 precedence;
  [Read : ToSubclass] string registryKey = "";
  [Read : ToSubclass] string valueName = "";
  [Read : ToSubclass] uint32 valueType = 0;
  [Read : ToSubclass] uint8 value[];
  [Read : ToSubclass] boolean deleted = FALSE;
  [Read : ToSubclass] string command = "";
};

[Locale(1033) : ToInstance] 
class RSOP_AdministrativeTemplateFile
{
  [key : ToInstance ToSubclass DisableOverride,Read : ToSubclass] string name;
  [key : ToInstance ToSubclass DisableOverride,Read : ToSubclass] string GPOID = "";
  [Read : ToSubclass] datetime lastWriteTime;
};

[Locale(1033) : ToInstance] 
class RSOP_ScriptPolicySetting : RSOP_PolicySetting
{
  [key : ToInstance ToSubclass DisableOverride,Read : ToSubclass] string id;
  [key : ToInstance ToSubclass DisableOverride,Read : ToSubclass] uint32 precedence;
  [ValueMap{"1", "2", "3", "4"} : ToSubclass,Read : ToSubclass] uint32 scriptType = 0;
  [Read : ToSubclass] RSOP_ScriptCmd scriptList[];
  [key : ToInstance ToSubclass DisableOverride,Read : ToSubclass] uint32 scriptOrder = 0;
  [ValueMap{"1", "2", "3"} : ToSubclass,Read : ToSubclass] uint32 psScriptOrder = 0;
};

[Locale(1033) : ToInstance] 
class RSOP_ScriptCmd
{
  [Read : ToSubclass] string script;
  [Read : ToSubclass] string arguments;
  [Read : ToSubclass] datetime executionTime;
};

[Locale(1033) : ToInstance] 
class RSOP_ApplicationManagementCategory
{
  [key : ToInstance ToSubclass DisableOverride,Read : ToSubclass] string CategoryId;
  [Read : ToSubclass] string Name;
  [Read : ToSubclass] datetime CreationTime;
};

[Locale(1033) : ToInstance] 
class RSOP_ApplicationManagementPolicySetting : RSOP_PolicySetting
{
  [key : ToInstance ToSubclass DisableOverride,Read : ToSubclass] string id;
  [key : ToInstance ToSubclass DisableOverride,Read : ToSubclass] uint32 precedence;
  [key : ToInstance ToSubclass DisableOverride,ValueMap{"1", "2", "3"} : ToSubclass,Read : ToSubclass] uint32 EntryType;
  [key : ToInstance ToSubclass DisableOverride,Read : ToSubclass] string ApplicationId;
  [ValueMap{"1", "2"} : ToSubclass,Read : ToSubclass] uint32 PackageType;
  [Read : ToSubclass] string ProductId;
  [Read : ToSubclass] string Publisher;
  [Read : ToSubclass] string PackageLocation;
  [Read : ToSubclass] string ScriptFile;
  [Read : ToSubclass] string Categories[];
  [ValueMap{"1", "2", "3", "4", "5", "6"} : ToSubclass,Read : ToSubclass] uint32 PrecedenceReason;
  [Read : ToSubclass] uint32 VersionNumberLo;
  [Read : ToSubclass] uint32 VersionNumberHi;
  [Read : ToSubclass] uint32 RedeployCount;
  [Read : ToSubclass] datetime DeploymentLastModifyTime;
  [Read : ToSubclass] uint8 SecurityDescriptor[];
  [Read : ToSubclass] uint32 MachineArchitectures[];
  [Read : ToSubclass] uint32 LanguageId;
  [ValueMap{"1", "2"} : ToSubclass,Read : ToSubclass] uint32 DeploymentType;
  [ValueMap{"1", "2", "3"} : ToSubclass,Read : ToSubclass] uint32 AssignmentType;
  [ValueMap{"1", "2"} : ToSubclass,Read : ToSubclass] uint32 InstallationUI;
  [Read : ToSubclass] boolean DemandInstallable;
  [Read : ToSubclass] boolean AllowX86OnIA64;
  [ValueMap{"1", "2"} : ToSubclass,Read : ToSubclass] uint32 LossOfScopeAction;
  [Read : ToSubclass] boolean UninstallUnmanaged;
  [Read : ToSubclass] boolean DisplayInARP;
  [Read : ToSubclass] boolean IgnoreLanguage;
  [Read : ToSubclass] string Transforms[];
  [Read : ToSubclass] string SupportURL;
  [Read : ToSubclass] string ReplaceableApplications[];
  [Read : ToSubclass] string UpgradeableApplications[];
  [Read : ToSubclass] boolean UpgradeSettingsMandatory;
  [ValueMap{"1", "2", "3", "4"} : ToSubclass,Read : ToSubclass] uint32 Eligibility;
  [ValueMap{"1", "2", "3", "4", "5", "6", "7", "8"} : ToSubclass,Read : ToSubclass] uint32 ApplyCause;
  [ValueMap{"1", "2", "3", "4", "5"} : ToSubclass,Read : ToSubclass] uint32 LanguageMatch;
  [Read : ToSubclass] string OnDemandFileExtension;
  [Read : ToSubclass] string OnDemandClsid;
  [Read : ToSubclass] string OnDemandProgId;
  [ValueMap{"1", "2", "3", "4", "5", "6", "7", "8"} : ToSubclass,Read : ToSubclass] uint32 RemovalCause;
  [ValueMap{"1", "2", "3", "4"} : ToSubclass,Read : ToSubclass] uint32 RemovalType;
  [Read : ToSubclass] string RemovingApplication;
};

[Locale(1033) : ToInstance] 
class RSOP_FolderRedirectionPolicySetting : RSOP_PolicySetting
{
  [key : ToInstance ToSubclass DisableOverride,Read : ToSubclass] string id;
  [key : ToInstance ToSubclass DisableOverride,Read : ToSubclass] uint32 precedence;
  [Read : ToSubclass] string redirectingGroup;
  [Read : ToSubclass] string resultantPath;
  [ValueMap{"1", "2"} : ToSubclass,Read : ToSubclass] uint32 installationType;
  [Read : ToSubclass] string securityGroups[];
  [Read : ToSubclass] string redirectedPaths[];
  [Read : ToSubclass] boolean grantType;
  [Read : ToSubclass] boolean moveType;
  [ValueMap{"1", "2"} : ToSubclass,Read : ToSubclass] uint32 policyRemoval;
  [Read : ToSubclass] uint32 redirectionFlags;
  [Read : ToSubclass] string parentFolderId;
  [ValueMap{"1", "2", "3", "4"} : ToSubclass,Read : ToSubclass] uint32 primaryComputerEvaluation;
  [Read : ToSubclass,ValueMap{"0", "1"} : ToSubclass] uint32 configurationControl;
};

[Locale(1033) : ToInstance] 
class RSOP_ExtensionStatus
{
  [key : ToInstance ToSubclass DisableOverride,Read : ToSubclass] string extensionGuid = "";
  [Read : ToSubclass] string displayName = "";
  [Read : ToSubclass] datetime beginTime;
  [Read : ToSubclass] datetime endTime;
  [ValueMap{"1", "2", "3"} : ToSubclass,Read : ToSubclass] uint32 loggingStatus = 1;
  [Read : ToSubclass] uint32 error = 0;
};

[Locale(1033) : ToInstance] 
class RSOP_ExtensionEventSource
{
  [key : ToInstance ToSubclass DisableOverride,Read : ToSubclass] string id;
  [Read : ToSubclass] string eventLogSource;
  [Read : ToSubclass] string eventLogName;
};

[Locale(1033) : ToInstance] 
class RSOP_ExtensionEventSourceLink
{
  [key : ToInstance ToSubclass DisableOverride,Read : ToSubclass] RSOP_ExtensionStatus Ref extensionStatus;
  [key : ToInstance ToSubclass DisableOverride,Read : ToSubclass] RSOP_ExtensionEventSource Ref eventSource;
};

[Locale(1033) : ToInstance] 
class RSOP_IEAKPolicySetting : RSOP_PolicySetting
{
  [key : ToInstance ToSubclass DisableOverride] string id;
  [key : ToInstance ToSubclass DisableOverride] uint32 precedence;
  boolean preferenceMode = FALSE;
  string titleBarText;
  string titleBarCustomText;
  string userAgentText;
  string toolbarBackgroundBitmapPath;
  boolean customizeAnimatedBitmaps;
  string largeAnimatedBitmapName;
  string largeAnimatedBitmapPath;
  string smallAnimatedBitmapName;
  string smallAnimatedBitmapPath;
  boolean customizeLogoBitmaps;
  string largeCustomLogoBitmapName;
  string largeCustomLogoBitmapPath;
  string smallCustomLogoBitmapName;
  string smallCustomLogoBitmapPath;
  boolean deleteExistingToolbarButtons;
  sint32 toolbarButtons;
  boolean placeFavoritesAtTopOfList;
  boolean deleteExistingFavorites;
  boolean deleteAdminCreatedFavoritesOnly;
  sint32 customFavorites;
  sint32 customLinks;
  boolean deleteExistingChannels;
  boolean enableDesktopChannelBarByDefault;
  sint32 channels;
  sint32 categories;
  string homePageURL;
  string searchBarURL;
  string onlineHelpPageURL;
  boolean importSecurityZoneSettings;
  uint32 importedZoneCount;
  boolean importContentRatingsSettings;
  boolean importAuthenticodeSecurityInfo;
  boolean enableTrustedPublisherLockdown;
  boolean importProgramSettings;
};

[Locale(1033) : ToInstance] 
class RSOP_IEToolbarButton
{
  [key : ToInstance ToSubclass DisableOverride] string rsopID;
  [key : ToInstance ToSubclass DisableOverride] uint32 rsopPrecedence;
  [key : ToInstance ToSubclass DisableOverride,required] sint32 buttonOrder;
  [required] string caption;
  [required] string actionPath;
  [required] string iconPath;
  [required] string hotIconPath;
  boolean showOnToolbarByDefault;
};

[Locale(1033) : ToInstance,Association : ToInstance ToSubclass DisableOverride] 
class RSOP_IEToolbarButtonLink
{
  [key : ToInstance ToSubclass DisableOverride] RSOP_IEAKPolicySetting Ref policySetting;
  [key : ToInstance ToSubclass DisableOverride] RSOP_IEToolbarButton Ref toolbarButton;
};

[Locale(1033) : ToInstance] 
class RSOP_IEProxySettings
{
  [key : ToInstance ToSubclass DisableOverride] string rsopID;
  [key : ToInstance ToSubclass DisableOverride] uint32 rsopPrecedence;
  boolean enableProxy;
  boolean useSameProxy;
  string httpProxyServer;
  string proxyOverride;
  string ftpProxyServer;
  string gopherProxyServer;
  string secureProxyServer;
  string socksProxyServer;
};

[Locale(1033) : ToInstance] 
class RSOP_IEConnectionSettings : RSOP_IEProxySettings
{
  string autoConfigURL;
  boolean autoConfigUseLocal;
  string autoProxyURL;
  sint32 autoConfigTime;
  boolean autoDetectConfigSettings;
  boolean autoConfigEnable;
  boolean importCurrentConnSettings;
  boolean deleteExistingConnSettings;
  string defaultDialUpConnection;
  uint8 dialUpState;
  string dialUpConnections[];
};

[Locale(1033) : ToInstance,Association : ToInstance ToSubclass DisableOverride] 
class RSOP_IEConnectionSettingsLink
{
  [key : ToInstance ToSubclass DisableOverride] RSOP_IEAKPolicySetting Ref policySetting;
  [key : ToInstance ToSubclass DisableOverride] RSOP_IEConnectionSettings Ref connectionSettings;
};

[abstract,Locale(1033) : ToInstance] 
class RSOP_IEFavoriteOrLinkItem
{
  sint32 order;
  string name;
  string url;
  string iconPath;
  boolean makeAvailableOffline;
};

[Locale(1033) : ToInstance] 
class RSOP_IEFavoriteItem : RSOP_IEFavoriteOrLinkItem
{
  [key : ToInstance ToSubclass DisableOverride] string rsopID;
  [key : ToInstance ToSubclass DisableOverride] uint32 rsopPrecedence;
  [key : ToInstance ToSubclass DisableOverride] string name;
  string shortName;
  boolean folderItem;
  string parentPath;
};

[Locale(1033) : ToInstance] 
class RSOP_IELinkItem : RSOP_IEFavoriteOrLinkItem
{
  [key : ToInstance ToSubclass DisableOverride] string rsopID;
  [key : ToInstance ToSubclass DisableOverride] uint32 rsopPrecedence;
  [key : ToInstance ToSubclass DisableOverride] string name;
};

[Locale(1033) : ToInstance,Association : ToInstance ToSubclass DisableOverride] 
class RSOP_IEFavoriteItemLink
{
  [key : ToInstance ToSubclass DisableOverride] RSOP_IEAKPolicySetting Ref policySetting;
  [key : ToInstance ToSubclass DisableOverride] RSOP_IEFavoriteItem Ref favoriteItem;
};

[Locale(1033) : ToInstance,Association : ToInstance ToSubclass DisableOverride] 
class RSOP_IELinkItemLink
{
  [key : ToInstance ToSubclass DisableOverride] RSOP_IEAKPolicySetting Ref policySetting;
  [key : ToInstance ToSubclass DisableOverride] RSOP_IELinkItem Ref linkItem;
};

[Locale(1033) : ToInstance] 
class RSOP_IEProgramSettings
{
  [key : ToInstance ToSubclass DisableOverride] string rsopID;
  [key : ToInstance ToSubclass DisableOverride] uint32 rsopPrecedence;
  string htmlEditorProgram;
  string htmlEditorHKCURegData;
  string htmlEditorHKLMRegData;
  string emailProgram;
  string newsgroupsProgram;
  string internetCallProgram;
  string calendarProgram;
  string contactListProgram;
  boolean checkIfIEIsDefaultBrowser;
  boolean useIEForFTP;
};

[Locale(1033) : ToInstance,Association : ToInstance ToSubclass DisableOverride] 
class RSOP_IEImportedProgramSettings
{
  [key : ToInstance ToSubclass DisableOverride] RSOP_IEAKPolicySetting Ref policySetting;
  [key : ToInstance ToSubclass DisableOverride] RSOP_IEProgramSettings Ref programSettings;
};

[Locale(1033) : ToInstance] 
class RSOP_IEConnectionDialUpSettings
{
  [key : ToInstance ToSubclass DisableOverride] string rsopID;
  [key : ToInstance ToSubclass DisableOverride] uint32 rsopPrecedence;
  [key : ToInstance ToSubclass DisableOverride] string connectionName;
  string alternatePhoneNumbers;
  uint32 alternateOffset;
  string areaCode;
  string autoDialDll;
  string autoDialFunction;
  uint32 channels;
  uint32 countryCode;
  uint32 countryID;
  uint32 customAuthenticationKey;
  string customDialDll;
  string deviceName;
  string deviceType;
  uint32 dialExtraPercent;
  uint32 dialExtraSampleSeconds;
  uint32 dialMode;
  uint32 encryptionType;
  uint32 frameSize;
  uint32 framingProtocol;
  string guidID;
  uint32 hangUpExtraPercent;
  uint32 hangUpExtraSampleSeconds;
  uint32 idleDisconnectSeconds;
  string ipAddress;
  string ipDNSAddress;
  string ipDNSAddressAlternate;
  string ipWINSAddress;
  string ipWINSAddressAlternate;
  string localPhoneNumber;
  uint32 netProtocols;
  uint32 options;
  uint32 options2;
  uint32 options3;
  uint8 rasEntryData[];
  uint32 rasEntryDataSize;
  uint32 reserved1;
  uint32 reserved2;
  string scriptFile;
  uint32 subEntries;
  uint32 type;
  sint32 vpnStrategy;
  uint32 windowsVersion;
  string x25Address;
  string x25Facilities;
  string x25PadType;
  string x25UserData;
};

[Locale(1033) : ToInstance,Association : ToInstance ToSubclass DisableOverride] 
class RSOP_IEConnectionDialUpSettingsLink
{
  [key : ToInstance ToSubclass DisableOverride] RSOP_IEAKPolicySetting Ref policySetting;
  [key : ToInstance ToSubclass DisableOverride] RSOP_IEConnectionDialUpSettings Ref dialUpSettings;
};

[Locale(1033) : ToInstance] 
class RSOP_IEConnectionDialUpCredentials
{
  [key : ToInstance ToSubclass DisableOverride] string rsopID;
  [key : ToInstance ToSubclass DisableOverride] sint32 rsopPrecedence;
  [key : ToInstance ToSubclass DisableOverride] string connectionName;
  uint32 callbackID;
  string callbackNumber;
  string domain;
  string entryName;
  string password;
  string phoneNumber;
  uint8 rasDialParamsData[];
  uint32 rasDialParamsDataSize;
  uint32 subEntry;
  string userName;
  uint32 windowsVersion;
};

[Locale(1033) : ToInstance,Association : ToInstance ToSubclass DisableOverride] 
class RSOP_IEConnectionDialUpCredentialsLink
{
  [key : ToInstance ToSubclass DisableOverride] RSOP_IEAKPolicySetting Ref policySetting;
  [key : ToInstance ToSubclass DisableOverride] RSOP_IEConnectionDialUpCredentials Ref dialUpCredentials;
};

[Locale(1033) : ToInstance] 
class RSOP_IEConnectionWinINetSettings
{
  [key : ToInstance ToSubclass DisableOverride] string rsopID;
  [key : ToInstance ToSubclass DisableOverride] sint32 rsopPrecedence;
  [key : ToInstance ToSubclass DisableOverride] string connectionName;
  uint8 internetPerConnOptionListData[];
  uint32 internetPerConnOptionListDataSize;
};

[Locale(1033) : ToInstance,Association : ToInstance ToSubclass DisableOverride] 
class RSOP_IEConnectionWinINetSettingsLink
{
  [key : ToInstance ToSubclass DisableOverride] RSOP_IEAKPolicySetting Ref policySetting;
  [key : ToInstance ToSubclass DisableOverride] RSOP_IEConnectionWinINetSettings Ref winINetSettings;
};

[Locale(1033) : ToInstance] 
class RSOP_IESecurityZoneSettings
{
  [key : ToInstance ToSubclass DisableOverride] string rsopID;
  [key : ToInstance ToSubclass DisableOverride] sint32 rsopPrecedence;
  [key : ToInstance ToSubclass DisableOverride] uint32 zoneIndex;
  [key : ToInstance ToSubclass DisableOverride] boolean useHKLM;
  string displayName;
  string description;
  string iconPath;
  uint32 minimumTemplateLevel;
  uint32 recommendedTemplateLevel;
  uint32 currentTemplateLevel;
  uint32 flags;
  string zoneMappings[];
  string actionValues[];
};

[Locale(1033) : ToInstance] 
class RSOP_IEESCSecurityZoneSettings : RSOP_IESecurityZoneSettings
{
  boolean EscEnabled;
};

[Locale(1033) : ToInstance] 
class RSOP_IEPrivacySettings
{
  [key : ToInstance ToSubclass DisableOverride] string rsopID;
  [key : ToInstance ToSubclass DisableOverride] sint32 rsopPrecedence;
  uint32 firstPartyPrivacyType;
  string firstPartyPrivacyTypeText;
  uint32 thirdPartyPrivacyType;
  string thirdPartyPrivacyTypeText;
  boolean useAdvancedSettings;
};

[Locale(1033) : ToInstance] 
class RSOP_IEESCPrivacySettings : RSOP_IEPrivacySettings
{
  boolean EscEnabled;
};

[Locale(1033) : ToInstance] 
class RSOP_IESecurityContentRatings
{
  [key : ToInstance ToSubclass DisableOverride] string rsopID;
  [key : ToInstance ToSubclass DisableOverride] sint32 rsopPrecedence;
  string ratingSystems[];
  string ratingSystemFileNames[];
  string alwaysViewableSites[];
  string neverViewableSites[];
  boolean viewUnknownRatedSites;
  boolean passwordOverrideEnabled;
  string selectedRatingsBureau;
};

[Locale(1033) : ToInstance] 
class RSOP_IEAdministrativeTemplateFile
{
  [key : ToInstance ToSubclass DisableOverride,Read : ToSubclass] string name;
  [key : ToInstance ToSubclass DisableOverride,Read : ToSubclass] string GPOID;
  [Read : ToSubclass] datetime lastWriteTime;
};

[Locale(1033) : ToInstance] 
class RSOP_IERegistryPolicySetting : RSOP_PolicySetting
{
  [key : ToInstance ToSubclass DisableOverride,Read : ToSubclass] string id;
  [key : ToInstance ToSubclass DisableOverride,Read : ToSubclass] uint32 precedence;
  [key : ToInstance ToSubclass DisableOverride,Read : ToSubclass] boolean currentUser = TRUE;
  [Read : ToSubclass] string registryKey = "";
  [Read : ToSubclass] string valueName = "";
  [Read : ToSubclass] uint32 valueType = 0;
  [Read : ToSubclass] uint8 value[];
  [Read : ToSubclass] boolean deleted = FALSE;
  [Read : ToSubclass] string command = "";
};

[Locale(1033) : ToInstance] 
class RSOP_IEAuthenticodeCertificate
{
  [key : ToInstance ToSubclass DisableOverride] string rsopID;
  [key : ToInstance ToSubclass DisableOverride] sint32 rsopPrecedence;
  [key : ToInstance ToSubclass DisableOverride] sint32 tabIndex;
  [key : ToInstance ToSubclass DisableOverride] sint32 certIndex;
  string subjectName;
  string issuerName;
  datetime expirationDate;
  string friendlyName;
  string intendedPurposes;
};

[Locale(1033) : ToInstance] 
class RSOP_IEESC
{
  [key : ToInstance ToSubclass DisableOverride] string rsopID;
  [key : ToInstance ToSubclass DisableOverride] sint32 rsopPrecedence;
  boolean EscEnabled;
};

[abstract,Locale(1033) : ToInstance] 
class RSOP_PolicySettingBlocked
{
  [Required,Not_Null : ToSubclass,Read : ToSubclass] string id;
  [Required,Not_Null : ToSubclass,Read : ToSubclass] uint32 precedence;
  [Read : ToSubclass] string name = "";
  [Read : ToSubclass] string GPOID = "";
  [Read : ToSubclass] string SOMID = "";
  [Read : ToSubclass] datetime creationTime;
};

[Locale(1033) : ToInstance] 
class RSOP_RegistryPolicySettingBlocked : RSOP_PolicySettingBlocked
{
  [key : ToInstance ToSubclass DisableOverride,Read : ToSubclass] string id;
  [key : ToInstance ToSubclass DisableOverride,Read : ToSubclass] uint32 precedence;
  [Read : ToSubclass] string registryKey = "";
  [Read : ToSubclass] string valueName = "";
  [Read : ToSubclass] uint32 valueType = 0;
  [Read : ToSubclass] uint8 value[];
  [Read : ToSubclass] boolean deleted = FALSE;
  [Read : ToSubclass] string command = "";
};
#pragma namespace("\\\\.\\root\\RSOP\\Computer")

[Locale(1033) : ToInstance] 
class RSOP_Session
{
  [key : ToInstance ToSubclass DisableOverride,Read : ToSubclass] string id;
  [Read : ToSubclass] uint32 version = 0;
  [Read : ToSubclass] string targetName = "";
  [Read : ToSubclass] string SOM = "";
  [Read : ToSubclass] string SecurityGroups[];
  [Read : ToSubclass] string Site;
  [Read : ToSubclass] uint32 flags = 0;
  [Read : ToSubclass] datetime creationTime;
  [Read : ToSubclass] uint32 ttlMinutes;
  [Read : ToSubclass] boolean slowLink;
};

[Locale(1033) : ToInstance] 
class RSOP_SOM
{
  [key : ToInstance ToSubclass DisableOverride,Read : ToSubclass] string id;
  [key : ToInstance ToSubclass DisableOverride,ValueMap{"1", "2"} : ToSubclass,Read : ToSubclass] uint32 reason = 1;
  [ValueMap{"1", "2", "3", "4"} : ToSubclass,Read : ToSubclass] uint32 type;
  [Read : ToSubclass] uint32 SOMOrder;
  [Read : ToSubclass] boolean blocking = FALSE;
  [Read : ToSubclass] boolean blocked = FALSE;
};

[Locale(1033) : ToInstance] 
class RSOP_GPO
{
  [key : ToInstance ToSubclass DisableOverride,Read : ToSubclass] string id;
  [Read : ToSubclass] string name = "";
  [Read : ToSubclass] string guidName = "";
  [Read : ToSubclass] uint32 version = 0;
  [Read : ToSubclass] boolean enabled = TRUE;
  [Read : ToSubclass] uint8 securityDescriptor[];
  [Read : ToSubclass] string fileSystemPath = "";
  [Read : ToSubclass] boolean accessDenied = FALSE;
  [Read : ToSubclass] string filterId = "";
  [Read : ToSubclass] boolean filterAllowed = TRUE;
  [Read : ToSubclass] string extensionIds[];
};

[Association : ToInstance ToSubclass DisableOverride,Locale(1033) : ToInstance] 
class RSOP_GPLink
{
  [key : ToInstance ToSubclass DisableOverride,Read : ToSubclass] RSOP_SOM Ref SOM;
  [key : ToInstance ToSubclass DisableOverride,Read : ToSubclass] RSOP_GPO Ref GPO;
  [key : ToInstance ToSubclass DisableOverride,Read : ToSubclass] uint32 somOrder = 0;
  [Read : ToSubclass] uint32 linkOrder = 0;
  [Read : ToSubclass] uint32 appliedOrder = 0;
  [Read : ToSubclass] boolean enabled = TRUE;
  [Read : ToSubclass] boolean noOverride = FALSE;
};

[abstract,Locale(1033) : ToInstance] 
class RSOP_PolicySetting
{
  [Required,Not_Null : ToSubclass,Read : ToSubclass] string id;
  [Required,Not_Null : ToSubclass,Read : ToSubclass] uint32 precedence;
  [Read : ToSubclass] string name = "";
  [Read : ToSubclass] string GPOID = "";
  [Read : ToSubclass] string SOMID = "";
  [Read : ToSubclass] datetime creationTime;
};

[Locale(1033) : ToInstance] 
class RSoP_PolicySettingStatus
{
  [key : ToInstance ToSubclass DisableOverride,Read : ToSubclass] string id;
  [Read : ToSubclass] string eventSource;
  [Read : ToSubclass] string eventLogName;
  [Read : ToSubclass] uint32 eventID;
  [Read : ToSubclass] datetime eventTime;
  [Read : ToSubclass] uint32 errorCode;
  [ValueMap{"0", "1", "2", "3", "4"} : ToSubclass,Read : ToSubclass] sint32 status = 0;
};

[Locale(1033) : ToInstance,Association : ToInstance ToSubclass DisableOverride] 
class RSoP_PolicySettingLink
{
  [key : ToInstance ToSubclass DisableOverride,Read : ToSubclass] RSOP_PolicySetting Ref setting;
  [key : ToInstance ToSubclass DisableOverride,Read : ToSubclass] RSoP_PolicySettingStatus Ref status;
};

[Locale(1033) : ToInstance] 
class RSOP_IPSECPolicySetting : RSOP_PolicySetting
{
  [key : ToInstance ToSubclass DisableOverride,Read : ToSubclass] string id;
  [Read : ToSubclass] uint32 precedence;
  [Read : ToSubclass] string ClassName;
  [Read : ToSubclass] string description;
  [Read : ToSubclass] string name;
  [Read : ToSubclass] string ipsecName;
  [Read : ToSubclass] string ipsecID;
  [Read : ToSubclass] uint32 ipsecDataType;
  [Read : ToSubclass] uint8 ipsecData[];
  [Read : ToSubclass] string ipsecISAKMPReference;
  [Read : ToSubclass] string ipsecNFAReference[];
  [Read : ToSubclass] uint32 whenChanged;
  [Read : ToSubclass] string ipsecOwnersReference[];
  [Read : ToSubclass] string ipsecNegotiationPolicyReference;
  [Read : ToSubclass] string ipsecNegotiationPolicyType;
  [Read : ToSubclass] string ipsecNegotiationPolicyAction;
  [Read : ToSubclass] string ipsecFilterReference[];
};

[Locale(1033) : ToInstance] 
class RSOP_IEEE80211PolicySetting : RSOP_PolicySetting
{
  [key : ToInstance ToSubclass DisableOverride,Read : ToSubclass] string id;
  [Read : ToSubclass] uint32 precedence;
  [Read : ToSubclass] string ClassName;
  [Read : ToSubclass] string description;
  [Read : ToSubclass] string name;
  [Read : ToSubclass] string msieee80211Name;
  [Read : ToSubclass] string msieee80211ID;
  [Read : ToSubclass] uint32 msieee80211DataType;
  [Read : ToSubclass] uint8 msieee80211Data[];
  [Read : ToSubclass] uint32 whenChanged;
};

[Locale(1033) : ToInstance] 
class RSOP_IEEE80211GroupPolicySetting : RSOP_PolicySetting
{
  [key : ToInstance ToSubclass DisableOverride,Read : ToSubclass] string id;
  [Read : ToSubclass] uint32 precedence;
  [Read : ToSubclass] string description;
  [Read : ToSubclass] string name;
  [Read : ToSubclass] uint8 msieee80211PolicyReserved[];
  [Read : ToSubclass] string msieee80211PolicyData;
  [Read : ToSubclass] uint32 whenChanged;
};

[Locale(1033) : ToInstance] 
class RSOP_IEEE8023GroupPolicySetting : RSOP_PolicySetting
{
  [key : ToInstance ToSubclass DisableOverride,Read : ToSubclass] string id;
  [Read : ToSubclass] uint32 precedence;
  [Read : ToSubclass] string description;
  [Read : ToSubclass] string name;
  [Read : ToSubclass] uint8 msieee8023PolicyReserved[];
  [Read : ToSubclass] string msieee8023PolicyData;
  [Read : ToSubclass] uint32 whenChanged;
};

[Locale(1033) : ToInstance] 
class RSOP_RegistryPolicySetting : RSOP_PolicySetting
{
  [key : ToInstance ToSubclass DisableOverride,Read : ToSubclass] string id;
  [key : ToInstance ToSubclass DisableOverride,Read : ToSubclass] uint32 precedence;
  [Read : ToSubclass] string registryKey = "";
  [Read : ToSubclass] string valueName = "";
  [Read : ToSubclass] uint32 valueType = 0;
  [Read : ToSubclass] uint8 value[];
  [Read : ToSubclass] boolean deleted = FALSE;
  [Read : ToSubclass] string command = "";
};

[Locale(1033) : ToInstance] 
class RSOP_AdministrativeTemplateFile
{
  [key : ToInstance ToSubclass DisableOverride,Read : ToSubclass] string name;
  [key : ToInstance ToSubclass DisableOverride,Read : ToSubclass] string GPOID = "";
  [Read : ToSubclass] datetime lastWriteTime;
};

[Locale(1033) : ToInstance] 
class RSOP_ScriptPolicySetting : RSOP_PolicySetting
{
  [key : ToInstance ToSubclass DisableOverride,Read : ToSubclass] string id;
  [key : ToInstance ToSubclass DisableOverride,Read : ToSubclass] uint32 precedence;
  [ValueMap{"1", "2", "3", "4"} : ToSubclass,Read : ToSubclass] uint32 scriptType = 0;
  [Read : ToSubclass] RSOP_ScriptCmd scriptList[];
  [key : ToInstance ToSubclass DisableOverride,Read : ToSubclass] uint32 scriptOrder = 0;
  [ValueMap{"1", "2", "3"} : ToSubclass,Read : ToSubclass] uint32 psScriptOrder = 0;
};

[Locale(1033) : ToInstance] 
class RSOP_ScriptCmd
{
  [Read : ToSubclass] string script;
  [Read : ToSubclass] string arguments;
  [Read : ToSubclass] datetime executionTime;
};

[Locale(1033) : ToInstance] 
class RSOP_ApplicationManagementCategory
{
  [key : ToInstance ToSubclass DisableOverride,Read : ToSubclass] string CategoryId;
  [Read : ToSubclass] string Name;
  [Read : ToSubclass] datetime CreationTime;
};

[Locale(1033) : ToInstance] 
class RSOP_ApplicationManagementPolicySetting : RSOP_PolicySetting
{
  [key : ToInstance ToSubclass DisableOverride,Read : ToSubclass] string id;
  [key : ToInstance ToSubclass DisableOverride,Read : ToSubclass] uint32 precedence;
  [key : ToInstance ToSubclass DisableOverride,ValueMap{"1", "2", "3"} : ToSubclass,Read : ToSubclass] uint32 EntryType;
  [key : ToInstance ToSubclass DisableOverride,Read : ToSubclass] string ApplicationId;
  [ValueMap{"1", "2"} : ToSubclass,Read : ToSubclass] uint32 PackageType;
  [Read : ToSubclass] string ProductId;
  [Read : ToSubclass] string Publisher;
  [Read : ToSubclass] string PackageLocation;
  [Read : ToSubclass] string ScriptFile;
  [Read : ToSubclass] string Categories[];
  [ValueMap{"1", "2", "3", "4", "5", "6"} : ToSubclass,Read : ToSubclass] uint32 PrecedenceReason;
  [Read : ToSubclass] uint32 VersionNumberLo;
  [Read : ToSubclass] uint32 VersionNumberHi;
  [Read : ToSubclass] uint32 RedeployCount;
  [Read : ToSubclass] datetime DeploymentLastModifyTime;
  [Read : ToSubclass] uint8 SecurityDescriptor[];
  [Read : ToSubclass] uint32 MachineArchitectures[];
  [Read : ToSubclass] uint32 LanguageId;
  [ValueMap{"1", "2"} : ToSubclass,Read : ToSubclass] uint32 DeploymentType;
  [ValueMap{"1", "2", "3"} : ToSubclass,Read : ToSubclass] uint32 AssignmentType;
  [ValueMap{"1", "2"} : ToSubclass,Read : ToSubclass] uint32 InstallationUI;
  [Read : ToSubclass] boolean DemandInstallable;
  [Read : ToSubclass] boolean AllowX86OnIA64;
  [ValueMap{"1", "2"} : ToSubclass,Read : ToSubclass] uint32 LossOfScopeAction;
  [Read : ToSubclass] boolean UninstallUnmanaged;
  [Read : ToSubclass] boolean DisplayInARP;
  [Read : ToSubclass] boolean IgnoreLanguage;
  [Read : ToSubclass] string Transforms[];
  [Read : ToSubclass] string SupportURL;
  [Read : ToSubclass] string ReplaceableApplications[];
  [Read : ToSubclass] string UpgradeableApplications[];
  [Read : ToSubclass] boolean UpgradeSettingsMandatory;
  [ValueMap{"1", "2", "3", "4"} : ToSubclass,Read : ToSubclass] uint32 Eligibility;
  [ValueMap{"1", "2", "3", "4", "5", "6", "7", "8"} : ToSubclass,Read : ToSubclass] uint32 ApplyCause;
  [ValueMap{"1", "2", "3", "4", "5"} : ToSubclass,Read : ToSubclass] uint32 LanguageMatch;
  [Read : ToSubclass] string OnDemandFileExtension;
  [Read : ToSubclass] string OnDemandClsid;
  [Read : ToSubclass] string OnDemandProgId;
  [ValueMap{"1", "2", "3", "4", "5", "6", "7", "8"} : ToSubclass,Read : ToSubclass] uint32 RemovalCause;
  [ValueMap{"1", "2", "3", "4"} : ToSubclass,Read : ToSubclass] uint32 RemovalType;
  [Read : ToSubclass] string RemovingApplication;
};

[Locale(1033) : ToInstance] 
class RSOP_FolderRedirectionPolicySetting : RSOP_PolicySetting
{
  [key : ToInstance ToSubclass DisableOverride,Read : ToSubclass] string id;
  [key : ToInstance ToSubclass DisableOverride,Read : ToSubclass] uint32 precedence;
  [Read : ToSubclass] string redirectingGroup;
  [Read : ToSubclass] string resultantPath;
  [ValueMap{"1", "2"} : ToSubclass,Read : ToSubclass] uint32 installationType;
  [Read : ToSubclass] string securityGroups[];
  [Read : ToSubclass] string redirectedPaths[];
  [Read : ToSubclass] boolean grantType;
  [Read : ToSubclass] boolean moveType;
  [ValueMap{"1", "2"} : ToSubclass,Read : ToSubclass] uint32 policyRemoval;
  [Read : ToSubclass] uint32 redirectionFlags;
  [Read : ToSubclass] string parentFolderId;
  [ValueMap{"1", "2", "3", "4"} : ToSubclass,Read : ToSubclass] uint32 primaryComputerEvaluation;
  [Read : ToSubclass,ValueMap{"0", "1"} : ToSubclass] uint32 configurationControl;
};

[Locale(1033) : ToInstance] 
class RSOP_ExtensionStatus
{
  [key : ToInstance ToSubclass DisableOverride,Read : ToSubclass] string extensionGuid = "";
  [Read : ToSubclass] string displayName = "";
  [Read : ToSubclass] datetime beginTime;
  [Read : ToSubclass] datetime endTime;
  [ValueMap{"1", "2", "3"} : ToSubclass,Read : ToSubclass] uint32 loggingStatus = 1;
  [Read : ToSubclass] uint32 error = 0;
};

[Locale(1033) : ToInstance] 
class RSOP_ExtensionEventSource
{
  [key : ToInstance ToSubclass DisableOverride,Read : ToSubclass] string id;
  [Read : ToSubclass] string eventLogSource;
  [Read : ToSubclass] string eventLogName;
};

[Locale(1033) : ToInstance] 
class RSOP_ExtensionEventSourceLink
{
  [key : ToInstance ToSubclass DisableOverride,Read : ToSubclass] RSOP_ExtensionStatus Ref extensionStatus;
  [key : ToInstance ToSubclass DisableOverride,Read : ToSubclass] RSOP_ExtensionEventSource Ref eventSource;
};

[Locale(1033) : ToInstance] 
class RSOP_IEAKPolicySetting : RSOP_PolicySetting
{
  [key : ToInstance ToSubclass DisableOverride] string id;
  [key : ToInstance ToSubclass DisableOverride] uint32 precedence;
  boolean preferenceMode = FALSE;
  string titleBarText;
  string titleBarCustomText;
  string userAgentText;
  string toolbarBackgroundBitmapPath;
  boolean customizeAnimatedBitmaps;
  string largeAnimatedBitmapName;
  string largeAnimatedBitmapPath;
  string smallAnimatedBitmapName;
  string smallAnimatedBitmapPath;
  boolean customizeLogoBitmaps;
  string largeCustomLogoBitmapName;
  string largeCustomLogoBitmapPath;
  string smallCustomLogoBitmapName;
  string smallCustomLogoBitmapPath;
  boolean deleteExistingToolbarButtons;
  sint32 toolbarButtons;
  boolean placeFavoritesAtTopOfList;
  boolean deleteExistingFavorites;
  boolean deleteAdminCreatedFavoritesOnly;
  sint32 customFavorites;
  sint32 customLinks;
  boolean deleteExistingChannels;
  boolean enableDesktopChannelBarByDefault;
  sint32 channels;
  sint32 categories;
  string homePageURL;
  string searchBarURL;
  string onlineHelpPageURL;
  boolean importSecurityZoneSettings;
  uint32 importedZoneCount;
  boolean importContentRatingsSettings;
  boolean importAuthenticodeSecurityInfo;
  boolean enableTrustedPublisherLockdown;
  boolean importProgramSettings;
};

[Locale(1033) : ToInstance] 
class RSOP_IEToolbarButton
{
  [key : ToInstance ToSubclass DisableOverride] string rsopID;
  [key : ToInstance ToSubclass DisableOverride] uint32 rsopPrecedence;
  [key : ToInstance ToSubclass DisableOverride,required] sint32 buttonOrder;
  [required] string caption;
  [required] string actionPath;
  [required] string iconPath;
  [required] string hotIconPath;
  boolean showOnToolbarByDefault;
};

[Locale(1033) : ToInstance,Association : ToInstance ToSubclass DisableOverride] 
class RSOP_IEToolbarButtonLink
{
  [key : ToInstance ToSubclass DisableOverride] RSOP_IEAKPolicySetting Ref policySetting;
  [key : ToInstance ToSubclass DisableOverride] RSOP_IEToolbarButton Ref toolbarButton;
};

[Locale(1033) : ToInstance] 
class RSOP_IEProxySettings
{
  [key : ToInstance ToSubclass DisableOverride] string rsopID;
  [key : ToInstance ToSubclass DisableOverride] uint32 rsopPrecedence;
  boolean enableProxy;
  boolean useSameProxy;
  string httpProxyServer;
  string proxyOverride;
  string ftpProxyServer;
  string gopherProxyServer;
  string secureProxyServer;
  string socksProxyServer;
};

[Locale(1033) : ToInstance] 
class RSOP_IEConnectionSettings : RSOP_IEProxySettings
{
  string autoConfigURL;
  boolean autoConfigUseLocal;
  string autoProxyURL;
  sint32 autoConfigTime;
  boolean autoDetectConfigSettings;
  boolean autoConfigEnable;
  boolean importCurrentConnSettings;
  boolean deleteExistingConnSettings;
  string defaultDialUpConnection;
  uint8 dialUpState;
  string dialUpConnections[];
};

[Locale(1033) : ToInstance,Association : ToInstance ToSubclass DisableOverride] 
class RSOP_IEConnectionSettingsLink
{
  [key : ToInstance ToSubclass DisableOverride] RSOP_IEAKPolicySetting Ref policySetting;
  [key : ToInstance ToSubclass DisableOverride] RSOP_IEConnectionSettings Ref connectionSettings;
};

[abstract,Locale(1033) : ToInstance] 
class RSOP_IEFavoriteOrLinkItem
{
  sint32 order;
  string name;
  string url;
  string iconPath;
  boolean makeAvailableOffline;
};

[Locale(1033) : ToInstance] 
class RSOP_IEFavoriteItem : RSOP_IEFavoriteOrLinkItem
{
  [key : ToInstance ToSubclass DisableOverride] string rsopID;
  [key : ToInstance ToSubclass DisableOverride] uint32 rsopPrecedence;
  [key : ToInstance ToSubclass DisableOverride] string name;
  string shortName;
  boolean folderItem;
  string parentPath;
};

[Locale(1033) : ToInstance] 
class RSOP_IELinkItem : RSOP_IEFavoriteOrLinkItem
{
  [key : ToInstance ToSubclass DisableOverride] string rsopID;
  [key : ToInstance ToSubclass DisableOverride] uint32 rsopPrecedence;
  [key : ToInstance ToSubclass DisableOverride] string name;
};

[Locale(1033) : ToInstance,Association : ToInstance ToSubclass DisableOverride] 
class RSOP_IEFavoriteItemLink
{
  [key : ToInstance ToSubclass DisableOverride] RSOP_IEAKPolicySetting Ref policySetting;
  [key : ToInstance ToSubclass DisableOverride] RSOP_IEFavoriteItem Ref favoriteItem;
};

[Locale(1033) : ToInstance,Association : ToInstance ToSubclass DisableOverride] 
class RSOP_IELinkItemLink
{
  [key : ToInstance ToSubclass DisableOverride] RSOP_IEAKPolicySetting Ref policySetting;
  [key : ToInstance ToSubclass DisableOverride] RSOP_IELinkItem Ref linkItem;
};

[Locale(1033) : ToInstance] 
class RSOP_IEProgramSettings
{
  [key : ToInstance ToSubclass DisableOverride] string rsopID;
  [key : ToInstance ToSubclass DisableOverride] uint32 rsopPrecedence;
  string htmlEditorProgram;
  string htmlEditorHKCURegData;
  string htmlEditorHKLMRegData;
  string emailProgram;
  string newsgroupsProgram;
  string internetCallProgram;
  string calendarProgram;
  string contactListProgram;
  boolean checkIfIEIsDefaultBrowser;
  boolean useIEForFTP;
};

[Locale(1033) : ToInstance,Association : ToInstance ToSubclass DisableOverride] 
class RSOP_IEImportedProgramSettings
{
  [key : ToInstance ToSubclass DisableOverride] RSOP_IEAKPolicySetting Ref policySetting;
  [key : ToInstance ToSubclass DisableOverride] RSOP_IEProgramSettings Ref programSettings;
};

[Locale(1033) : ToInstance] 
class RSOP_IEConnectionDialUpSettings
{
  [key : ToInstance ToSubclass DisableOverride] string rsopID;
  [key : ToInstance ToSubclass DisableOverride] uint32 rsopPrecedence;
  [key : ToInstance ToSubclass DisableOverride] string connectionName;
  string alternatePhoneNumbers;
  uint32 alternateOffset;
  string areaCode;
  string autoDialDll;
  string autoDialFunction;
  uint32 channels;
  uint32 countryCode;
  uint32 countryID;
  uint32 customAuthenticationKey;
  string customDialDll;
  string deviceName;
  string deviceType;
  uint32 dialExtraPercent;
  uint32 dialExtraSampleSeconds;
  uint32 dialMode;
  uint32 encryptionType;
  uint32 frameSize;
  uint32 framingProtocol;
  string guidID;
  uint32 hangUpExtraPercent;
  uint32 hangUpExtraSampleSeconds;
  uint32 idleDisconnectSeconds;
  string ipAddress;
  string ipDNSAddress;
  string ipDNSAddressAlternate;
  string ipWINSAddress;
  string ipWINSAddressAlternate;
  string localPhoneNumber;
  uint32 netProtocols;
  uint32 options;
  uint32 options2;
  uint32 options3;
  uint8 rasEntryData[];
  uint32 rasEntryDataSize;
  uint32 reserved1;
  uint32 reserved2;
  string scriptFile;
  uint32 subEntries;
  uint32 type;
  sint32 vpnStrategy;
  uint32 windowsVersion;
  string x25Address;
  string x25Facilities;
  string x25PadType;
  string x25UserData;
};

[Locale(1033) : ToInstance,Association : ToInstance ToSubclass DisableOverride] 
class RSOP_IEConnectionDialUpSettingsLink
{
  [key : ToInstance ToSubclass DisableOverride] RSOP_IEAKPolicySetting Ref policySetting;
  [key : ToInstance ToSubclass DisableOverride] RSOP_IEConnectionDialUpSettings Ref dialUpSettings;
};

[Locale(1033) : ToInstance] 
class RSOP_IEConnectionDialUpCredentials
{
  [key : ToInstance ToSubclass DisableOverride] string rsopID;
  [key : ToInstance ToSubclass DisableOverride] sint32 rsopPrecedence;
  [key : ToInstance ToSubclass DisableOverride] string connectionName;
  uint32 callbackID;
  string callbackNumber;
  string domain;
  string entryName;
  string password;
  string phoneNumber;
  uint8 rasDialParamsData[];
  uint32 rasDialParamsDataSize;
  uint32 subEntry;
  string userName;
  uint32 windowsVersion;
};

[Locale(1033) : ToInstance,Association : ToInstance ToSubclass DisableOverride] 
class RSOP_IEConnectionDialUpCredentialsLink
{
  [key : ToInstance ToSubclass DisableOverride] RSOP_IEAKPolicySetting Ref policySetting;
  [key : ToInstance ToSubclass DisableOverride] RSOP_IEConnectionDialUpCredentials Ref dialUpCredentials;
};

[Locale(1033) : ToInstance] 
class RSOP_IEConnectionWinINetSettings
{
  [key : ToInstance ToSubclass DisableOverride] string rsopID;
  [key : ToInstance ToSubclass DisableOverride] sint32 rsopPrecedence;
  [key : ToInstance ToSubclass DisableOverride] string connectionName;
  uint8 internetPerConnOptionListData[];
  uint32 internetPerConnOptionListDataSize;
};

[Locale(1033) : ToInstance,Association : ToInstance ToSubclass DisableOverride] 
class RSOP_IEConnectionWinINetSettingsLink
{
  [key : ToInstance ToSubclass DisableOverride] RSOP_IEAKPolicySetting Ref policySetting;
  [key : ToInstance ToSubclass DisableOverride] RSOP_IEConnectionWinINetSettings Ref winINetSettings;
};

[Locale(1033) : ToInstance] 
class RSOP_IESecurityZoneSettings
{
  [key : ToInstance ToSubclass DisableOverride] string rsopID;
  [key : ToInstance ToSubclass DisableOverride] sint32 rsopPrecedence;
  [key : ToInstance ToSubclass DisableOverride] uint32 zoneIndex;
  [key : ToInstance ToSubclass DisableOverride] boolean useHKLM;
  string displayName;
  string description;
  string iconPath;
  uint32 minimumTemplateLevel;
  uint32 recommendedTemplateLevel;
  uint32 currentTemplateLevel;
  uint32 flags;
  string zoneMappings[];
  string actionValues[];
};

[Locale(1033) : ToInstance] 
class RSOP_IEESCSecurityZoneSettings : RSOP_IESecurityZoneSettings
{
  boolean EscEnabled;
};

[Locale(1033) : ToInstance] 
class RSOP_IEPrivacySettings
{
  [key : ToInstance ToSubclass DisableOverride] string rsopID;
  [key : ToInstance ToSubclass DisableOverride] sint32 rsopPrecedence;
  uint32 firstPartyPrivacyType;
  string firstPartyPrivacyTypeText;
  uint32 thirdPartyPrivacyType;
  string thirdPartyPrivacyTypeText;
  boolean useAdvancedSettings;
};

[Locale(1033) : ToInstance] 
class RSOP_IEESCPrivacySettings : RSOP_IEPrivacySettings
{
  boolean EscEnabled;
};

[Locale(1033) : ToInstance] 
class RSOP_IESecurityContentRatings
{
  [key : ToInstance ToSubclass DisableOverride] string rsopID;
  [key : ToInstance ToSubclass DisableOverride] sint32 rsopPrecedence;
  string ratingSystems[];
  string ratingSystemFileNames[];
  string alwaysViewableSites[];
  string neverViewableSites[];
  boolean viewUnknownRatedSites;
  boolean passwordOverrideEnabled;
  string selectedRatingsBureau;
};

[Locale(1033) : ToInstance] 
class RSOP_IEAdministrativeTemplateFile
{
  [key : ToInstance ToSubclass DisableOverride,Read : ToSubclass] string name;
  [key : ToInstance ToSubclass DisableOverride,Read : ToSubclass] string GPOID;
  [Read : ToSubclass] datetime lastWriteTime;
};

[Locale(1033) : ToInstance] 
class RSOP_IERegistryPolicySetting : RSOP_PolicySetting
{
  [key : ToInstance ToSubclass DisableOverride,Read : ToSubclass] string id;
  [key : ToInstance ToSubclass DisableOverride,Read : ToSubclass] uint32 precedence;
  [key : ToInstance ToSubclass DisableOverride,Read : ToSubclass] boolean currentUser = TRUE;
  [Read : ToSubclass] string registryKey = "";
  [Read : ToSubclass] string valueName = "";
  [Read : ToSubclass] uint32 valueType = 0;
  [Read : ToSubclass] uint8 value[];
  [Read : ToSubclass] boolean deleted = FALSE;
  [Read : ToSubclass] string command = "";
};

[Locale(1033) : ToInstance] 
class RSOP_IEAuthenticodeCertificate
{
  [key : ToInstance ToSubclass DisableOverride] string rsopID;
  [key : ToInstance ToSubclass DisableOverride] sint32 rsopPrecedence;
  [key : ToInstance ToSubclass DisableOverride] sint32 tabIndex;
  [key : ToInstance ToSubclass DisableOverride] sint32 certIndex;
  string subjectName;
  string issuerName;
  datetime expirationDate;
  string friendlyName;
  string intendedPurposes;
};

[Locale(1033) : ToInstance] 
class RSOP_IEESC
{
  [key : ToInstance ToSubclass DisableOverride] string rsopID;
  [key : ToInstance ToSubclass DisableOverride] sint32 rsopPrecedence;
  boolean EscEnabled;
};

[abstract,Locale(1033) : ToInstance] 
class RSOP_PolicySettingBlocked
{
  [Required,Not_Null : ToSubclass,Read : ToSubclass] string id;
  [Required,Not_Null : ToSubclass,Read : ToSubclass] uint32 precedence;
  [Read : ToSubclass] string name = "";
  [Read : ToSubclass] string GPOID = "";
  [Read : ToSubclass] string SOMID = "";
  [Read : ToSubclass] datetime creationTime;
};

[Locale(1033) : ToInstance] 
class RSOP_RegistryPolicySettingBlocked : RSOP_PolicySettingBlocked
{
  [key : ToInstance ToSubclass DisableOverride,Read : ToSubclass] string id;
  [key : ToInstance ToSubclass DisableOverride,Read : ToSubclass] uint32 precedence;
  [Read : ToSubclass] string registryKey = "";
  [Read : ToSubclass] string valueName = "";
  [Read : ToSubclass] uint32 valueType = 0;
  [Read : ToSubclass] uint8 value[];
  [Read : ToSubclass] boolean deleted = FALSE;
  [Read : ToSubclass] string command = "";
};
