home *** CD-ROM | disk | FTP | other *** search
/ PC Format (South-Africa) 2001 June / PCFJune.iso / Xenon / C++ / FreeCommandLineTools.exe / Include / iadmw.h < prev    next >
Encoding:
C/C++ Source or Header  |  2000-01-31  |  55.8 KB  |  1,487 lines

  1. #pragma option push -b -a8 -pc -A- /*P_O_Push*/
  2.  
  3. #pragma warning( disable: 4049 )  /* more than 64k source lines */
  4.  
  5. /* this ALWAYS GENERATED file contains the definitions for the interfaces */
  6.  
  7.  
  8.  /* File created by MIDL compiler version 5.03.0279 */
  9. /* at Fri Aug 06 16:17:04 1999
  10.  */
  11. /* Compiler settings for .\iadmw.idl:
  12.     Oicf (OptLev=i2), W1, Zp8, env=Win32 (32b run), ms_ext, c_ext
  13.     error checks: allocation ref 
  14.     VC __declspec() decoration level: 
  15.          __declspec(uuid()), __declspec(selectany), __declspec(novtable)
  16.          DECLSPEC_UUID(), MIDL_INTERFACE()
  17. */
  18. //@@MIDL_FILE_HEADING(  )
  19.  
  20.  
  21. /* verify that the <rpcndr.h> version is high enough to compile this file*/
  22. #ifndef __REQUIRED_RPCNDR_H_VERSION__
  23. #define __REQUIRED_RPCNDR_H_VERSION__ 475
  24. #endif
  25.  
  26. #include "rpc.h"
  27. #include "rpcndr.h"
  28.  
  29. #ifndef __RPCNDR_H_VERSION__
  30. #error this stub requires an updated version of <rpcndr.h>
  31. #endif // __RPCNDR_H_VERSION__
  32.  
  33. #ifndef COM_NO_WINDOWS_H
  34. #include "windows.h"
  35. #include "ole2.h"
  36. #endif /*COM_NO_WINDOWS_H*/
  37.  
  38. #ifndef __iadmw_h__
  39. #define __iadmw_h__
  40.  
  41. /* Forward Declarations */ 
  42.  
  43. #ifndef __IMSAdminBaseW_FWD_DEFINED__
  44. #define __IMSAdminBaseW_FWD_DEFINED__
  45. typedef interface IMSAdminBaseW IMSAdminBaseW;
  46. #endif     /* __IMSAdminBaseW_FWD_DEFINED__ */
  47.  
  48.  
  49. #ifndef __IMSAdminBaseSinkW_FWD_DEFINED__
  50. #define __IMSAdminBaseSinkW_FWD_DEFINED__
  51. typedef interface IMSAdminBaseSinkW IMSAdminBaseSinkW;
  52. #endif     /* __IMSAdminBaseSinkW_FWD_DEFINED__ */
  53.  
  54.  
  55. #ifndef __AsyncIMSAdminBaseSinkW_FWD_DEFINED__
  56. #define __AsyncIMSAdminBaseSinkW_FWD_DEFINED__
  57. typedef interface AsyncIMSAdminBaseSinkW AsyncIMSAdminBaseSinkW;
  58. #endif     /* __AsyncIMSAdminBaseSinkW_FWD_DEFINED__ */
  59.  
  60.  
  61. /* header files for imported files */
  62. #include "mddefw.h"
  63. #include "objidl.h"
  64. #include "ocidl.h"
  65.  
  66.  
  67. #ifdef __cplusplus
  68. extern "C"{
  69. #endif 
  70.  
  71. void __RPC_FAR * __RPC_USER MIDL_user_allocate(size_t);
  72. void __RPC_USER MIDL_user_free( void __RPC_FAR * ); 
  73.  
  74. /* interface __MIDL_itf_iadmw_0000 */
  75. /* [local] */ 
  76.  
  77. /*++
  78.                                                                                 
  79. Copyright (c) 1997-1999 Microsoft Corporation
  80.                                                                                 
  81. Module Name: iadmw.h
  82.                                                                                 
  83.     Admin Objects Interfaces
  84.                                                                                 
  85. --*/
  86. #ifndef _ADM_IADMW_
  87. #define _ADM_IADMW_
  88. #include <mdcommsg.h>
  89. #include <mdmsg.h>
  90. /*                                                                              
  91.     Error Codes                                                                 
  92.                                                                                 
  93.         Admin api's all return HRESULTS. Since internal results are either   
  94.         winerrors or Metadata specific return codes (see mdmsg.h), they are     
  95.         converted to HRESULTS using the RETURNCODETOHRESULT macro (see          
  96.         commsg.h).                                                              
  97. */                                                                              
  98.                                                                                 
  99. /*                                                                              
  100.     Max Name Length                                                             
  101.         The maximum number of characters in the length of a metaobject name,    
  102.         including the terminating NULL. This refers to each node in the tree,   
  103.         not the entire path.                                                    
  104.         eg. strlen("Root") < ADMINDATA_MAX_NAME_LEN                           
  105. */                                                                              
  106. #define ADMINDATA_MAX_NAME_LEN           256
  107.                                                                                 
  108. #define CLSID_MSAdminBase       CLSID_MSAdminBase_W                             
  109. #define IID_IMSAdminBase        IID_IMSAdminBase_W                              
  110. #define IMSAdminBase            IMSAdminBaseW                                   
  111. #define IMSAdminBaseSink        IMSAdminBaseSinkW                               
  112. #define IID_IMSAdminBaseSink    IID_IMSAdminBaseSink_W                          
  113. #define GETAdminBaseCLSID       GETAdminBaseCLSIDW                              
  114.                                                                                 
  115. #define AsyncIMSAdminBaseSink        AsyncIMSAdminBaseSinkW                               
  116. #define IID_AsyncIMSAdminBaseSink    IID_AsyncIMSAdminBaseSink_W                          
  117. DEFINE_GUID(CLSID_MSAdminBase_W, 0xa9e69610, 0xb80d, 0x11d0, 0xb9, 0xb9, 0x0, 0xa0, 0xc9, 0x22, 0xe7, 0x50);
  118. DEFINE_GUID(IID_IMSAdminBase_W, 0x70b51430, 0xb6ca, 0x11d0, 0xb9, 0xb9, 0x0, 0xa0, 0xc9, 0x22, 0xe7, 0x50);
  119. DEFINE_GUID(IID_IMSAdminBaseSink_W, 0xa9e69612, 0xb80d, 0x11d0, 0xb9, 0xb9, 0x0, 0xa0, 0xc9, 0x22, 0xe7, 0x50);
  120. DEFINE_GUID(IID_AsyncIMSAdminBaseSink_W, 0xa9e69613, 0xb80d, 0x11d0, 0xb9, 0xb9, 0x0, 0xa0, 0xc9, 0x22, 0xe7, 0x50);
  121. #define GETAdminBaseCLSIDW(IsService) CLSID_MSAdminBase_W
  122. /*                                                                              
  123. The Main Interface, UNICODE                                                     
  124. */                                                                              
  125.  
  126.  
  127. extern RPC_IF_HANDLE __MIDL_itf_iadmw_0000_v0_0_c_ifspec;
  128. extern RPC_IF_HANDLE __MIDL_itf_iadmw_0000_v0_0_s_ifspec;
  129.  
  130. #ifndef __IMSAdminBaseW_INTERFACE_DEFINED__
  131. #define __IMSAdminBaseW_INTERFACE_DEFINED__
  132.  
  133. /* interface IMSAdminBaseW */
  134. /* [unique][uuid][object] */ 
  135.  
  136.  
  137. EXTERN_C const IID IID_IMSAdminBaseW;
  138.  
  139. #if defined(__cplusplus) && !defined(CINTERFACE)
  140.     
  141.     MIDL_INTERFACE("70B51430-B6CA-11d0-B9B9-00A0C922E750")
  142.     IMSAdminBaseW : public IUnknown
  143.     {
  144.     public:
  145.         virtual HRESULT STDMETHODCALLTYPE AddKey( 
  146.             /* [in] */ METADATA_HANDLE hMDHandle,
  147.             /* [string][in][unique] */ LPCWSTR pszMDPath) = 0;
  148.         
  149.         virtual HRESULT STDMETHODCALLTYPE DeleteKey( 
  150.             /* [in] */ METADATA_HANDLE hMDHandle,
  151.             /* [string][in][unique] */ LPCWSTR pszMDPath) = 0;
  152.         
  153.         virtual HRESULT STDMETHODCALLTYPE DeleteChildKeys( 
  154.             /* [in] */ METADATA_HANDLE hMDHandle,
  155.             /* [string][in][unique] */ LPCWSTR pszMDPath) = 0;
  156.         
  157.         virtual HRESULT STDMETHODCALLTYPE EnumKeys( 
  158.             /* [in] */ METADATA_HANDLE hMDHandle,
  159.             /* [string][in][unique] */ LPCWSTR pszMDPath,
  160.             /* [size_is][out] */ LPWSTR pszMDName,
  161.             /* [in] */ DWORD dwMDEnumObjectIndex) = 0;
  162.         
  163.         virtual HRESULT STDMETHODCALLTYPE CopyKey( 
  164.             /* [in] */ METADATA_HANDLE hMDSourceHandle,
  165.             /* [string][in][unique] */ LPCWSTR pszMDSourcePath,
  166.             /* [in] */ METADATA_HANDLE hMDDestHandle,
  167.             /* [string][in][unique] */ LPCWSTR pszMDDestPath,
  168.             /* [in] */ BOOL bMDOverwriteFlag,
  169.             /* [in] */ BOOL bMDCopyFlag) = 0;
  170.         
  171.         virtual HRESULT STDMETHODCALLTYPE RenameKey( 
  172.             /* [in] */ METADATA_HANDLE hMDHandle,
  173.             /* [string][in][unique] */ LPCWSTR pszMDPath,
  174.             /* [string][in][unique] */ LPCWSTR pszMDNewName) = 0;
  175.         
  176.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE SetData( 
  177.             /* [in] */ METADATA_HANDLE hMDHandle,
  178.             /* [string][in][unique] */ LPCWSTR pszMDPath,
  179.             /* [in] */ PMETADATA_RECORD pmdrMDData) = 0;
  180.         
  181.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetData( 
  182.             /* [in] */ METADATA_HANDLE hMDHandle,
  183.             /* [string][in][unique] */ LPCWSTR pszMDPath,
  184.             /* [out][in] */ PMETADATA_RECORD pmdrMDData,
  185.             /* [out] */ DWORD __RPC_FAR *pdwMDRequiredDataLen) = 0;
  186.         
  187.         virtual HRESULT STDMETHODCALLTYPE DeleteData( 
  188.             /* [in] */ METADATA_HANDLE hMDHandle,
  189.             /* [string][in][unique] */ LPCWSTR pszMDPath,
  190.             /* [in] */ DWORD dwMDIdentifier,
  191.             /* [in] */ DWORD dwMDDataType) = 0;
  192.         
  193.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE EnumData( 
  194.             /* [in] */ METADATA_HANDLE hMDHandle,
  195.             /* [string][in][unique] */ LPCWSTR pszMDPath,
  196.             /* [out][in] */ PMETADATA_RECORD pmdrMDData,
  197.             /* [in] */ DWORD dwMDEnumDataIndex,
  198.             /* [out] */ DWORD __RPC_FAR *pdwMDRequiredDataLen) = 0;
  199.         
  200.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetAllData( 
  201.             /* [in] */ METADATA_HANDLE hMDHandle,
  202.             /* [string][in][unique] */ LPCWSTR pszMDPath,
  203.             /* [in] */ DWORD dwMDAttributes,
  204.             /* [in] */ DWORD dwMDUserType,
  205.             /* [in] */ DWORD dwMDDataType,
  206.             /* [out] */ DWORD __RPC_FAR *pdwMDNumDataEntries,
  207.             /* [out] */ DWORD __RPC_FAR *pdwMDDataSetNumber,
  208.             /* [in] */ DWORD dwMDBufferSize,
  209.             /* [size_is][out] */ unsigned char __RPC_FAR *pbMDBuffer,
  210.             /* [out] */ DWORD __RPC_FAR *pdwMDRequiredBufferSize) = 0;
  211.         
  212.         virtual HRESULT STDMETHODCALLTYPE DeleteAllData( 
  213.             /* [in] */ METADATA_HANDLE hMDHandle,
  214.             /* [string][in][unique] */ LPCWSTR pszMDPath,
  215.             /* [in] */ DWORD dwMDUserType,
  216.             /* [in] */ DWORD dwMDDataType) = 0;
  217.         
  218.         virtual HRESULT STDMETHODCALLTYPE CopyData( 
  219.             /* [in] */ METADATA_HANDLE hMDSourceHandle,
  220.             /* [string][in][unique] */ LPCWSTR pszMDSourcePath,
  221.             /* [in] */ METADATA_HANDLE hMDDestHandle,
  222.             /* [string][in][unique] */ LPCWSTR pszMDDestPath,
  223.             /* [in] */ DWORD dwMDAttributes,
  224.             /* [in] */ DWORD dwMDUserType,
  225.             /* [in] */ DWORD dwMDDataType,
  226.             /* [in] */ BOOL bMDCopyFlag) = 0;
  227.         
  228.         virtual HRESULT STDMETHODCALLTYPE GetDataPaths( 
  229.             /* [in] */ METADATA_HANDLE hMDHandle,
  230.             /* [string][in][unique] */ LPCWSTR pszMDPath,
  231.             /* [in] */ DWORD dwMDIdentifier,
  232.             /* [in] */ DWORD dwMDDataType,
  233.             /* [in] */ DWORD dwMDBufferSize,
  234.             /* [size_is][out] */ WCHAR __RPC_FAR *pszBuffer,
  235.             /* [out] */ DWORD __RPC_FAR *pdwMDRequiredBufferSize) = 0;
  236.         
  237.         virtual HRESULT STDMETHODCALLTYPE OpenKey( 
  238.             /* [in] */ METADATA_HANDLE hMDHandle,
  239.             /* [string][in][unique] */ LPCWSTR pszMDPath,
  240.             /* [in] */ DWORD dwMDAccessRequested,
  241.             /* [in] */ DWORD dwMDTimeOut,
  242.             /* [out] */ PMETADATA_HANDLE phMDNewHandle) = 0;
  243.         
  244.         virtual HRESULT STDMETHODCALLTYPE CloseKey( 
  245.             /* [in] */ METADATA_HANDLE hMDHandle) = 0;
  246.         
  247.         virtual HRESULT STDMETHODCALLTYPE ChangePermissions( 
  248.             /* [in] */ METADATA_HANDLE hMDHandle,
  249.             /* [in] */ DWORD dwMDTimeOut,
  250.             /* [in] */ DWORD dwMDAccessRequested) = 0;
  251.         
  252.         virtual HRESULT STDMETHODCALLTYPE SaveData( void) = 0;
  253.         
  254.         virtual HRESULT STDMETHODCALLTYPE GetHandleInfo( 
  255.             /* [in] */ METADATA_HANDLE hMDHandle,
  256.             /* [out] */ PMETADATA_HANDLE_INFO pmdhiInfo) = 0;
  257.         
  258.         virtual HRESULT STDMETHODCALLTYPE GetSystemChangeNumber( 
  259.             /* [out] */ DWORD __RPC_FAR *pdwSystemChangeNumber) = 0;
  260.         
  261.         virtual HRESULT STDMETHODCALLTYPE GetDataSetNumber( 
  262.             /* [in] */ METADATA_HANDLE hMDHandle,
  263.             /* [string][in][unique] */ LPCWSTR pszMDPath,
  264.             /* [out] */ DWORD __RPC_FAR *pdwMDDataSetNumber) = 0;
  265.         
  266.         virtual HRESULT STDMETHODCALLTYPE SetLastChangeTime( 
  267.             /* [in] */ METADATA_HANDLE hMDHandle,
  268.             /* [string][in][unique] */ LPCWSTR pszMDPath,
  269.             /* [in] */ PFILETIME pftMDLastChangeTime,
  270.             /* [in] */ BOOL bLocalTime) = 0;
  271.         
  272.         virtual HRESULT STDMETHODCALLTYPE GetLastChangeTime( 
  273.             /* [in] */ METADATA_HANDLE hMDHandle,
  274.             /* [string][in][unique] */ LPCWSTR pszMDPath,
  275.             /* [out] */ PFILETIME pftMDLastChangeTime,
  276.             /* [in] */ BOOL bLocalTime) = 0;
  277.         
  278.         virtual /* [restricted][local] */ HRESULT STDMETHODCALLTYPE KeyExchangePhase1( void) = 0;
  279.         
  280.         virtual /* [restricted][local] */ HRESULT STDMETHODCALLTYPE KeyExchangePhase2( void) = 0;
  281.         
  282.         virtual HRESULT STDMETHODCALLTYPE Backup( 
  283.             /* [string][in][unique] */ LPCWSTR pszMDBackupLocation,
  284.             /* [in] */ DWORD dwMDVersion,
  285.             /* [in] */ DWORD dwMDFlags) = 0;
  286.         
  287.         virtual HRESULT STDMETHODCALLTYPE Restore( 
  288.             /* [string][in][unique] */ LPCWSTR pszMDBackupLocation,
  289.             /* [in] */ DWORD dwMDVersion,
  290.             /* [in] */ DWORD dwMDFlags) = 0;
  291.         
  292.         virtual HRESULT STDMETHODCALLTYPE EnumBackups( 
  293.             /* [size_is][out][in] */ LPWSTR pszMDBackupLocation,
  294.             /* [out] */ DWORD __RPC_FAR *pdwMDVersion,
  295.             /* [out] */ PFILETIME pftMDBackupTime,
  296.             /* [in] */ DWORD dwMDEnumIndex) = 0;
  297.         
  298.         virtual HRESULT STDMETHODCALLTYPE DeleteBackup( 
  299.             /* [string][in][unique] */ LPCWSTR pszMDBackupLocation,
  300.             /* [in] */ DWORD dwMDVersion) = 0;
  301.         
  302.         virtual HRESULT STDMETHODCALLTYPE UnmarshalInterface( 
  303.             /* [out] */ IMSAdminBaseW __RPC_FAR *__RPC_FAR *piadmbwInterface) = 0;
  304.         
  305.         virtual /* [restricted][local] */ HRESULT STDMETHODCALLTYPE GetServerGuid( void) = 0;
  306.         
  307.     };
  308.     
  309. #else     /* C style interface */
  310.  
  311.     typedef struct IMSAdminBaseWVtbl
  312.     {
  313.         BEGIN_INTERFACE
  314.         
  315.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  316.             IMSAdminBaseW __RPC_FAR * This,
  317.             /* [in] */ REFIID riid,
  318.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  319.         
  320.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  321.             IMSAdminBaseW __RPC_FAR * This);
  322.         
  323.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  324.             IMSAdminBaseW __RPC_FAR * This);
  325.         
  326.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddKey )( 
  327.             IMSAdminBaseW __RPC_FAR * This,
  328.             /* [in] */ METADATA_HANDLE hMDHandle,
  329.             /* [string][in][unique] */ LPCWSTR pszMDPath);
  330.         
  331.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *DeleteKey )( 
  332.             IMSAdminBaseW __RPC_FAR * This,
  333.             /* [in] */ METADATA_HANDLE hMDHandle,
  334.             /* [string][in][unique] */ LPCWSTR pszMDPath);
  335.         
  336.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *DeleteChildKeys )( 
  337.             IMSAdminBaseW __RPC_FAR * This,
  338.             /* [in] */ METADATA_HANDLE hMDHandle,
  339.             /* [string][in][unique] */ LPCWSTR pszMDPath);
  340.         
  341.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *EnumKeys )( 
  342.             IMSAdminBaseW __RPC_FAR * This,
  343.             /* [in] */ METADATA_HANDLE hMDHandle,
  344.             /* [string][in][unique] */ LPCWSTR pszMDPath,
  345.             /* [size_is][out] */ LPWSTR pszMDName,
  346.             /* [in] */ DWORD dwMDEnumObjectIndex);
  347.         
  348.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CopyKey )( 
  349.             IMSAdminBaseW __RPC_FAR * This,
  350.             /* [in] */ METADATA_HANDLE hMDSourceHandle,
  351.             /* [string][in][unique] */ LPCWSTR pszMDSourcePath,
  352.             /* [in] */ METADATA_HANDLE hMDDestHandle,
  353.             /* [string][in][unique] */ LPCWSTR pszMDDestPath,
  354.             /* [in] */ BOOL bMDOverwriteFlag,
  355.             /* [in] */ BOOL bMDCopyFlag);
  356.         
  357.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *RenameKey )( 
  358.             IMSAdminBaseW __RPC_FAR * This,
  359.             /* [in] */ METADATA_HANDLE hMDHandle,
  360.             /* [string][in][unique] */ LPCWSTR pszMDPath,
  361.             /* [string][in][unique] */ LPCWSTR pszMDNewName);
  362.         
  363.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetData )( 
  364.             IMSAdminBaseW __RPC_FAR * This,
  365.             /* [in] */ METADATA_HANDLE hMDHandle,
  366.             /* [string][in][unique] */ LPCWSTR pszMDPath,
  367.             /* [in] */ PMETADATA_RECORD pmdrMDData);
  368.         
  369.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetData )( 
  370.             IMSAdminBaseW __RPC_FAR * This,
  371.             /* [in] */ METADATA_HANDLE hMDHandle,
  372.             /* [string][in][unique] */ LPCWSTR pszMDPath,
  373.             /* [out][in] */ PMETADATA_RECORD pmdrMDData,
  374.             /* [out] */ DWORD __RPC_FAR *pdwMDRequiredDataLen);
  375.         
  376.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *DeleteData )( 
  377.             IMSAdminBaseW __RPC_FAR * This,
  378.             /* [in] */ METADATA_HANDLE hMDHandle,
  379.             /* [string][in][unique] */ LPCWSTR pszMDPath,
  380.             /* [in] */ DWORD dwMDIdentifier,
  381.             /* [in] */ DWORD dwMDDataType);
  382.         
  383.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *EnumData )( 
  384.             IMSAdminBaseW __RPC_FAR * This,
  385.             /* [in] */ METADATA_HANDLE hMDHandle,
  386.             /* [string][in][unique] */ LPCWSTR pszMDPath,
  387.             /* [out][in] */ PMETADATA_RECORD pmdrMDData,
  388.             /* [in] */ DWORD dwMDEnumDataIndex,
  389.             /* [out] */ DWORD __RPC_FAR *pdwMDRequiredDataLen);
  390.         
  391.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetAllData )( 
  392.             IMSAdminBaseW __RPC_FAR * This,
  393.             /* [in] */ METADATA_HANDLE hMDHandle,
  394.             /* [string][in][unique] */ LPCWSTR pszMDPath,
  395.             /* [in] */ DWORD dwMDAttributes,
  396.             /* [in] */ DWORD dwMDUserType,
  397.             /* [in] */ DWORD dwMDDataType,
  398.             /* [out] */ DWORD __RPC_FAR *pdwMDNumDataEntries,
  399.             /* [out] */ DWORD __RPC_FAR *pdwMDDataSetNumber,
  400.             /* [in] */ DWORD dwMDBufferSize,
  401.             /* [size_is][out] */ unsigned char __RPC_FAR *pbMDBuffer,
  402.             /* [out] */ DWORD __RPC_FAR *pdwMDRequiredBufferSize);
  403.         
  404.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *DeleteAllData )( 
  405.             IMSAdminBaseW __RPC_FAR * This,
  406.             /* [in] */ METADATA_HANDLE hMDHandle,
  407.             /* [string][in][unique] */ LPCWSTR pszMDPath,
  408.             /* [in] */ DWORD dwMDUserType,
  409.             /* [in] */ DWORD dwMDDataType);
  410.         
  411.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CopyData )( 
  412.             IMSAdminBaseW __RPC_FAR * This,
  413.             /* [in] */ METADATA_HANDLE hMDSourceHandle,
  414.             /* [string][in][unique] */ LPCWSTR pszMDSourcePath,
  415.             /* [in] */ METADATA_HANDLE hMDDestHandle,
  416.             /* [string][in][unique] */ LPCWSTR pszMDDestPath,
  417.             /* [in] */ DWORD dwMDAttributes,
  418.             /* [in] */ DWORD dwMDUserType,
  419.             /* [in] */ DWORD dwMDDataType,
  420.             /* [in] */ BOOL bMDCopyFlag);
  421.         
  422.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetDataPaths )( 
  423.             IMSAdminBaseW __RPC_FAR * This,
  424.             /* [in] */ METADATA_HANDLE hMDHandle,
  425.             /* [string][in][unique] */ LPCWSTR pszMDPath,
  426.             /* [in] */ DWORD dwMDIdentifier,
  427.             /* [in] */ DWORD dwMDDataType,
  428.             /* [in] */ DWORD dwMDBufferSize,
  429.             /* [size_is][out] */ WCHAR __RPC_FAR *pszBuffer,
  430.             /* [out] */ DWORD __RPC_FAR *pdwMDRequiredBufferSize);
  431.         
  432.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *OpenKey )( 
  433.             IMSAdminBaseW __RPC_FAR * This,
  434.             /* [in] */ METADATA_HANDLE hMDHandle,
  435.             /* [string][in][unique] */ LPCWSTR pszMDPath,
  436.             /* [in] */ DWORD dwMDAccessRequested,
  437.             /* [in] */ DWORD dwMDTimeOut,
  438.             /* [out] */ PMETADATA_HANDLE phMDNewHandle);
  439.         
  440.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CloseKey )( 
  441.             IMSAdminBaseW __RPC_FAR * This,
  442.             /* [in] */ METADATA_HANDLE hMDHandle);
  443.         
  444.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ChangePermissions )( 
  445.             IMSAdminBaseW __RPC_FAR * This,
  446.             /* [in] */ METADATA_HANDLE hMDHandle,
  447.             /* [in] */ DWORD dwMDTimeOut,
  448.             /* [in] */ DWORD dwMDAccessRequested);
  449.         
  450.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SaveData )( 
  451.             IMSAdminBaseW __RPC_FAR * This);
  452.         
  453.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetHandleInfo )( 
  454.             IMSAdminBaseW __RPC_FAR * This,
  455.             /* [in] */ METADATA_HANDLE hMDHandle,
  456.             /* [out] */ PMETADATA_HANDLE_INFO pmdhiInfo);
  457.         
  458.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetSystemChangeNumber )( 
  459.             IMSAdminBaseW __RPC_FAR * This,
  460.             /* [out] */ DWORD __RPC_FAR *pdwSystemChangeNumber);
  461.         
  462.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetDataSetNumber )( 
  463.             IMSAdminBaseW __RPC_FAR * This,
  464.             /* [in] */ METADATA_HANDLE hMDHandle,
  465.             /* [string][in][unique] */ LPCWSTR pszMDPath,
  466.             /* [out] */ DWORD __RPC_FAR *pdwMDDataSetNumber);
  467.         
  468.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetLastChangeTime )( 
  469.             IMSAdminBaseW __RPC_FAR * This,
  470.             /* [in] */ METADATA_HANDLE hMDHandle,
  471.             /* [string][in][unique] */ LPCWSTR pszMDPath,
  472.             /* [in] */ PFILETIME pftMDLastChangeTime,
  473.             /* [in] */ BOOL bLocalTime);
  474.         
  475.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetLastChangeTime )( 
  476.             IMSAdminBaseW __RPC_FAR * This,
  477.             /* [in] */ METADATA_HANDLE hMDHandle,
  478.             /* [string][in][unique] */ LPCWSTR pszMDPath,
  479.             /* [out] */ PFILETIME pftMDLastChangeTime,
  480.             /* [in] */ BOOL bLocalTime);
  481.         
  482.         /* [restricted][local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *KeyExchangePhase1 )( 
  483.             IMSAdminBaseW __RPC_FAR * This);
  484.         
  485.         /* [restricted][local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *KeyExchangePhase2 )( 
  486.             IMSAdminBaseW __RPC_FAR * This);
  487.         
  488.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Backup )( 
  489.             IMSAdminBaseW __RPC_FAR * This,
  490.             /* [string][in][unique] */ LPCWSTR pszMDBackupLocation,
  491.             /* [in] */ DWORD dwMDVersion,
  492.             /* [in] */ DWORD dwMDFlags);
  493.         
  494.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Restore )( 
  495.             IMSAdminBaseW __RPC_FAR * This,
  496.             /* [string][in][unique] */ LPCWSTR pszMDBackupLocation,
  497.             /* [in] */ DWORD dwMDVersion,
  498.             /* [in] */ DWORD dwMDFlags);
  499.         
  500.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *EnumBackups )( 
  501.             IMSAdminBaseW __RPC_FAR * This,
  502.             /* [size_is][out][in] */ LPWSTR pszMDBackupLocation,
  503.             /* [out] */ DWORD __RPC_FAR *pdwMDVersion,
  504.             /* [out] */ PFILETIME pftMDBackupTime,
  505.             /* [in] */ DWORD dwMDEnumIndex);
  506.         
  507.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *DeleteBackup )( 
  508.             IMSAdminBaseW __RPC_FAR * This,
  509.             /* [string][in][unique] */ LPCWSTR pszMDBackupLocation,
  510.             /* [in] */ DWORD dwMDVersion);
  511.         
  512.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *UnmarshalInterface )( 
  513.             IMSAdminBaseW __RPC_FAR * This,
  514.             /* [out] */ IMSAdminBaseW __RPC_FAR *__RPC_FAR *piadmbwInterface);
  515.         
  516.         /* [restricted][local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetServerGuid )( 
  517.             IMSAdminBaseW __RPC_FAR * This);
  518.         
  519.         END_INTERFACE
  520.     } IMSAdminBaseWVtbl;
  521.  
  522.     interface IMSAdminBaseW
  523.     {
  524.         CONST_VTBL struct IMSAdminBaseWVtbl __RPC_FAR *lpVtbl;
  525.     };
  526.  
  527.     
  528.  
  529. #ifdef COBJMACROS
  530.  
  531.  
  532. #define IMSAdminBaseW_QueryInterface(This,riid,ppvObject)    \
  533.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  534.  
  535. #define IMSAdminBaseW_AddRef(This)    \
  536.     (This)->lpVtbl -> AddRef(This)
  537.  
  538. #define IMSAdminBaseW_Release(This)    \
  539.     (This)->lpVtbl -> Release(This)
  540.  
  541.  
  542. #define IMSAdminBaseW_AddKey(This,hMDHandle,pszMDPath)    \
  543.     (This)->lpVtbl -> AddKey(This,hMDHandle,pszMDPath)
  544.  
  545. #define IMSAdminBaseW_DeleteKey(This,hMDHandle,pszMDPath)    \
  546.     (This)->lpVtbl -> DeleteKey(This,hMDHandle,pszMDPath)
  547.  
  548. #define IMSAdminBaseW_DeleteChildKeys(This,hMDHandle,pszMDPath)    \
  549.     (This)->lpVtbl -> DeleteChildKeys(This,hMDHandle,pszMDPath)
  550.  
  551. #define IMSAdminBaseW_EnumKeys(This,hMDHandle,pszMDPath,pszMDName,dwMDEnumObjectIndex)    \
  552.     (This)->lpVtbl -> EnumKeys(This,hMDHandle,pszMDPath,pszMDName,dwMDEnumObjectIndex)
  553.  
  554. #define IMSAdminBaseW_CopyKey(This,hMDSourceHandle,pszMDSourcePath,hMDDestHandle,pszMDDestPath,bMDOverwriteFlag,bMDCopyFlag)    \
  555.     (This)->lpVtbl -> CopyKey(This,hMDSourceHandle,pszMDSourcePath,hMDDestHandle,pszMDDestPath,bMDOverwriteFlag,bMDCopyFlag)
  556.  
  557. #define IMSAdminBaseW_RenameKey(This,hMDHandle,pszMDPath,pszMDNewName)    \
  558.     (This)->lpVtbl -> RenameKey(This,hMDHandle,pszMDPath,pszMDNewName)
  559.  
  560. #define IMSAdminBaseW_SetData(This,hMDHandle,pszMDPath,pmdrMDData)    \
  561.     (This)->lpVtbl -> SetData(This,hMDHandle,pszMDPath,pmdrMDData)
  562.  
  563. #define IMSAdminBaseW_GetData(This,hMDHandle,pszMDPath,pmdrMDData,pdwMDRequiredDataLen)    \
  564.     (This)->lpVtbl -> GetData(This,hMDHandle,pszMDPath,pmdrMDData,pdwMDRequiredDataLen)
  565.  
  566. #define IMSAdminBaseW_DeleteData(This,hMDHandle,pszMDPath,dwMDIdentifier,dwMDDataType)    \
  567.     (This)->lpVtbl -> DeleteData(This,hMDHandle,pszMDPath,dwMDIdentifier,dwMDDataType)
  568.  
  569. #define IMSAdminBaseW_EnumData(This,hMDHandle,pszMDPath,pmdrMDData,dwMDEnumDataIndex,pdwMDRequiredDataLen)    \
  570.     (This)->lpVtbl -> EnumData(This,hMDHandle,pszMDPath,pmdrMDData,dwMDEnumDataIndex,pdwMDRequiredDataLen)
  571.  
  572. #define IMSAdminBaseW_GetAllData(This,hMDHandle,pszMDPath,dwMDAttributes,dwMDUserType,dwMDDataType,pdwMDNumDataEntries,pdwMDDataSetNumber,dwMDBufferSize,pbMDBuffer,pdwMDRequiredBufferSize)    \
  573.     (This)->lpVtbl -> GetAllData(This,hMDHandle,pszMDPath,dwMDAttributes,dwMDUserType,dwMDDataType,pdwMDNumDataEntries,pdwMDDataSetNumber,dwMDBufferSize,pbMDBuffer,pdwMDRequiredBufferSize)
  574.  
  575. #define IMSAdminBaseW_DeleteAllData(This,hMDHandle,pszMDPath,dwMDUserType,dwMDDataType)    \
  576.     (This)->lpVtbl -> DeleteAllData(This,hMDHandle,pszMDPath,dwMDUserType,dwMDDataType)
  577.  
  578. #define IMSAdminBaseW_CopyData(This,hMDSourceHandle,pszMDSourcePath,hMDDestHandle,pszMDDestPath,dwMDAttributes,dwMDUserType,dwMDDataType,bMDCopyFlag)    \
  579.     (This)->lpVtbl -> CopyData(This,hMDSourceHandle,pszMDSourcePath,hMDDestHandle,pszMDDestPath,dwMDAttributes,dwMDUserType,dwMDDataType,bMDCopyFlag)
  580.  
  581. #define IMSAdminBaseW_GetDataPaths(This,hMDHandle,pszMDPath,dwMDIdentifier,dwMDDataType,dwMDBufferSize,pszBuffer,pdwMDRequiredBufferSize)    \
  582.     (This)->lpVtbl -> GetDataPaths(This,hMDHandle,pszMDPath,dwMDIdentifier,dwMDDataType,dwMDBufferSize,pszBuffer,pdwMDRequiredBufferSize)
  583.  
  584. #define IMSAdminBaseW_OpenKey(This,hMDHandle,pszMDPath,dwMDAccessRequested,dwMDTimeOut,phMDNewHandle)    \
  585.     (This)->lpVtbl -> OpenKey(This,hMDHandle,pszMDPath,dwMDAccessRequested,dwMDTimeOut,phMDNewHandle)
  586.  
  587. #define IMSAdminBaseW_CloseKey(This,hMDHandle)    \
  588.     (This)->lpVtbl -> CloseKey(This,hMDHandle)
  589.  
  590. #define IMSAdminBaseW_ChangePermissions(This,hMDHandle,dwMDTimeOut,dwMDAccessRequested)    \
  591.     (This)->lpVtbl -> ChangePermissions(This,hMDHandle,dwMDTimeOut,dwMDAccessRequested)
  592.  
  593. #define IMSAdminBaseW_SaveData(This)    \
  594.     (This)->lpVtbl -> SaveData(This)
  595.  
  596. #define IMSAdminBaseW_GetHandleInfo(This,hMDHandle,pmdhiInfo)    \
  597.     (This)->lpVtbl -> GetHandleInfo(This,hMDHandle,pmdhiInfo)
  598.  
  599. #define IMSAdminBaseW_GetSystemChangeNumber(This,pdwSystemChangeNumber)    \
  600.     (This)->lpVtbl -> GetSystemChangeNumber(This,pdwSystemChangeNumber)
  601.  
  602. #define IMSAdminBaseW_GetDataSetNumber(This,hMDHandle,pszMDPath,pdwMDDataSetNumber)    \
  603.     (This)->lpVtbl -> GetDataSetNumber(This,hMDHandle,pszMDPath,pdwMDDataSetNumber)
  604.  
  605. #define IMSAdminBaseW_SetLastChangeTime(This,hMDHandle,pszMDPath,pftMDLastChangeTime,bLocalTime)    \
  606.     (This)->lpVtbl -> SetLastChangeTime(This,hMDHandle,pszMDPath,pftMDLastChangeTime,bLocalTime)
  607.  
  608. #define IMSAdminBaseW_GetLastChangeTime(This,hMDHandle,pszMDPath,pftMDLastChangeTime,bLocalTime)    \
  609.     (This)->lpVtbl -> GetLastChangeTime(This,hMDHandle,pszMDPath,pftMDLastChangeTime,bLocalTime)
  610.  
  611. #define IMSAdminBaseW_KeyExchangePhase1(This)    \
  612.     (This)->lpVtbl -> KeyExchangePhase1(This)
  613.  
  614. #define IMSAdminBaseW_KeyExchangePhase2(This)    \
  615.     (This)->lpVtbl -> KeyExchangePhase2(This)
  616.  
  617. #define IMSAdminBaseW_Backup(This,pszMDBackupLocation,dwMDVersion,dwMDFlags)    \
  618.     (This)->lpVtbl -> Backup(This,pszMDBackupLocation,dwMDVersion,dwMDFlags)
  619.  
  620. #define IMSAdminBaseW_Restore(This,pszMDBackupLocation,dwMDVersion,dwMDFlags)    \
  621.     (This)->lpVtbl -> Restore(This,pszMDBackupLocation,dwMDVersion,dwMDFlags)
  622.  
  623. #define IMSAdminBaseW_EnumBackups(This,pszMDBackupLocation,pdwMDVersion,pftMDBackupTime,dwMDEnumIndex)    \
  624.     (This)->lpVtbl -> EnumBackups(This,pszMDBackupLocation,pdwMDVersion,pftMDBackupTime,dwMDEnumIndex)
  625.  
  626. #define IMSAdminBaseW_DeleteBackup(This,pszMDBackupLocation,dwMDVersion)    \
  627.     (This)->lpVtbl -> DeleteBackup(This,pszMDBackupLocation,dwMDVersion)
  628.  
  629. #define IMSAdminBaseW_UnmarshalInterface(This,piadmbwInterface)    \
  630.     (This)->lpVtbl -> UnmarshalInterface(This,piadmbwInterface)
  631.  
  632. #define IMSAdminBaseW_GetServerGuid(This)    \
  633.     (This)->lpVtbl -> GetServerGuid(This)
  634.  
  635. #endif /* COBJMACROS */
  636.  
  637.  
  638. #endif     /* C style interface */
  639.  
  640.  
  641.  
  642. HRESULT STDMETHODCALLTYPE IMSAdminBaseW_AddKey_Proxy( 
  643.     IMSAdminBaseW __RPC_FAR * This,
  644.     /* [in] */ METADATA_HANDLE hMDHandle,
  645.     /* [string][in][unique] */ LPCWSTR pszMDPath);
  646.  
  647.  
  648. void __RPC_STUB IMSAdminBaseW_AddKey_Stub(
  649.     IRpcStubBuffer *This,
  650.     IRpcChannelBuffer *_pRpcChannelBuffer,
  651.     PRPC_MESSAGE _pRpcMessage,
  652.     DWORD *_pdwStubPhase);
  653.  
  654.  
  655. HRESULT STDMETHODCALLTYPE IMSAdminBaseW_DeleteKey_Proxy( 
  656.     IMSAdminBaseW __RPC_FAR * This,
  657.     /* [in] */ METADATA_HANDLE hMDHandle,
  658.     /* [string][in][unique] */ LPCWSTR pszMDPath);
  659.  
  660.  
  661. void __RPC_STUB IMSAdminBaseW_DeleteKey_Stub(
  662.     IRpcStubBuffer *This,
  663.     IRpcChannelBuffer *_pRpcChannelBuffer,
  664.     PRPC_MESSAGE _pRpcMessage,
  665.     DWORD *_pdwStubPhase);
  666.  
  667.  
  668. HRESULT STDMETHODCALLTYPE IMSAdminBaseW_DeleteChildKeys_Proxy( 
  669.     IMSAdminBaseW __RPC_FAR * This,
  670.     /* [in] */ METADATA_HANDLE hMDHandle,
  671.     /* [string][in][unique] */ LPCWSTR pszMDPath);
  672.  
  673.  
  674. void __RPC_STUB IMSAdminBaseW_DeleteChildKeys_Stub(
  675.     IRpcStubBuffer *This,
  676.     IRpcChannelBuffer *_pRpcChannelBuffer,
  677.     PRPC_MESSAGE _pRpcMessage,
  678.     DWORD *_pdwStubPhase);
  679.  
  680.  
  681. HRESULT STDMETHODCALLTYPE IMSAdminBaseW_EnumKeys_Proxy( 
  682.     IMSAdminBaseW __RPC_FAR * This,
  683.     /* [in] */ METADATA_HANDLE hMDHandle,
  684.     /* [string][in][unique] */ LPCWSTR pszMDPath,
  685.     /* [size_is][out] */ LPWSTR pszMDName,
  686.     /* [in] */ DWORD dwMDEnumObjectIndex);
  687.  
  688.  
  689. void __RPC_STUB IMSAdminBaseW_EnumKeys_Stub(
  690.     IRpcStubBuffer *This,
  691.     IRpcChannelBuffer *_pRpcChannelBuffer,
  692.     PRPC_MESSAGE _pRpcMessage,
  693.     DWORD *_pdwStubPhase);
  694.  
  695.  
  696. HRESULT STDMETHODCALLTYPE IMSAdminBaseW_CopyKey_Proxy( 
  697.     IMSAdminBaseW __RPC_FAR * This,
  698.     /* [in] */ METADATA_HANDLE hMDSourceHandle,
  699.     /* [string][in][unique] */ LPCWSTR pszMDSourcePath,
  700.     /* [in] */ METADATA_HANDLE hMDDestHandle,
  701.     /* [string][in][unique] */ LPCWSTR pszMDDestPath,
  702.     /* [in] */ BOOL bMDOverwriteFlag,
  703.     /* [in] */ BOOL bMDCopyFlag);
  704.  
  705.  
  706. void __RPC_STUB IMSAdminBaseW_CopyKey_Stub(
  707.     IRpcStubBuffer *This,
  708.     IRpcChannelBuffer *_pRpcChannelBuffer,
  709.     PRPC_MESSAGE _pRpcMessage,
  710.     DWORD *_pdwStubPhase);
  711.  
  712.  
  713. HRESULT STDMETHODCALLTYPE IMSAdminBaseW_RenameKey_Proxy( 
  714.     IMSAdminBaseW __RPC_FAR * This,
  715.     /* [in] */ METADATA_HANDLE hMDHandle,
  716.     /* [string][in][unique] */ LPCWSTR pszMDPath,
  717.     /* [string][in][unique] */ LPCWSTR pszMDNewName);
  718.  
  719.  
  720. void __RPC_STUB IMSAdminBaseW_RenameKey_Stub(
  721.     IRpcStubBuffer *This,
  722.     IRpcChannelBuffer *_pRpcChannelBuffer,
  723.     PRPC_MESSAGE _pRpcMessage,
  724.     DWORD *_pdwStubPhase);
  725.  
  726.  
  727. /* [call_as] */ HRESULT STDMETHODCALLTYPE IMSAdminBaseW_R_SetData_Proxy( 
  728.     IMSAdminBaseW __RPC_FAR * This,
  729.     /* [in] */ METADATA_HANDLE hMDHandle,
  730.     /* [string][in][unique] */ LPCWSTR pszMDPath,
  731.     /* [in] */ PMETADATA_RECORD pmdrMDData);
  732.  
  733.  
  734. void __RPC_STUB IMSAdminBaseW_R_SetData_Stub(
  735.     IRpcStubBuffer *This,
  736.     IRpcChannelBuffer *_pRpcChannelBuffer,
  737.     PRPC_MESSAGE _pRpcMessage,
  738.     DWORD *_pdwStubPhase);
  739.  
  740.  
  741. /* [call_as] */ HRESULT STDMETHODCALLTYPE IMSAdminBaseW_R_GetData_Proxy( 
  742.     IMSAdminBaseW __RPC_FAR * This,
  743.     /* [in] */ METADATA_HANDLE hMDHandle,
  744.     /* [string][in][unique] */ LPCWSTR pszMDPath,
  745.     /* [out][in] */ PMETADATA_RECORD pmdrMDData,
  746.     /* [out] */ DWORD __RPC_FAR *pdwMDRequiredDataLen,
  747.     /* [out] */ struct _IIS_CRYPTO_BLOB __RPC_FAR *__RPC_FAR *ppDataBlob);
  748.  
  749.  
  750. void __RPC_STUB IMSAdminBaseW_R_GetData_Stub(
  751.     IRpcStubBuffer *This,
  752.     IRpcChannelBuffer *_pRpcChannelBuffer,
  753.     PRPC_MESSAGE _pRpcMessage,
  754.     DWORD *_pdwStubPhase);
  755.  
  756.  
  757. HRESULT STDMETHODCALLTYPE IMSAdminBaseW_DeleteData_Proxy( 
  758.     IMSAdminBaseW __RPC_FAR * This,
  759.     /* [in] */ METADATA_HANDLE hMDHandle,
  760.     /* [string][in][unique] */ LPCWSTR pszMDPath,
  761.     /* [in] */ DWORD dwMDIdentifier,
  762.     /* [in] */ DWORD dwMDDataType);
  763.  
  764.  
  765. void __RPC_STUB IMSAdminBaseW_DeleteData_Stub(
  766.     IRpcStubBuffer *This,
  767.     IRpcChannelBuffer *_pRpcChannelBuffer,
  768.     PRPC_MESSAGE _pRpcMessage,
  769.     DWORD *_pdwStubPhase);
  770.  
  771.  
  772. /* [call_as] */ HRESULT STDMETHODCALLTYPE IMSAdminBaseW_R_EnumData_Proxy( 
  773.     IMSAdminBaseW __RPC_FAR * This,
  774.     /* [in] */ METADATA_HANDLE hMDHandle,
  775.     /* [string][in][unique] */ LPCWSTR pszMDPath,
  776.     /* [out][in] */ PMETADATA_RECORD pmdrMDData,
  777.     /* [in] */ DWORD dwMDEnumDataIndex,
  778.     /* [out] */ DWORD __RPC_FAR *pdwMDRequiredDataLen,
  779.     /* [out] */ struct _IIS_CRYPTO_BLOB __RPC_FAR *__RPC_FAR *ppDataBlob);
  780.  
  781.  
  782. void __RPC_STUB IMSAdminBaseW_R_EnumData_Stub(
  783.     IRpcStubBuffer *This,
  784.     IRpcChannelBuffer *_pRpcChannelBuffer,
  785.     PRPC_MESSAGE _pRpcMessage,
  786.     DWORD *_pdwStubPhase);
  787.  
  788.  
  789. /* [call_as] */ HRESULT STDMETHODCALLTYPE IMSAdminBaseW_R_GetAllData_Proxy( 
  790.     IMSAdminBaseW __RPC_FAR * This,
  791.     /* [in] */ METADATA_HANDLE hMDHandle,
  792.     /* [string][in][unique] */ LPCWSTR pszMDPath,
  793.     /* [in] */ DWORD dwMDAttributes,
  794.     /* [in] */ DWORD dwMDUserType,
  795.     /* [in] */ DWORD dwMDDataType,
  796.     /* [out] */ DWORD __RPC_FAR *pdwMDNumDataEntries,
  797.     /* [out] */ DWORD __RPC_FAR *pdwMDDataSetNumber,
  798.     /* [in] */ DWORD dwMDBufferSize,
  799.     /* [out] */ DWORD __RPC_FAR *pdwMDRequiredBufferSize,
  800.     /* [out] */ struct _IIS_CRYPTO_BLOB __RPC_FAR *__RPC_FAR *ppDataBlob);
  801.  
  802.  
  803. void __RPC_STUB IMSAdminBaseW_R_GetAllData_Stub(
  804.     IRpcStubBuffer *This,
  805.     IRpcChannelBuffer *_pRpcChannelBuffer,
  806.     PRPC_MESSAGE _pRpcMessage,
  807.     DWORD *_pdwStubPhase);
  808.  
  809.  
  810. HRESULT STDMETHODCALLTYPE IMSAdminBaseW_DeleteAllData_Proxy( 
  811.     IMSAdminBaseW __RPC_FAR * This,
  812.     /* [in] */ METADATA_HANDLE hMDHandle,
  813.     /* [string][in][unique] */ LPCWSTR pszMDPath,
  814.     /* [in] */ DWORD dwMDUserType,
  815.     /* [in] */ DWORD dwMDDataType);
  816.  
  817.  
  818. void __RPC_STUB IMSAdminBaseW_DeleteAllData_Stub(
  819.     IRpcStubBuffer *This,
  820.     IRpcChannelBuffer *_pRpcChannelBuffer,
  821.     PRPC_MESSAGE _pRpcMessage,
  822.     DWORD *_pdwStubPhase);
  823.  
  824.  
  825. HRESULT STDMETHODCALLTYPE IMSAdminBaseW_CopyData_Proxy( 
  826.     IMSAdminBaseW __RPC_FAR * This,
  827.     /* [in] */ METADATA_HANDLE hMDSourceHandle,
  828.     /* [string][in][unique] */ LPCWSTR pszMDSourcePath,
  829.     /* [in] */ METADATA_HANDLE hMDDestHandle,
  830.     /* [string][in][unique] */ LPCWSTR pszMDDestPath,
  831.     /* [in] */ DWORD dwMDAttributes,
  832.     /* [in] */ DWORD dwMDUserType,
  833.     /* [in] */ DWORD dwMDDataType,
  834.     /* [in] */ BOOL bMDCopyFlag);
  835.  
  836.  
  837. void __RPC_STUB IMSAdminBaseW_CopyData_Stub(
  838.     IRpcStubBuffer *This,
  839.     IRpcChannelBuffer *_pRpcChannelBuffer,
  840.     PRPC_MESSAGE _pRpcMessage,
  841.     DWORD *_pdwStubPhase);
  842.  
  843.  
  844. HRESULT STDMETHODCALLTYPE IMSAdminBaseW_GetDataPaths_Proxy( 
  845.     IMSAdminBaseW __RPC_FAR * This,
  846.     /* [in] */ METADATA_HANDLE hMDHandle,
  847.     /* [string][in][unique] */ LPCWSTR pszMDPath,
  848.     /* [in] */ DWORD dwMDIdentifier,
  849.     /* [in] */ DWORD dwMDDataType,
  850.     /* [in] */ DWORD dwMDBufferSize,
  851.     /* [size_is][out] */ WCHAR __RPC_FAR *pszBuffer,
  852.     /* [out] */ DWORD __RPC_FAR *pdwMDRequiredBufferSize);
  853.  
  854.  
  855. void __RPC_STUB IMSAdminBaseW_GetDataPaths_Stub(
  856.     IRpcStubBuffer *This,
  857.     IRpcChannelBuffer *_pRpcChannelBuffer,
  858.     PRPC_MESSAGE _pRpcMessage,
  859.     DWORD *_pdwStubPhase);
  860.  
  861.  
  862. HRESULT STDMETHODCALLTYPE IMSAdminBaseW_OpenKey_Proxy( 
  863.     IMSAdminBaseW __RPC_FAR * This,
  864.     /* [in] */ METADATA_HANDLE hMDHandle,
  865.     /* [string][in][unique] */ LPCWSTR pszMDPath,
  866.     /* [in] */ DWORD dwMDAccessRequested,
  867.     /* [in] */ DWORD dwMDTimeOut,
  868.     /* [out] */ PMETADATA_HANDLE phMDNewHandle);
  869.  
  870.  
  871. void __RPC_STUB IMSAdminBaseW_OpenKey_Stub(
  872.     IRpcStubBuffer *This,
  873.     IRpcChannelBuffer *_pRpcChannelBuffer,
  874.     PRPC_MESSAGE _pRpcMessage,
  875.     DWORD *_pdwStubPhase);
  876.  
  877.  
  878. HRESULT STDMETHODCALLTYPE IMSAdminBaseW_CloseKey_Proxy( 
  879.     IMSAdminBaseW __RPC_FAR * This,
  880.     /* [in] */ METADATA_HANDLE hMDHandle);
  881.  
  882.  
  883. void __RPC_STUB IMSAdminBaseW_CloseKey_Stub(
  884.     IRpcStubBuffer *This,
  885.     IRpcChannelBuffer *_pRpcChannelBuffer,
  886.     PRPC_MESSAGE _pRpcMessage,
  887.     DWORD *_pdwStubPhase);
  888.  
  889.  
  890. HRESULT STDMETHODCALLTYPE IMSAdminBaseW_ChangePermissions_Proxy( 
  891.     IMSAdminBaseW __RPC_FAR * This,
  892.     /* [in] */ METADATA_HANDLE hMDHandle,
  893.     /* [in] */ DWORD dwMDTimeOut,
  894.     /* [in] */ DWORD dwMDAccessRequested);
  895.  
  896.  
  897. void __RPC_STUB IMSAdminBaseW_ChangePermissions_Stub(
  898.     IRpcStubBuffer *This,
  899.     IRpcChannelBuffer *_pRpcChannelBuffer,
  900.     PRPC_MESSAGE _pRpcMessage,
  901.     DWORD *_pdwStubPhase);
  902.  
  903.  
  904. HRESULT STDMETHODCALLTYPE IMSAdminBaseW_SaveData_Proxy( 
  905.     IMSAdminBaseW __RPC_FAR * This);
  906.  
  907.  
  908. void __RPC_STUB IMSAdminBaseW_SaveData_Stub(
  909.     IRpcStubBuffer *This,
  910.     IRpcChannelBuffer *_pRpcChannelBuffer,
  911.     PRPC_MESSAGE _pRpcMessage,
  912.     DWORD *_pdwStubPhase);
  913.  
  914.  
  915. HRESULT STDMETHODCALLTYPE IMSAdminBaseW_GetHandleInfo_Proxy( 
  916.     IMSAdminBaseW __RPC_FAR * This,
  917.     /* [in] */ METADATA_HANDLE hMDHandle,
  918.     /* [out] */ PMETADATA_HANDLE_INFO pmdhiInfo);
  919.  
  920.  
  921. void __RPC_STUB IMSAdminBaseW_GetHandleInfo_Stub(
  922.     IRpcStubBuffer *This,
  923.     IRpcChannelBuffer *_pRpcChannelBuffer,
  924.     PRPC_MESSAGE _pRpcMessage,
  925.     DWORD *_pdwStubPhase);
  926.  
  927.  
  928. HRESULT STDMETHODCALLTYPE IMSAdminBaseW_GetSystemChangeNumber_Proxy( 
  929.     IMSAdminBaseW __RPC_FAR * This,
  930.     /* [out] */ DWORD __RPC_FAR *pdwSystemChangeNumber);
  931.  
  932.  
  933. void __RPC_STUB IMSAdminBaseW_GetSystemChangeNumber_Stub(
  934.     IRpcStubBuffer *This,
  935.     IRpcChannelBuffer *_pRpcChannelBuffer,
  936.     PRPC_MESSAGE _pRpcMessage,
  937.     DWORD *_pdwStubPhase);
  938.  
  939.  
  940. HRESULT STDMETHODCALLTYPE IMSAdminBaseW_GetDataSetNumber_Proxy( 
  941.     IMSAdminBaseW __RPC_FAR * This,
  942.     /* [in] */ METADATA_HANDLE hMDHandle,
  943.     /* [string][in][unique] */ LPCWSTR pszMDPath,
  944.     /* [out] */ DWORD __RPC_FAR *pdwMDDataSetNumber);
  945.  
  946.  
  947. void __RPC_STUB IMSAdminBaseW_GetDataSetNumber_Stub(
  948.     IRpcStubBuffer *This,
  949.     IRpcChannelBuffer *_pRpcChannelBuffer,
  950.     PRPC_MESSAGE _pRpcMessage,
  951.     DWORD *_pdwStubPhase);
  952.  
  953.  
  954. HRESULT STDMETHODCALLTYPE IMSAdminBaseW_SetLastChangeTime_Proxy( 
  955.     IMSAdminBaseW __RPC_FAR * This,
  956.     /* [in] */ METADATA_HANDLE hMDHandle,
  957.     /* [string][in][unique] */ LPCWSTR pszMDPath,
  958.     /* [in] */ PFILETIME pftMDLastChangeTime,
  959.     /* [in] */ BOOL bLocalTime);
  960.  
  961.  
  962. void __RPC_STUB IMSAdminBaseW_SetLastChangeTime_Stub(
  963.     IRpcStubBuffer *This,
  964.     IRpcChannelBuffer *_pRpcChannelBuffer,
  965.     PRPC_MESSAGE _pRpcMessage,
  966.     DWORD *_pdwStubPhase);
  967.  
  968.  
  969. HRESULT STDMETHODCALLTYPE IMSAdminBaseW_GetLastChangeTime_Proxy( 
  970.     IMSAdminBaseW __RPC_FAR * This,
  971.     /* [in] */ METADATA_HANDLE hMDHandle,
  972.     /* [string][in][unique] */ LPCWSTR pszMDPath,
  973.     /* [out] */ PFILETIME pftMDLastChangeTime,
  974.     /* [in] */ BOOL bLocalTime);
  975.  
  976.  
  977. void __RPC_STUB IMSAdminBaseW_GetLastChangeTime_Stub(
  978.     IRpcStubBuffer *This,
  979.     IRpcChannelBuffer *_pRpcChannelBuffer,
  980.     PRPC_MESSAGE _pRpcMessage,
  981.     DWORD *_pdwStubPhase);
  982.  
  983.  
  984. /* [call_as] */ HRESULT STDMETHODCALLTYPE IMSAdminBaseW_R_KeyExchangePhase1_Proxy( 
  985.     IMSAdminBaseW __RPC_FAR * This,
  986.     /* [in][unique] */ struct _IIS_CRYPTO_BLOB __RPC_FAR *pClientKeyExchangeKeyBlob,
  987.     /* [in][unique] */ struct _IIS_CRYPTO_BLOB __RPC_FAR *pClientSignatureKeyBlob,
  988.     /* [out] */ struct _IIS_CRYPTO_BLOB __RPC_FAR *__RPC_FAR *ppServerKeyExchangeKeyBlob,
  989.     /* [out] */ struct _IIS_CRYPTO_BLOB __RPC_FAR *__RPC_FAR *ppServerSignatureKeyBlob,
  990.     /* [out] */ struct _IIS_CRYPTO_BLOB __RPC_FAR *__RPC_FAR *ppServerSessionKeyBlob);
  991.  
  992.  
  993. void __RPC_STUB IMSAdminBaseW_R_KeyExchangePhase1_Stub(
  994.     IRpcStubBuffer *This,
  995.     IRpcChannelBuffer *_pRpcChannelBuffer,
  996.     PRPC_MESSAGE _pRpcMessage,
  997.     DWORD *_pdwStubPhase);
  998.  
  999.  
  1000. /* [call_as] */ HRESULT STDMETHODCALLTYPE IMSAdminBaseW_R_KeyExchangePhase2_Proxy( 
  1001.     IMSAdminBaseW __RPC_FAR * This,
  1002.     /* [in][unique] */ struct _IIS_CRYPTO_BLOB __RPC_FAR *pClientSessionKeyBlob,
  1003.     /* [in][unique] */ struct _IIS_CRYPTO_BLOB __RPC_FAR *pClientHashBlob,
  1004.     /* [out] */ struct _IIS_CRYPTO_BLOB __RPC_FAR *__RPC_FAR *ppServerHashBlob);
  1005.  
  1006.  
  1007. void __RPC_STUB IMSAdminBaseW_R_KeyExchangePhase2_Stub(
  1008.     IRpcStubBuffer *This,
  1009.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1010.     PRPC_MESSAGE _pRpcMessage,
  1011.     DWORD *_pdwStubPhase);
  1012.  
  1013.  
  1014. HRESULT STDMETHODCALLTYPE IMSAdminBaseW_Backup_Proxy( 
  1015.     IMSAdminBaseW __RPC_FAR * This,
  1016.     /* [string][in][unique] */ LPCWSTR pszMDBackupLocation,
  1017.     /* [in] */ DWORD dwMDVersion,
  1018.     /* [in] */ DWORD dwMDFlags);
  1019.  
  1020.  
  1021. void __RPC_STUB IMSAdminBaseW_Backup_Stub(
  1022.     IRpcStubBuffer *This,
  1023.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1024.     PRPC_MESSAGE _pRpcMessage,
  1025.     DWORD *_pdwStubPhase);
  1026.  
  1027.  
  1028. HRESULT STDMETHODCALLTYPE IMSAdminBaseW_Restore_Proxy( 
  1029.     IMSAdminBaseW __RPC_FAR * This,
  1030.     /* [string][in][unique] */ LPCWSTR pszMDBackupLocation,
  1031.     /* [in] */ DWORD dwMDVersion,
  1032.     /* [in] */ DWORD dwMDFlags);
  1033.  
  1034.  
  1035. void __RPC_STUB IMSAdminBaseW_Restore_Stub(
  1036.     IRpcStubBuffer *This,
  1037.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1038.     PRPC_MESSAGE _pRpcMessage,
  1039.     DWORD *_pdwStubPhase);
  1040.  
  1041.  
  1042. HRESULT STDMETHODCALLTYPE IMSAdminBaseW_EnumBackups_Proxy( 
  1043.     IMSAdminBaseW __RPC_FAR * This,
  1044.     /* [size_is][out][in] */ LPWSTR pszMDBackupLocation,
  1045.     /* [out] */ DWORD __RPC_FAR *pdwMDVersion,
  1046.     /* [out] */ PFILETIME pftMDBackupTime,
  1047.     /* [in] */ DWORD dwMDEnumIndex);
  1048.  
  1049.  
  1050. void __RPC_STUB IMSAdminBaseW_EnumBackups_Stub(
  1051.     IRpcStubBuffer *This,
  1052.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1053.     PRPC_MESSAGE _pRpcMessage,
  1054.     DWORD *_pdwStubPhase);
  1055.  
  1056.  
  1057. HRESULT STDMETHODCALLTYPE IMSAdminBaseW_DeleteBackup_Proxy( 
  1058.     IMSAdminBaseW __RPC_FAR * This,
  1059.     /* [string][in][unique] */ LPCWSTR pszMDBackupLocation,
  1060.     /* [in] */ DWORD dwMDVersion);
  1061.  
  1062.  
  1063. void __RPC_STUB IMSAdminBaseW_DeleteBackup_Stub(
  1064.     IRpcStubBuffer *This,
  1065.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1066.     PRPC_MESSAGE _pRpcMessage,
  1067.     DWORD *_pdwStubPhase);
  1068.  
  1069.  
  1070. HRESULT STDMETHODCALLTYPE IMSAdminBaseW_UnmarshalInterface_Proxy( 
  1071.     IMSAdminBaseW __RPC_FAR * This,
  1072.     /* [out] */ IMSAdminBaseW __RPC_FAR *__RPC_FAR *piadmbwInterface);
  1073.  
  1074.  
  1075. void __RPC_STUB IMSAdminBaseW_UnmarshalInterface_Stub(
  1076.     IRpcStubBuffer *This,
  1077.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1078.     PRPC_MESSAGE _pRpcMessage,
  1079.     DWORD *_pdwStubPhase);
  1080.  
  1081.  
  1082. /* [call_as] */ HRESULT STDMETHODCALLTYPE IMSAdminBaseW_R_GetServerGuid_Proxy( 
  1083.     IMSAdminBaseW __RPC_FAR * This,
  1084.     /* [out] */ GUID __RPC_FAR *pServerGuid);
  1085.  
  1086.  
  1087. void __RPC_STUB IMSAdminBaseW_R_GetServerGuid_Stub(
  1088.     IRpcStubBuffer *This,
  1089.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1090.     PRPC_MESSAGE _pRpcMessage,
  1091.     DWORD *_pdwStubPhase);
  1092.  
  1093.  
  1094.  
  1095. #endif     /* __IMSAdminBaseW_INTERFACE_DEFINED__ */
  1096.  
  1097.  
  1098. #ifndef __IMSAdminBaseSinkW_INTERFACE_DEFINED__
  1099. #define __IMSAdminBaseSinkW_INTERFACE_DEFINED__
  1100.  
  1101. /* interface IMSAdminBaseSinkW */
  1102. /* [unique][async_uuid][uuid][object] */ 
  1103.  
  1104.  
  1105. EXTERN_C const IID IID_IMSAdminBaseSinkW;
  1106.  
  1107. #if defined(__cplusplus) && !defined(CINTERFACE)
  1108.     
  1109.     MIDL_INTERFACE("A9E69612-B80D-11d0-B9B9-00A0C922E750")
  1110.     IMSAdminBaseSinkW : public IUnknown
  1111.     {
  1112.     public:
  1113.         virtual HRESULT STDMETHODCALLTYPE SinkNotify( 
  1114.             /* [in] */ DWORD dwMDNumElements,
  1115.             /* [size_is][in] */ MD_CHANGE_OBJECT_W __RPC_FAR pcoChangeList[  ]) = 0;
  1116.         
  1117.         virtual HRESULT STDMETHODCALLTYPE ShutdownNotify( void) = 0;
  1118.         
  1119.     };
  1120.     
  1121. #else     /* C style interface */
  1122.  
  1123.     typedef struct IMSAdminBaseSinkWVtbl
  1124.     {
  1125.         BEGIN_INTERFACE
  1126.         
  1127.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  1128.             IMSAdminBaseSinkW __RPC_FAR * This,
  1129.             /* [in] */ REFIID riid,
  1130.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  1131.         
  1132.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  1133.             IMSAdminBaseSinkW __RPC_FAR * This);
  1134.         
  1135.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  1136.             IMSAdminBaseSinkW __RPC_FAR * This);
  1137.         
  1138.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SinkNotify )( 
  1139.             IMSAdminBaseSinkW __RPC_FAR * This,
  1140.             /* [in] */ DWORD dwMDNumElements,
  1141.             /* [size_is][in] */ MD_CHANGE_OBJECT_W __RPC_FAR pcoChangeList[  ]);
  1142.         
  1143.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ShutdownNotify )( 
  1144.             IMSAdminBaseSinkW __RPC_FAR * This);
  1145.         
  1146.         END_INTERFACE
  1147.     } IMSAdminBaseSinkWVtbl;
  1148.  
  1149.     interface IMSAdminBaseSinkW
  1150.     {
  1151.         CONST_VTBL struct IMSAdminBaseSinkWVtbl __RPC_FAR *lpVtbl;
  1152.     };
  1153.  
  1154.     
  1155.  
  1156. #ifdef COBJMACROS
  1157.  
  1158.  
  1159. #define IMSAdminBaseSinkW_QueryInterface(This,riid,ppvObject)    \
  1160.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1161.  
  1162. #define IMSAdminBaseSinkW_AddRef(This)    \
  1163.     (This)->lpVtbl -> AddRef(This)
  1164.  
  1165. #define IMSAdminBaseSinkW_Release(This)    \
  1166.     (This)->lpVtbl -> Release(This)
  1167.  
  1168.  
  1169. #define IMSAdminBaseSinkW_SinkNotify(This,dwMDNumElements,pcoChangeList)    \
  1170.     (This)->lpVtbl -> SinkNotify(This,dwMDNumElements,pcoChangeList)
  1171.  
  1172. #define IMSAdminBaseSinkW_ShutdownNotify(This)    \
  1173.     (This)->lpVtbl -> ShutdownNotify(This)
  1174.  
  1175. #endif /* COBJMACROS */
  1176.  
  1177.  
  1178. #endif     /* C style interface */
  1179.  
  1180.  
  1181.  
  1182. HRESULT STDMETHODCALLTYPE IMSAdminBaseSinkW_SinkNotify_Proxy( 
  1183.     IMSAdminBaseSinkW __RPC_FAR * This,
  1184.     /* [in] */ DWORD dwMDNumElements,
  1185.     /* [size_is][in] */ MD_CHANGE_OBJECT_W __RPC_FAR pcoChangeList[  ]);
  1186.  
  1187.  
  1188. void __RPC_STUB IMSAdminBaseSinkW_SinkNotify_Stub(
  1189.     IRpcStubBuffer *This,
  1190.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1191.     PRPC_MESSAGE _pRpcMessage,
  1192.     DWORD *_pdwStubPhase);
  1193.  
  1194.  
  1195. HRESULT STDMETHODCALLTYPE IMSAdminBaseSinkW_ShutdownNotify_Proxy( 
  1196.     IMSAdminBaseSinkW __RPC_FAR * This);
  1197.  
  1198.  
  1199. void __RPC_STUB IMSAdminBaseSinkW_ShutdownNotify_Stub(
  1200.     IRpcStubBuffer *This,
  1201.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1202.     PRPC_MESSAGE _pRpcMessage,
  1203.     DWORD *_pdwStubPhase);
  1204.  
  1205.  
  1206.  
  1207. #endif     /* __IMSAdminBaseSinkW_INTERFACE_DEFINED__ */
  1208.  
  1209.  
  1210. #ifndef __AsyncIMSAdminBaseSinkW_INTERFACE_DEFINED__
  1211. #define __AsyncIMSAdminBaseSinkW_INTERFACE_DEFINED__
  1212.  
  1213. /* interface AsyncIMSAdminBaseSinkW */
  1214. /* [uuid][unique][object] */ 
  1215.  
  1216.  
  1217. EXTERN_C const IID IID_AsyncIMSAdminBaseSinkW;
  1218.  
  1219. #if defined(__cplusplus) && !defined(CINTERFACE)
  1220.     
  1221.     MIDL_INTERFACE("A9E69613-B80D-11d0-B9B9-00A0C922E750")
  1222.     AsyncIMSAdminBaseSinkW : public IUnknown
  1223.     {
  1224.     public:
  1225.         virtual HRESULT STDMETHODCALLTYPE Begin_SinkNotify( 
  1226.             /* [in] */ DWORD dwMDNumElements,
  1227.             /* [size_is][in] */ MD_CHANGE_OBJECT_W __RPC_FAR pcoChangeList[  ]) = 0;
  1228.         
  1229.         virtual HRESULT STDMETHODCALLTYPE Finish_SinkNotify( void) = 0;
  1230.         
  1231.         virtual HRESULT STDMETHODCALLTYPE Begin_ShutdownNotify( void) = 0;
  1232.         
  1233.         virtual HRESULT STDMETHODCALLTYPE Finish_ShutdownNotify( void) = 0;
  1234.         
  1235.     };
  1236.     
  1237. #else     /* C style interface */
  1238.  
  1239.     typedef struct AsyncIMSAdminBaseSinkWVtbl
  1240.     {
  1241.         BEGIN_INTERFACE
  1242.         
  1243.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  1244.             AsyncIMSAdminBaseSinkW __RPC_FAR * This,
  1245.             /* [in] */ REFIID riid,
  1246.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  1247.         
  1248.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  1249.             AsyncIMSAdminBaseSinkW __RPC_FAR * This);
  1250.         
  1251.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  1252.             AsyncIMSAdminBaseSinkW __RPC_FAR * This);
  1253.         
  1254.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Begin_SinkNotify )( 
  1255.             AsyncIMSAdminBaseSinkW __RPC_FAR * This,
  1256.             /* [in] */ DWORD dwMDNumElements,
  1257.             /* [size_is][in] */ MD_CHANGE_OBJECT_W __RPC_FAR pcoChangeList[  ]);
  1258.         
  1259.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Finish_SinkNotify )( 
  1260.             AsyncIMSAdminBaseSinkW __RPC_FAR * This);
  1261.         
  1262.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Begin_ShutdownNotify )( 
  1263.             AsyncIMSAdminBaseSinkW __RPC_FAR * This);
  1264.         
  1265.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Finish_ShutdownNotify )( 
  1266.             AsyncIMSAdminBaseSinkW __RPC_FAR * This);
  1267.         
  1268.         END_INTERFACE
  1269.     } AsyncIMSAdminBaseSinkWVtbl;
  1270.  
  1271.     interface AsyncIMSAdminBaseSinkW
  1272.     {
  1273.         CONST_VTBL struct AsyncIMSAdminBaseSinkWVtbl __RPC_FAR *lpVtbl;
  1274.     };
  1275.  
  1276.     
  1277.  
  1278. #ifdef COBJMACROS
  1279.  
  1280.  
  1281. #define AsyncIMSAdminBaseSinkW_QueryInterface(This,riid,ppvObject)    \
  1282.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1283.  
  1284. #define AsyncIMSAdminBaseSinkW_AddRef(This)    \
  1285.     (This)->lpVtbl -> AddRef(This)
  1286.  
  1287. #define AsyncIMSAdminBaseSinkW_Release(This)    \
  1288.     (This)->lpVtbl -> Release(This)
  1289.  
  1290.  
  1291. #define AsyncIMSAdminBaseSinkW_Begin_SinkNotify(This,dwMDNumElements,pcoChangeList)    \
  1292.     (This)->lpVtbl -> Begin_SinkNotify(This,dwMDNumElements,pcoChangeList)
  1293.  
  1294. #define AsyncIMSAdminBaseSinkW_Finish_SinkNotify(This)    \
  1295.     (This)->lpVtbl -> Finish_SinkNotify(This)
  1296.  
  1297. #define AsyncIMSAdminBaseSinkW_Begin_ShutdownNotify(This)    \
  1298.     (This)->lpVtbl -> Begin_ShutdownNotify(This)
  1299.  
  1300. #define AsyncIMSAdminBaseSinkW_Finish_ShutdownNotify(This)    \
  1301.     (This)->lpVtbl -> Finish_ShutdownNotify(This)
  1302.  
  1303. #endif /* COBJMACROS */
  1304.  
  1305.  
  1306. #endif     /* C style interface */
  1307.  
  1308.  
  1309.  
  1310. HRESULT STDMETHODCALLTYPE AsyncIMSAdminBaseSinkW_Begin_SinkNotify_Proxy( 
  1311.     AsyncIMSAdminBaseSinkW __RPC_FAR * This,
  1312.     /* [in] */ DWORD dwMDNumElements,
  1313.     /* [size_is][in] */ MD_CHANGE_OBJECT_W __RPC_FAR pcoChangeList[  ]);
  1314.  
  1315.  
  1316. void __RPC_STUB AsyncIMSAdminBaseSinkW_Begin_SinkNotify_Stub(
  1317.     IRpcStubBuffer *This,
  1318.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1319.     PRPC_MESSAGE _pRpcMessage,
  1320.     DWORD *_pdwStubPhase);
  1321.  
  1322.  
  1323. HRESULT STDMETHODCALLTYPE AsyncIMSAdminBaseSinkW_Finish_SinkNotify_Proxy( 
  1324.     AsyncIMSAdminBaseSinkW __RPC_FAR * This);
  1325.  
  1326.  
  1327. void __RPC_STUB AsyncIMSAdminBaseSinkW_Finish_SinkNotify_Stub(
  1328.     IRpcStubBuffer *This,
  1329.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1330.     PRPC_MESSAGE _pRpcMessage,
  1331.     DWORD *_pdwStubPhase);
  1332.  
  1333.  
  1334. HRESULT STDMETHODCALLTYPE AsyncIMSAdminBaseSinkW_Begin_ShutdownNotify_Proxy( 
  1335.     AsyncIMSAdminBaseSinkW __RPC_FAR * This);
  1336.  
  1337.  
  1338. void __RPC_STUB AsyncIMSAdminBaseSinkW_Begin_ShutdownNotify_Stub(
  1339.     IRpcStubBuffer *This,
  1340.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1341.     PRPC_MESSAGE _pRpcMessage,
  1342.     DWORD *_pdwStubPhase);
  1343.  
  1344.  
  1345. HRESULT STDMETHODCALLTYPE AsyncIMSAdminBaseSinkW_Finish_ShutdownNotify_Proxy( 
  1346.     AsyncIMSAdminBaseSinkW __RPC_FAR * This);
  1347.  
  1348.  
  1349. void __RPC_STUB AsyncIMSAdminBaseSinkW_Finish_ShutdownNotify_Stub(
  1350.     IRpcStubBuffer *This,
  1351.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1352.     PRPC_MESSAGE _pRpcMessage,
  1353.     DWORD *_pdwStubPhase);
  1354.  
  1355.  
  1356.  
  1357. #endif     /* __AsyncIMSAdminBaseSinkW_INTERFACE_DEFINED__ */
  1358.  
  1359.  
  1360. /* interface __MIDL_itf_iadmw_0251 */
  1361. /* [local] */ 
  1362.  
  1363. #endif
  1364.  
  1365.  
  1366. extern RPC_IF_HANDLE __MIDL_itf_iadmw_0251_v0_0_c_ifspec;
  1367. extern RPC_IF_HANDLE __MIDL_itf_iadmw_0251_v0_0_s_ifspec;
  1368.  
  1369. /* Additional Prototypes for ALL interfaces */
  1370.  
  1371. /* [local] */ HRESULT STDMETHODCALLTYPE IMSAdminBaseW_SetData_Proxy( 
  1372.     IMSAdminBaseW __RPC_FAR * This,
  1373.     /* [in] */ METADATA_HANDLE hMDHandle,
  1374.     /* [string][in][unique] */ LPCWSTR pszMDPath,
  1375.     /* [in] */ PMETADATA_RECORD pmdrMDData);
  1376.  
  1377.  
  1378. /* [call_as] */ HRESULT STDMETHODCALLTYPE IMSAdminBaseW_SetData_Stub( 
  1379.     IMSAdminBaseW __RPC_FAR * This,
  1380.     /* [in] */ METADATA_HANDLE hMDHandle,
  1381.     /* [string][in][unique] */ LPCWSTR pszMDPath,
  1382.     /* [in] */ PMETADATA_RECORD pmdrMDData);
  1383.  
  1384. /* [local] */ HRESULT STDMETHODCALLTYPE IMSAdminBaseW_GetData_Proxy( 
  1385.     IMSAdminBaseW __RPC_FAR * This,
  1386.     /* [in] */ METADATA_HANDLE hMDHandle,
  1387.     /* [string][in][unique] */ LPCWSTR pszMDPath,
  1388.     /* [out][in] */ PMETADATA_RECORD pmdrMDData,
  1389.     /* [out] */ DWORD __RPC_FAR *pdwMDRequiredDataLen);
  1390.  
  1391.  
  1392. /* [call_as] */ HRESULT STDMETHODCALLTYPE IMSAdminBaseW_GetData_Stub( 
  1393.     IMSAdminBaseW __RPC_FAR * This,
  1394.     /* [in] */ METADATA_HANDLE hMDHandle,
  1395.     /* [string][in][unique] */ LPCWSTR pszMDPath,
  1396.     /* [out][in] */ PMETADATA_RECORD pmdrMDData,
  1397.     /* [out] */ DWORD __RPC_FAR *pdwMDRequiredDataLen,
  1398.     /* [out] */ struct _IIS_CRYPTO_BLOB __RPC_FAR *__RPC_FAR *ppDataBlob);
  1399.  
  1400. /* [local] */ HRESULT STDMETHODCALLTYPE IMSAdminBaseW_EnumData_Proxy( 
  1401.     IMSAdminBaseW __RPC_FAR * This,
  1402.     /* [in] */ METADATA_HANDLE hMDHandle,
  1403.     /* [string][in][unique] */ LPCWSTR pszMDPath,
  1404.     /* [out][in] */ PMETADATA_RECORD pmdrMDData,
  1405.     /* [in] */ DWORD dwMDEnumDataIndex,
  1406.     /* [out] */ DWORD __RPC_FAR *pdwMDRequiredDataLen);
  1407.  
  1408.  
  1409. /* [call_as] */ HRESULT STDMETHODCALLTYPE IMSAdminBaseW_EnumData_Stub( 
  1410.     IMSAdminBaseW __RPC_FAR * This,
  1411.     /* [in] */ METADATA_HANDLE hMDHandle,
  1412.     /* [string][in][unique] */ LPCWSTR pszMDPath,
  1413.     /* [out][in] */ PMETADATA_RECORD pmdrMDData,
  1414.     /* [in] */ DWORD dwMDEnumDataIndex,
  1415.     /* [out] */ DWORD __RPC_FAR *pdwMDRequiredDataLen,
  1416.     /* [out] */ struct _IIS_CRYPTO_BLOB __RPC_FAR *__RPC_FAR *ppDataBlob);
  1417.  
  1418. /* [local] */ HRESULT STDMETHODCALLTYPE IMSAdminBaseW_GetAllData_Proxy( 
  1419.     IMSAdminBaseW __RPC_FAR * This,
  1420.     /* [in] */ METADATA_HANDLE hMDHandle,
  1421.     /* [string][in][unique] */ LPCWSTR pszMDPath,
  1422.     /* [in] */ DWORD dwMDAttributes,
  1423.     /* [in] */ DWORD dwMDUserType,
  1424.     /* [in] */ DWORD dwMDDataType,
  1425.     /* [out] */ DWORD __RPC_FAR *pdwMDNumDataEntries,
  1426.     /* [out] */ DWORD __RPC_FAR *pdwMDDataSetNumber,
  1427.     /* [in] */ DWORD dwMDBufferSize,
  1428.     /* [size_is][out] */ unsigned char __RPC_FAR *pbMDBuffer,
  1429.     /* [out] */ DWORD __RPC_FAR *pdwMDRequiredBufferSize);
  1430.  
  1431.  
  1432. /* [call_as] */ HRESULT STDMETHODCALLTYPE IMSAdminBaseW_GetAllData_Stub( 
  1433.     IMSAdminBaseW __RPC_FAR * This,
  1434.     /* [in] */ METADATA_HANDLE hMDHandle,
  1435.     /* [string][in][unique] */ LPCWSTR pszMDPath,
  1436.     /* [in] */ DWORD dwMDAttributes,
  1437.     /* [in] */ DWORD dwMDUserType,
  1438.     /* [in] */ DWORD dwMDDataType,
  1439.     /* [out] */ DWORD __RPC_FAR *pdwMDNumDataEntries,
  1440.     /* [out] */ DWORD __RPC_FAR *pdwMDDataSetNumber,
  1441.     /* [in] */ DWORD dwMDBufferSize,
  1442.     /* [out] */ DWORD __RPC_FAR *pdwMDRequiredBufferSize,
  1443.     /* [out] */ struct _IIS_CRYPTO_BLOB __RPC_FAR *__RPC_FAR *ppDataBlob);
  1444.  
  1445. /* [restricted][local] */ HRESULT STDMETHODCALLTYPE IMSAdminBaseW_KeyExchangePhase1_Proxy( 
  1446.     IMSAdminBaseW __RPC_FAR * This);
  1447.  
  1448.  
  1449. /* [call_as] */ HRESULT STDMETHODCALLTYPE IMSAdminBaseW_KeyExchangePhase1_Stub( 
  1450.     IMSAdminBaseW __RPC_FAR * This,
  1451.     /* [in][unique] */ struct _IIS_CRYPTO_BLOB __RPC_FAR *pClientKeyExchangeKeyBlob,
  1452.     /* [in][unique] */ struct _IIS_CRYPTO_BLOB __RPC_FAR *pClientSignatureKeyBlob,
  1453.     /* [out] */ struct _IIS_CRYPTO_BLOB __RPC_FAR *__RPC_FAR *ppServerKeyExchangeKeyBlob,
  1454.     /* [out] */ struct _IIS_CRYPTO_BLOB __RPC_FAR *__RPC_FAR *ppServerSignatureKeyBlob,
  1455.     /* [out] */ struct _IIS_CRYPTO_BLOB __RPC_FAR *__RPC_FAR *ppServerSessionKeyBlob);
  1456.  
  1457. /* [restricted][local] */ HRESULT STDMETHODCALLTYPE IMSAdminBaseW_KeyExchangePhase2_Proxy( 
  1458.     IMSAdminBaseW __RPC_FAR * This);
  1459.  
  1460.  
  1461. /* [call_as] */ HRESULT STDMETHODCALLTYPE IMSAdminBaseW_KeyExchangePhase2_Stub( 
  1462.     IMSAdminBaseW __RPC_FAR * This,
  1463.     /* [in][unique] */ struct _IIS_CRYPTO_BLOB __RPC_FAR *pClientSessionKeyBlob,
  1464.     /* [in][unique] */ struct _IIS_CRYPTO_BLOB __RPC_FAR *pClientHashBlob,
  1465.     /* [out] */ struct _IIS_CRYPTO_BLOB __RPC_FAR *__RPC_FAR *ppServerHashBlob);
  1466.  
  1467. /* [restricted][local] */ HRESULT STDMETHODCALLTYPE IMSAdminBaseW_GetServerGuid_Proxy( 
  1468.     IMSAdminBaseW __RPC_FAR * This);
  1469.  
  1470.  
  1471. /* [call_as] */ HRESULT STDMETHODCALLTYPE IMSAdminBaseW_GetServerGuid_Stub( 
  1472.     IMSAdminBaseW __RPC_FAR * This,
  1473.     /* [out] */ GUID __RPC_FAR *pServerGuid);
  1474.  
  1475.  
  1476.  
  1477. /* end of Additional Prototypes */
  1478.  
  1479. #ifdef __cplusplus
  1480. }
  1481. #endif
  1482.  
  1483. #endif
  1484.  
  1485.  
  1486. #pragma option pop /*P_O_Pop*/
  1487.