|  gpedit.h (5.2.3790.3959-Windows 5.0)  |   |  gpedit.h (6.0.6002.18005-Windows 6.0)  | 
 
       |   |  | 
      | skipping to change at line 170 |   | skipping to change at line 170 | 
      | // |   | // | 
       |   |  | 
      | #define GPO_SECTION_ROOT                 0  // Root |   | #define GPO_SECTION_ROOT                 0  // Root | 
      | #define GPO_SECTION_USER                 1  // User |   | #define GPO_SECTION_USER                 1  // User | 
      | #define GPO_SECTION_MACHINE              2  // Machine |   | #define GPO_SECTION_MACHINE              2  // Machine | 
       |   |  | 
      | // |   | // | 
      | // Group Policy Object types |   | // Group Policy Object types | 
      | // |   | // | 
       |   |  | 
       | 
       |   | #ifndef GROUP_POLICY_OBJECT_TYPE_ENUM_DEFINED | 
       |   | #define GROUP_POLICY_OBJECT_TYPE_ENUM_DEFINED | 
       |   |                                                                                  | 
      | typedef enum _GROUP_POLICY_OBJECT_TYPE { |   | typedef enum _GROUP_POLICY_OBJECT_TYPE { | 
       | 
      |     GPOTypeLocal = 0,                       // GPO on the local machine |   |     GPOTypeLocal = 0,                       // Default GPO on the local machine | 
      |     GPOTypeRemote,                          // GPO on a remote machine |   |     GPOTypeRemote,                          // GPO on a remote machine | 
       | 
      |     GPOTypeDS                               // GPO in the Active Directory |   |     GPOTypeDS,                              // GPO in the Active Directory | 
       |   |     GPOTypeLocalUser,                       // User-specific GPO on the local ma | 
       |   | chine | 
       |   |     GPOTypeLocalGroup                       // Group-specific GPO on the local m | 
       |   | achine | 
      | } GROUP_POLICY_OBJECT_TYPE, *PGROUP_POLICY_OBJECT_TYPE; |   | } GROUP_POLICY_OBJECT_TYPE, *PGROUP_POLICY_OBJECT_TYPE; | 
       |   |  | 
       | 
       |   | #endif // GROUP_POLICY_OBJECT_TYPE_ENUM_DEFINED | 
       |   |                                                                                  | 
      | // |   | // | 
      | // Group Policy Hint types |   | // Group Policy Hint types | 
      | // |   | // | 
       |   |  | 
      | typedef enum _GROUP_POLICY_HINT_TYPE { |   | typedef enum _GROUP_POLICY_HINT_TYPE { | 
      |     GPHintUnknown = 0,                      // No link information available |   |     GPHintUnknown = 0,                      // No link information available | 
      |     GPHintMachine,                          // GPO linked to a machine (local or
 remote) |   |     GPHintMachine,                          // GPO linked to a machine (local or
 remote) | 
      |     GPHintSite,                             // GPO linked to a site |   |     GPHintSite,                             // GPO linked to a site | 
      |     GPHintDomain,                           // GPO linked to a domain |   |     GPHintDomain,                           // GPO linked to a domain | 
      |     GPHintOrganizationalUnit,               // GPO linked to a organizational un
it |   |     GPHintOrganizationalUnit,               // GPO linked to a organizational un
it | 
       |   |  | 
      | skipping to change at line 206 |   | skipping to change at line 213 | 
       |   |  | 
      |     // *** IGPEInformation methods *** |   |     // *** IGPEInformation methods *** | 
       |   |  | 
      |     // |   |     // | 
      |     // Returns the unique Group Policy Object name (a GUID) |   |     // Returns the unique Group Policy Object name (a GUID) | 
      |     // |   |     // | 
      |     // pszName contains the name on return |   |     // pszName contains the name on return | 
      |     // cchMaxLength is the max number of characters that can be stored in pszNam
e |   |     // cchMaxLength is the max number of characters that can be stored in pszNam
e | 
      |     // |   |     // | 
       |   |  | 
       | 
      |     STDMETHOD(GetName) (THIS_ LPOLESTR pszName, int cchMaxLength) PURE; |   |     STDMETHOD(GetName) (THIS_ __out_ecount(cchMaxLength) LPOLESTR pszName, int c
chMaxLength) PURE; | 
       |   |  | 
      |     // |   |     // | 
      |     // Returns the friendly display name for this Group Policy Object |   |     // Returns the friendly display name for this Group Policy Object | 
      |     // |   |     // | 
      |     // pszName contains the name on return |   |     // pszName contains the name on return | 
      |     // cchMaxLength is the max number of characters that can be stored in pszNam
e |   |     // cchMaxLength is the max number of characters that can be stored in pszNam
e | 
      |     // |   |     // | 
       |   |  | 
       | 
      |     STDMETHOD(GetDisplayName) (THIS_ LPOLESTR pszName, int cchMaxLength) PURE; |   |     STDMETHOD(GetDisplayName) (THIS_ __out_ecount(cchMaxLength) LPOLESTR pszName
, int cchMaxLength) PURE; | 
       |   |  | 
      |     // |   |     // | 
      |     // Returns a registry key handle for the requested section.  The returned |   |     // Returns a registry key handle for the requested section.  The returned | 
      |     // key is the root of the registry, not the Policies subkey.  To set / read |   |     // key is the root of the registry, not the Policies subkey.  To set / read | 
      |     // a value in the Policies subkey, you will need to call RegOpenKeyEx to |   |     // a value in the Policies subkey, you will need to call RegOpenKeyEx to | 
      |     // open Software\Policies subkey first. |   |     // open Software\Policies subkey first. | 
      |     // |   |     // | 
      |     // The handle has been opened with ALL ACCESS rights.  Call RegCloseKey |   |     // The handle has been opened with ALL ACCESS rights.  Call RegCloseKey | 
      |     // on the handle when finished. |   |     // on the handle when finished. | 
      |     // |   |     // | 
       |   |  | 
      | skipping to change at line 241 |   | skipping to change at line 248 | 
       |   |  | 
      |     // |   |     // | 
      |     // Returns the Active Directory path to the root of the request section. |   |     // Returns the Active Directory path to the root of the request section. | 
      |     // The path is in ADSI name format. |   |     // The path is in ADSI name format. | 
      |     // |   |     // | 
      |     // dwSection is one of the GPO_SECTION_* flags |   |     // dwSection is one of the GPO_SECTION_* flags | 
      |     // pszPath contains the path on return |   |     // pszPath contains the path on return | 
      |     // cchMaxPath is the max number of characters that can be stored in pszPath |   |     // cchMaxPath is the max number of characters that can be stored in pszPath | 
      |     // |   |     // | 
       |   |  | 
       | 
      |     STDMETHOD(GetDSPath) (THIS_ DWORD dwSection, LPOLESTR pszPath, int cchMaxPat
h) PURE; |   |     STDMETHOD(GetDSPath) (THIS_ DWORD dwSection, __out_ecount(cchMaxPath) LPOLES
TR pszPath, int cchMaxPath) PURE; | 
       |   |  | 
      |     // |   |     // | 
      |     // Returns the UNC path to the root of the requested section. |   |     // Returns the UNC path to the root of the requested section. | 
      |     // |   |     // | 
      |     // dwSection is one of the GPO_SECTION_* flags |   |     // dwSection is one of the GPO_SECTION_* flags | 
      |     // pszPath contains the path on return |   |     // pszPath contains the path on return | 
      |     // cchMaxPath is the number of characters that can be stored in pszPath. |   |     // cchMaxPath is the number of characters that can be stored in pszPath. | 
      |     // |   |     // | 
       |   |  | 
       | 
      |     STDMETHOD(GetFileSysPath) (THIS_ DWORD dwSection, LPOLESTR pszPath, int cchM
axPath) PURE; |   |     STDMETHOD(GetFileSysPath) (THIS_ DWORD dwSection, __out_ecount(cchMaxPath) L
POLESTR pszPath, int cchMaxPath) PURE; | 
       |   |  | 
      |     // |   |     // | 
      |     // Returns the user preferences (options) |   |     // Returns the user preferences (options) | 
      |     // |   |     // | 
      |     // Currently, there are no options defined.  This is reserved for future use
. |   |     // Currently, there are no options defined.  This is reserved for future use
. | 
      |     // |   |     // | 
      |     // dwOptions receives a bitmask value |   |     // dwOptions receives a bitmask value | 
      |     // |   |     // | 
       |   |  | 
      |     STDMETHOD(GetOptions) (THIS_ DWORD *dwOptions) PURE; |   |     STDMETHOD(GetOptions) (THIS_ DWORD *dwOptions) PURE; | 
       |   |  | 
      | skipping to change at line 354 |   | skipping to change at line 361 | 
      |     // and opens it via OpenDSGPO().  If pszDomainName contains a domain |   |     // and opens it via OpenDSGPO().  If pszDomainName contains a domain | 
      |     // controller name, the GPO will be created on that DC.  If it does not |   |     // controller name, the GPO will be created on that DC.  If it does not | 
      |     // specify a domain controller name, the method will select a DC on |   |     // specify a domain controller name, the method will select a DC on | 
      |     // the callers behalf. |   |     // the callers behalf. | 
      |     // |   |     // | 
      |     // pszDomainName contains the ADSI path of the domain root |   |     // pszDomainName contains the ADSI path of the domain root | 
      |     // pszDisplayName contains the friendly display name |   |     // pszDisplayName contains the friendly display name | 
      |     // dwFlags is a bitmask of GPO open / creation flags listed above |   |     // dwFlags is a bitmask of GPO open / creation flags listed above | 
      |     // |   |     // | 
       |   |  | 
       | 
      |     STDMETHOD(New) (THIS_ LPOLESTR pszDomainName, LPOLESTR pszDisplayName, |   |     STDMETHOD(New) (THIS_ __in LPOLESTR pszDomainName, __in_opt LPOLESTR pszDisp
layName, | 
      |                     DWORD dwFlags) PURE; |   |                     DWORD dwFlags) PURE; | 
       |   |  | 
      |     // |   |     // | 
      |     // Opens the specified Group Policy Object in the Active Directory |   |     // Opens the specified Group Policy Object in the Active Directory | 
      |     // based upon the passed in flags.  If pszPath contains a domain |   |     // based upon the passed in flags.  If pszPath contains a domain | 
      |     // controller name, the GPO will be opened on that DC.  If it does |   |     // controller name, the GPO will be opened on that DC.  If it does | 
      |     // not contain a domain controller name, the method will select a |   |     // not contain a domain controller name, the method will select a | 
      |     // DC on the callers behalf.  If the registry is not loaded, |   |     // DC on the callers behalf.  If the registry is not loaded, | 
      |     // GetRegistryKey() will return E_FAIL. |   |     // GetRegistryKey() will return E_FAIL. | 
      |     // |   |     // | 
      |     // pszPath contains the ADSI path to the GPO to open |   |     // pszPath contains the ADSI path to the GPO to open | 
      |     // dwFlags is a bitmask of GPO open / creation flags listed above |   |     // dwFlags is a bitmask of GPO open / creation flags listed above | 
      |     // |   |     // | 
       |   |  | 
       | 
      |     STDMETHOD(OpenDSGPO) (THIS_ LPOLESTR pszPath, DWORD dwFlags) PURE; |   |     STDMETHOD(OpenDSGPO) (THIS_ __in LPOLESTR pszPath, DWORD dwFlags) PURE; | 
       |   |  | 
      |     // |   |     // | 
      |     // Opens the default Group Policy Object on this machine with the |   |     // Opens the default Group Policy Object on this machine with the | 
      |     // dwFlags options listed above.  If the registry is not loaded, |   |     // dwFlags options listed above.  If the registry is not loaded, | 
      |     // GetRegistryKey() will return E_FAIL. |   |     // GetRegistryKey() will return E_FAIL. | 
      |     // |   |     // | 
      |     // dwFlags is a bitmask of GPO open / creation flags listed above |   |     // dwFlags is a bitmask of GPO open / creation flags listed above | 
      |     // |   |     // | 
       |   |  | 
      |     STDMETHOD(OpenLocalMachineGPO) (THIS_ DWORD dwFlags) PURE; |   |     STDMETHOD(OpenLocalMachineGPO) (THIS_ DWORD dwFlags) PURE; | 
       |   |  | 
      |     // |   |     // | 
      |     // Opens the default Group Policy Object on a remote machine with the |   |     // Opens the default Group Policy Object on a remote machine with the | 
      |     // dwFlags options listed above.  If the registry is not loaded, |   |     // dwFlags options listed above.  If the registry is not loaded, | 
      |     // GetRegistryKey() will return E_FAIL. |   |     // GetRegistryKey() will return E_FAIL. | 
      |     // |   |     // | 
      |     // pszComputerName contains the machine name in \\machine format |   |     // pszComputerName contains the machine name in \\machine format | 
      |     // dwFlags is a bitmask of GPO open / creation flags listed above |   |     // dwFlags is a bitmask of GPO open / creation flags listed above | 
      |     // |   |     // | 
       |   |  | 
       | 
      |     STDMETHOD(OpenRemoteMachineGPO) (THIS_ LPOLESTR pszComputerName, DWORD dwFla
gs) PURE; |   |     STDMETHOD(OpenRemoteMachineGPO) (THIS_ __in LPOLESTR pszComputerName, DWORD 
dwFlags) PURE; | 
       |   |  | 
      |     // |   |     // | 
      |     // Flushes the registry settings to disk and updates the revision |   |     // Flushes the registry settings to disk and updates the revision | 
      |     // number of the GPO. |   |     // number of the GPO. | 
      |     // |   |     // | 
      |     // bMachine specifies if machine or user should be saved. |   |     // bMachine specifies if machine or user should be saved. | 
      |     // bAdd specifies whether this is an add or delete. |   |     // bAdd specifies whether this is an add or delete. | 
      |     // pGuidExtension is the guid or unique name of extension that |   |     // pGuidExtension is the guid or unique name of extension that | 
      |     //    will process this GPO. |   |     //    will process this GPO. | 
      |     // pGuid is a guid |   |     // pGuid is a guid | 
       |   |  | 
      | skipping to change at line 425 |   | skipping to change at line 432 | 
      |     // Returns the unique Group Policy Object name |   |     // Returns the unique Group Policy Object name | 
      |     // |   |     // | 
      |     // For Active Directory policy objects, this is a GUID |   |     // For Active Directory policy objects, this is a GUID | 
      |     // For the local policy object, it is the string "Local" |   |     // For the local policy object, it is the string "Local" | 
      |     // For remote policy objects, it is the computername |   |     // For remote policy objects, it is the computername | 
      |     // |   |     // | 
      |     // pszName contains the name on return |   |     // pszName contains the name on return | 
      |     // cchMaxLength is the max number of characters that can be stored in pszNam
e |   |     // cchMaxLength is the max number of characters that can be stored in pszNam
e | 
      |     // |   |     // | 
       |   |  | 
       | 
      |     STDMETHOD(GetName) (THIS_ LPOLESTR pszName, int cchMaxLength) PURE; |   |     STDMETHOD(GetName) (THIS_ __out_ecount(cchMaxLength) LPOLESTR pszName, int c
chMaxLength) PURE; | 
       |   |  | 
      |     // |   |     // | 
      |     // Returns the friendly display name for this Group Policy Object |   |     // Returns the friendly display name for this Group Policy Object | 
      |     // |   |     // | 
      |     // pszName contains the name on return |   |     // pszName contains the name on return | 
      |     // cchMaxLength is the max number of characters that can be stored in pszNam
e |   |     // cchMaxLength is the max number of characters that can be stored in pszNam
e | 
      |     // |   |     // | 
       |   |  | 
       | 
      |     STDMETHOD(GetDisplayName) (THIS_ LPOLESTR pszName, int cchMaxLength) PURE; |   |     STDMETHOD(GetDisplayName) (THIS_ __out_ecount(cchMaxLength) LPOLESTR pszName
, int cchMaxLength) PURE; | 
       |   |  | 
      |     // |   |     // | 
      |     // Sets the friendly display name for this Group Policy Object |   |     // Sets the friendly display name for this Group Policy Object | 
      |     // |   |     // | 
      |     // pszName is the new display name |   |     // pszName is the new display name | 
      |     // |   |     // | 
       |   |  | 
       | 
      |     STDMETHOD(SetDisplayName) (THIS_ LPOLESTR pszName) PURE; |   |     STDMETHOD(SetDisplayName) (THIS_ __in LPOLESTR pszName) PURE; | 
       |   |  | 
      |     // |   |     // | 
      |     // Returns the path to the Group Policy Object |   |     // Returns the path to the Group Policy Object | 
      |     // |   |     // | 
      |     // |   |     // | 
      |     // If the GPO is an Active Directory object, the path is in ADSI name format
. |   |     // If the GPO is an Active Directory object, the path is in ADSI name format
. | 
      |     // If the GPO is a machine object, it is a file system path |   |     // If the GPO is a machine object, it is a file system path | 
      |     // |   |     // | 
      |     // pszPath contains the path on return |   |     // pszPath contains the path on return | 
      |     // cchMaxPath is the max number of characters that can be stored in pszPath |   |     // cchMaxPath is the max number of characters that can be stored in pszPath | 
      |     // |   |     // | 
       |   |  | 
       | 
      |     STDMETHOD(GetPath) (THIS_ LPOLESTR pszPath, int cchMaxPath) PURE; |   |     STDMETHOD(GetPath) (THIS_ __out_ecount(cchMaxLength) LPOLESTR pszPath, int c
chMaxPath) PURE; | 
       |   |  | 
      |     // |   |     // | 
      |     // Returns the Active Directory path to the root of the request section. |   |     // Returns the Active Directory path to the root of the request section. | 
      |     // The path is in DN name format. |   |     // The path is in DN name format. | 
      |     // |   |     // | 
      |     // dwSection is one of the GPO_SECTION_* flags |   |     // dwSection is one of the GPO_SECTION_* flags | 
      |     // pszPath contains the path on return |   |     // pszPath contains the path on return | 
      |     // cchMaxPath is the max number of characters that can be stored in pszPath |   |     // cchMaxPath is the max number of characters that can be stored in pszPath | 
      |     // |   |     // | 
       |   |  | 
       | 
      |     STDMETHOD(GetDSPath) (THIS_ DWORD dwSection, LPOLESTR pszPath, int cchMaxPat
h) PURE; |   |     STDMETHOD(GetDSPath) (THIS_ DWORD dwSection, __out_ecount(cchMaxPath) LPOLES
TR pszPath, int cchMaxPath) PURE; | 
       |   |  | 
      |     // |   |     // | 
      |     // Returns the UNC path to the root of the requested section. |   |     // Returns the UNC path to the root of the requested section. | 
      |     // |   |     // | 
      |     // dwSection is one of the GPO_SECTION_* flags |   |     // dwSection is one of the GPO_SECTION_* flags | 
      |     // pszPath contains the path on return |   |     // pszPath contains the path on return | 
      |     // cchMaxPath is the number of characters that can be stored in pszPath. |   |     // cchMaxPath is the number of characters that can be stored in pszPath. | 
      |     // |   |     // | 
       |   |  | 
       | 
      |     STDMETHOD(GetFileSysPath) (THIS_ DWORD dwSection, LPOLESTR pszPath, int cchM
axPath) PURE; |   |     STDMETHOD(GetFileSysPath) (THIS_ DWORD dwSection, __out_ecount(cchMaxPath) L
POLESTR pszPath, int cchMaxPath) PURE; | 
       |   |  | 
      |     // |   |     // | 
      |     // Returns a registry key handle for the requested section.  The returned |   |     // Returns a registry key handle for the requested section.  The returned | 
      |     // key is the root of the registry, not the Policies subkey.  To set / read |   |     // key is the root of the registry, not the Policies subkey.  To set / read | 
      |     // a value in the Policies subkey, you will need to call RegOpenKeyEx to |   |     // a value in the Policies subkey, you will need to call RegOpenKeyEx to | 
      |     // open Software\Policies subkey first. |   |     // open Software\Policies subkey first. | 
      |     // |   |     // | 
      |     // The handle has been opened with ALL ACCESS rights.  Call RegCloseKey |   |     // The handle has been opened with ALL ACCESS rights.  Call RegCloseKey | 
      |     // on the handle when finished. |   |     // on the handle when finished. | 
      |     // |   |     // | 
       |   |  | 
      | skipping to change at line 548 |   | skipping to change at line 555 | 
       |   |  | 
      |     // |   |     // | 
      |     // Returns the machine name of the remote GPO |   |     // Returns the machine name of the remote GPO | 
      |     // |   |     // | 
      |     // This method returns the name passed to OpenRemoteMachineGPO. |   |     // This method returns the name passed to OpenRemoteMachineGPO. | 
      |     // |   |     // | 
      |     // pszName contains the name on return |   |     // pszName contains the name on return | 
      |     // cchMaxLength is the max number of characters that can be stored in pszNam
e |   |     // cchMaxLength is the max number of characters that can be stored in pszNam
e | 
      |     // |   |     // | 
       |   |  | 
       | 
      |     STDMETHOD(GetMachineName) (THIS_ LPOLESTR pszName, int cchMaxLength) PURE; |   |     STDMETHOD(GetMachineName) (THIS_ __out_ecount(cchMaxLength) LPOLESTR pszName
, int cchMaxLength) PURE; | 
       |   |  | 
      |     // |   |     // | 
      |     // Returns an array of property sheet pages and the number of pages |   |     // Returns an array of property sheet pages and the number of pages | 
      |     // in the array |   |     // in the array | 
      |     // |   |     // | 
      |     // Note, this method will allocate memory for the array with |   |     // Note, this method will allocate memory for the array with | 
      |     // LocalAlloc.  When finished, the caller should free the array |   |     // LocalAlloc.  When finished, the caller should free the array | 
      |     // with LocalFree |   |     // with LocalFree | 
      |     // |   |     // | 
      |     // hPages address of the pointer for the array of property sheet pages |   |     // hPages address of the pointer for the array of property sheet pages | 
       |   |  | 
      | skipping to change at line 591 |   | skipping to change at line 598 | 
      |     // *** IRSOPInformation methods *** |   |     // *** IRSOPInformation methods *** | 
       |   |  | 
      |     // |   |     // | 
      |     // Returns the namespace for the RSOP data |   |     // Returns the namespace for the RSOP data | 
      |     // |   |     // | 
      |     // dwSection is either GPO_SECTION_USER or GPO_SECTION_MACHINE |   |     // dwSection is either GPO_SECTION_USER or GPO_SECTION_MACHINE | 
      |     // pszName contains the namespace on return |   |     // pszName contains the namespace on return | 
      |     // cchMaxLength is the max number of characters that can be stored in pszNam
e |   |     // cchMaxLength is the max number of characters that can be stored in pszNam
e | 
      |     // |   |     // | 
       |   |  | 
       | 
      |     STDMETHOD(GetNamespace) (THIS_ DWORD dwSection, LPOLESTR pszName, int cchMax
Length) PURE; |   |     STDMETHOD(GetNamespace) (THIS_ DWORD dwSection, __out_ecount(cchMaxLength) L
POLESTR pszName, int cchMaxLength) PURE; | 
       |   |  | 
      |     // |   |     // | 
      |     // Returns information about the RSOP session |   |     // Returns information about the RSOP session | 
      |     // |   |     // | 
      |     // pdwFlags points to a DWORD which contains the flags on return |   |     // pdwFlags points to a DWORD which contains the flags on return | 
      |     // |   |     // | 
       |   |  | 
      |     STDMETHOD(GetFlags) (THIS_ DWORD * pdwFlags) PURE; |   |     STDMETHOD(GetFlags) (THIS_ DWORD * pdwFlags) PURE; | 
       |   |  | 
      |     // |   |     // | 
      |     // Returns the event log text for a specific entry |   |     // Returns the event log text for a specific entry | 
      |     // |   |     // | 
      |     // lpEventSource - event log source name |   |     // lpEventSource - event log source name | 
      |     // lpEventLogName - event log name |   |     // lpEventLogName - event log name | 
      |     // lpEventTime - event log time in WMI datetime format |   |     // lpEventTime - event log time in WMI datetime format | 
      |     // dwEventID - event ID |   |     // dwEventID - event ID | 
      |     // lpText - Receives a pointer to a buffer containing the text. |   |     // lpText - Receives a pointer to a buffer containing the text. | 
      |     //          The caller should free this buffer with CoTaskMemFree. |   |     //          The caller should free this buffer with CoTaskMemFree. | 
      |     // |   |     // | 
       |   |  | 
       | 
      |     STDMETHOD(GetEventLogEntryText) (THIS_ LPOLESTR pszEventSource, LPOLESTR psz |   |     STDMETHOD(GetEventLogEntryText) (THIS_ __in LPOLESTR pszEventSource, __in LP | 
      | EventLogName, |   | OLESTR pszEventLogName, | 
      |                                            LPOLESTR pszEventTime, DWORD dwEventI |   |                                            __in LPOLESTR pszEventTime, DWORD dwE | 
      | D,  LPOLESTR *ppszText) PURE; |   | ventID,  __deref_out LPOLESTR *ppszText) PURE; | 
       |   |  | 
      | }; |   | }; | 
      | typedef IRSOPInformation *LPRSOPINFORMATION; |   | typedef IRSOPInformation *LPRSOPINFORMATION; | 
       |   |  | 
      | //============================================================================= |   | //============================================================================= | 
      | // |   | // | 
      | // CreateGPOLink |   | // CreateGPOLink | 
      | // |   | // | 
      | // Creates a link to a GPO for the specified Site, Domain, or Organizational Uni
t |   | // Creates a link to a GPO for the specified Site, Domain, or Organizational Uni
t | 
      | // |   | // | 
       |   |  | 
      | skipping to change at line 636 |   | skipping to change at line 643 | 
      | // fHighPriority - Create the link as the highest or lowest priority |   | // fHighPriority - Create the link as the highest or lowest priority | 
      | // |   | // | 
      | // Returns:  S_OK if successful |   | // Returns:  S_OK if successful | 
      | // |   | // | 
      | //============================================================================= |   | //============================================================================= | 
       |   |  | 
      | GPEDITAPI |   | GPEDITAPI | 
      | HRESULT |   | HRESULT | 
      | WINAPI |   | WINAPI | 
      | CreateGPOLink( |   | CreateGPOLink( | 
       | 
      |     LPOLESTR lpGPO, |   |     __in LPOLESTR lpGPO, | 
      |     LPOLESTR lpContainer, |   |     __in LPOLESTR lpContainer, | 
      |     BOOL fHighPriority); |   |          BOOL fHighPriority); | 
       |   |  | 
      | //============================================================================= |   | //============================================================================= | 
      | // |   | // | 
      | // DeleteGPOLink |   | // DeleteGPOLink | 
      | // |   | // | 
      | // Deletes a link to a GPO for the specified Site, Domain, or Organizational Uni
t |   | // Deletes a link to a GPO for the specified Site, Domain, or Organizational Uni
t | 
      | // |   | // | 
      | // lpGPO         - ADSI path to the GPO |   | // lpGPO         - ADSI path to the GPO | 
      | // lpContainer   - ADSI path to the Site, Domain, or Organizational Unit |   | // lpContainer   - ADSI path to the Site, Domain, or Organizational Unit | 
      | // |   | // | 
      | // Returns:  S_OK if successful |   | // Returns:  S_OK if successful | 
      | // |   | // | 
      | //============================================================================= |   | //============================================================================= | 
       |   |  | 
      | GPEDITAPI |   | GPEDITAPI | 
      | HRESULT |   | HRESULT | 
      | WINAPI |   | WINAPI | 
      | DeleteGPOLink( |   | DeleteGPOLink( | 
       | 
      |     LPOLESTR lpGPO, |   |     __in LPOLESTR lpGPO, | 
      |     LPOLESTR lpContainer); |   |     __in LPOLESTR lpContainer); | 
       |   |  | 
      | //============================================================================= |   | //============================================================================= | 
      | // |   | // | 
      | // DeleteAllGPOLinks |   | // DeleteAllGPOLinks | 
      | // |   | // | 
      | // Deletes all GPO links for the specified Site, Domain, or Organizational Unit |   | // Deletes all GPO links for the specified Site, Domain, or Organizational Unit | 
      | // |   | // | 
      | // lpContainer   - ADSI path to the Site, Domain, or Organizational Unit |   | // lpContainer   - ADSI path to the Site, Domain, or Organizational Unit | 
      | // |   | // | 
      | // Returns:  S_OK if successful |   | // Returns:  S_OK if successful | 
      | // |   | // | 
      | //============================================================================= |   | //============================================================================= | 
       |   |  | 
      | GPEDITAPI |   | GPEDITAPI | 
      | HRESULT |   | HRESULT | 
      | WINAPI |   | WINAPI | 
      | DeleteAllGPOLinks( |   | DeleteAllGPOLinks( | 
       | 
      |     LPOLESTR lpContainer); |   |     __in LPOLESTR lpContainer); | 
       |   |  | 
      | //============================================================================= |   | //============================================================================= | 
      | // |   | // | 
      | // BrowseForGPO |   | // BrowseForGPO | 
      | // |   | // | 
      | // Displays the GPO browser dialog |   | // Displays the GPO browser dialog | 
      | // |   | // | 
      | // lpBrowseInfo   - Address of a GPOBROWSEINFO structure |   | // lpBrowseInfo   - Address of a GPOBROWSEINFO structure | 
      | // |   | // | 
      | // Returns:  S_OK if successful |   | // Returns:  S_OK if successful | 
       |   |  | 
      | skipping to change at line 699 |   | skipping to change at line 706 | 
       |   |  | 
      | // |   | // | 
      | // Flags passed in the dwFlags field of the GPOBROWSEINFO structure |   | // Flags passed in the dwFlags field of the GPOBROWSEINFO structure | 
      | // |   | // | 
       |   |  | 
      | #define GPO_BROWSE_DISABLENEW           0x00000001   // Disables the New GPO fun
ctionality on all pages except "All" |   | #define GPO_BROWSE_DISABLENEW           0x00000001   // Disables the New GPO fun
ctionality on all pages except "All" | 
      | #define GPO_BROWSE_NOCOMPUTERS          0x00000002   // Removes the Computers ta
b |   | #define GPO_BROWSE_NOCOMPUTERS          0x00000002   // Removes the Computers ta
b | 
      | #define GPO_BROWSE_NODSGPOS             0x00000004   // Removes the Domain/OU an
d Sites tabs |   | #define GPO_BROWSE_NODSGPOS             0x00000004   // Removes the Domain/OU an
d Sites tabs | 
      | #define GPO_BROWSE_OPENBUTTON           0x00000008   // Change the Ok button to 
say Open |   | #define GPO_BROWSE_OPENBUTTON           0x00000008   // Change the Ok button to 
say Open | 
      | #define GPO_BROWSE_INITTOALL            0x00000010   // Initialize the dialog fo
cused on the All pane |   | #define GPO_BROWSE_INITTOALL            0x00000010   // Initialize the dialog fo
cused on the All pane | 
       | 
       |   | #define GPO_BROWSE_NOUSERGPOS           0x00000020   // Removes the Users tab | 
       |   |  | 
      | typedef struct tag_GPOBROWSEINFO |   | typedef struct tag_GPOBROWSEINFO | 
      | { |   | { | 
      |     DWORD       dwSize;                   // [in] Initialized to the size of thi
s structure |   |     DWORD       dwSize;                   // [in] Initialized to the size of thi
s structure | 
      |     DWORD       dwFlags;                  // [in] Flags defined above |   |     DWORD       dwFlags;                  // [in] Flags defined above | 
      |     HWND        hwndOwner;                // [in] Parent window handle (can be N
ULL) |   |     HWND        hwndOwner;                // [in] Parent window handle (can be N
ULL) | 
      |     LPOLESTR    lpTitle;                  // [in] Title bar text.  If NULL, "Bro
wse for a Group Policy Object" will be the default text |   |     LPOLESTR    lpTitle;                  // [in] Title bar text.  If NULL, "Bro
wse for a Group Policy Object" will be the default text | 
      |     LPOLESTR    lpInitialOU;              // [in] Initial Domain/Organizational 
Unit to open focus on |   |     LPOLESTR    lpInitialOU;              // [in] Initial Domain/Organizational 
Unit to open focus on | 
       | 
      |     LPOLESTR    lpDSPath;                 // [in/out] Pointer to the buffer that
 receives the Active Directory GPO path |   |     __field_ecount(dwDSPathSize) LPOLESTR    lpDSPath;                 // [in/ou
t] Pointer to the buffer that receives the Active Directory GPO path | 
      |     DWORD       dwDSPathSize;             // [in] Size in characters of buffer g
iven in lpDSPath |   |     DWORD       dwDSPathSize;             // [in] Size in characters of buffer g
iven in lpDSPath | 
       | 
      |     LPOLESTR    lpName;                   // [in/out] Pointer to a buffer that r
eceives either the computer name or |   |     __field_bcount( dwNameSize) LPOLESTR    lpName;                   // [in/out
] Pointer to a buffer that receives either the computer name or | 
      |                                           //      the friendly name of the GPO (
can be NULL) |   |                                           //      the friendly name of the GPO (
can be NULL) | 
      |     DWORD       dwNameSize;               // [in] Size in characters of buffer g
iven in lpName |   |     DWORD       dwNameSize;               // [in] Size in characters of buffer g
iven in lpName | 
      |     GROUP_POLICY_OBJECT_TYPE    gpoType;  // [out] Specifies the type of GPO |   |     GROUP_POLICY_OBJECT_TYPE    gpoType;  // [out] Specifies the type of GPO | 
      |     GROUP_POLICY_HINT_TYPE      gpoHint;  // [out] Specifies a hint of the GPO a
ssociation |   |     GROUP_POLICY_HINT_TYPE      gpoHint;  // [out] Specifies a hint of the GPO a
ssociation | 
      | } GPOBROWSEINFO, *LPGPOBROWSEINFO; |   | } GPOBROWSEINFO, *LPGPOBROWSEINFO; | 
       |   |  | 
      | GPEDITAPI |   | GPEDITAPI | 
      | HRESULT |   | HRESULT | 
      | WINAPI |   | WINAPI | 
      | BrowseForGPO( |   | BrowseForGPO( | 
       |   |  | 
      | skipping to change at line 742 |   | skipping to change at line 750 | 
      | // |   | // | 
      | // Notes:    The namespace specified in lpNameSpace must exist prior to calling |   | // Notes:    The namespace specified in lpNameSpace must exist prior to calling | 
      | //           this function. |   | //           this function. | 
      | // |   | // | 
      | //============================================================================= |   | //============================================================================= | 
       |   |  | 
      | GPEDITAPI |   | GPEDITAPI | 
      | HRESULT |   | HRESULT | 
      | WINAPI |   | WINAPI | 
      | ImportRSoPData( |   | ImportRSoPData( | 
       | 
      |     LPOLESTR lpNameSpace, |   |     __in LPOLESTR lpNameSpace, | 
      |     LPOLESTR lpFileName); |   |     __in LPOLESTR lpFileName); | 
       |   |  | 
      | //============================================================================= |   | //============================================================================= | 
      | // |   | // | 
      | // ExportRSoPData |   | // ExportRSoPData | 
      | // |   | // | 
      | // Exports a WBEM namespace containing RSoP information to a data file. |   | // Exports a WBEM namespace containing RSoP information to a data file. | 
      | // This data file can be imported to a WBEM namespace using ImportRSoPData. |   | // This data file can be imported to a WBEM namespace using ImportRSoPData. | 
      | // |   | // | 
      | // lpNameSpace   - Namespace to read the data from |   | // lpNameSpace   - Namespace to read the data from | 
      | // lpFileName    - Filename to receive the data |   | // lpFileName    - Filename to receive the data | 
       |   |  | 
      | skipping to change at line 766 |   | skipping to change at line 774 | 
      | // |   | // | 
      | // Notes:    This function should be called twice.  Once for the user data |   | // Notes:    This function should be called twice.  Once for the user data | 
      | //           and once for the computer data. |   | //           and once for the computer data. | 
      | // |   | // | 
      | //============================================================================= |   | //============================================================================= | 
       |   |  | 
      | GPEDITAPI |   | GPEDITAPI | 
      | HRESULT |   | HRESULT | 
      | WINAPI |   | WINAPI | 
      | ExportRSoPData( |   | ExportRSoPData( | 
       | 
      |     LPOLESTR lpNameSpace, |   |     __in LPOLESTR lpNameSpace, | 
      |     LPOLESTR lpFileName); |   |     __in LPOLESTR lpFileName); | 
       |   |  | 
      | #ifdef __cplusplus |   | #ifdef __cplusplus | 
      | } |   | } | 
      | #endif |   | #endif | 
       |   |  | 
      | #endif  /* _GPEDIT_H_ */ |   | #endif  /* _GPEDIT_H_ */ | 
      |   |  | 
     |  End of changes. 28 change blocks.  | 
     | 33 lines changed or deleted |   | 43 lines changed or added | 
      |