home *** CD-ROM | disk | FTP | other *** search
/ Tricks of the Windows Gam…ming Gurus (2nd Edition) / Disc2.iso / vc98 / include / iadmw.h < prev    next >
C/C++ Source or Header  |  1998-04-25  |  52KB  |  1,338 lines

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