home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 2010 April / PCWorld0410.iso / WindowsServerTrial / server.iso / sources / install.wim / 2 / Windows / System32 / wbem / OfflineFilesWmiProvider_Uninstall.mof < prev    next >
Encoding:
Text File  |  2008-01-19  |  41.9 KB  |  713 lines

  1. //**************************************************************************
  2. //
  3. //  Microsoft Windows
  4. //
  5. //  Copyright (c) Microsoft Corporation.  All rights reserved.
  6. //
  7. //  File:       OfflineFilesWmiProvider.mof
  8. //
  9. //  This file contains the class definitions for the scriptable interface
  10. //  to the Offline Files feature in Windows.  These classes complement the
  11. //  IOfflineFilesXxxxxxx COM interfaces in the platform SDK.
  12. //
  13. //**************************************************************************
  14.  
  15. #pragma autorecover
  16. #pragma classflags ("forceupdate")
  17. #pragma namespace("\\\\.\\ROOT\\CIMV2")
  18.  
  19.  
  20. //**************************************************************************
  21. //* Class: Win32_OfflineFilesFileSysInfo
  22. //* Derived from:
  23. //**************************************************************************
  24. [dynamic: DisableOverride ToInstance, provider("Win32_OfflineFilesProvider"),
  25.           Description("Provides file system-specific information about an item in the "
  26.                       "Offline Files cache.  This information is available only for "
  27.                       "Directory and File items.  File system information is not applicable "
  28.                       "to Server and Share items."): ToInstance ToSubClass]
  29. class Win32_OfflineFilesFileSysInfo
  30. {
  31.     [read: ToInstance ToSubClass,
  32.      Description("Win32 File system attributes for local copy"): ToInstance ToSubClass]
  33.      uint32 LocalAttributes;
  34.  
  35.     [read: ToInstance ToSubClass,
  36.      Description("File size in bytes for local copy"): ToInstance ToSubClass]
  37.      sint64 LocalSize;
  38.  
  39.     [read: ToInstance ToSubClass,
  40.      Description("Creation time for local copy"): ToInstance ToSubClass]
  41.      DATETIME LocalCreationTime;
  42.  
  43.     [read: ToInstance ToSubClass,
  44.      Description("Last write time for local copy"): ToInstance ToSubClass]
  45.      DATETIME LocalLastWriteTime;
  46.  
  47.     [read: ToInstance ToSubClass,
  48.      Description("Change time for local copy"): ToInstance ToSubClass]
  49.      DATETIME LocalChangeTime;
  50.  
  51.     [read: ToInstance ToSubClass,
  52.      Description("Last access time for local copy"): ToInstance ToSubClass]
  53.      DATETIME LocalLastAccessTime;
  54.  
  55.     [read: ToInstance ToSubClass,
  56.      Description("Win32 File system attributes for original copy"): ToInstance ToSubClass]
  57.      uint32 OriginalAttributes;
  58.  
  59.     [read: ToInstance ToSubClass,
  60.      Description("File size in bytes for original copy"): ToInstance ToSubClass]
  61.      sint64 OriginalSize;
  62.  
  63.     [read: ToInstance ToSubClass,
  64.      Description("Creation time for original copy"): ToInstance ToSubClass]
  65.      DATETIME OriginalCreationTime;
  66.  
  67.     [read: ToInstance ToSubClass,
  68.      Description("Last write time for original copy"): ToInstance ToSubClass]
  69.      DATETIME OriginalLastWriteTime;
  70.  
  71.     [read: ToInstance ToSubClass,
  72.      Description("Change time for original copy"): ToInstance ToSubClass]
  73.      DATETIME OriginalChangeTime;
  74.  
  75.     [read: ToInstance ToSubClass,
  76.      Description("Last access time for original copy"): ToInstance ToSubClass]
  77.      DATETIME OriginalLastAccessTime;
  78.  
  79.     [read: ToInstance ToSubClass,
  80.      Description("Win32 File system attributes for remote copy"): ToInstance ToSubClass]
  81.      uint32 RemoteAttributes;
  82.  
  83.     [read: ToInstance ToSubClass,
  84.      Description("File size in bytes for remote copy"): ToInstance ToSubClass]
  85.      sint64 RemoteSize;
  86.  
  87.     [read: ToInstance ToSubClass,
  88.      Description("Creation time for remote copy"): ToInstance ToSubClass]
  89.      DATETIME RemoteCreationTime;
  90.  
  91.     [read: ToInstance ToSubClass,
  92.      Description("Last write time for remote copy"): ToInstance ToSubClass]
  93.      DATETIME RemoteLastWriteTime;
  94.  
  95.     [read: ToInstance ToSubClass,
  96.      Description("Change time for remote copy"): ToInstance ToSubClass]
  97.      DATETIME RemoteChangeTime;
  98.  
  99.     [read: ToInstance ToSubClass,
  100.      Description("Last access time for remote copy"): ToInstance ToSubClass]
  101.      DATETIME RemoteLastAccessTime;
  102. };
  103.  
  104.  
  105. //**************************************************************************
  106. //* Class: Win32_OfflineFilesPinInfo
  107. //* Derived from:
  108. //**************************************************************************
  109. [dynamic: DisableOverride ToInstance, provider("Win32_OfflineFilesProvider"),
  110.      Description("Describes if an item in the Offline Files cache is pinned and, "
  111.                  "if so, the type of pinning currently applied."): ToInstance ToSubClass]
  112. class Win32_OfflineFilesPinInfo
  113. {
  114.     [read: ToInstance ToSubClass,
  115.      Description("Indicates if the file is pinned for any reason."): ToInstance ToSubClass]
  116.      boolean Pinned;
  117.  
  118.     [read: ToInstance ToSubClass,
  119.      Description("Indicates if the file is pinned by this user and if this pin state is inheritable. \n\n"
  120.                  "0 - Not pinned \n"
  121.                  "1 - Pinned \n"
  122.                  "2 - Pinned.  Inherited by new files created in pinned directory."): ToInstance ToSubClass,
  123.      Values { "Not pinned", "Pinned", "Pinned inherit" }: ToInstance ToSubClass,
  124.      ValueMap { "0", "1", "2" }: ToInstance ToSubClass]
  125.      uint32 PinnedForUser;
  126.  
  127.     [read: ToInstance ToSubClass,
  128.      Description("Indicates if the file is pinned for this user by Group Policy and if this pin state is inheritable. \n\n"
  129.                  "0 - Not pinned \n"
  130.                  "1 - Pinned \n"
  131.                  "2 - Pinned.  Inherited by new files created in pinned directory."): ToInstance ToSubClass,
  132.      Values { "Not pinned", "Pinned", "Pinned inherit" }: ToInstance ToSubClass,
  133.      ValueMap { "0", "1", "2" }: ToInstance ToSubClass]
  134.      uint32 PinnedForUserByPolicy;
  135.  
  136.     [read: ToInstance ToSubClass,
  137.      Description("Indicates if the file is pinned for all users on the computer. \n\n"
  138.                  "0 - Not pinned \n"
  139.                  "1 - Pinned \n"
  140.                  "2 - Pinned.  Inherited by new files created in pinned directory."): ToInstance ToSubClass,
  141.      Values { "Not pinned", "Pinned", "Pinned inherit" }: ToInstance ToSubClass,
  142.      ValueMap { "0", "1", "2" }: ToInstance ToSubClass]
  143.      uint32 PinnedForComputer;
  144.  
  145.     [read: ToInstance ToSubClass,
  146.      Description("Indicates if the file is pinned for this user by Windows Folder Redirection. \n\n"
  147.                  "0 - Not pinned \n"
  148.                  "1 - Pinned \n"
  149.                  "2 - Pinned.  Inherited by new files created in pinned directory."): ToInstance ToSubClass,
  150.      Values { "Not pinned", "Pinned", "Pinned inherit" }: ToInstance ToSubClass,
  151.      ValueMap { "0", "1", "2" }: ToInstance ToSubClass]
  152.      uint32 PinnedForFolderRedirection;
  153. };
  154.  
  155.  
  156.  
  157. //**************************************************************************
  158. //* Class: Win32_OfflineFilesChangeInfo
  159. //* Derived from:
  160. //**************************************************************************
  161. [dynamic: DisableOverride ToInstance, provider("Win32_OfflineFilesProvider"),
  162.      Description("Describes if an item in the Offline Files cache has unsynchronized changes and, "
  163.                  "if so, the type of changes."): ToInstance ToSubClass]
  164. class Win32_OfflineFilesChangeInfo
  165. {
  166.     [read: ToInstance ToSubClass,
  167.      Description("Indicates if the item was changed while working offline.  If True, "
  168.                  "one or more of the remaining properties is also True."): ToInstance ToSubClass]
  169.      boolean Dirty;
  170.  
  171.     [read: ToInstance ToSubClass,
  172.      Description("Indicates if the item was deleted while working offline."): ToInstance ToSubClass]
  173.      boolean DeletedOffline;
  174.  
  175.     [read: ToInstance ToSubClass,
  176.      Description("Indicates if the item was created while working offline."): ToInstance ToSubClass]
  177.      boolean CreatedOffline;
  178.  
  179.     [read: ToInstance ToSubClass,
  180.      Description("Indicates if the file's contents were modified while working offline."): ToInstance ToSubClass]
  181.      boolean ModifiedData;
  182.  
  183.     [read: ToInstance ToSubClass,
  184.      Description("Indicates if any of the file's attributes were modified while working offline."): ToInstance ToSubClass]
  185.      boolean ModifiedAttributes;
  186.  
  187.     [read: ToInstance ToSubClass,
  188.      Description("Indicates if any of the file's time values were modified while working offline."): ToInstance ToSubClass]
  189.      boolean ModifiedTime;
  190. };
  191.  
  192.  
  193. //**************************************************************************
  194. //* Class: Win32_OfflineFilesDirtyInfo
  195. //* Derived from:
  196. //**************************************************************************
  197. [dynamic: DisableOverride ToInstance, provider("Win32_OfflineFilesProvider"),
  198.      Description("Describes the amount of information that will be synchronized when an item is synchronized."): ToInstance ToSubClass]
  199. class Win32_OfflineFilesDirtyInfo
  200. {
  201.     [read: ToInstance ToSubClass,
  202.      Description("Number of bytes needing synchronization from the client to the server."): ToInstance ToSubClass]
  203.      sint64 LocalDirtyByteCount;
  204.     [read: ToInstance ToSubClass,
  205.      Description("Number of bytes needing synchronization from the server to the client."): ToInstance ToSubClass]
  206.      sint64 RemoteDirtyByteCount;
  207. };
  208.  
  209.  
  210.  
  211. //**************************************************************************
  212. //* Class: Win32_OfflineFilesConnectionInfo
  213. //* Derived from:
  214. //**************************************************************************
  215. [dynamic: DisableOverride ToInstance, provider("Win32_OfflineFilesProvider"),
  216.      Description("Provides information about the \"online\"/\"offline\" status of "
  217.                  "an item in the Offline Files cache."): ToInstance ToSubClass]
  218. class Win32_OfflineFilesConnectionInfo
  219. {
  220.     [read : ToInstance ToSubClass,
  221.      Description("Indicates if the item is currently \"online\" or \"offline\". \n\n"
  222.                  "0 - Unknown.  Unable to determine connect state. \n"
  223.                  "1 - Offline.  Item is currently \"offline\". Inspect OfflineReason to learn why. \n"
  224.                  "2 - Online.  Item is currently \"online\"."): ToInstance ToSubClass,
  225.      Values { "Unknown", "Offline", "Online" }: ToInstance ToSubClass,
  226.      ValueMap { "0", "1", "2" }: ToInstance ToSubClass]
  227.     uint32 ConnectState;
  228.  
  229.     [read : ToInstance ToSubClass,
  230.      Description("If an item is \"offline\", indicates why it is offline.\n\n"
  231.                  "0 - Unknown.  Unable to determine reason. \n"
  232.                  "1 - Not applicable.  Item is online or item state is not known. \n"
  233.                  "2 - Working offline.  User has selected the \"Work offline\" option in Windows Explorer. \n"
  234.                  "3 - Slow connection.  Item is offline because the connection is slow. \n"
  235.                  "4 - Net disconnected.  The computer is disconnected from the network or the remote share or server is unavailable. \n"
  236.                  "5 - Need to sync item.  Item has unsynchronized local changes or an unresolved sync conflict. \n"
  237.                  "6 - Item suspended.  Item is always offline."): ToInstance ToSubClass,
  238.      Values { "Unknown",
  239.               "Not applicable",
  240.               "Working offline",
  241.               "Slow connection",
  242.               "Net disconnected",
  243.               "Need to sync item",
  244.               "Item suspended" }: ToInstance ToSubClass,
  245.      ValueMap { "0", "1", "2", "3", "4", "5", "6" }: ToInstance ToSubClass]
  246.     uint32 OfflineReason;
  247. };
  248.  
  249.  
  250. //**************************************************************************
  251. //* Class: Win32_OfflineFilesSuspendInfo
  252. //* Derived from:
  253. //**************************************************************************
  254. [dynamic: DisableOverride ToInstance, provider("Win32_OfflineFilesProvider"),
  255.           Description("Provides information about the current \"suspend\" state of "
  256.                       "an item in the Offline Files cache."): ToInstance ToSubClass]
  257. class Win32_OfflineFilesSuspendInfo
  258. {
  259.     [read: ToInstance ToSubClass,
  260.      Description("Indicates if the item is currently suspended, either directly or through "
  261.                  "inheritance from an ancestor.  Inspect SuspendedRoot to determine which."): ToInstance ToSubClass]
  262.      boolean Suspended;
  263.  
  264.     [read: ToInstance ToSubClass,
  265.      Description("Indicates if the item is a suspended tree root.  If this is False, "
  266.                  "the item is suspended by way of inheritance through the suspended state "
  267.                  "of an ancestor."): ToInstance ToSubClass]
  268.      boolean SuspendedRoot;
  269. };
  270.  
  271.  
  272. //**************************************************************************
  273. //* Class: Win32_OfflineFilesItem
  274. //* Derived from:
  275. //**************************************************************************
  276. [dynamic: DisableOverride ToInstance, provider("Win32_OfflineFilesProvider"),
  277.           Description("Represents an item in the Offline Files cache"): ToInstance ToSubClass]
  278. class Win32_OfflineFilesItem
  279. {
  280.     [key, Not_null: ToInstance ToSubClass,
  281.      read: ToInstance ToSubClass,
  282.      Description("UNC path of the item on the server."): ToInstance ToSubClass]
  283.      string ItemPath;
  284.  
  285.     [read : ToInstance ToSubClass,
  286.      Description("UNC path of the parent item on the server.  This is empty if the item is "
  287.                  "a Server item."): ToInstance ToSubClass]
  288.     string ParentItemPath;
  289.  
  290.     [Not_null: ToInstance ToSubClass,
  291.      read: ToInstance ToSubClass,
  292.      Description("File system name of item, excluding the directory path."): ToInstance ToSubClass]
  293.      string ItemName;
  294.  
  295.     [read : ToInstance ToSubClass,
  296.      Description("Type of the item.  An item may represent a Server, Share, Directory, or a File. \n\n"
  297.                  "0 - File \n"
  298.                  "1 - Directory \n"
  299.                  "2 - Share \n"
  300.                  "3 - Server"): ToInstance ToSubClass,
  301.      Values { "File", "Directory", "Share", "Server" }: ToInstance ToSubClass,
  302.      ValueMap { "0", "1", "2", "3" }: ToInstance ToSubClass]
  303.     uint32 ItemType;
  304.  
  305.     [read : ToInstance ToSubClass,
  306.      Description("File system information for item.  Applicable to Directory and File items."): ToInstance ToSubClass]
  307.      Win32_OfflineFilesFileSysInfo FileSysInfo;
  308.  
  309.     [read : ToInstance ToSubClass,
  310.      Description("Pin information for item.  Applicable to Share, Directory, and File items."): ToInstance ToSubClass]
  311.      Win32_OfflineFilesPinInfo PinInfo;
  312.  
  313.     [read : ToInstance ToSubClass,
  314.      Description("Change information for item.  Applicable to Share, Directory, and File items."): ToInstance ToSubClass]
  315.      Win32_OfflineFilesChangeInfo ChangeInfo;
  316.  
  317.     [read : ToInstance ToSubClass,
  318.      Description("Dirty byte count information for item.  Applicable to File items."): ToInstance ToSubClass]
  319.      Win32_OfflineFilesDirtyInfo DirtyInfo;
  320.  
  321.     [read : ToInstance ToSubClass,
  322.      Description("Connection information for item.  Applicable to Share, Directory, and File items."): ToInstance ToSubClass]
  323.      Win32_OfflineFilesConnectionInfo ConnectionInfo;
  324.  
  325.     [read : ToInstance ToSubClass,
  326.      Description("Suspend state information for item.  Applicable to Share, Directory, and File items."): ToInstance ToSubClass]
  327.      Win32_OfflineFilesSuspendInfo SuspendInfo;
  328.  
  329.     [read: ToInstance ToSubClass,
  330.      Description("Indicates if the item is encrypted in the Offline Files cache.  This "
  331.                  "property is applicable only to File items.  Server, Share, and "
  332.                  "Directory items will always report a value of False for this property. "
  333.                  "Inspect the ItemType property to determine the type of an item."): ToInstance ToSubClass]
  334.      boolean Encrypted;
  335.  
  336.     [read: ToInstance ToSubClass,
  337.      Description("Indicates if the item is sparsely cached.  A sparsely-cached item "
  338.                  "exists in the Offline Files cache but not all of its contents are "
  339.                  "cached.  Such items are not available offline.  This property is applicable "
  340.                  "only to File items.  Server, Share, and Directory items will always "
  341.                  "report a value of False for this property.  Inspect the ItemType property "
  342.                  "to determine the type of an item."): ToInstance ToSubClass]
  343.      boolean Sparse;
  344. };
  345.  
  346.  
  347. //**************************************************************************
  348. //* Class: Win32_OfflineFilesCache
  349. //* Derived from:
  350. //**************************************************************************
  351. [Singleton: DisableOverride ToInstance ToSubClass, dynamic: DisableOverride ToInstance, 
  352.             provider("Win32_OfflineFilesProvider"),
  353.             Description("The Win32_OfflineFilesCache class represents the Offline Files cache "
  354.                         "for the purpose of adding, removing, renaming, enumerating, synchronizing, "
  355.                         "and otherwise \"managing\" the cache contents.  Offline Files is a Windows "
  356.                         "feature that provides offline availability of network files as well as "
  357.                         "facilities to synchronize changes made while working offline.  Each computer "
  358.                         "using the Offline Files feature has a single \"cache\" on the local system "
  359.                         "where the local copies of network files are stored.  This class and its "
  360.                         "associated classes are used to inspect and manage the contents of that cache."): ToInstance ToSubClass]
  361.  
  362. class Win32_OfflineFilesCache
  363. {
  364.     [read : ToInstance ToSubClass,
  365.      Description("Indicates if Offline Files is enabled.  This reflects the current "
  366.                  "as-configured state of the feature.  If Offline Files is Enabled but "
  367.                  "not Active, a system restart will activate the feature."): ToInstance ToSubClass]
  368.     boolean Enabled;
  369.  
  370.     [read : ToInstance ToSubClass,
  371.      Description("Indicates if Offline Files is active.  This reflects the current "
  372.                  "running state of the feature.  If Offline Files is Active, all behaviors "
  373.                  "associated with the feature are available.  If Offline Files is Active but "
  374.                  "not Enabled, a system restart will deactivate the feature."): ToInstance ToSubClass]
  375.     boolean Active;
  376.  
  377.     [read : ToInstance ToSubClass,
  378.      Description("Location of Offline Files cache on the local computer.  This is the directory "
  379.                  "under which the locally-cached file copies exist.  The directory is not "
  380.                  "accessible to non-system processes."): ToInstance ToSubClass]
  381.     string Location;
  382.  
  383.     [implemented, static,
  384.      Description("Enables or disables the Offline Files feature.  Inspect the RebootRequired "
  385.                  "parameter to determine if a reboot is required. If a reboot is required, the "
  386.                  "feature remains in its current state until the system is restarted."): ToInstance ToSubClass]
  387.     uint32 Enable([in, Description("Specify True to enable Offline Files, False to disable Offline Files.")] boolean Enable, 
  388.                   [out, Description("On return, if this value is True, a restart of the system is necessary "
  389.                                     "for Offline Files to transition to the requested state.")] boolean RebootRequired);
  390.  
  391.     [implemented, static,
  392.      Description("Renames a path in the Offline Files cache.  This is most often used "
  393.                  "after a directory tree has been renamed or moved on a remote server."): ToInstance ToSubClass]
  394.     uint32 RenameItem([in, Description("The current path string to be renamed.")] string OriginalPath, 
  395.                       [in, Description("The new path string to replace the original path string.")] string NewPath, 
  396.                       [in, Description("If this parameter is False, the operation will fail if the new path "
  397.                                        "string specifies an existing file or directory.  Specify True to "
  398.                                        "automatically replace an existing file or directory.  Therefore, use True with "
  399.                                        "caution.")] boolean ReplaceIfExists);
  400.  
  401.     [implemented, static,
  402.      Description("Synchronizes one or more items.  To monitor progress, implement a WMI event sink to "
  403.                  "receive OnProgress notifications.  The Message parameter contains a text string encoded "
  404.                  "with the following colon-delimited format: \n\n"
  405.                  "    <reason>:<result>:<result text>:[<path>] \n\n"
  406.                  "where: \n\n"
  407.                  "    <reason> \n"
  408.                  "        The type of progress notification.  One of the following: \n"
  409.                  "            0 = Begin      - Sent once at start of the operation. \n"
  410.                  "            1 = End        - Sent once at the end of the operation. \n"
  411.                  "            2 = ItemBegin  - Sent at the start of processing each item. \n"
  412.                  "            3 = ItemResult - Sent at the end of processing each item. \n\n"
  413.                  "    <result> \n"
  414.                  "        Unsigned integer HRESULT.  0 = Success. \n\n"
  415.                  "    <result text> \n"
  416.                  "        Windows message text associated with <result>. \n\n"
  417.                  "    <path> \n"
  418.                  "        UNC path of item processed.  This is empty if <reason> is \n"
  419.                  "        Begin (0) or End (1)."): ToInstance ToSubClass]
  420.     uint32 Synchronize([in, Description("Array of UNC path strings identifying directories and files to synchronize.")] string Paths[], 
  421.                        [in, Values{"OfflineFilesSyncControlFlagFillSparse",
  422.                                    "OfflineFilesSyncControlFlagSyncIn",
  423.                                    "OfflineFilesSyncControlFlagSyncOut",
  424.                                    "OfflineFilesSyncControlFlagPinNewFiles",
  425.                                    "OfflineFilesSyncControlFlagPinLinkTargets",
  426.                                    "OfflineFilesSyncControlFlagPinForUser",
  427.                                    "OfflineFilesSyncControlFlagPinForUser_Policy",
  428.                                    "OfflineFilesSyncControlFlagPinForAll",
  429.                                    "OfflineFilesSyncControlFlagLowPriority",
  430.                                    "OfflineFilesSyncControlFlagAsyncProgress",
  431.                                    "OfflineFilesSyncControlFlagInteractive",
  432.                                    "OfflineFilesSyncControlFlagConsole",
  433.                                    "OfflineFilesSyncControlFlagSkipSuspendedDirs",
  434.                                    "OfflineFilesSyncControlFlagBackground",
  435.                                    "OfflineFilesSyncControlCrKeepLocal",
  436.                                    "OfflineFilesSyncControlCrKeepRemote",
  437.                                    "OfflineFilesSyncControlCrKeepLatest"}: ToInstance ToSubClass,
  438.                               ValuesMap{"0x00000001",
  439.                                         "0x00000002",
  440.                                         "0x00000004",
  441.                                         "0x00000008",
  442.                                         "0x00000010",
  443.                                         "0x00000020",
  444.                                         "0x00000040",
  445.                                         "0x00000080",
  446.                                         "0x00000200",
  447.                                         "0x00000400",
  448.                                         "0x00000800",
  449.                                         "0x00001000",
  450.                                         "0x00002000",
  451.                                         "0x00010000",
  452.                                         "0x10000000",
  453.                                         "0x20000000",
  454.                                         "0x30000000"}: ToSubClass,
  455.                               Description("May be one or more of the following: \n\n"
  456.                                           "0x00000001 - FillSparse.  Fill sparse files. \n"
  457.                                           "0x00000002 - SyncIn.  Sync server changes to the local computer. \n"
  458.                                           "0x00000004 - SyncOut.  Sync local computer changes to the server. \n"
  459.                                           "0x00000008 - PinNewFiles.  Pin any new files found on server inside pinned directories. \n"
  460.                                           "0x00000010 - PinLinkTargets.  When pinning, if the file is a LNK file, pin the target also. \n"
  461.                                           "0x00000020 - PinForUser.  When pinning, pin for the logged-on user. \n"
  462.                                           "0x00000040 - PinForUser_Policy. When pinning, pin for the logged-on user as if pinned by Group Policy. \n"
  463.                                           "0x00000080 - PinForAll.  When pinning, pin for all users. \n"
  464.                                           "0x00000200 - LowPriority.  Perform sync at low CPU and I/O priority whenever possible. \n"
  465.                                           "0x00000400 - AsyncProgress.  Use asynchronous progress reporting.  This may drop some \"success\" notifications for performance. \n"
  466.                                           "0x00000800 - Interactive.  OK to interact with user if necessary (i.e. alternate credential requests). \n"
  467.                                           "0x00001000 - Console.  All interaction directed to console. \n"
  468.                                           "0x00002000 - SkipSuspendedDirs.  Do not sync suspended directories. \n"
  469.                                           "0x00010000 - Background.  Minimize sharing violations. \n"
  470.                                           "0x10000000 - CrKeepLocal.  Resolve all conflicts by copying the local computer copy to the server. \n"
  471.                                           "0x20000000 - CrKeepRemote.  Resolve all conflicts by copying the server copy to the local computer. \n"
  472.                                           "0x30000000 - CrKeepLatest.  Resolve all conflicts by keeping the \"latest\" copy. \n\n"
  473.                                           "Note that CrKeepLocal, CrKeepRemote, and CrKeepLatest are not flag values.  Set only \n"
  474.                                           "one of these to specify a conflict resolution policy.  If no conflict resolution "
  475.                                           "policy is specified, conflicts remain unresolved and may be viewed in the Sync Center "
  476.                                           "Conflicts folder.")
  477.                       ] uint32 Flags);
  478.  
  479.     [implemented, static,
  480.      Description("Assures an item will be available offline.  Pinning an item ensures it "
  481.                  "is protected from automatic eviction should the Offline Files cache need "
  482.                  "additional disk space.  To monitor progress, implement a WMI event sink to "
  483.                  "receive OnProgress notifications.  The Message parameter contains a text string encoded "
  484.                  "with the following colon-delimited format: \n\n"
  485.                  "    <reason>:<result>:<result text>:[<path>] \n\n"
  486.                  "where: \n\n"
  487.                  "    <reason> \n"
  488.                  "        The type of progress notification.  One of the following: \n"
  489.                  "            0 = Begin      - Sent once at start of the operation. \n"
  490.                  "            1 = End        - Sent once at the end of the operation. \n"
  491.                  "            2 = ItemBegin  - Sent at the start of processing each item. \n"
  492.                  "            3 = ItemResult - Sent at the end of processing each item. \n\n"
  493.                  "    <result> \n"
  494.                  "        Unsigned integer HRESULT.  0 = Success. \n\n"
  495.                  "    <result text> \n"
  496.                  "        Windows message text associated with <result>. \n\n"
  497.                  "    <path> \n"
  498.                  "        UNC path of item processed.  This is empty if <reason> is \n"
  499.                  "        Begin (0) or End (1)."): ToInstance ToSubClass]
  500.     uint32 Pin([in, Description("Array of UNC path strings identifying directories and files to pin.")] string Paths[], 
  501.                [in, Values{"OfflineFilesPinControlFlagFill",
  502.                            "OfflineFilesPinControlFlagPinLinkTargets",
  503.                            "OfflineFilesPinControlFlagForUser",
  504.                            "OfflineFilesPinControlFlagForUser_Policy",
  505.                            "OfflineFilesPinControlFlagForAll",
  506.                            "OfflineFilesPinControlFlagLowPriority",
  507.                            "OfflineFilesPinControlFlagAsyncProgress",
  508.                            "OfflineFilesPinControlFlagInteractive",
  509.                            "OfflineFilesPinControlFlagConsole",
  510.                            "OfflineFilesPinControlFlagBackground"}: ToInstance ToSubClass,
  511.                               ValuesMap{"0x00000001",
  512.                                         "0x00000010",
  513.                                         "0x00000020",
  514.                                         "0x00000040",
  515.                                         "0x00000080",
  516.                                         "0x00000200",
  517.                                         "0x00000400",
  518.                                         "0x00000800",
  519.                                         "0x00001000",
  520.                                         "0x00010000"}: ToSubClass,
  521.                               Description("May be one or more of the following: \n\n"
  522.                                           "0x00000001 - Fill.  Fill files when pinning. \n"
  523.                                           "0x00000020 - PinForUser.  Pin for the logged-on user. \n"
  524.                                           "0x00000040 - PinForUser_Policy. Pin for the logged-on user as if pinned by Group Policy. \n"
  525.                                           "0x00000080 - PinForAll.  Pin for all users. \n"
  526.                                           "0x00000200 - LowPriority.  Perform operation at low CPU and I/O priority whenever possible. \n"
  527.                                           "0x00000400 - AsyncProgress.  Use asynchronous progress reporting.  This may drop some \"success\" notifications for performance. \n"
  528.                                           "0x00000800 - Interactive.  OK to interact with user if necessary (i.e. alternate credential requests). \n"
  529.                                           "0x00001000 - Console.  All interaction directed to console. \n"
  530.                                           "0x00010000 - Background.  Minimize sharing violations.")
  531.                       ] uint32 Flags,
  532.                [in, Description("For directory paths, indicates if the operation is to apply to "
  533.                                 "the entire directory tree or only to the directory entry itself. "
  534.                                 "This parameter is ignored for file paths.")] boolean Deep);
  535.  
  536.     [implemented, static,
  537.      Description("Removes the assurance that an item will be available offline.  In addition, "
  538.                  "if the item is no longer pinned for any reason and if it has no unsynchronized "
  539.                  "local changes, it is automatically deleted from the Offline Files cache.  To "
  540.                  "monitor progress, implement a WMI event sink to receive OnProgress notifications.  "
  541.                  "The Message parameter contains a text string encoded with the following colon-delimited format: \n\n"
  542.                  "    <reason>:<result>:<result text>:[<path>] \n\n"
  543.                  "where: \n\n"
  544.                  "    <reason> \n"
  545.                  "        The type of progress notification.  One of the following: \n"
  546.                  "            0 = Begin      - Sent once at start of the operation. \n"
  547.                  "            1 = End        - Sent once at the end of the operation. \n"
  548.                  "            2 = ItemBegin  - Sent at the start of processing each item. \n"
  549.                  "            3 = ItemResult - Sent at the end of processing each item. \n\n"
  550.                  "    <result> \n"
  551.                  "        Unsigned integer HRESULT.  0 = Success. \n\n"
  552.                  "    <result text> \n"
  553.                  "        Windows message text associated with <result>. \n\n"
  554.                  "    <path> \n"
  555.                  "        UNC path of item processed.  This is empty if <reason> is \n"
  556.                  "        Begin (0) or End (1)."): ToInstance ToSubClass]
  557.     uint32 Unpin([in, Description("Array of UNC path strings identifying directories and files to pin.")] string Paths[], 
  558.                [in, Values{"OfflineFilesPinControlFlagForUser",
  559.                            "OfflineFilesPinControlFlagForUser_Policy",
  560.                            "OfflineFilesPinControlFlagForAll",
  561.                            "OfflineFilesPinControlFlagLowPriority",
  562.                            "OfflineFilesPinControlFlagAsyncProgress",
  563.                            "OfflineFilesPinControlFlagInteractive",
  564.                            "OfflineFilesPinControlFlagConsole",
  565.                            "OfflineFilesPinControlFlagBackground"}: ToInstance ToSubClass,
  566.                               ValuesMap{"0x00000020",
  567.                                         "0x00000040",
  568.                                         "0x00000080",
  569.                                         "0x00000200",
  570.                                         "0x00000400",
  571.                                         "0x00000800",
  572.                                         "0x00001000",
  573.                                         "0x00010000"}: ToSubClass,
  574.                               Description("May be one or more of the following: \n\n"
  575.                                           "0x00000020 - UnpinForUser.  Unpin for the logged-on user. \n"
  576.                                           "0x00000040 - UnpinForUser_Policy. Unpin for the logged-on user as if unpinned by Group Policy. \n"
  577.                                           "0x00000080 - UnpinForAll.  Unpin for all users. \n"
  578.                                           "0x00000200 - LowPriority.  Perform operation at low CPU and I/O priority whenever possible. \n"
  579.                                           "0x00000400 - AsyncProgress.  Use asynchronous progress reporting.  This may drop some \"success\" notifications for performance. \n"
  580.                                           "0x00000800 - Interactive.  OK to interact with user if necessary (i.e. alternate credential requests). \n"
  581.                                           "0x00001000 - Console.  All interaction directed to console. \n"
  582.                                           "0x00010000 - Background.  Minimize sharing violations.")
  583.                       ] uint32 Flags,
  584.                [in, Description("For directory paths, indicates if the operation is to apply to "
  585.                                 "the entire directory tree or only to the directory entry itself. "
  586.                                 "This parameter is ignored for file paths.")] boolean Deep);
  587.  
  588.     [implemented, static,
  589.      Description("Deletes one or more items from the Offline Files cache."): ToInstance ToSubClass]
  590.      uint32 DeleteItems([in, Description("Array of UNC path strings identifying directories and files to be deleted.")] string Paths[], 
  591.                [in, Values{"OfflineFilesDeleteFlagNoAutoCached",
  592.                            "OfflineFilesDeleteFlagNoPinned",
  593.                            "OfflineFilesDeleteFlagDelModified",
  594.                            "OfflineFilesDeleteFlagAdmin"}: ToInstance ToSubClass,
  595.                               ValuesMap{"0x00000001",
  596.                                         "0x00000002",
  597.                                         "0x00000004",
  598.                                         "0x80000000"}: ToSubClass,
  599.                               Description("May be one or more of the following: \n\n"
  600.                                           "0x00000001 - NoAutoCached.  Do not delete non-pinned files. \n"
  601.                                           "0x00000002 - NoPinned. Do not delete pinned files. \n"
  602.                                           "0x00000004 - DelModified.  OK to delete files with unsynchronized changes. \n"
  603.                                           "0x80000000 - Admin.  If script is running under an account that is a local adminstrator, act as administrator when accessing the Offline Files cache.")
  604.                       ] uint32 Flags);
  605.  
  606.     [implemented, static,
  607.      Description("Encrypts or unencrypts files in the Offline Files cache"): ToInstance ToSubClass]
  608.     uint32 Encrypt([in, Description("Set to True to encrypt, False to unencrypt.")] boolean Encrypt, 
  609.                [in, Values{"OfflineFilesEncryptionControlFlagLowPriority",
  610.                            "OfflineFilesEncryptionControlFlagAsyncProgress",
  611.                            "OfflineFilesEncryptionControlFlagInteractive",
  612.                            "OfflineFilesEncryptionControlFlagConsole",
  613.                            "OfflineFilesEncryptionControlFlagBackground"}: ToInstance ToSubClass,
  614.                               ValuesMap{"0x00000200",
  615.                                         "0x00000400",
  616.                                         "0x00000800",
  617.                                         "0x00001000"}: ToSubClass,
  618.                               Description("May be one or more of the following: \n\n"
  619.                                           "0x00000200 - LowPriority.  Perform operation at low CPU and I/O priority whenever possible. \n"
  620.                                           "0x00000400 - AsyncProgress.  Use asynchronous progress reporting.  This may drop some \"success\" notifications for performance. \n"
  621.                                           "0x00000800 - Interactive.  OK to interact with user if necessary (i.e. alternate credential requests). \n"
  622.                                           "0x00001000 - Console.  All interaction directed to console. \n"
  623.                                           "0x00010000 - Background.  Minimize sharing violations.")
  624.                ] uint32 Flags);
  625.  
  626.     [implemented, static,
  627.      Description("Suspends or un-suspends a directory tree in the Offline Files cache.  A suspended "
  628.                  "directory tree is always offline but may be synchronized using the Synchronize "
  629.                  "method or through Windows Sync Center."): ToInstance ToSubClass]
  630.     uint32 SuspendRoot([in, Description("The UNC path of the directory to be suspended.  The path must exist "
  631.                                         "in the Offline Files cache.")] string Path, 
  632.                        [in, Description("Set to True to suspend, False to un-suspend.")] boolean Suspend);
  633.  
  634.     [implemented, static,
  635.      Description("Transitions to offline the remote file system scope associated with the item."): ToInstance ToSubClass]
  636.      uint32 TransitionOffline([in, Description("The UNC path of the cache item.")] string Path, 
  637.                               [in, Description("Force open files closed.")] boolean Force,
  638.                               [in, Values{"OfflineFilesTransitionFlagInteractive",
  639.                                           "OfflineFilesTransitionFlagConsole"}: ToInstance ToSubClass,
  640.                               ValuesMap{"0x00000001",
  641.                                         "0x00000002"}: ToSubClass,
  642.                               Description("May be one or more of the following: \n\n"
  643.                                           "0x00000001 - Interactive.  OK to interact with user if necessary (i.e. alternate credential requests). \n"
  644.                                           "0x00000002 - Console.  All interaction directed to console. ")] uint32 Flags,
  645.                               [out, Description("On return, if this value is True, open files prevented the transition.")] boolean OpenFiles
  646. );
  647.  
  648.     [implemented, static,
  649.      Description("Transitions to online the remote file system scope associated with the item."): ToInstance ToSubClass]
  650.      uint32 TransitionOnline([in, Description("The UNC path of the cache item.")] string Path, 
  651.                              [in, Values{"OfflineFilesTransitionFlagInteractive",
  652.                                          "OfflineFilesTransitionFlagConsole"}: ToInstance ToSubClass,
  653.                               ValuesMap{"0x00000001",
  654.                                         "0x00000002"}: ToSubClass,
  655.                               Description("May be one or more of the following: \n\n"
  656.                                           "0x00000001 - Interactive.  OK to interact with user if necessary (i.e. alternate credential requests). \n"
  657.                                           "0x00000002 - Console.  All interaction directed to console. ")
  658.                ] uint32 Flags);
  659.  
  660. };
  661.  
  662.  
  663. //**************************************************************************
  664. //* Class: Win32_OfflineFilesAssociatedItems
  665. //* Derived from: CIM_Dependency
  666. //**************************************************************************
  667. [ UUID("{db089a12-f250-47aa-b9d0-89806d928ba6}") : ToInstance ]
  668. class Win32_OfflineFilesAssociatedItems
  669. {
  670.     [ read : ToSubclass, key : ToInstance ToSubclass DisableOverride,
  671.       Override("Antecedent") : ToSubclass ]
  672.     Win32_OfflineFilesCache Ref Antecedent;
  673.  
  674.     [ read : ToSubclass, key : ToInstance ToSubclass DisableOverride,
  675.       Override("Dependent") : ToSubclass ]
  676.     Win32_OfflineFilesItem Ref Dependent;
  677. };
  678.  
  679.  
  680. //**************************************************************************
  681. //* Instances of: __Win32Provider
  682. //**************************************************************************
  683. instance of __Win32Provider as $P1
  684. {
  685.     Name = "Win32_OfflineFilesProvider";
  686.     CLSID = "{2DCD1DAF-A110-49c0-BFDB-6FDF557B5FDF}";
  687.     ImpersonationLevel = "1";
  688.     PerUserInitialization = "TRUE";
  689. };
  690.  
  691. //**************************************************************************
  692. //* Instances of: __InstanceProviderRegistration
  693. //**************************************************************************
  694. instance of __InstanceProviderRegistration
  695. {
  696.     provider = $P1;
  697.     SupportsEnumeration = "TRUE";
  698.     SupportsGet = "TRUE";
  699.     QuerySupportLevels = {"WQL:UnarySelect"};
  700. };
  701.  
  702.  
  703. //**************************************************************************
  704. //* Instances of: __MethodProviderRegistration
  705. //**************************************************************************
  706. instance of __MethodProviderRegistration
  707. {
  708.     provider = $P1;
  709. };
  710.  
  711.  
  712. //* EOF cscwmi.mof
  713.