Iads.h
上传用户:dzyhzl
上传日期:2019-04-29
资源大小:56270k
文件大小:795k
源码类别:

模拟服务器

开发平台:

C/C++

  1. #define IADsPrintJobOperations_get_PagesPrinted(This,retval)
  2.     (This)->lpVtbl -> get_PagesPrinted(This,retval)
  3. #define IADsPrintJobOperations_get_Position(This,retval)
  4.     (This)->lpVtbl -> get_Position(This,retval)
  5. #define IADsPrintJobOperations_put_Position(This,lnPosition)
  6.     (This)->lpVtbl -> put_Position(This,lnPosition)
  7. #define IADsPrintJobOperations_Pause(This)
  8.     (This)->lpVtbl -> Pause(This)
  9. #define IADsPrintJobOperations_Resume(This)
  10.     (This)->lpVtbl -> Resume(This)
  11. #endif /* COBJMACROS */
  12. #endif  /* C style interface */
  13. /* [id][propget] */ HRESULT STDMETHODCALLTYPE IADsPrintJobOperations_get_Status_Proxy( 
  14.     IADsPrintJobOperations * This,
  15.     /* [retval][out] */ long *retval);
  16. void __RPC_STUB IADsPrintJobOperations_get_Status_Stub(
  17.     IRpcStubBuffer *This,
  18.     IRpcChannelBuffer *_pRpcChannelBuffer,
  19.     PRPC_MESSAGE _pRpcMessage,
  20.     DWORD *_pdwStubPhase);
  21. /* [id][propget] */ HRESULT STDMETHODCALLTYPE IADsPrintJobOperations_get_TimeElapsed_Proxy( 
  22.     IADsPrintJobOperations * This,
  23.     /* [retval][out] */ long *retval);
  24. void __RPC_STUB IADsPrintJobOperations_get_TimeElapsed_Stub(
  25.     IRpcStubBuffer *This,
  26.     IRpcChannelBuffer *_pRpcChannelBuffer,
  27.     PRPC_MESSAGE _pRpcMessage,
  28.     DWORD *_pdwStubPhase);
  29. /* [id][propget] */ HRESULT STDMETHODCALLTYPE IADsPrintJobOperations_get_PagesPrinted_Proxy( 
  30.     IADsPrintJobOperations * This,
  31.     /* [retval][out] */ long *retval);
  32. void __RPC_STUB IADsPrintJobOperations_get_PagesPrinted_Stub(
  33.     IRpcStubBuffer *This,
  34.     IRpcChannelBuffer *_pRpcChannelBuffer,
  35.     PRPC_MESSAGE _pRpcMessage,
  36.     DWORD *_pdwStubPhase);
  37. /* [id][propget] */ HRESULT STDMETHODCALLTYPE IADsPrintJobOperations_get_Position_Proxy( 
  38.     IADsPrintJobOperations * This,
  39.     /* [retval][out] */ long *retval);
  40. void __RPC_STUB IADsPrintJobOperations_get_Position_Stub(
  41.     IRpcStubBuffer *This,
  42.     IRpcChannelBuffer *_pRpcChannelBuffer,
  43.     PRPC_MESSAGE _pRpcMessage,
  44.     DWORD *_pdwStubPhase);
  45. /* [id][propput] */ HRESULT STDMETHODCALLTYPE IADsPrintJobOperations_put_Position_Proxy( 
  46.     IADsPrintJobOperations * This,
  47.     /* [in] */ long lnPosition);
  48. void __RPC_STUB IADsPrintJobOperations_put_Position_Stub(
  49.     IRpcStubBuffer *This,
  50.     IRpcChannelBuffer *_pRpcChannelBuffer,
  51.     PRPC_MESSAGE _pRpcMessage,
  52.     DWORD *_pdwStubPhase);
  53. /* [id] */ HRESULT STDMETHODCALLTYPE IADsPrintJobOperations_Pause_Proxy( 
  54.     IADsPrintJobOperations * This);
  55. void __RPC_STUB IADsPrintJobOperations_Pause_Stub(
  56.     IRpcStubBuffer *This,
  57.     IRpcChannelBuffer *_pRpcChannelBuffer,
  58.     PRPC_MESSAGE _pRpcMessage,
  59.     DWORD *_pdwStubPhase);
  60. /* [id] */ HRESULT STDMETHODCALLTYPE IADsPrintJobOperations_Resume_Proxy( 
  61.     IADsPrintJobOperations * This);
  62. void __RPC_STUB IADsPrintJobOperations_Resume_Stub(
  63.     IRpcStubBuffer *This,
  64.     IRpcChannelBuffer *_pRpcChannelBuffer,
  65.     PRPC_MESSAGE _pRpcMessage,
  66.     DWORD *_pdwStubPhase);
  67. #endif  /* __IADsPrintJobOperations_INTERFACE_DEFINED__ */
  68. #ifndef __IADsService_INTERFACE_DEFINED__
  69. #define __IADsService_INTERFACE_DEFINED__
  70. /* interface IADsService */
  71. /* [object][dual][oleautomation][uuid] */ 
  72. EXTERN_C const IID IID_IADsService;
  73. #if defined(__cplusplus) && !defined(CINTERFACE)
  74.     
  75.     MIDL_INTERFACE("68af66e0-31ca-11cf-a98a-00aa006bc149")
  76.     IADsService : public IADs
  77.     {
  78.     public:
  79.         virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_HostComputer( 
  80.             /* [retval][out] */ BSTR *retval) = 0;
  81.         
  82.         virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_HostComputer( 
  83.             /* [in] */ BSTR bstrHostComputer) = 0;
  84.         
  85.         virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_DisplayName( 
  86.             /* [retval][out] */ BSTR *retval) = 0;
  87.         
  88.         virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_DisplayName( 
  89.             /* [in] */ BSTR bstrDisplayName) = 0;
  90.         
  91.         virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_Version( 
  92.             /* [retval][out] */ BSTR *retval) = 0;
  93.         
  94.         virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_Version( 
  95.             /* [in] */ BSTR bstrVersion) = 0;
  96.         
  97.         virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_ServiceType( 
  98.             /* [retval][out] */ long *retval) = 0;
  99.         
  100.         virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_ServiceType( 
  101.             /* [in] */ long lnServiceType) = 0;
  102.         
  103.         virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_StartType( 
  104.             /* [retval][out] */ long *retval) = 0;
  105.         
  106.         virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_StartType( 
  107.             /* [in] */ long lnStartType) = 0;
  108.         
  109.         virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_Path( 
  110.             /* [retval][out] */ BSTR *retval) = 0;
  111.         
  112.         virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_Path( 
  113.             /* [in] */ BSTR bstrPath) = 0;
  114.         
  115.         virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_StartupParameters( 
  116.             /* [retval][out] */ BSTR *retval) = 0;
  117.         
  118.         virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_StartupParameters( 
  119.             /* [in] */ BSTR bstrStartupParameters) = 0;
  120.         
  121.         virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_ErrorControl( 
  122.             /* [retval][out] */ long *retval) = 0;
  123.         
  124.         virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_ErrorControl( 
  125.             /* [in] */ long lnErrorControl) = 0;
  126.         
  127.         virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_LoadOrderGroup( 
  128.             /* [retval][out] */ BSTR *retval) = 0;
  129.         
  130.         virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_LoadOrderGroup( 
  131.             /* [in] */ BSTR bstrLoadOrderGroup) = 0;
  132.         
  133.         virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_ServiceAccountName( 
  134.             /* [retval][out] */ BSTR *retval) = 0;
  135.         
  136.         virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_ServiceAccountName( 
  137.             /* [in] */ BSTR bstrServiceAccountName) = 0;
  138.         
  139.         virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_ServiceAccountPath( 
  140.             /* [retval][out] */ BSTR *retval) = 0;
  141.         
  142.         virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_ServiceAccountPath( 
  143.             /* [in] */ BSTR bstrServiceAccountPath) = 0;
  144.         
  145.         virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_Dependencies( 
  146.             /* [retval][out] */ VARIANT *retval) = 0;
  147.         
  148.         virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_Dependencies( 
  149.             /* [in] */ VARIANT vDependencies) = 0;
  150.         
  151.     };
  152.     
  153. #else  /* C style interface */
  154.     typedef struct IADsServiceVtbl
  155.     {
  156.         BEGIN_INTERFACE
  157.         
  158.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  159.             IADsService * This,
  160.             /* [in] */ REFIID riid,
  161.             /* [iid_is][out] */ void **ppvObject);
  162.         
  163.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  164.             IADsService * This);
  165.         
  166.         ULONG ( STDMETHODCALLTYPE *Release )( 
  167.             IADsService * This);
  168.         
  169.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
  170.             IADsService * This,
  171.             /* [out] */ UINT *pctinfo);
  172.         
  173.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
  174.             IADsService * This,
  175.             /* [in] */ UINT iTInfo,
  176.             /* [in] */ LCID lcid,
  177.             /* [out] */ ITypeInfo **ppTInfo);
  178.         
  179.         HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
  180.             IADsService * This,
  181.             /* [in] */ REFIID riid,
  182.             /* [size_is][in] */ LPOLESTR *rgszNames,
  183.             /* [in] */ UINT cNames,
  184.             /* [in] */ LCID lcid,
  185.             /* [size_is][out] */ DISPID *rgDispId);
  186.         
  187.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
  188.             IADsService * This,
  189.             /* [in] */ DISPID dispIdMember,
  190.             /* [in] */ REFIID riid,
  191.             /* [in] */ LCID lcid,
  192.             /* [in] */ WORD wFlags,
  193.             /* [out][in] */ DISPPARAMS *pDispParams,
  194.             /* [out] */ VARIANT *pVarResult,
  195.             /* [out] */ EXCEPINFO *pExcepInfo,
  196.             /* [out] */ UINT *puArgErr);
  197.         
  198.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
  199.             IADsService * This,
  200.             /* [retval][out] */ BSTR *retval);
  201.         
  202.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Class )( 
  203.             IADsService * This,
  204.             /* [retval][out] */ BSTR *retval);
  205.         
  206.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_GUID )( 
  207.             IADsService * This,
  208.             /* [retval][out] */ BSTR *retval);
  209.         
  210.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ADsPath )( 
  211.             IADsService * This,
  212.             /* [retval][out] */ BSTR *retval);
  213.         
  214.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Parent )( 
  215.             IADsService * This,
  216.             /* [retval][out] */ BSTR *retval);
  217.         
  218.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Schema )( 
  219.             IADsService * This,
  220.             /* [retval][out] */ BSTR *retval);
  221.         
  222.         /* [id] */ HRESULT ( STDMETHODCALLTYPE *GetInfo )( 
  223.             IADsService * This);
  224.         
  225.         /* [id] */ HRESULT ( STDMETHODCALLTYPE *SetInfo )( 
  226.             IADsService * This);
  227.         
  228.         /* [id] */ HRESULT ( STDMETHODCALLTYPE *Get )( 
  229.             IADsService * This,
  230.             /* [in] */ BSTR bstrName,
  231.             /* [retval][out] */ VARIANT *pvProp);
  232.         
  233.         /* [id] */ HRESULT ( STDMETHODCALLTYPE *Put )( 
  234.             IADsService * This,
  235.             /* [in] */ BSTR bstrName,
  236.             /* [in] */ VARIANT vProp);
  237.         
  238.         /* [id] */ HRESULT ( STDMETHODCALLTYPE *GetEx )( 
  239.             IADsService * This,
  240.             /* [in] */ BSTR bstrName,
  241.             /* [retval][out] */ VARIANT *pvProp);
  242.         
  243.         /* [id] */ HRESULT ( STDMETHODCALLTYPE *PutEx )( 
  244.             IADsService * This,
  245.             /* [in] */ long lnControlCode,
  246.             /* [in] */ BSTR bstrName,
  247.             /* [in] */ VARIANT vProp);
  248.         
  249.         /* [id] */ HRESULT ( STDMETHODCALLTYPE *GetInfoEx )( 
  250.             IADsService * This,
  251.             /* [in] */ VARIANT vProperties,
  252.             /* [in] */ long lnReserved);
  253.         
  254.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_HostComputer )( 
  255.             IADsService * This,
  256.             /* [retval][out] */ BSTR *retval);
  257.         
  258.         /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_HostComputer )( 
  259.             IADsService * This,
  260.             /* [in] */ BSTR bstrHostComputer);
  261.         
  262.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DisplayName )( 
  263.             IADsService * This,
  264.             /* [retval][out] */ BSTR *retval);
  265.         
  266.         /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_DisplayName )( 
  267.             IADsService * This,
  268.             /* [in] */ BSTR bstrDisplayName);
  269.         
  270.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Version )( 
  271.             IADsService * This,
  272.             /* [retval][out] */ BSTR *retval);
  273.         
  274.         /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Version )( 
  275.             IADsService * This,
  276.             /* [in] */ BSTR bstrVersion);
  277.         
  278.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ServiceType )( 
  279.             IADsService * This,
  280.             /* [retval][out] */ long *retval);
  281.         
  282.         /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ServiceType )( 
  283.             IADsService * This,
  284.             /* [in] */ long lnServiceType);
  285.         
  286.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_StartType )( 
  287.             IADsService * This,
  288.             /* [retval][out] */ long *retval);
  289.         
  290.         /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_StartType )( 
  291.             IADsService * This,
  292.             /* [in] */ long lnStartType);
  293.         
  294.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Path )( 
  295.             IADsService * This,
  296.             /* [retval][out] */ BSTR *retval);
  297.         
  298.         /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Path )( 
  299.             IADsService * This,
  300.             /* [in] */ BSTR bstrPath);
  301.         
  302.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_StartupParameters )( 
  303.             IADsService * This,
  304.             /* [retval][out] */ BSTR *retval);
  305.         
  306.         /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_StartupParameters )( 
  307.             IADsService * This,
  308.             /* [in] */ BSTR bstrStartupParameters);
  309.         
  310.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ErrorControl )( 
  311.             IADsService * This,
  312.             /* [retval][out] */ long *retval);
  313.         
  314.         /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ErrorControl )( 
  315.             IADsService * This,
  316.             /* [in] */ long lnErrorControl);
  317.         
  318.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_LoadOrderGroup )( 
  319.             IADsService * This,
  320.             /* [retval][out] */ BSTR *retval);
  321.         
  322.         /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_LoadOrderGroup )( 
  323.             IADsService * This,
  324.             /* [in] */ BSTR bstrLoadOrderGroup);
  325.         
  326.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ServiceAccountName )( 
  327.             IADsService * This,
  328.             /* [retval][out] */ BSTR *retval);
  329.         
  330.         /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ServiceAccountName )( 
  331.             IADsService * This,
  332.             /* [in] */ BSTR bstrServiceAccountName);
  333.         
  334.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ServiceAccountPath )( 
  335.             IADsService * This,
  336.             /* [retval][out] */ BSTR *retval);
  337.         
  338.         /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ServiceAccountPath )( 
  339.             IADsService * This,
  340.             /* [in] */ BSTR bstrServiceAccountPath);
  341.         
  342.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Dependencies )( 
  343.             IADsService * This,
  344.             /* [retval][out] */ VARIANT *retval);
  345.         
  346.         /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Dependencies )( 
  347.             IADsService * This,
  348.             /* [in] */ VARIANT vDependencies);
  349.         
  350.         END_INTERFACE
  351.     } IADsServiceVtbl;
  352.     interface IADsService
  353.     {
  354.         CONST_VTBL struct IADsServiceVtbl *lpVtbl;
  355.     };
  356.     
  357. #ifdef COBJMACROS
  358. #define IADsService_QueryInterface(This,riid,ppvObject)
  359.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  360. #define IADsService_AddRef(This)
  361.     (This)->lpVtbl -> AddRef(This)
  362. #define IADsService_Release(This)
  363.     (This)->lpVtbl -> Release(This)
  364. #define IADsService_GetTypeInfoCount(This,pctinfo)
  365.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  366. #define IADsService_GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  367.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  368. #define IADsService_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  369.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  370. #define IADsService_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  371.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  372. #define IADsService_get_Name(This,retval)
  373.     (This)->lpVtbl -> get_Name(This,retval)
  374. #define IADsService_get_Class(This,retval)
  375.     (This)->lpVtbl -> get_Class(This,retval)
  376. #define IADsService_get_GUID(This,retval)
  377.     (This)->lpVtbl -> get_GUID(This,retval)
  378. #define IADsService_get_ADsPath(This,retval)
  379.     (This)->lpVtbl -> get_ADsPath(This,retval)
  380. #define IADsService_get_Parent(This,retval)
  381.     (This)->lpVtbl -> get_Parent(This,retval)
  382. #define IADsService_get_Schema(This,retval)
  383.     (This)->lpVtbl -> get_Schema(This,retval)
  384. #define IADsService_GetInfo(This)
  385.     (This)->lpVtbl -> GetInfo(This)
  386. #define IADsService_SetInfo(This)
  387.     (This)->lpVtbl -> SetInfo(This)
  388. #define IADsService_Get(This,bstrName,pvProp)
  389.     (This)->lpVtbl -> Get(This,bstrName,pvProp)
  390. #define IADsService_Put(This,bstrName,vProp)
  391.     (This)->lpVtbl -> Put(This,bstrName,vProp)
  392. #define IADsService_GetEx(This,bstrName,pvProp)
  393.     (This)->lpVtbl -> GetEx(This,bstrName,pvProp)
  394. #define IADsService_PutEx(This,lnControlCode,bstrName,vProp)
  395.     (This)->lpVtbl -> PutEx(This,lnControlCode,bstrName,vProp)
  396. #define IADsService_GetInfoEx(This,vProperties,lnReserved)
  397.     (This)->lpVtbl -> GetInfoEx(This,vProperties,lnReserved)
  398. #define IADsService_get_HostComputer(This,retval)
  399.     (This)->lpVtbl -> get_HostComputer(This,retval)
  400. #define IADsService_put_HostComputer(This,bstrHostComputer)
  401.     (This)->lpVtbl -> put_HostComputer(This,bstrHostComputer)
  402. #define IADsService_get_DisplayName(This,retval)
  403.     (This)->lpVtbl -> get_DisplayName(This,retval)
  404. #define IADsService_put_DisplayName(This,bstrDisplayName)
  405.     (This)->lpVtbl -> put_DisplayName(This,bstrDisplayName)
  406. #define IADsService_get_Version(This,retval)
  407.     (This)->lpVtbl -> get_Version(This,retval)
  408. #define IADsService_put_Version(This,bstrVersion)
  409.     (This)->lpVtbl -> put_Version(This,bstrVersion)
  410. #define IADsService_get_ServiceType(This,retval)
  411.     (This)->lpVtbl -> get_ServiceType(This,retval)
  412. #define IADsService_put_ServiceType(This,lnServiceType)
  413.     (This)->lpVtbl -> put_ServiceType(This,lnServiceType)
  414. #define IADsService_get_StartType(This,retval)
  415.     (This)->lpVtbl -> get_StartType(This,retval)
  416. #define IADsService_put_StartType(This,lnStartType)
  417.     (This)->lpVtbl -> put_StartType(This,lnStartType)
  418. #define IADsService_get_Path(This,retval)
  419.     (This)->lpVtbl -> get_Path(This,retval)
  420. #define IADsService_put_Path(This,bstrPath)
  421.     (This)->lpVtbl -> put_Path(This,bstrPath)
  422. #define IADsService_get_StartupParameters(This,retval)
  423.     (This)->lpVtbl -> get_StartupParameters(This,retval)
  424. #define IADsService_put_StartupParameters(This,bstrStartupParameters)
  425.     (This)->lpVtbl -> put_StartupParameters(This,bstrStartupParameters)
  426. #define IADsService_get_ErrorControl(This,retval)
  427.     (This)->lpVtbl -> get_ErrorControl(This,retval)
  428. #define IADsService_put_ErrorControl(This,lnErrorControl)
  429.     (This)->lpVtbl -> put_ErrorControl(This,lnErrorControl)
  430. #define IADsService_get_LoadOrderGroup(This,retval)
  431.     (This)->lpVtbl -> get_LoadOrderGroup(This,retval)
  432. #define IADsService_put_LoadOrderGroup(This,bstrLoadOrderGroup)
  433.     (This)->lpVtbl -> put_LoadOrderGroup(This,bstrLoadOrderGroup)
  434. #define IADsService_get_ServiceAccountName(This,retval)
  435.     (This)->lpVtbl -> get_ServiceAccountName(This,retval)
  436. #define IADsService_put_ServiceAccountName(This,bstrServiceAccountName)
  437.     (This)->lpVtbl -> put_ServiceAccountName(This,bstrServiceAccountName)
  438. #define IADsService_get_ServiceAccountPath(This,retval)
  439.     (This)->lpVtbl -> get_ServiceAccountPath(This,retval)
  440. #define IADsService_put_ServiceAccountPath(This,bstrServiceAccountPath)
  441.     (This)->lpVtbl -> put_ServiceAccountPath(This,bstrServiceAccountPath)
  442. #define IADsService_get_Dependencies(This,retval)
  443.     (This)->lpVtbl -> get_Dependencies(This,retval)
  444. #define IADsService_put_Dependencies(This,vDependencies)
  445.     (This)->lpVtbl -> put_Dependencies(This,vDependencies)
  446. #endif /* COBJMACROS */
  447. #endif  /* C style interface */
  448. /* [id][propget] */ HRESULT STDMETHODCALLTYPE IADsService_get_HostComputer_Proxy( 
  449.     IADsService * This,
  450.     /* [retval][out] */ BSTR *retval);
  451. void __RPC_STUB IADsService_get_HostComputer_Stub(
  452.     IRpcStubBuffer *This,
  453.     IRpcChannelBuffer *_pRpcChannelBuffer,
  454.     PRPC_MESSAGE _pRpcMessage,
  455.     DWORD *_pdwStubPhase);
  456. /* [id][propput] */ HRESULT STDMETHODCALLTYPE IADsService_put_HostComputer_Proxy( 
  457.     IADsService * This,
  458.     /* [in] */ BSTR bstrHostComputer);
  459. void __RPC_STUB IADsService_put_HostComputer_Stub(
  460.     IRpcStubBuffer *This,
  461.     IRpcChannelBuffer *_pRpcChannelBuffer,
  462.     PRPC_MESSAGE _pRpcMessage,
  463.     DWORD *_pdwStubPhase);
  464. /* [id][propget] */ HRESULT STDMETHODCALLTYPE IADsService_get_DisplayName_Proxy( 
  465.     IADsService * This,
  466.     /* [retval][out] */ BSTR *retval);
  467. void __RPC_STUB IADsService_get_DisplayName_Stub(
  468.     IRpcStubBuffer *This,
  469.     IRpcChannelBuffer *_pRpcChannelBuffer,
  470.     PRPC_MESSAGE _pRpcMessage,
  471.     DWORD *_pdwStubPhase);
  472. /* [id][propput] */ HRESULT STDMETHODCALLTYPE IADsService_put_DisplayName_Proxy( 
  473.     IADsService * This,
  474.     /* [in] */ BSTR bstrDisplayName);
  475. void __RPC_STUB IADsService_put_DisplayName_Stub(
  476.     IRpcStubBuffer *This,
  477.     IRpcChannelBuffer *_pRpcChannelBuffer,
  478.     PRPC_MESSAGE _pRpcMessage,
  479.     DWORD *_pdwStubPhase);
  480. /* [id][propget] */ HRESULT STDMETHODCALLTYPE IADsService_get_Version_Proxy( 
  481.     IADsService * This,
  482.     /* [retval][out] */ BSTR *retval);
  483. void __RPC_STUB IADsService_get_Version_Stub(
  484.     IRpcStubBuffer *This,
  485.     IRpcChannelBuffer *_pRpcChannelBuffer,
  486.     PRPC_MESSAGE _pRpcMessage,
  487.     DWORD *_pdwStubPhase);
  488. /* [id][propput] */ HRESULT STDMETHODCALLTYPE IADsService_put_Version_Proxy( 
  489.     IADsService * This,
  490.     /* [in] */ BSTR bstrVersion);
  491. void __RPC_STUB IADsService_put_Version_Stub(
  492.     IRpcStubBuffer *This,
  493.     IRpcChannelBuffer *_pRpcChannelBuffer,
  494.     PRPC_MESSAGE _pRpcMessage,
  495.     DWORD *_pdwStubPhase);
  496. /* [id][propget] */ HRESULT STDMETHODCALLTYPE IADsService_get_ServiceType_Proxy( 
  497.     IADsService * This,
  498.     /* [retval][out] */ long *retval);
  499. void __RPC_STUB IADsService_get_ServiceType_Stub(
  500.     IRpcStubBuffer *This,
  501.     IRpcChannelBuffer *_pRpcChannelBuffer,
  502.     PRPC_MESSAGE _pRpcMessage,
  503.     DWORD *_pdwStubPhase);
  504. /* [id][propput] */ HRESULT STDMETHODCALLTYPE IADsService_put_ServiceType_Proxy( 
  505.     IADsService * This,
  506.     /* [in] */ long lnServiceType);
  507. void __RPC_STUB IADsService_put_ServiceType_Stub(
  508.     IRpcStubBuffer *This,
  509.     IRpcChannelBuffer *_pRpcChannelBuffer,
  510.     PRPC_MESSAGE _pRpcMessage,
  511.     DWORD *_pdwStubPhase);
  512. /* [id][propget] */ HRESULT STDMETHODCALLTYPE IADsService_get_StartType_Proxy( 
  513.     IADsService * This,
  514.     /* [retval][out] */ long *retval);
  515. void __RPC_STUB IADsService_get_StartType_Stub(
  516.     IRpcStubBuffer *This,
  517.     IRpcChannelBuffer *_pRpcChannelBuffer,
  518.     PRPC_MESSAGE _pRpcMessage,
  519.     DWORD *_pdwStubPhase);
  520. /* [id][propput] */ HRESULT STDMETHODCALLTYPE IADsService_put_StartType_Proxy( 
  521.     IADsService * This,
  522.     /* [in] */ long lnStartType);
  523. void __RPC_STUB IADsService_put_StartType_Stub(
  524.     IRpcStubBuffer *This,
  525.     IRpcChannelBuffer *_pRpcChannelBuffer,
  526.     PRPC_MESSAGE _pRpcMessage,
  527.     DWORD *_pdwStubPhase);
  528. /* [id][propget] */ HRESULT STDMETHODCALLTYPE IADsService_get_Path_Proxy( 
  529.     IADsService * This,
  530.     /* [retval][out] */ BSTR *retval);
  531. void __RPC_STUB IADsService_get_Path_Stub(
  532.     IRpcStubBuffer *This,
  533.     IRpcChannelBuffer *_pRpcChannelBuffer,
  534.     PRPC_MESSAGE _pRpcMessage,
  535.     DWORD *_pdwStubPhase);
  536. /* [id][propput] */ HRESULT STDMETHODCALLTYPE IADsService_put_Path_Proxy( 
  537.     IADsService * This,
  538.     /* [in] */ BSTR bstrPath);
  539. void __RPC_STUB IADsService_put_Path_Stub(
  540.     IRpcStubBuffer *This,
  541.     IRpcChannelBuffer *_pRpcChannelBuffer,
  542.     PRPC_MESSAGE _pRpcMessage,
  543.     DWORD *_pdwStubPhase);
  544. /* [id][propget] */ HRESULT STDMETHODCALLTYPE IADsService_get_StartupParameters_Proxy( 
  545.     IADsService * This,
  546.     /* [retval][out] */ BSTR *retval);
  547. void __RPC_STUB IADsService_get_StartupParameters_Stub(
  548.     IRpcStubBuffer *This,
  549.     IRpcChannelBuffer *_pRpcChannelBuffer,
  550.     PRPC_MESSAGE _pRpcMessage,
  551.     DWORD *_pdwStubPhase);
  552. /* [id][propput] */ HRESULT STDMETHODCALLTYPE IADsService_put_StartupParameters_Proxy( 
  553.     IADsService * This,
  554.     /* [in] */ BSTR bstrStartupParameters);
  555. void __RPC_STUB IADsService_put_StartupParameters_Stub(
  556.     IRpcStubBuffer *This,
  557.     IRpcChannelBuffer *_pRpcChannelBuffer,
  558.     PRPC_MESSAGE _pRpcMessage,
  559.     DWORD *_pdwStubPhase);
  560. /* [id][propget] */ HRESULT STDMETHODCALLTYPE IADsService_get_ErrorControl_Proxy( 
  561.     IADsService * This,
  562.     /* [retval][out] */ long *retval);
  563. void __RPC_STUB IADsService_get_ErrorControl_Stub(
  564.     IRpcStubBuffer *This,
  565.     IRpcChannelBuffer *_pRpcChannelBuffer,
  566.     PRPC_MESSAGE _pRpcMessage,
  567.     DWORD *_pdwStubPhase);
  568. /* [id][propput] */ HRESULT STDMETHODCALLTYPE IADsService_put_ErrorControl_Proxy( 
  569.     IADsService * This,
  570.     /* [in] */ long lnErrorControl);
  571. void __RPC_STUB IADsService_put_ErrorControl_Stub(
  572.     IRpcStubBuffer *This,
  573.     IRpcChannelBuffer *_pRpcChannelBuffer,
  574.     PRPC_MESSAGE _pRpcMessage,
  575.     DWORD *_pdwStubPhase);
  576. /* [id][propget] */ HRESULT STDMETHODCALLTYPE IADsService_get_LoadOrderGroup_Proxy( 
  577.     IADsService * This,
  578.     /* [retval][out] */ BSTR *retval);
  579. void __RPC_STUB IADsService_get_LoadOrderGroup_Stub(
  580.     IRpcStubBuffer *This,
  581.     IRpcChannelBuffer *_pRpcChannelBuffer,
  582.     PRPC_MESSAGE _pRpcMessage,
  583.     DWORD *_pdwStubPhase);
  584. /* [id][propput] */ HRESULT STDMETHODCALLTYPE IADsService_put_LoadOrderGroup_Proxy( 
  585.     IADsService * This,
  586.     /* [in] */ BSTR bstrLoadOrderGroup);
  587. void __RPC_STUB IADsService_put_LoadOrderGroup_Stub(
  588.     IRpcStubBuffer *This,
  589.     IRpcChannelBuffer *_pRpcChannelBuffer,
  590.     PRPC_MESSAGE _pRpcMessage,
  591.     DWORD *_pdwStubPhase);
  592. /* [id][propget] */ HRESULT STDMETHODCALLTYPE IADsService_get_ServiceAccountName_Proxy( 
  593.     IADsService * This,
  594.     /* [retval][out] */ BSTR *retval);
  595. void __RPC_STUB IADsService_get_ServiceAccountName_Stub(
  596.     IRpcStubBuffer *This,
  597.     IRpcChannelBuffer *_pRpcChannelBuffer,
  598.     PRPC_MESSAGE _pRpcMessage,
  599.     DWORD *_pdwStubPhase);
  600. /* [id][propput] */ HRESULT STDMETHODCALLTYPE IADsService_put_ServiceAccountName_Proxy( 
  601.     IADsService * This,
  602.     /* [in] */ BSTR bstrServiceAccountName);
  603. void __RPC_STUB IADsService_put_ServiceAccountName_Stub(
  604.     IRpcStubBuffer *This,
  605.     IRpcChannelBuffer *_pRpcChannelBuffer,
  606.     PRPC_MESSAGE _pRpcMessage,
  607.     DWORD *_pdwStubPhase);
  608. /* [id][propget] */ HRESULT STDMETHODCALLTYPE IADsService_get_ServiceAccountPath_Proxy( 
  609.     IADsService * This,
  610.     /* [retval][out] */ BSTR *retval);
  611. void __RPC_STUB IADsService_get_ServiceAccountPath_Stub(
  612.     IRpcStubBuffer *This,
  613.     IRpcChannelBuffer *_pRpcChannelBuffer,
  614.     PRPC_MESSAGE _pRpcMessage,
  615.     DWORD *_pdwStubPhase);
  616. /* [id][propput] */ HRESULT STDMETHODCALLTYPE IADsService_put_ServiceAccountPath_Proxy( 
  617.     IADsService * This,
  618.     /* [in] */ BSTR bstrServiceAccountPath);
  619. void __RPC_STUB IADsService_put_ServiceAccountPath_Stub(
  620.     IRpcStubBuffer *This,
  621.     IRpcChannelBuffer *_pRpcChannelBuffer,
  622.     PRPC_MESSAGE _pRpcMessage,
  623.     DWORD *_pdwStubPhase);
  624. /* [id][propget] */ HRESULT STDMETHODCALLTYPE IADsService_get_Dependencies_Proxy( 
  625.     IADsService * This,
  626.     /* [retval][out] */ VARIANT *retval);
  627. void __RPC_STUB IADsService_get_Dependencies_Stub(
  628.     IRpcStubBuffer *This,
  629.     IRpcChannelBuffer *_pRpcChannelBuffer,
  630.     PRPC_MESSAGE _pRpcMessage,
  631.     DWORD *_pdwStubPhase);
  632. /* [id][propput] */ HRESULT STDMETHODCALLTYPE IADsService_put_Dependencies_Proxy( 
  633.     IADsService * This,
  634.     /* [in] */ VARIANT vDependencies);
  635. void __RPC_STUB IADsService_put_Dependencies_Stub(
  636.     IRpcStubBuffer *This,
  637.     IRpcChannelBuffer *_pRpcChannelBuffer,
  638.     PRPC_MESSAGE _pRpcMessage,
  639.     DWORD *_pdwStubPhase);
  640. #endif  /* __IADsService_INTERFACE_DEFINED__ */
  641. #ifndef __IADsServiceOperations_INTERFACE_DEFINED__
  642. #define __IADsServiceOperations_INTERFACE_DEFINED__
  643. /* interface IADsServiceOperations */
  644. /* [object][dual][oleautomation][uuid] */ 
  645. EXTERN_C const IID IID_IADsServiceOperations;
  646. #if defined(__cplusplus) && !defined(CINTERFACE)
  647.     
  648.     MIDL_INTERFACE("5d7b33f0-31ca-11cf-a98a-00aa006bc149")
  649.     IADsServiceOperations : public IADs
  650.     {
  651.     public:
  652.         virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_Status( 
  653.             /* [retval][out] */ long *retval) = 0;
  654.         
  655.         virtual /* [id] */ HRESULT STDMETHODCALLTYPE Start( void) = 0;
  656.         
  657.         virtual /* [id] */ HRESULT STDMETHODCALLTYPE Stop( void) = 0;
  658.         
  659.         virtual /* [id] */ HRESULT STDMETHODCALLTYPE Pause( void) = 0;
  660.         
  661.         virtual /* [id] */ HRESULT STDMETHODCALLTYPE Continue( void) = 0;
  662.         
  663.         virtual /* [id] */ HRESULT STDMETHODCALLTYPE SetPassword( 
  664.             /* [in] */ BSTR bstrNewPassword) = 0;
  665.         
  666.     };
  667.     
  668. #else  /* C style interface */
  669.     typedef struct IADsServiceOperationsVtbl
  670.     {
  671.         BEGIN_INTERFACE
  672.         
  673.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  674.             IADsServiceOperations * This,
  675.             /* [in] */ REFIID riid,
  676.             /* [iid_is][out] */ void **ppvObject);
  677.         
  678.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  679.             IADsServiceOperations * This);
  680.         
  681.         ULONG ( STDMETHODCALLTYPE *Release )( 
  682.             IADsServiceOperations * This);
  683.         
  684.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
  685.             IADsServiceOperations * This,
  686.             /* [out] */ UINT *pctinfo);
  687.         
  688.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
  689.             IADsServiceOperations * This,
  690.             /* [in] */ UINT iTInfo,
  691.             /* [in] */ LCID lcid,
  692.             /* [out] */ ITypeInfo **ppTInfo);
  693.         
  694.         HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
  695.             IADsServiceOperations * This,
  696.             /* [in] */ REFIID riid,
  697.             /* [size_is][in] */ LPOLESTR *rgszNames,
  698.             /* [in] */ UINT cNames,
  699.             /* [in] */ LCID lcid,
  700.             /* [size_is][out] */ DISPID *rgDispId);
  701.         
  702.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
  703.             IADsServiceOperations * This,
  704.             /* [in] */ DISPID dispIdMember,
  705.             /* [in] */ REFIID riid,
  706.             /* [in] */ LCID lcid,
  707.             /* [in] */ WORD wFlags,
  708.             /* [out][in] */ DISPPARAMS *pDispParams,
  709.             /* [out] */ VARIANT *pVarResult,
  710.             /* [out] */ EXCEPINFO *pExcepInfo,
  711.             /* [out] */ UINT *puArgErr);
  712.         
  713.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
  714.             IADsServiceOperations * This,
  715.             /* [retval][out] */ BSTR *retval);
  716.         
  717.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Class )( 
  718.             IADsServiceOperations * This,
  719.             /* [retval][out] */ BSTR *retval);
  720.         
  721.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_GUID )( 
  722.             IADsServiceOperations * This,
  723.             /* [retval][out] */ BSTR *retval);
  724.         
  725.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ADsPath )( 
  726.             IADsServiceOperations * This,
  727.             /* [retval][out] */ BSTR *retval);
  728.         
  729.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Parent )( 
  730.             IADsServiceOperations * This,
  731.             /* [retval][out] */ BSTR *retval);
  732.         
  733.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Schema )( 
  734.             IADsServiceOperations * This,
  735.             /* [retval][out] */ BSTR *retval);
  736.         
  737.         /* [id] */ HRESULT ( STDMETHODCALLTYPE *GetInfo )( 
  738.             IADsServiceOperations * This);
  739.         
  740.         /* [id] */ HRESULT ( STDMETHODCALLTYPE *SetInfo )( 
  741.             IADsServiceOperations * This);
  742.         
  743.         /* [id] */ HRESULT ( STDMETHODCALLTYPE *Get )( 
  744.             IADsServiceOperations * This,
  745.             /* [in] */ BSTR bstrName,
  746.             /* [retval][out] */ VARIANT *pvProp);
  747.         
  748.         /* [id] */ HRESULT ( STDMETHODCALLTYPE *Put )( 
  749.             IADsServiceOperations * This,
  750.             /* [in] */ BSTR bstrName,
  751.             /* [in] */ VARIANT vProp);
  752.         
  753.         /* [id] */ HRESULT ( STDMETHODCALLTYPE *GetEx )( 
  754.             IADsServiceOperations * This,
  755.             /* [in] */ BSTR bstrName,
  756.             /* [retval][out] */ VARIANT *pvProp);
  757.         
  758.         /* [id] */ HRESULT ( STDMETHODCALLTYPE *PutEx )( 
  759.             IADsServiceOperations * This,
  760.             /* [in] */ long lnControlCode,
  761.             /* [in] */ BSTR bstrName,
  762.             /* [in] */ VARIANT vProp);
  763.         
  764.         /* [id] */ HRESULT ( STDMETHODCALLTYPE *GetInfoEx )( 
  765.             IADsServiceOperations * This,
  766.             /* [in] */ VARIANT vProperties,
  767.             /* [in] */ long lnReserved);
  768.         
  769.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Status )( 
  770.             IADsServiceOperations * This,
  771.             /* [retval][out] */ long *retval);
  772.         
  773.         /* [id] */ HRESULT ( STDMETHODCALLTYPE *Start )( 
  774.             IADsServiceOperations * This);
  775.         
  776.         /* [id] */ HRESULT ( STDMETHODCALLTYPE *Stop )( 
  777.             IADsServiceOperations * This);
  778.         
  779.         /* [id] */ HRESULT ( STDMETHODCALLTYPE *Pause )( 
  780.             IADsServiceOperations * This);
  781.         
  782.         /* [id] */ HRESULT ( STDMETHODCALLTYPE *Continue )( 
  783.             IADsServiceOperations * This);
  784.         
  785.         /* [id] */ HRESULT ( STDMETHODCALLTYPE *SetPassword )( 
  786.             IADsServiceOperations * This,
  787.             /* [in] */ BSTR bstrNewPassword);
  788.         
  789.         END_INTERFACE
  790.     } IADsServiceOperationsVtbl;
  791.     interface IADsServiceOperations
  792.     {
  793.         CONST_VTBL struct IADsServiceOperationsVtbl *lpVtbl;
  794.     };
  795.     
  796. #ifdef COBJMACROS
  797. #define IADsServiceOperations_QueryInterface(This,riid,ppvObject)
  798.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  799. #define IADsServiceOperations_AddRef(This)
  800.     (This)->lpVtbl -> AddRef(This)
  801. #define IADsServiceOperations_Release(This)
  802.     (This)->lpVtbl -> Release(This)
  803. #define IADsServiceOperations_GetTypeInfoCount(This,pctinfo)
  804.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  805. #define IADsServiceOperations_GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  806.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  807. #define IADsServiceOperations_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  808.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  809. #define IADsServiceOperations_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  810.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  811. #define IADsServiceOperations_get_Name(This,retval)
  812.     (This)->lpVtbl -> get_Name(This,retval)
  813. #define IADsServiceOperations_get_Class(This,retval)
  814.     (This)->lpVtbl -> get_Class(This,retval)
  815. #define IADsServiceOperations_get_GUID(This,retval)
  816.     (This)->lpVtbl -> get_GUID(This,retval)
  817. #define IADsServiceOperations_get_ADsPath(This,retval)
  818.     (This)->lpVtbl -> get_ADsPath(This,retval)
  819. #define IADsServiceOperations_get_Parent(This,retval)
  820.     (This)->lpVtbl -> get_Parent(This,retval)
  821. #define IADsServiceOperations_get_Schema(This,retval)
  822.     (This)->lpVtbl -> get_Schema(This,retval)
  823. #define IADsServiceOperations_GetInfo(This)
  824.     (This)->lpVtbl -> GetInfo(This)
  825. #define IADsServiceOperations_SetInfo(This)
  826.     (This)->lpVtbl -> SetInfo(This)
  827. #define IADsServiceOperations_Get(This,bstrName,pvProp)
  828.     (This)->lpVtbl -> Get(This,bstrName,pvProp)
  829. #define IADsServiceOperations_Put(This,bstrName,vProp)
  830.     (This)->lpVtbl -> Put(This,bstrName,vProp)
  831. #define IADsServiceOperations_GetEx(This,bstrName,pvProp)
  832.     (This)->lpVtbl -> GetEx(This,bstrName,pvProp)
  833. #define IADsServiceOperations_PutEx(This,lnControlCode,bstrName,vProp)
  834.     (This)->lpVtbl -> PutEx(This,lnControlCode,bstrName,vProp)
  835. #define IADsServiceOperations_GetInfoEx(This,vProperties,lnReserved)
  836.     (This)->lpVtbl -> GetInfoEx(This,vProperties,lnReserved)
  837. #define IADsServiceOperations_get_Status(This,retval)
  838.     (This)->lpVtbl -> get_Status(This,retval)
  839. #define IADsServiceOperations_Start(This)
  840.     (This)->lpVtbl -> Start(This)
  841. #define IADsServiceOperations_Stop(This)
  842.     (This)->lpVtbl -> Stop(This)
  843. #define IADsServiceOperations_Pause(This)
  844.     (This)->lpVtbl -> Pause(This)
  845. #define IADsServiceOperations_Continue(This)
  846.     (This)->lpVtbl -> Continue(This)
  847. #define IADsServiceOperations_SetPassword(This,bstrNewPassword)
  848.     (This)->lpVtbl -> SetPassword(This,bstrNewPassword)
  849. #endif /* COBJMACROS */
  850. #endif  /* C style interface */
  851. /* [id][propget] */ HRESULT STDMETHODCALLTYPE IADsServiceOperations_get_Status_Proxy( 
  852.     IADsServiceOperations * This,
  853.     /* [retval][out] */ long *retval);
  854. void __RPC_STUB IADsServiceOperations_get_Status_Stub(
  855.     IRpcStubBuffer *This,
  856.     IRpcChannelBuffer *_pRpcChannelBuffer,
  857.     PRPC_MESSAGE _pRpcMessage,
  858.     DWORD *_pdwStubPhase);
  859. /* [id] */ HRESULT STDMETHODCALLTYPE IADsServiceOperations_Start_Proxy( 
  860.     IADsServiceOperations * This);
  861. void __RPC_STUB IADsServiceOperations_Start_Stub(
  862.     IRpcStubBuffer *This,
  863.     IRpcChannelBuffer *_pRpcChannelBuffer,
  864.     PRPC_MESSAGE _pRpcMessage,
  865.     DWORD *_pdwStubPhase);
  866. /* [id] */ HRESULT STDMETHODCALLTYPE IADsServiceOperations_Stop_Proxy( 
  867.     IADsServiceOperations * This);
  868. void __RPC_STUB IADsServiceOperations_Stop_Stub(
  869.     IRpcStubBuffer *This,
  870.     IRpcChannelBuffer *_pRpcChannelBuffer,
  871.     PRPC_MESSAGE _pRpcMessage,
  872.     DWORD *_pdwStubPhase);
  873. /* [id] */ HRESULT STDMETHODCALLTYPE IADsServiceOperations_Pause_Proxy( 
  874.     IADsServiceOperations * This);
  875. void __RPC_STUB IADsServiceOperations_Pause_Stub(
  876.     IRpcStubBuffer *This,
  877.     IRpcChannelBuffer *_pRpcChannelBuffer,
  878.     PRPC_MESSAGE _pRpcMessage,
  879.     DWORD *_pdwStubPhase);
  880. /* [id] */ HRESULT STDMETHODCALLTYPE IADsServiceOperations_Continue_Proxy( 
  881.     IADsServiceOperations * This);
  882. void __RPC_STUB IADsServiceOperations_Continue_Stub(
  883.     IRpcStubBuffer *This,
  884.     IRpcChannelBuffer *_pRpcChannelBuffer,
  885.     PRPC_MESSAGE _pRpcMessage,
  886.     DWORD *_pdwStubPhase);
  887. /* [id] */ HRESULT STDMETHODCALLTYPE IADsServiceOperations_SetPassword_Proxy( 
  888.     IADsServiceOperations * This,
  889.     /* [in] */ BSTR bstrNewPassword);
  890. void __RPC_STUB IADsServiceOperations_SetPassword_Stub(
  891.     IRpcStubBuffer *This,
  892.     IRpcChannelBuffer *_pRpcChannelBuffer,
  893.     PRPC_MESSAGE _pRpcMessage,
  894.     DWORD *_pdwStubPhase);
  895. #endif  /* __IADsServiceOperations_INTERFACE_DEFINED__ */
  896. #ifndef __IADsFileService_INTERFACE_DEFINED__
  897. #define __IADsFileService_INTERFACE_DEFINED__
  898. /* interface IADsFileService */
  899. /* [object][dual][oleautomation][uuid] */ 
  900. EXTERN_C const IID IID_IADsFileService;
  901. #if defined(__cplusplus) && !defined(CINTERFACE)
  902.     
  903.     MIDL_INTERFACE("a89d1900-31ca-11cf-a98a-00aa006bc149")
  904.     IADsFileService : public IADsService
  905.     {
  906.     public:
  907.         virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_Description( 
  908.             /* [retval][out] */ BSTR *retval) = 0;
  909.         
  910.         virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_Description( 
  911.             /* [in] */ BSTR bstrDescription) = 0;
  912.         
  913.         virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_MaxUserCount( 
  914.             /* [retval][out] */ long *retval) = 0;
  915.         
  916.         virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_MaxUserCount( 
  917.             /* [in] */ long lnMaxUserCount) = 0;
  918.         
  919.     };
  920.     
  921. #else  /* C style interface */
  922.     typedef struct IADsFileServiceVtbl
  923.     {
  924.         BEGIN_INTERFACE
  925.         
  926.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  927.             IADsFileService * This,
  928.             /* [in] */ REFIID riid,
  929.             /* [iid_is][out] */ void **ppvObject);
  930.         
  931.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  932.             IADsFileService * This);
  933.         
  934.         ULONG ( STDMETHODCALLTYPE *Release )( 
  935.             IADsFileService * This);
  936.         
  937.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
  938.             IADsFileService * This,
  939.             /* [out] */ UINT *pctinfo);
  940.         
  941.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
  942.             IADsFileService * This,
  943.             /* [in] */ UINT iTInfo,
  944.             /* [in] */ LCID lcid,
  945.             /* [out] */ ITypeInfo **ppTInfo);
  946.         
  947.         HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
  948.             IADsFileService * This,
  949.             /* [in] */ REFIID riid,
  950.             /* [size_is][in] */ LPOLESTR *rgszNames,
  951.             /* [in] */ UINT cNames,
  952.             /* [in] */ LCID lcid,
  953.             /* [size_is][out] */ DISPID *rgDispId);
  954.         
  955.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
  956.             IADsFileService * This,
  957.             /* [in] */ DISPID dispIdMember,
  958.             /* [in] */ REFIID riid,
  959.             /* [in] */ LCID lcid,
  960.             /* [in] */ WORD wFlags,
  961.             /* [out][in] */ DISPPARAMS *pDispParams,
  962.             /* [out] */ VARIANT *pVarResult,
  963.             /* [out] */ EXCEPINFO *pExcepInfo,
  964.             /* [out] */ UINT *puArgErr);
  965.         
  966.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
  967.             IADsFileService * This,
  968.             /* [retval][out] */ BSTR *retval);
  969.         
  970.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Class )( 
  971.             IADsFileService * This,
  972.             /* [retval][out] */ BSTR *retval);
  973.         
  974.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_GUID )( 
  975.             IADsFileService * This,
  976.             /* [retval][out] */ BSTR *retval);
  977.         
  978.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ADsPath )( 
  979.             IADsFileService * This,
  980.             /* [retval][out] */ BSTR *retval);
  981.         
  982.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Parent )( 
  983.             IADsFileService * This,
  984.             /* [retval][out] */ BSTR *retval);
  985.         
  986.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Schema )( 
  987.             IADsFileService * This,
  988.             /* [retval][out] */ BSTR *retval);
  989.         
  990.         /* [id] */ HRESULT ( STDMETHODCALLTYPE *GetInfo )( 
  991.             IADsFileService * This);
  992.         
  993.         /* [id] */ HRESULT ( STDMETHODCALLTYPE *SetInfo )( 
  994.             IADsFileService * This);
  995.         
  996.         /* [id] */ HRESULT ( STDMETHODCALLTYPE *Get )( 
  997.             IADsFileService * This,
  998.             /* [in] */ BSTR bstrName,
  999.             /* [retval][out] */ VARIANT *pvProp);
  1000.         
  1001.         /* [id] */ HRESULT ( STDMETHODCALLTYPE *Put )( 
  1002.             IADsFileService * This,
  1003.             /* [in] */ BSTR bstrName,
  1004.             /* [in] */ VARIANT vProp);
  1005.         
  1006.         /* [id] */ HRESULT ( STDMETHODCALLTYPE *GetEx )( 
  1007.             IADsFileService * This,
  1008.             /* [in] */ BSTR bstrName,
  1009.             /* [retval][out] */ VARIANT *pvProp);
  1010.         
  1011.         /* [id] */ HRESULT ( STDMETHODCALLTYPE *PutEx )( 
  1012.             IADsFileService * This,
  1013.             /* [in] */ long lnControlCode,
  1014.             /* [in] */ BSTR bstrName,
  1015.             /* [in] */ VARIANT vProp);
  1016.         
  1017.         /* [id] */ HRESULT ( STDMETHODCALLTYPE *GetInfoEx )( 
  1018.             IADsFileService * This,
  1019.             /* [in] */ VARIANT vProperties,
  1020.             /* [in] */ long lnReserved);
  1021.         
  1022.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_HostComputer )( 
  1023.             IADsFileService * This,
  1024.             /* [retval][out] */ BSTR *retval);
  1025.         
  1026.         /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_HostComputer )( 
  1027.             IADsFileService * This,
  1028.             /* [in] */ BSTR bstrHostComputer);
  1029.         
  1030.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DisplayName )( 
  1031.             IADsFileService * This,
  1032.             /* [retval][out] */ BSTR *retval);
  1033.         
  1034.         /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_DisplayName )( 
  1035.             IADsFileService * This,
  1036.             /* [in] */ BSTR bstrDisplayName);
  1037.         
  1038.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Version )( 
  1039.             IADsFileService * This,
  1040.             /* [retval][out] */ BSTR *retval);
  1041.         
  1042.         /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Version )( 
  1043.             IADsFileService * This,
  1044.             /* [in] */ BSTR bstrVersion);
  1045.         
  1046.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ServiceType )( 
  1047.             IADsFileService * This,
  1048.             /* [retval][out] */ long *retval);
  1049.         
  1050.         /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ServiceType )( 
  1051.             IADsFileService * This,
  1052.             /* [in] */ long lnServiceType);
  1053.         
  1054.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_StartType )( 
  1055.             IADsFileService * This,
  1056.             /* [retval][out] */ long *retval);
  1057.         
  1058.         /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_StartType )( 
  1059.             IADsFileService * This,
  1060.             /* [in] */ long lnStartType);
  1061.         
  1062.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Path )( 
  1063.             IADsFileService * This,
  1064.             /* [retval][out] */ BSTR *retval);
  1065.         
  1066.         /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Path )( 
  1067.             IADsFileService * This,
  1068.             /* [in] */ BSTR bstrPath);
  1069.         
  1070.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_StartupParameters )( 
  1071.             IADsFileService * This,
  1072.             /* [retval][out] */ BSTR *retval);
  1073.         
  1074.         /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_StartupParameters )( 
  1075.             IADsFileService * This,
  1076.             /* [in] */ BSTR bstrStartupParameters);
  1077.         
  1078.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ErrorControl )( 
  1079.             IADsFileService * This,
  1080.             /* [retval][out] */ long *retval);
  1081.         
  1082.         /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ErrorControl )( 
  1083.             IADsFileService * This,
  1084.             /* [in] */ long lnErrorControl);
  1085.         
  1086.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_LoadOrderGroup )( 
  1087.             IADsFileService * This,
  1088.             /* [retval][out] */ BSTR *retval);
  1089.         
  1090.         /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_LoadOrderGroup )( 
  1091.             IADsFileService * This,
  1092.             /* [in] */ BSTR bstrLoadOrderGroup);
  1093.         
  1094.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ServiceAccountName )( 
  1095.             IADsFileService * This,
  1096.             /* [retval][out] */ BSTR *retval);
  1097.         
  1098.         /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ServiceAccountName )( 
  1099.             IADsFileService * This,
  1100.             /* [in] */ BSTR bstrServiceAccountName);
  1101.         
  1102.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ServiceAccountPath )( 
  1103.             IADsFileService * This,
  1104.             /* [retval][out] */ BSTR *retval);
  1105.         
  1106.         /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ServiceAccountPath )( 
  1107.             IADsFileService * This,
  1108.             /* [in] */ BSTR bstrServiceAccountPath);
  1109.         
  1110.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Dependencies )( 
  1111.             IADsFileService * This,
  1112.             /* [retval][out] */ VARIANT *retval);
  1113.         
  1114.         /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Dependencies )( 
  1115.             IADsFileService * This,
  1116.             /* [in] */ VARIANT vDependencies);
  1117.         
  1118.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Description )( 
  1119.             IADsFileService * This,
  1120.             /* [retval][out] */ BSTR *retval);
  1121.         
  1122.         /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Description )( 
  1123.             IADsFileService * This,
  1124.             /* [in] */ BSTR bstrDescription);
  1125.         
  1126.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_MaxUserCount )( 
  1127.             IADsFileService * This,
  1128.             /* [retval][out] */ long *retval);
  1129.         
  1130.         /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_MaxUserCount )( 
  1131.             IADsFileService * This,
  1132.             /* [in] */ long lnMaxUserCount);
  1133.         
  1134.         END_INTERFACE
  1135.     } IADsFileServiceVtbl;
  1136.     interface IADsFileService
  1137.     {
  1138.         CONST_VTBL struct IADsFileServiceVtbl *lpVtbl;
  1139.     };
  1140.     
  1141. #ifdef COBJMACROS
  1142. #define IADsFileService_QueryInterface(This,riid,ppvObject)
  1143.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1144. #define IADsFileService_AddRef(This)
  1145.     (This)->lpVtbl -> AddRef(This)
  1146. #define IADsFileService_Release(This)
  1147.     (This)->lpVtbl -> Release(This)
  1148. #define IADsFileService_GetTypeInfoCount(This,pctinfo)
  1149.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  1150. #define IADsFileService_GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  1151.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  1152. #define IADsFileService_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  1153.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  1154. #define IADsFileService_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  1155.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  1156. #define IADsFileService_get_Name(This,retval)
  1157.     (This)->lpVtbl -> get_Name(This,retval)
  1158. #define IADsFileService_get_Class(This,retval)
  1159.     (This)->lpVtbl -> get_Class(This,retval)
  1160. #define IADsFileService_get_GUID(This,retval)
  1161.     (This)->lpVtbl -> get_GUID(This,retval)
  1162. #define IADsFileService_get_ADsPath(This,retval)
  1163.     (This)->lpVtbl -> get_ADsPath(This,retval)
  1164. #define IADsFileService_get_Parent(This,retval)
  1165.     (This)->lpVtbl -> get_Parent(This,retval)
  1166. #define IADsFileService_get_Schema(This,retval)
  1167.     (This)->lpVtbl -> get_Schema(This,retval)
  1168. #define IADsFileService_GetInfo(This)
  1169.     (This)->lpVtbl -> GetInfo(This)
  1170. #define IADsFileService_SetInfo(This)
  1171.     (This)->lpVtbl -> SetInfo(This)
  1172. #define IADsFileService_Get(This,bstrName,pvProp)
  1173.     (This)->lpVtbl -> Get(This,bstrName,pvProp)
  1174. #define IADsFileService_Put(This,bstrName,vProp)
  1175.     (This)->lpVtbl -> Put(This,bstrName,vProp)
  1176. #define IADsFileService_GetEx(This,bstrName,pvProp)
  1177.     (This)->lpVtbl -> GetEx(This,bstrName,pvProp)
  1178. #define IADsFileService_PutEx(This,lnControlCode,bstrName,vProp)
  1179.     (This)->lpVtbl -> PutEx(This,lnControlCode,bstrName,vProp)
  1180. #define IADsFileService_GetInfoEx(This,vProperties,lnReserved)
  1181.     (This)->lpVtbl -> GetInfoEx(This,vProperties,lnReserved)
  1182. #define IADsFileService_get_HostComputer(This,retval)
  1183.     (This)->lpVtbl -> get_HostComputer(This,retval)
  1184. #define IADsFileService_put_HostComputer(This,bstrHostComputer)
  1185.     (This)->lpVtbl -> put_HostComputer(This,bstrHostComputer)
  1186. #define IADsFileService_get_DisplayName(This,retval)
  1187.     (This)->lpVtbl -> get_DisplayName(This,retval)
  1188. #define IADsFileService_put_DisplayName(This,bstrDisplayName)
  1189.     (This)->lpVtbl -> put_DisplayName(This,bstrDisplayName)
  1190. #define IADsFileService_get_Version(This,retval)
  1191.     (This)->lpVtbl -> get_Version(This,retval)
  1192. #define IADsFileService_put_Version(This,bstrVersion)
  1193.     (This)->lpVtbl -> put_Version(This,bstrVersion)
  1194. #define IADsFileService_get_ServiceType(This,retval)
  1195.     (This)->lpVtbl -> get_ServiceType(This,retval)
  1196. #define IADsFileService_put_ServiceType(This,lnServiceType)
  1197.     (This)->lpVtbl -> put_ServiceType(This,lnServiceType)
  1198. #define IADsFileService_get_StartType(This,retval)
  1199.     (This)->lpVtbl -> get_StartType(This,retval)
  1200. #define IADsFileService_put_StartType(This,lnStartType)
  1201.     (This)->lpVtbl -> put_StartType(This,lnStartType)
  1202. #define IADsFileService_get_Path(This,retval)
  1203.     (This)->lpVtbl -> get_Path(This,retval)
  1204. #define IADsFileService_put_Path(This,bstrPath)
  1205.     (This)->lpVtbl -> put_Path(This,bstrPath)
  1206. #define IADsFileService_get_StartupParameters(This,retval)
  1207.     (This)->lpVtbl -> get_StartupParameters(This,retval)
  1208. #define IADsFileService_put_StartupParameters(This,bstrStartupParameters)
  1209.     (This)->lpVtbl -> put_StartupParameters(This,bstrStartupParameters)
  1210. #define IADsFileService_get_ErrorControl(This,retval)
  1211.     (This)->lpVtbl -> get_ErrorControl(This,retval)
  1212. #define IADsFileService_put_ErrorControl(This,lnErrorControl)
  1213.     (This)->lpVtbl -> put_ErrorControl(This,lnErrorControl)
  1214. #define IADsFileService_get_LoadOrderGroup(This,retval)
  1215.     (This)->lpVtbl -> get_LoadOrderGroup(This,retval)
  1216. #define IADsFileService_put_LoadOrderGroup(This,bstrLoadOrderGroup)
  1217.     (This)->lpVtbl -> put_LoadOrderGroup(This,bstrLoadOrderGroup)
  1218. #define IADsFileService_get_ServiceAccountName(This,retval)
  1219.     (This)->lpVtbl -> get_ServiceAccountName(This,retval)
  1220. #define IADsFileService_put_ServiceAccountName(This,bstrServiceAccountName)
  1221.     (This)->lpVtbl -> put_ServiceAccountName(This,bstrServiceAccountName)
  1222. #define IADsFileService_get_ServiceAccountPath(This,retval)
  1223.     (This)->lpVtbl -> get_ServiceAccountPath(This,retval)
  1224. #define IADsFileService_put_ServiceAccountPath(This,bstrServiceAccountPath)
  1225.     (This)->lpVtbl -> put_ServiceAccountPath(This,bstrServiceAccountPath)
  1226. #define IADsFileService_get_Dependencies(This,retval)
  1227.     (This)->lpVtbl -> get_Dependencies(This,retval)
  1228. #define IADsFileService_put_Dependencies(This,vDependencies)
  1229.     (This)->lpVtbl -> put_Dependencies(This,vDependencies)
  1230. #define IADsFileService_get_Description(This,retval)
  1231.     (This)->lpVtbl -> get_Description(This,retval)
  1232. #define IADsFileService_put_Description(This,bstrDescription)
  1233.     (This)->lpVtbl -> put_Description(This,bstrDescription)
  1234. #define IADsFileService_get_MaxUserCount(This,retval)
  1235.     (This)->lpVtbl -> get_MaxUserCount(This,retval)
  1236. #define IADsFileService_put_MaxUserCount(This,lnMaxUserCount)
  1237.     (This)->lpVtbl -> put_MaxUserCount(This,lnMaxUserCount)
  1238. #endif /* COBJMACROS */
  1239. #endif  /* C style interface */
  1240. /* [id][propget] */ HRESULT STDMETHODCALLTYPE IADsFileService_get_Description_Proxy( 
  1241.     IADsFileService * This,
  1242.     /* [retval][out] */ BSTR *retval);
  1243. void __RPC_STUB IADsFileService_get_Description_Stub(
  1244.     IRpcStubBuffer *This,
  1245.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1246.     PRPC_MESSAGE _pRpcMessage,
  1247.     DWORD *_pdwStubPhase);
  1248. /* [id][propput] */ HRESULT STDMETHODCALLTYPE IADsFileService_put_Description_Proxy( 
  1249.     IADsFileService * This,
  1250.     /* [in] */ BSTR bstrDescription);
  1251. void __RPC_STUB IADsFileService_put_Description_Stub(
  1252.     IRpcStubBuffer *This,
  1253.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1254.     PRPC_MESSAGE _pRpcMessage,
  1255.     DWORD *_pdwStubPhase);
  1256. /* [id][propget] */ HRESULT STDMETHODCALLTYPE IADsFileService_get_MaxUserCount_Proxy( 
  1257.     IADsFileService * This,
  1258.     /* [retval][out] */ long *retval);
  1259. void __RPC_STUB IADsFileService_get_MaxUserCount_Stub(
  1260.     IRpcStubBuffer *This,
  1261.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1262.     PRPC_MESSAGE _pRpcMessage,
  1263.     DWORD *_pdwStubPhase);
  1264. /* [id][propput] */ HRESULT STDMETHODCALLTYPE IADsFileService_put_MaxUserCount_Proxy( 
  1265.     IADsFileService * This,
  1266.     /* [in] */ long lnMaxUserCount);
  1267. void __RPC_STUB IADsFileService_put_MaxUserCount_Stub(
  1268.     IRpcStubBuffer *This,
  1269.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1270.     PRPC_MESSAGE _pRpcMessage,
  1271.     DWORD *_pdwStubPhase);
  1272. #endif  /* __IADsFileService_INTERFACE_DEFINED__ */
  1273. #ifndef __IADsFileServiceOperations_INTERFACE_DEFINED__
  1274. #define __IADsFileServiceOperations_INTERFACE_DEFINED__
  1275. /* interface IADsFileServiceOperations */
  1276. /* [object][dual][oleautomation][uuid] */ 
  1277. EXTERN_C const IID IID_IADsFileServiceOperations;
  1278. #if defined(__cplusplus) && !defined(CINTERFACE)
  1279.     
  1280.     MIDL_INTERFACE("a02ded10-31ca-11cf-a98a-00aa006bc149")
  1281.     IADsFileServiceOperations : public IADsServiceOperations
  1282.     {
  1283.     public:
  1284.         virtual /* [id] */ HRESULT STDMETHODCALLTYPE Sessions( 
  1285.             /* [retval][out] */ IADsCollection **ppSessions) = 0;
  1286.         
  1287.         virtual /* [id] */ HRESULT STDMETHODCALLTYPE Resources( 
  1288.             /* [retval][out] */ IADsCollection **ppResources) = 0;
  1289.         
  1290.     };
  1291.     
  1292. #else  /* C style interface */
  1293.     typedef struct IADsFileServiceOperationsVtbl
  1294.     {
  1295.         BEGIN_INTERFACE
  1296.         
  1297.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1298.             IADsFileServiceOperations * This,
  1299.             /* [in] */ REFIID riid,
  1300.             /* [iid_is][out] */ void **ppvObject);
  1301.         
  1302.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1303.             IADsFileServiceOperations * This);
  1304.         
  1305.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1306.             IADsFileServiceOperations * This);
  1307.         
  1308.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
  1309.             IADsFileServiceOperations * This,
  1310.             /* [out] */ UINT *pctinfo);
  1311.         
  1312.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
  1313.             IADsFileServiceOperations * This,
  1314.             /* [in] */ UINT iTInfo,
  1315.             /* [in] */ LCID lcid,
  1316.             /* [out] */ ITypeInfo **ppTInfo);
  1317.         
  1318.         HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
  1319.             IADsFileServiceOperations * This,
  1320.             /* [in] */ REFIID riid,
  1321.             /* [size_is][in] */ LPOLESTR *rgszNames,
  1322.             /* [in] */ UINT cNames,
  1323.             /* [in] */ LCID lcid,
  1324.             /* [size_is][out] */ DISPID *rgDispId);
  1325.         
  1326.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
  1327.             IADsFileServiceOperations * This,
  1328.             /* [in] */ DISPID dispIdMember,
  1329.             /* [in] */ REFIID riid,
  1330.             /* [in] */ LCID lcid,
  1331.             /* [in] */ WORD wFlags,
  1332.             /* [out][in] */ DISPPARAMS *pDispParams,
  1333.             /* [out] */ VARIANT *pVarResult,
  1334.             /* [out] */ EXCEPINFO *pExcepInfo,
  1335.             /* [out] */ UINT *puArgErr);
  1336.         
  1337.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
  1338.             IADsFileServiceOperations * This,
  1339.             /* [retval][out] */ BSTR *retval);
  1340.         
  1341.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Class )( 
  1342.             IADsFileServiceOperations * This,
  1343.             /* [retval][out] */ BSTR *retval);
  1344.         
  1345.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_GUID )( 
  1346.             IADsFileServiceOperations * This,
  1347.             /* [retval][out] */ BSTR *retval);
  1348.         
  1349.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ADsPath )( 
  1350.             IADsFileServiceOperations * This,
  1351.             /* [retval][out] */ BSTR *retval);
  1352.         
  1353.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Parent )( 
  1354.             IADsFileServiceOperations * This,
  1355.             /* [retval][out] */ BSTR *retval);
  1356.         
  1357.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Schema )( 
  1358.             IADsFileServiceOperations * This,
  1359.             /* [retval][out] */ BSTR *retval);
  1360.         
  1361.         /* [id] */ HRESULT ( STDMETHODCALLTYPE *GetInfo )( 
  1362.             IADsFileServiceOperations * This);
  1363.         
  1364.         /* [id] */ HRESULT ( STDMETHODCALLTYPE *SetInfo )( 
  1365.             IADsFileServiceOperations * This);
  1366.         
  1367.         /* [id] */ HRESULT ( STDMETHODCALLTYPE *Get )( 
  1368.             IADsFileServiceOperations * This,
  1369.             /* [in] */ BSTR bstrName,
  1370.             /* [retval][out] */ VARIANT *pvProp);
  1371.         
  1372.         /* [id] */ HRESULT ( STDMETHODCALLTYPE *Put )( 
  1373.             IADsFileServiceOperations * This,
  1374.             /* [in] */ BSTR bstrName,
  1375.             /* [in] */ VARIANT vProp);
  1376.         
  1377.         /* [id] */ HRESULT ( STDMETHODCALLTYPE *GetEx )( 
  1378.             IADsFileServiceOperations * This,
  1379.             /* [in] */ BSTR bstrName,
  1380.             /* [retval][out] */ VARIANT *pvProp);
  1381.         
  1382.         /* [id] */ HRESULT ( STDMETHODCALLTYPE *PutEx )( 
  1383.             IADsFileServiceOperations * This,
  1384.             /* [in] */ long lnControlCode,
  1385.             /* [in] */ BSTR bstrName,
  1386.             /* [in] */ VARIANT vProp);
  1387.         
  1388.         /* [id] */ HRESULT ( STDMETHODCALLTYPE *GetInfoEx )( 
  1389.             IADsFileServiceOperations * This,
  1390.             /* [in] */ VARIANT vProperties,
  1391.             /* [in] */ long lnReserved);
  1392.         
  1393.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Status )( 
  1394.             IADsFileServiceOperations * This,
  1395.             /* [retval][out] */ long *retval);
  1396.         
  1397.         /* [id] */ HRESULT ( STDMETHODCALLTYPE *Start )( 
  1398.             IADsFileServiceOperations * This);
  1399.         
  1400.         /* [id] */ HRESULT ( STDMETHODCALLTYPE *Stop )( 
  1401.             IADsFileServiceOperations * This);
  1402.         
  1403.         /* [id] */ HRESULT ( STDMETHODCALLTYPE *Pause )( 
  1404.             IADsFileServiceOperations * This);
  1405.         
  1406.         /* [id] */ HRESULT ( STDMETHODCALLTYPE *Continue )( 
  1407.             IADsFileServiceOperations * This);
  1408.         
  1409.         /* [id] */ HRESULT ( STDMETHODCALLTYPE *SetPassword )( 
  1410.             IADsFileServiceOperations * This,
  1411.             /* [in] */ BSTR bstrNewPassword);
  1412.         
  1413.         /* [id] */ HRESULT ( STDMETHODCALLTYPE *Sessions )( 
  1414.             IADsFileServiceOperations * This,
  1415.             /* [retval][out] */ IADsCollection **ppSessions);
  1416.         
  1417.         /* [id] */ HRESULT ( STDMETHODCALLTYPE *Resources )( 
  1418.             IADsFileServiceOperations * This,
  1419.             /* [retval][out] */ IADsCollection **ppResources);
  1420.         
  1421.         END_INTERFACE
  1422.     } IADsFileServiceOperationsVtbl;
  1423.     interface IADsFileServiceOperations
  1424.     {
  1425.         CONST_VTBL struct IADsFileServiceOperationsVtbl *lpVtbl;
  1426.     };
  1427.     
  1428. #ifdef COBJMACROS
  1429. #define IADsFileServiceOperations_QueryInterface(This,riid,ppvObject)
  1430.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1431. #define IADsFileServiceOperations_AddRef(This)
  1432.     (This)->lpVtbl -> AddRef(This)
  1433. #define IADsFileServiceOperations_Release(This)
  1434.     (This)->lpVtbl -> Release(This)
  1435. #define IADsFileServiceOperations_GetTypeInfoCount(This,pctinfo)
  1436.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  1437. #define IADsFileServiceOperations_GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  1438.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  1439. #define IADsFileServiceOperations_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  1440.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  1441. #define IADsFileServiceOperations_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  1442.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  1443. #define IADsFileServiceOperations_get_Name(This,retval)
  1444.     (This)->lpVtbl -> get_Name(This,retval)
  1445. #define IADsFileServiceOperations_get_Class(This,retval)
  1446.     (This)->lpVtbl -> get_Class(This,retval)
  1447. #define IADsFileServiceOperations_get_GUID(This,retval)
  1448.     (This)->lpVtbl -> get_GUID(This,retval)
  1449. #define IADsFileServiceOperations_get_ADsPath(This,retval)
  1450.     (This)->lpVtbl -> get_ADsPath(This,retval)
  1451. #define IADsFileServiceOperations_get_Parent(This,retval)
  1452.     (This)->lpVtbl -> get_Parent(This,retval)
  1453. #define IADsFileServiceOperations_get_Schema(This,retval)
  1454.     (This)->lpVtbl -> get_Schema(This,retval)
  1455. #define IADsFileServiceOperations_GetInfo(This)
  1456.     (This)->lpVtbl -> GetInfo(This)
  1457. #define IADsFileServiceOperations_SetInfo(This)
  1458.     (This)->lpVtbl -> SetInfo(This)
  1459. #define IADsFileServiceOperations_Get(This,bstrName,pvProp)
  1460.     (This)->lpVtbl -> Get(This,bstrName,pvProp)
  1461. #define IADsFileServiceOperations_Put(This,bstrName,vProp)
  1462.     (This)->lpVtbl -> Put(This,bstrName,vProp)
  1463. #define IADsFileServiceOperations_GetEx(This,bstrName,pvProp)
  1464.     (This)->lpVtbl -> GetEx(This,bstrName,pvProp)
  1465. #define IADsFileServiceOperations_PutEx(This,lnControlCode,bstrName,vProp)
  1466.     (This)->lpVtbl -> PutEx(This,lnControlCode,bstrName,vProp)
  1467. #define IADsFileServiceOperations_GetInfoEx(This,vProperties,lnReserved)
  1468.     (This)->lpVtbl -> GetInfoEx(This,vProperties,lnReserved)
  1469. #define IADsFileServiceOperations_get_Status(This,retval)
  1470.     (This)->lpVtbl -> get_Status(This,retval)
  1471. #define IADsFileServiceOperations_Start(This)
  1472.     (This)->lpVtbl -> Start(This)
  1473. #define IADsFileServiceOperations_Stop(This)
  1474.     (This)->lpVtbl -> Stop(This)
  1475. #define IADsFileServiceOperations_Pause(This)
  1476.     (This)->lpVtbl -> Pause(This)
  1477. #define IADsFileServiceOperations_Continue(This)
  1478.     (This)->lpVtbl -> Continue(This)
  1479. #define IADsFileServiceOperations_SetPassword(This,bstrNewPassword)
  1480.     (This)->lpVtbl -> SetPassword(This,bstrNewPassword)
  1481. #define IADsFileServiceOperations_Sessions(This,ppSessions)
  1482.     (This)->lpVtbl -> Sessions(This,ppSessions)
  1483. #define IADsFileServiceOperations_Resources(This,ppResources)
  1484.     (This)->lpVtbl -> Resources(This,ppResources)
  1485. #endif /* COBJMACROS */
  1486. #endif  /* C style interface */
  1487. /* [id] */ HRESULT STDMETHODCALLTYPE IADsFileServiceOperations_Sessions_Proxy( 
  1488.     IADsFileServiceOperations * This,
  1489.     /* [retval][out] */ IADsCollection **ppSessions);
  1490. void __RPC_STUB IADsFileServiceOperations_Sessions_Stub(
  1491.     IRpcStubBuffer *This,
  1492.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1493.     PRPC_MESSAGE _pRpcMessage,
  1494.     DWORD *_pdwStubPhase);
  1495. /* [id] */ HRESULT STDMETHODCALLTYPE IADsFileServiceOperations_Resources_Proxy( 
  1496.     IADsFileServiceOperations * This,
  1497.     /* [retval][out] */ IADsCollection **ppResources);
  1498. void __RPC_STUB IADsFileServiceOperations_Resources_Stub(
  1499.     IRpcStubBuffer *This,
  1500.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1501.     PRPC_MESSAGE _pRpcMessage,
  1502.     DWORD *_pdwStubPhase);
  1503. #endif  /* __IADsFileServiceOperations_INTERFACE_DEFINED__ */
  1504. #ifndef __IADsFileShare_INTERFACE_DEFINED__
  1505. #define __IADsFileShare_INTERFACE_DEFINED__
  1506. /* interface IADsFileShare */
  1507. /* [object][dual][oleautomation][uuid] */ 
  1508. EXTERN_C const IID IID_IADsFileShare;
  1509. #if defined(__cplusplus) && !defined(CINTERFACE)
  1510.     
  1511.     MIDL_INTERFACE("eb6dcaf0-4b83-11cf-a995-00aa006bc149")
  1512.     IADsFileShare : public IADs
  1513.     {
  1514.     public:
  1515.         virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_CurrentUserCount( 
  1516.             /* [retval][out] */ long *retval) = 0;
  1517.         
  1518.         virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_Description( 
  1519.             /* [retval][out] */ BSTR *retval) = 0;
  1520.         
  1521.         virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_Description( 
  1522.             /* [in] */ BSTR bstrDescription) = 0;
  1523.         
  1524.         virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_HostComputer( 
  1525.             /* [retval][out] */ BSTR *retval) = 0;
  1526.         
  1527.         virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_HostComputer( 
  1528.             /* [in] */ BSTR bstrHostComputer) = 0;
  1529.         
  1530.         virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_Path( 
  1531.             /* [retval][out] */ BSTR *retval) = 0;
  1532.         
  1533.         virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_Path( 
  1534.             /* [in] */ BSTR bstrPath) = 0;
  1535.         
  1536.         virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_MaxUserCount( 
  1537.             /* [retval][out] */ long *retval) = 0;
  1538.         
  1539.         virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_MaxUserCount( 
  1540.             /* [in] */ long lnMaxUserCount) = 0;
  1541.         
  1542.     };
  1543.     
  1544. #else  /* C style interface */
  1545.     typedef struct IADsFileShareVtbl
  1546.     {
  1547.         BEGIN_INTERFACE
  1548.         
  1549.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1550.             IADsFileShare * This,
  1551.             /* [in] */ REFIID riid,
  1552.             /* [iid_is][out] */ void **ppvObject);
  1553.         
  1554.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1555.             IADsFileShare * This);
  1556.         
  1557.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1558.             IADsFileShare * This);
  1559.         
  1560.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
  1561.             IADsFileShare * This,
  1562.             /* [out] */ UINT *pctinfo);
  1563.         
  1564.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
  1565.             IADsFileShare * This,
  1566.             /* [in] */ UINT iTInfo,
  1567.             /* [in] */ LCID lcid,
  1568.             /* [out] */ ITypeInfo **ppTInfo);
  1569.         
  1570.         HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
  1571.             IADsFileShare * This,
  1572.             /* [in] */ REFIID riid,
  1573.             /* [size_is][in] */ LPOLESTR *rgszNames,
  1574.             /* [in] */ UINT cNames,
  1575.             /* [in] */ LCID lcid,
  1576.             /* [size_is][out] */ DISPID *rgDispId);
  1577.         
  1578.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
  1579.             IADsFileShare * This,
  1580.             /* [in] */ DISPID dispIdMember,
  1581.             /* [in] */ REFIID riid,
  1582.             /* [in] */ LCID lcid,
  1583.             /* [in] */ WORD wFlags,
  1584.             /* [out][in] */ DISPPARAMS *pDispParams,
  1585.             /* [out] */ VARIANT *pVarResult,
  1586.             /* [out] */ EXCEPINFO *pExcepInfo,
  1587.             /* [out] */ UINT *puArgErr);
  1588.         
  1589.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
  1590.             IADsFileShare * This,
  1591.             /* [retval][out] */ BSTR *retval);
  1592.         
  1593.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Class )( 
  1594.             IADsFileShare * This,
  1595.             /* [retval][out] */ BSTR *retval);
  1596.         
  1597.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_GUID )( 
  1598.             IADsFileShare * This,
  1599.             /* [retval][out] */ BSTR *retval);
  1600.         
  1601.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ADsPath )( 
  1602.             IADsFileShare * This,
  1603.             /* [retval][out] */ BSTR *retval);
  1604.         
  1605.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Parent )( 
  1606.             IADsFileShare * This,
  1607.             /* [retval][out] */ BSTR *retval);
  1608.         
  1609.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Schema )( 
  1610.             IADsFileShare * This,
  1611.             /* [retval][out] */ BSTR *retval);
  1612.         
  1613.         /* [id] */ HRESULT ( STDMETHODCALLTYPE *GetInfo )( 
  1614.             IADsFileShare * This);
  1615.         
  1616.         /* [id] */ HRESULT ( STDMETHODCALLTYPE *SetInfo )( 
  1617.             IADsFileShare * This);
  1618.         
  1619.         /* [id] */ HRESULT ( STDMETHODCALLTYPE *Get )( 
  1620.             IADsFileShare * This,
  1621.             /* [in] */ BSTR bstrName,
  1622.             /* [retval][out] */ VARIANT *pvProp);
  1623.         
  1624.         /* [id] */ HRESULT ( STDMETHODCALLTYPE *Put )( 
  1625.             IADsFileShare * This,
  1626.             /* [in] */ BSTR bstrName,
  1627.             /* [in] */ VARIANT vProp);
  1628.         
  1629.         /* [id] */ HRESULT ( STDMETHODCALLTYPE *GetEx )( 
  1630.             IADsFileShare * This,
  1631.             /* [in] */ BSTR bstrName,
  1632.             /* [retval][out] */ VARIANT *pvProp);
  1633.         
  1634.         /* [id] */ HRESULT ( STDMETHODCALLTYPE *PutEx )( 
  1635.             IADsFileShare * This,
  1636.             /* [in] */ long lnControlCode,
  1637.             /* [in] */ BSTR bstrName,
  1638.             /* [in] */ VARIANT vProp);
  1639.         
  1640.         /* [id] */ HRESULT ( STDMETHODCALLTYPE *GetInfoEx )( 
  1641.             IADsFileShare * This,
  1642.             /* [in] */ VARIANT vProperties,
  1643.             /* [in] */ long lnReserved);
  1644.         
  1645.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_CurrentUserCount )( 
  1646.             IADsFileShare * This,
  1647.             /* [retval][out] */ long *retval);
  1648.         
  1649.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Description )( 
  1650.             IADsFileShare * This,
  1651.             /* [retval][out] */ BSTR *retval);
  1652.         
  1653.         /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Description )( 
  1654.             IADsFileShare * This,
  1655.             /* [in] */ BSTR bstrDescription);
  1656.         
  1657.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_HostComputer )( 
  1658.             IADsFileShare * This,
  1659.             /* [retval][out] */ BSTR *retval);
  1660.         
  1661.         /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_HostComputer )( 
  1662.             IADsFileShare * This,
  1663.             /* [in] */ BSTR bstrHostComputer);
  1664.         
  1665.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Path )( 
  1666.             IADsFileShare * This,
  1667.             /* [retval][out] */ BSTR *retval);
  1668.         
  1669.         /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Path )( 
  1670.             IADsFileShare * This,
  1671.             /* [in] */ BSTR bstrPath);
  1672.         
  1673.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_MaxUserCount )( 
  1674.             IADsFileShare * This,
  1675.             /* [retval][out] */ long *retval);
  1676.         
  1677.         /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_MaxUserCount )( 
  1678.             IADsFileShare * This,
  1679.             /* [in] */ long lnMaxUserCount);
  1680.         
  1681.         END_INTERFACE
  1682.     } IADsFileShareVtbl;
  1683.     interface IADsFileShare
  1684.     {
  1685.         CONST_VTBL struct IADsFileShareVtbl *lpVtbl;
  1686.     };
  1687.     
  1688. #ifdef COBJMACROS
  1689. #define IADsFileShare_QueryInterface(This,riid,ppvObject)
  1690.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1691. #define IADsFileShare_AddRef(This)
  1692.     (This)->lpVtbl -> AddRef(This)
  1693. #define IADsFileShare_Release(This)
  1694.     (This)->lpVtbl -> Release(This)
  1695. #define IADsFileShare_GetTypeInfoCount(This,pctinfo)
  1696.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  1697. #define IADsFileShare_GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  1698.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  1699. #define IADsFileShare_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  1700.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  1701. #define IADsFileShare_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  1702.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  1703. #define IADsFileShare_get_Name(This,retval)
  1704.     (This)->lpVtbl -> get_Name(This,retval)
  1705. #define IADsFileShare_get_Class(This,retval)
  1706.     (This)->lpVtbl -> get_Class(This,retval)
  1707. #define IADsFileShare_get_GUID(This,retval)
  1708.     (This)->lpVtbl -> get_GUID(This,retval)
  1709. #define IADsFileShare_get_ADsPath(This,retval)
  1710.     (This)->lpVtbl -> get_ADsPath(This,retval)
  1711. #define IADsFileShare_get_Parent(This,retval)
  1712.     (This)->lpVtbl -> get_Parent(This,retval)
  1713. #define IADsFileShare_get_Schema(This,retval)
  1714.     (This)->lpVtbl -> get_Schema(This,retval)
  1715. #define IADsFileShare_GetInfo(This)
  1716.     (This)->lpVtbl -> GetInfo(This)
  1717. #define IADsFileShare_SetInfo(This)
  1718.     (This)->lpVtbl -> SetInfo(This)
  1719. #define IADsFileShare_Get(This,bstrName,pvProp)
  1720.     (This)->lpVtbl -> Get(This,bstrName,pvProp)
  1721. #define IADsFileShare_Put(This,bstrName,vProp)
  1722.     (This)->lpVtbl -> Put(This,bstrName,vProp)
  1723. #define IADsFileShare_GetEx(This,bstrName,pvProp)
  1724.     (This)->lpVtbl -> GetEx(This,bstrName,pvProp)
  1725. #define IADsFileShare_PutEx(This,lnControlCode,bstrName,vProp)
  1726.     (This)->lpVtbl -> PutEx(This,lnControlCode,bstrName,vProp)
  1727. #define IADsFileShare_GetInfoEx(This,vProperties,lnReserved)
  1728.     (This)->lpVtbl -> GetInfoEx(This,vProperties,lnReserved)
  1729. #define IADsFileShare_get_CurrentUserCount(This,retval)
  1730.     (This)->lpVtbl -> get_CurrentUserCount(This,retval)
  1731. #define IADsFileShare_get_Description(This,retval)
  1732.     (This)->lpVtbl -> get_Description(This,retval)
  1733. #define IADsFileShare_put_Description(This,bstrDescription)
  1734.     (This)->lpVtbl -> put_Description(This,bstrDescription)
  1735. #define IADsFileShare_get_HostComputer(This,retval)
  1736.     (This)->lpVtbl -> get_HostComputer(This,retval)
  1737. #define IADsFileShare_put_HostComputer(This,bstrHostComputer)
  1738.     (This)->lpVtbl -> put_HostComputer(This,bstrHostComputer)
  1739. #define IADsFileShare_get_Path(This,retval)
  1740.     (This)->lpVtbl -> get_Path(This,retval)
  1741. #define IADsFileShare_put_Path(This,bstrPath)
  1742.     (This)->lpVtbl -> put_Path(This,bstrPath)
  1743. #define IADsFileShare_get_MaxUserCount(This,retval)
  1744.     (This)->lpVtbl -> get_MaxUserCount(This,retval)
  1745. #define IADsFileShare_put_MaxUserCount(This,lnMaxUserCount)
  1746.     (This)->lpVtbl -> put_MaxUserCount(This,lnMaxUserCount)
  1747. #endif /* COBJMACROS */
  1748. #endif  /* C style interface */
  1749. /* [id][propget] */ HRESULT STDMETHODCALLTYPE IADsFileShare_get_CurrentUserCount_Proxy( 
  1750.     IADsFileShare * This,
  1751.     /* [retval][out] */ long *retval);
  1752. void __RPC_STUB IADsFileShare_get_CurrentUserCount_Stub(
  1753.     IRpcStubBuffer *This,
  1754.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1755.     PRPC_MESSAGE _pRpcMessage,
  1756.     DWORD *_pdwStubPhase);
  1757. /* [id][propget] */ HRESULT STDMETHODCALLTYPE IADsFileShare_get_Description_Proxy( 
  1758.     IADsFileShare * This,
  1759.     /* [retval][out] */ BSTR *retval);
  1760. void __RPC_STUB IADsFileShare_get_Description_Stub(
  1761.     IRpcStubBuffer *This,
  1762.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1763.     PRPC_MESSAGE _pRpcMessage,
  1764.     DWORD *_pdwStubPhase);
  1765. /* [id][propput] */ HRESULT STDMETHODCALLTYPE IADsFileShare_put_Description_Proxy( 
  1766.     IADsFileShare * This,
  1767.     /* [in] */ BSTR bstrDescription);
  1768. void __RPC_STUB IADsFileShare_put_Description_Stub(
  1769.     IRpcStubBuffer *This,
  1770.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1771.     PRPC_MESSAGE _pRpcMessage,
  1772.     DWORD *_pdwStubPhase);
  1773. /* [id][propget] */ HRESULT STDMETHODCALLTYPE IADsFileShare_get_HostComputer_Proxy( 
  1774.     IADsFileShare * This,
  1775.     /* [retval][out] */ BSTR *retval);
  1776. void __RPC_STUB IADsFileShare_get_HostComputer_Stub(
  1777.     IRpcStubBuffer *This,
  1778.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1779.     PRPC_MESSAGE _pRpcMessage,
  1780.     DWORD *_pdwStubPhase);
  1781. /* [id][propput] */ HRESULT STDMETHODCALLTYPE IADsFileShare_put_HostComputer_Proxy( 
  1782.     IADsFileShare * This,
  1783.     /* [in] */ BSTR bstrHostComputer);
  1784. void __RPC_STUB IADsFileShare_put_HostComputer_Stub(
  1785.     IRpcStubBuffer *This,
  1786.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1787.     PRPC_MESSAGE _pRpcMessage,
  1788.     DWORD *_pdwStubPhase);
  1789. /* [id][propget] */ HRESULT STDMETHODCALLTYPE IADsFileShare_get_Path_Proxy( 
  1790.     IADsFileShare * This,
  1791.     /* [retval][out] */ BSTR *retval);
  1792. void __RPC_STUB IADsFileShare_get_Path_Stub(
  1793.     IRpcStubBuffer *This,
  1794.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1795.     PRPC_MESSAGE _pRpcMessage,
  1796.     DWORD *_pdwStubPhase);
  1797. /* [id][propput] */ HRESULT STDMETHODCALLTYPE IADsFileShare_put_Path_Proxy( 
  1798.     IADsFileShare * This,
  1799.     /* [in] */ BSTR bstrPath);
  1800. void __RPC_STUB IADsFileShare_put_Path_Stub(
  1801.     IRpcStubBuffer *This,
  1802.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1803.     PRPC_MESSAGE _pRpcMessage,
  1804.     DWORD *_pdwStubPhase);
  1805. /* [id][propget] */ HRESULT STDMETHODCALLTYPE IADsFileShare_get_MaxUserCount_Proxy( 
  1806.     IADsFileShare * This,
  1807.     /* [retval][out] */ long *retval);
  1808. void __RPC_STUB IADsFileShare_get_MaxUserCount_Stub(
  1809.     IRpcStubBuffer *This,
  1810.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1811.     PRPC_MESSAGE _pRpcMessage,
  1812.     DWORD *_pdwStubPhase);
  1813. /* [id][propput] */ HRESULT STDMETHODCALLTYPE IADsFileShare_put_MaxUserCount_Proxy( 
  1814.     IADsFileShare * This,
  1815.     /* [in] */ long lnMaxUserCount);
  1816. void __RPC_STUB IADsFileShare_put_MaxUserCount_Stub(
  1817.     IRpcStubBuffer *This,
  1818.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1819.     PRPC_MESSAGE _pRpcMessage,
  1820.     DWORD *_pdwStubPhase);
  1821. #endif  /* __IADsFileShare_INTERFACE_DEFINED__ */
  1822. #ifndef __IADsSession_INTERFACE_DEFINED__
  1823. #define __IADsSession_INTERFACE_DEFINED__
  1824. /* interface IADsSession */
  1825. /* [object][dual][oleautomation][uuid] */ 
  1826. EXTERN_C const IID IID_IADsSession;
  1827. #if defined(__cplusplus) && !defined(CINTERFACE)
  1828.     
  1829.     MIDL_INTERFACE("398b7da0-4aab-11cf-ae2c-00aa006ebfb9")
  1830.     IADsSession : public IADs
  1831.     {
  1832.     public:
  1833.         virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_User( 
  1834.             /* [retval][out] */ BSTR *retval) = 0;
  1835.         
  1836.         virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_UserPath( 
  1837.             /* [retval][out] */ BSTR *retval) = 0;
  1838.         
  1839.         virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_Computer( 
  1840.             /* [retval][out] */ BSTR *retval) = 0;
  1841.         
  1842.         virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_ComputerPath( 
  1843.             /* [retval][out] */ BSTR *retval) = 0;
  1844.         
  1845.         virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_ConnectTime( 
  1846.             /* [retval][out] */ long *retval) = 0;
  1847.         
  1848.         virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_IdleTime( 
  1849.             /* [retval][out] */ long *retval) = 0;
  1850.         
  1851.     };
  1852.     
  1853. #else  /* C style interface */
  1854.     typedef struct IADsSessionVtbl
  1855.     {
  1856.         BEGIN_INTERFACE
  1857.         
  1858.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1859.             IADsSession * This,
  1860.             /* [in] */ REFIID riid,
  1861.             /* [iid_is][out] */ void **ppvObject);
  1862.         
  1863.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1864.             IADsSession * This);
  1865.         
  1866.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1867.             IADsSession * This);
  1868.         
  1869.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
  1870.             IADsSession * This,
  1871.             /* [out] */ UINT *pctinfo);
  1872.         
  1873.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
  1874.             IADsSession * This,
  1875.             /* [in] */ UINT iTInfo,
  1876.             /* [in] */ LCID lcid,
  1877.             /* [out] */ ITypeInfo **ppTInfo);
  1878.         
  1879.         HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
  1880.             IADsSession * This,
  1881.             /* [in] */ REFIID riid,
  1882.             /* [size_is][in] */ LPOLESTR *rgszNames,
  1883.             /* [in] */ UINT cNames,
  1884.             /* [in] */ LCID lcid,
  1885.             /* [size_is][out] */ DISPID *rgDispId);
  1886.         
  1887.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
  1888.             IADsSession * This,
  1889.             /* [in] */ DISPID dispIdMember,
  1890.             /* [in] */ REFIID riid,
  1891.             /* [in] */ LCID lcid,
  1892.             /* [in] */ WORD wFlags,
  1893.             /* [out][in] */ DISPPARAMS *pDispParams,
  1894.             /* [out] */ VARIANT *pVarResult,
  1895.             /* [out] */ EXCEPINFO *pExcepInfo,
  1896.             /* [out] */ UINT *puArgErr);
  1897.         
  1898.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
  1899.             IADsSession * This,
  1900.             /* [retval][out] */ BSTR *retval);
  1901.         
  1902.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Class )( 
  1903.             IADsSession * This,
  1904.             /* [retval][out] */ BSTR *retval);
  1905.         
  1906.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_GUID )( 
  1907.             IADsSession * This,
  1908.             /* [retval][out] */ BSTR *retval);
  1909.         
  1910.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ADsPath )( 
  1911.             IADsSession * This,
  1912.             /* [retval][out] */ BSTR *retval);
  1913.         
  1914.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Parent )( 
  1915.             IADsSession * This,
  1916.             /* [retval][out] */ BSTR *retval);
  1917.         
  1918.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Schema )( 
  1919.             IADsSession * This,
  1920.             /* [retval][out] */ BSTR *retval);
  1921.         
  1922.         /* [id] */ HRESULT ( STDMETHODCALLTYPE *GetInfo )( 
  1923.             IADsSession * This);
  1924.         
  1925.         /* [id] */ HRESULT ( STDMETHODCALLTYPE *SetInfo )( 
  1926.             IADsSession * This);
  1927.         
  1928.         /* [id] */ HRESULT ( STDMETHODCALLTYPE *Get )( 
  1929.             IADsSession * This,
  1930.             /* [in] */ BSTR bstrName,
  1931.             /* [retval][out] */ VARIANT *pvProp);
  1932.         
  1933.         /* [id] */ HRESULT ( STDMETHODCALLTYPE *Put )( 
  1934.             IADsSession * This,
  1935.             /* [in] */ BSTR bstrName,
  1936.             /* [in] */ VARIANT vProp);
  1937.         
  1938.         /* [id] */ HRESULT ( STDMETHODCALLTYPE *GetEx )( 
  1939.             IADsSession * This,
  1940.             /* [in] */ BSTR bstrName,
  1941.             /* [retval][out] */ VARIANT *pvProp);
  1942.         
  1943.         /* [id] */ HRESULT ( STDMETHODCALLTYPE *PutEx )( 
  1944.             IADsSession * This,
  1945.             /* [in] */ long lnControlCode,
  1946.             /* [in] */ BSTR bstrName,
  1947.             /* [in] */ VARIANT vProp);
  1948.         
  1949.         /* [id] */ HRESULT ( STDMETHODCALLTYPE *GetInfoEx )( 
  1950.             IADsSession * This,
  1951.             /* [in] */ VARIANT vProperties,
  1952.             /* [in] */ long lnReserved);
  1953.         
  1954.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_User )( 
  1955.             IADsSession * This,
  1956.             /* [retval][out] */ BSTR *retval);
  1957.         
  1958.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_UserPath )( 
  1959.             IADsSession * This,
  1960.             /* [retval][out] */ BSTR *retval);
  1961.         
  1962.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Computer )( 
  1963.             IADsSession * This,
  1964.             /* [retval][out] */ BSTR *retval);
  1965.         
  1966.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ComputerPath )( 
  1967.             IADsSession * This,
  1968.             /* [retval][out] */ BSTR *retval);
  1969.         
  1970.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ConnectTime )( 
  1971.             IADsSession * This,
  1972.             /* [retval][out] */ long *retval);
  1973.         
  1974.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_IdleTime )( 
  1975.             IADsSession * This,
  1976.             /* [retval][out] */ long *retval);
  1977.         
  1978.         END_INTERFACE
  1979.     } IADsSessionVtbl;
  1980.     interface IADsSession
  1981.     {
  1982.         CONST_VTBL struct IADsSessionVtbl *lpVtbl;
  1983.     };
  1984.     
  1985. #ifdef COBJMACROS
  1986. #define IADsSession_QueryInterface(This,riid,ppvObject)
  1987.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1988. #define IADsSession_AddRef(This)
  1989.     (This)->lpVtbl -> AddRef(This)
  1990. #define IADsSession_Release(This)
  1991.     (This)->lpVtbl -> Release(This)
  1992. #define IADsSession_GetTypeInfoCount(This,pctinfo)
  1993.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  1994. #define IADsSession_GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  1995.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  1996. #define IADsSession_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  1997.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  1998. #define IADsSession_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  1999.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  2000. #define IADsSession_get_Name(This,retval)
  2001.     (This)->lpVtbl -> get_Name(This,retval)
  2002. #define IADsSession_get_Class(This,retval)
  2003.     (This)->lpVtbl -> get_Class(This,retval)
  2004. #define IADsSession_get_GUID(This,retval)
  2005.     (This)->lpVtbl -> get_GUID(This,retval)
  2006. #define IADsSession_get_ADsPath(This,retval)
  2007.     (This)->lpVtbl -> get_ADsPath(This,retval)
  2008. #define IADsSession_get_Parent(This,retval)
  2009.     (This)->lpVtbl -> get_Parent(This,retval)
  2010. #define IADsSession_get_Schema(This,retval)
  2011.     (This)->lpVtbl -> get_Schema(This,retval)
  2012. #define IADsSession_GetInfo(This)
  2013.     (This)->lpVtbl -> GetInfo(This)
  2014. #define IADsSession_SetInfo(This)
  2015.     (This)->lpVtbl -> SetInfo(This)
  2016. #define IADsSession_Get(This,bstrName,pvProp)
  2017.     (This)->lpVtbl -> Get(This,bstrName,pvProp)
  2018. #define IADsSession_Put(This,bstrName,vProp)
  2019.     (This)->lpVtbl -> Put(This,bstrName,vProp)
  2020. #define IADsSession_GetEx(This,bstrName,pvProp)
  2021.     (This)->lpVtbl -> GetEx(This,bstrName,pvProp)
  2022. #define IADsSession_PutEx(This,lnControlCode,bstrName,vProp)
  2023.     (This)->lpVtbl -> PutEx(This,lnControlCode,bstrName,vProp)
  2024. #define IADsSession_GetInfoEx(This,vProperties,lnReserved)
  2025.     (This)->lpVtbl -> GetInfoEx(This,vProperties,lnReserved)
  2026. #define IADsSession_get_User(This,retval)
  2027.     (This)->lpVtbl -> get_User(This,retval)
  2028. #define IADsSession_get_UserPath(This,retval)
  2029.     (This)->lpVtbl -> get_UserPath(This,retval)
  2030. #define IADsSession_get_Computer(This,retval)
  2031.     (This)->lpVtbl -> get_Computer(This,retval)
  2032. #define IADsSession_get_ComputerPath(This,retval)
  2033.     (This)->lpVtbl -> get_ComputerPath(This,retval)
  2034. #define IADsSession_get_ConnectTime(This,retval)
  2035.     (This)->lpVtbl -> get_ConnectTime(This,retval)
  2036. #define IADsSession_get_IdleTime(This,retval)
  2037.     (This)->lpVtbl -> get_IdleTime(This,retval)
  2038. #endif /* COBJMACROS */
  2039. #endif  /* C style interface */
  2040. /* [id][propget] */ HRESULT STDMETHODCALLTYPE IADsSession_get_User_Proxy( 
  2041.     IADsSession * This,
  2042.     /* [retval][out] */ BSTR *retval);
  2043. void __RPC_STUB IADsSession_get_User_Stub(
  2044.     IRpcStubBuffer *This,
  2045.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2046.     PRPC_MESSAGE _pRpcMessage,
  2047.     DWORD *_pdwStubPhase);
  2048. /* [id][propget] */ HRESULT STDMETHODCALLTYPE IADsSession_get_UserPath_Proxy( 
  2049.     IADsSession * This,
  2050.     /* [retval][out] */ BSTR *retval);
  2051. void __RPC_STUB IADsSession_get_UserPath_Stub(
  2052.     IRpcStubBuffer *This,
  2053.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2054.     PRPC_MESSAGE _pRpcMessage,
  2055.     DWORD *_pdwStubPhase);
  2056. /* [id][propget] */ HRESULT STDMETHODCALLTYPE IADsSession_get_Computer_Proxy( 
  2057.     IADsSession * This,
  2058.     /* [retval][out] */ BSTR *retval);
  2059. void __RPC_STUB IADsSession_get_Computer_Stub(
  2060.     IRpcStubBuffer *This,
  2061.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2062.     PRPC_MESSAGE _pRpcMessage,
  2063.     DWORD *_pdwStubPhase);
  2064. /* [id][propget] */ HRESULT STDMETHODCALLTYPE IADsSession_get_ComputerPath_Proxy( 
  2065.     IADsSession * This,
  2066.     /* [retval][out] */ BSTR *retval);
  2067. void __RPC_STUB IADsSession_get_ComputerPath_Stub(
  2068.     IRpcStubBuffer *This,
  2069.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2070.     PRPC_MESSAGE _pRpcMessage,
  2071.     DWORD *_pdwStubPhase);
  2072. /* [id][propget] */ HRESULT STDMETHODCALLTYPE IADsSession_get_ConnectTime_Proxy( 
  2073.     IADsSession * This,
  2074.     /* [retval][out] */ long *retval);
  2075. void __RPC_STUB IADsSession_get_ConnectTime_Stub(
  2076.     IRpcStubBuffer *This,
  2077.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2078.     PRPC_MESSAGE _pRpcMessage,
  2079.     DWORD *_pdwStubPhase);
  2080. /* [id][propget] */ HRESULT STDMETHODCALLTYPE IADsSession_get_IdleTime_Proxy( 
  2081.     IADsSession * This,
  2082.     /* [retval][out] */ long *retval);
  2083. void __RPC_STUB IADsSession_get_IdleTime_Stub(
  2084.     IRpcStubBuffer *This,
  2085.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2086.     PRPC_MESSAGE _pRpcMessage,
  2087.     DWORD *_pdwStubPhase);
  2088. #endif  /* __IADsSession_INTERFACE_DEFINED__ */
  2089. #ifndef __IADsResource_INTERFACE_DEFINED__
  2090. #define __IADsResource_INTERFACE_DEFINED__
  2091. /* interface IADsResource */
  2092. /* [object][dual][oleautomation][uuid] */ 
  2093. EXTERN_C const IID IID_IADsResource;
  2094. #if defined(__cplusplus) && !defined(CINTERFACE)
  2095.     
  2096.     MIDL_INTERFACE("34a05b20-4aab-11cf-ae2c-00aa006ebfb9")
  2097.     IADsResource : public IADs
  2098.     {
  2099.     public:
  2100.         virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_User( 
  2101.             /* [retval][out] */ BSTR *retval) = 0;
  2102.         
  2103.         virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_UserPath( 
  2104.             /* [retval][out] */ BSTR *retval) = 0;
  2105.         
  2106.         virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_Path( 
  2107.             /* [retval][out] */ BSTR *retval) = 0;
  2108.         
  2109.         virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_LockCount( 
  2110.             /* [retval][out] */ long *retval) = 0;
  2111.         
  2112.     };
  2113.     
  2114. #else  /* C style interface */
  2115.     typedef struct IADsResourceVtbl
  2116.     {
  2117.         BEGIN_INTERFACE
  2118.         
  2119.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  2120.             IADsResource * This,
  2121.             /* [in] */ REFIID riid,
  2122.             /* [iid_is][out] */ void **ppvObject);
  2123.         
  2124.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  2125.             IADsResource * This);
  2126.         
  2127.         ULONG ( STDMETHODCALLTYPE *Release )( 
  2128.             IADsResource * This);
  2129.         
  2130.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
  2131.             IADsResource * This,
  2132.             /* [out] */ UINT *pctinfo);
  2133.         
  2134.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
  2135.             IADsResource * This,
  2136.             /* [in] */ UINT iTInfo,
  2137.             /* [in] */ LCID lcid,
  2138.             /* [out] */ ITypeInfo **ppTInfo);
  2139.         
  2140.         HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
  2141.             IADsResource * This,
  2142.             /* [in] */ REFIID riid,
  2143.             /* [size_is][in] */ LPOLESTR *rgszNames,
  2144.             /* [in] */ UINT cNames,
  2145.             /* [in] */ LCID lcid,
  2146.             /* [size_is][out] */ DISPID *rgDispId);
  2147.         
  2148.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
  2149.             IADsResource * This,
  2150.             /* [in] */ DISPID dispIdMember,
  2151.             /* [in] */ REFIID riid,
  2152.             /* [in] */ LCID lcid,
  2153.             /* [in] */ WORD wFlags,
  2154.             /* [out][in] */ DISPPARAMS *pDispParams,
  2155.             /* [out] */ VARIANT *pVarResult,
  2156.             /* [out] */ EXCEPINFO *pExcepInfo,
  2157.             /* [out] */ UINT *puArgErr);
  2158.         
  2159.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
  2160.             IADsResource * This,
  2161.             /* [retval][out] */ BSTR *retval);
  2162.         
  2163.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Class )( 
  2164.             IADsResource * This,
  2165.             /* [retval][out] */ BSTR *retval);
  2166.         
  2167.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_GUID )( 
  2168.             IADsResource * This,
  2169.             /* [retval][out] */ BSTR *retval);
  2170.         
  2171.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ADsPath )( 
  2172.             IADsResource * This,
  2173.             /* [retval][out] */ BSTR *retval);
  2174.         
  2175.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Parent )( 
  2176.             IADsResource * This,
  2177.             /* [retval][out] */ BSTR *retval);
  2178.         
  2179.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Schema )( 
  2180.             IADsResource * This,
  2181.             /* [retval][out] */ BSTR *retval);
  2182.         
  2183.         /* [id] */ HRESULT ( STDMETHODCALLTYPE *GetInfo )( 
  2184.             IADsResource * This);
  2185.         
  2186.         /* [id] */ HRESULT ( STDMETHODCALLTYPE *SetInfo )( 
  2187.             IADsResource * This);
  2188.         
  2189.         /* [id] */ HRESULT ( STDMETHODCALLTYPE *Get )( 
  2190.             IADsResource * This,
  2191.             /* [in] */ BSTR bstrName,
  2192.             /* [retval][out] */ VARIANT *pvProp);
  2193.         
  2194.         /* [id] */ HRESULT ( STDMETHODCALLTYPE *Put )( 
  2195.             IADsResource * This,
  2196.             /* [in] */ BSTR bstrName,
  2197.             /* [in] */ VARIANT vProp);
  2198.         
  2199.         /* [id] */ HRESULT ( STDMETHODCALLTYPE *GetEx )( 
  2200.             IADsResource * This,
  2201.             /* [in] */ BSTR bstrName,
  2202.             /* [retval][out] */ VARIANT *pvProp);
  2203.         
  2204.         /* [id] */ HRESULT ( STDMETHODCALLTYPE *PutEx )( 
  2205.             IADsResource * This,
  2206.             /* [in] */ long lnControlCode,
  2207.             /* [in] */ BSTR bstrName,
  2208.             /* [in] */ VARIANT vProp);
  2209.         
  2210.         /* [id] */ HRESULT ( STDMETHODCALLTYPE *GetInfoEx )( 
  2211.             IADsResource * This,
  2212.             /* [in] */ VARIANT vProperties,
  2213.             /* [in] */ long lnReserved);
  2214.         
  2215.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_User )( 
  2216.             IADsResource * This,
  2217.             /* [retval][out] */ BSTR *retval);
  2218.         
  2219.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_UserPath )( 
  2220.             IADsResource * This,
  2221.             /* [retval][out] */ BSTR *retval);
  2222.         
  2223.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Path )( 
  2224.             IADsResource * This,
  2225.             /* [retval][out] */ BSTR *retval);
  2226.         
  2227.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_LockCount )( 
  2228.             IADsResource * This,
  2229.             /* [retval][out] */ long *retval);
  2230.         
  2231.         END_INTERFACE
  2232.     } IADsResourceVtbl;
  2233.     interface IADsResource
  2234.     {
  2235.         CONST_VTBL struct IADsResourceVtbl *lpVtbl;
  2236.     };
  2237.     
  2238. #ifdef COBJMACROS
  2239. #define IADsResource_QueryInterface(This,riid,ppvObject)
  2240.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2241. #define IADsResource_AddRef(This)
  2242.     (This)->lpVtbl -> AddRef(This)
  2243. #define IADsResource_Release(This)
  2244.     (This)->lpVtbl -> Release(This)
  2245. #define IADsResource_GetTypeInfoCount(This,pctinfo)
  2246.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  2247. #define IADsResource_GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  2248.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  2249. #define IADsResource_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  2250.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  2251. #define IADsResource_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  2252.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  2253. #define IADsResource_get_Name(This,retval)
  2254.     (This)->lpVtbl -> get_Name(This,retval)
  2255. #define IADsResource_get_Class(This,retval)
  2256.     (This)->lpVtbl -> get_Class(This,retval)
  2257. #define IADsResource_get_GUID(This,retval)
  2258.     (This)->lpVtbl -> get_GUID(This,retval)
  2259. #define IADsResource_get_ADsPath(This,retval)
  2260.     (This)->lpVtbl -> get_ADsPath(This,retval)
  2261. #define IADsResource_get_Parent(This,retval)
  2262.     (This)->lpVtbl -> get_Parent(This,retval)
  2263. #define IADsResource_get_Schema(This,retval)
  2264.     (This)->lpVtbl -> get_Schema(This,retval)
  2265. #define IADsResource_GetInfo(This)
  2266.     (This)->lpVtbl -> GetInfo(This)
  2267. #define IADsResource_SetInfo(This)
  2268.     (This)->lpVtbl -> SetInfo(This)
  2269. #define IADsResource_Get(This,bstrName,pvProp)
  2270.     (This)->lpVtbl -> Get(This,bstrName,pvProp)
  2271. #define IADsResource_Put(This,bstrName,vProp)
  2272.     (This)->lpVtbl -> Put(This,bstrName,vProp)
  2273. #define IADsResource_GetEx(This,bstrName,pvProp)
  2274.     (This)->lpVtbl -> GetEx(This,bstrName,pvProp)
  2275. #define IADsResource_PutEx(This,lnControlCode,bstrName,vProp)
  2276.     (This)->lpVtbl -> PutEx(This,lnControlCode,bstrName,vProp)
  2277. #define IADsResource_GetInfoEx(This,vProperties,lnReserved)
  2278.     (This)->lpVtbl -> GetInfoEx(This,vProperties,lnReserved)
  2279. #define IADsResource_get_User(This,retval)
  2280.     (This)->lpVtbl -> get_User(This,retval)
  2281. #define IADsResource_get_UserPath(This,retval)
  2282.     (This)->lpVtbl -> get_UserPath(This,retval)
  2283. #define IADsResource_get_Path(This,retval)
  2284.     (This)->lpVtbl -> get_Path(This,retval)
  2285. #define IADsResource_get_LockCount(This,retval)
  2286.     (This)->lpVtbl -> get_LockCount(This,retval)
  2287. #endif /* COBJMACROS */
  2288. #endif  /* C style interface */
  2289. /* [id][propget] */ HRESULT STDMETHODCALLTYPE IADsResource_get_User_Proxy( 
  2290.     IADsResource * This,
  2291.     /* [retval][out] */ BSTR *retval);
  2292. void __RPC_STUB IADsResource_get_User_Stub(
  2293.     IRpcStubBuffer *This,
  2294.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2295.     PRPC_MESSAGE _pRpcMessage,
  2296.     DWORD *_pdwStubPhase);
  2297. /* [id][propget] */ HRESULT STDMETHODCALLTYPE IADsResource_get_UserPath_Proxy( 
  2298.     IADsResource * This,
  2299.     /* [retval][out] */ BSTR *retval);
  2300. void __RPC_STUB IADsResource_get_UserPath_Stub(
  2301.     IRpcStubBuffer *This,
  2302.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2303.     PRPC_MESSAGE _pRpcMessage,
  2304.     DWORD *_pdwStubPhase);
  2305. /* [id][propget] */ HRESULT STDMETHODCALLTYPE IADsResource_get_Path_Proxy( 
  2306.     IADsResource * This,
  2307.     /* [retval][out] */ BSTR *retval);
  2308. void __RPC_STUB IADsResource_get_Path_Stub(
  2309.     IRpcStubBuffer *This,
  2310.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2311.     PRPC_MESSAGE _pRpcMessage,
  2312.     DWORD *_pdwStubPhase);
  2313. /* [id][propget] */ HRESULT STDMETHODCALLTYPE IADsResource_get_LockCount_Proxy( 
  2314.     IADsResource * This,
  2315.     /* [retval][out] */ long *retval);
  2316. void __RPC_STUB IADsResource_get_LockCount_Stub(
  2317.     IRpcStubBuffer *This,
  2318.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2319.     PRPC_MESSAGE _pRpcMessage,
  2320.     DWORD *_pdwStubPhase);
  2321. #endif  /* __IADsResource_INTERFACE_DEFINED__ */
  2322. #ifndef __IADsOpenDSObject_INTERFACE_DEFINED__
  2323. #define __IADsOpenDSObject_INTERFACE_DEFINED__
  2324. /* interface IADsOpenDSObject */
  2325. /* [object][dual][oleautomation][uuid] */ 
  2326. EXTERN_C const IID IID_IADsOpenDSObject;
  2327. #if defined(__cplusplus) && !defined(CINTERFACE)
  2328.     
  2329.     MIDL_INTERFACE("ddf2891e-0f9c-11d0-8ad4-00c04fd8d503")
  2330.     IADsOpenDSObject : public IDispatch
  2331.     {
  2332.     public:
  2333.         virtual /* [id] */ HRESULT STDMETHODCALLTYPE OpenDSObject( 
  2334.             /* [in] */ BSTR lpszDNName,
  2335.             /* [in] */ BSTR lpszUserName,
  2336.             /* [in] */ BSTR lpszPassword,
  2337.             /* [in] */ long lnReserved,
  2338.             /* [retval][out] */ IDispatch **ppOleDsObj) = 0;
  2339.         
  2340.     };
  2341.     
  2342. #else  /* C style interface */
  2343.     typedef struct IADsOpenDSObjectVtbl
  2344.     {
  2345.         BEGIN_INTERFACE
  2346.         
  2347.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  2348.             IADsOpenDSObject * This,
  2349.             /* [in] */ REFIID riid,
  2350.             /* [iid_is][out] */ void **ppvObject);
  2351.         
  2352.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  2353.             IADsOpenDSObject * This);
  2354.         
  2355.         ULONG ( STDMETHODCALLTYPE *Release )( 
  2356.             IADsOpenDSObject * This);
  2357.         
  2358.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
  2359.             IADsOpenDSObject * This,
  2360.             /* [out] */ UINT *pctinfo);
  2361.         
  2362.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
  2363.             IADsOpenDSObject * This,
  2364.             /* [in] */ UINT iTInfo,
  2365.             /* [in] */ LCID lcid,
  2366.             /* [out] */ ITypeInfo **ppTInfo);
  2367.         
  2368.         HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
  2369.             IADsOpenDSObject * This,
  2370.             /* [in] */ REFIID riid,
  2371.             /* [size_is][in] */ LPOLESTR *rgszNames,
  2372.             /* [in] */ UINT cNames,
  2373.             /* [in] */ LCID lcid,
  2374.             /* [size_is][out] */ DISPID *rgDispId);
  2375.         
  2376.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
  2377.             IADsOpenDSObject * This,
  2378.             /* [in] */ DISPID dispIdMember,
  2379.             /* [in] */ REFIID riid,
  2380.             /* [in] */ LCID lcid,
  2381.             /* [in] */ WORD wFlags,
  2382.             /* [out][in] */ DISPPARAMS *pDispParams,
  2383.             /* [out] */ VARIANT *pVarResult,
  2384.             /* [out] */ EXCEPINFO *pExcepInfo,
  2385.             /* [out] */ UINT *puArgErr);
  2386.         
  2387.         /* [id] */ HRESULT ( STDMETHODCALLTYPE *OpenDSObject )( 
  2388.             IADsOpenDSObject * This,
  2389.             /* [in] */ BSTR lpszDNName,
  2390.             /* [in] */ BSTR lpszUserName,
  2391.             /* [in] */ BSTR lpszPassword,
  2392.             /* [in] */ long lnReserved,
  2393.             /* [retval][out] */ IDispatch **ppOleDsObj);
  2394.         
  2395.         END_INTERFACE
  2396.     } IADsOpenDSObjectVtbl;
  2397.     interface IADsOpenDSObject
  2398.     {
  2399.         CONST_VTBL struct IADsOpenDSObjectVtbl *lpVtbl;
  2400.     };
  2401.     
  2402. #ifdef COBJMACROS
  2403. #define IADsOpenDSObject_QueryInterface(This,riid,ppvObject)
  2404.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2405. #define IADsOpenDSObject_AddRef(This)
  2406.     (This)->lpVtbl -> AddRef(This)
  2407. #define IADsOpenDSObject_Release(This)
  2408.     (This)->lpVtbl -> Release(This)
  2409. #define IADsOpenDSObject_GetTypeInfoCount(This,pctinfo)
  2410.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  2411. #define IADsOpenDSObject_GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  2412.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  2413. #define IADsOpenDSObject_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  2414.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  2415. #define IADsOpenDSObject_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  2416.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  2417. #define IADsOpenDSObject_OpenDSObject(This,lpszDNName,lpszUserName,lpszPassword,lnReserved,ppOleDsObj)
  2418.     (This)->lpVtbl -> OpenDSObject(This,lpszDNName,lpszUserName,lpszPassword,lnReserved,ppOleDsObj)
  2419. #endif /* COBJMACROS */
  2420. #endif  /* C style interface */
  2421. /* [id] */ HRESULT STDMETHODCALLTYPE IADsOpenDSObject_OpenDSObject_Proxy( 
  2422.     IADsOpenDSObject * This,
  2423.     /* [in] */ BSTR lpszDNName,
  2424.     /* [in] */ BSTR lpszUserName,
  2425.     /* [in] */ BSTR lpszPassword,
  2426.     /* [in] */ long lnReserved,
  2427.     /* [retval][out] */ IDispatch **ppOleDsObj);
  2428. void __RPC_STUB IADsOpenDSObject_OpenDSObject_Stub(
  2429.     IRpcStubBuffer *This,
  2430.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2431.     PRPC_MESSAGE _pRpcMessage,
  2432.     DWORD *_pdwStubPhase);
  2433. #endif  /* __IADsOpenDSObject_INTERFACE_DEFINED__ */
  2434. #ifndef __IDirectoryObject_INTERFACE_DEFINED__
  2435. #define __IDirectoryObject_INTERFACE_DEFINED__
  2436. /* interface IDirectoryObject */
  2437. /* [object][uuid] */ 
  2438. EXTERN_C const IID IID_IDirectoryObject;
  2439. #if defined(__cplusplus) && !defined(CINTERFACE)
  2440.     
  2441.     MIDL_INTERFACE("e798de2c-22e4-11d0-84fe-00c04fd8d503")
  2442.     IDirectoryObject : public IUnknown
  2443.     {
  2444.     public:
  2445.         virtual HRESULT STDMETHODCALLTYPE GetObjectInformation( 
  2446.             /* [out] */ PADS_OBJECT_INFO *ppObjInfo) = 0;
  2447.         
  2448.         virtual HRESULT STDMETHODCALLTYPE GetObjectAttributes( 
  2449.             /* [in] */ LPWSTR *pAttributeNames,
  2450.             /* [in] */ DWORD dwNumberAttributes,
  2451.             /* [out] */ PADS_ATTR_INFO *ppAttributeEntries,
  2452.             /* [out] */ DWORD *pdwNumAttributesReturned) = 0;
  2453.         
  2454.         virtual HRESULT STDMETHODCALLTYPE SetObjectAttributes( 
  2455.             /* [in] */ PADS_ATTR_INFO pAttributeEntries,
  2456.             /* [in] */ DWORD dwNumAttributes,
  2457.             /* [out] */ DWORD *pdwNumAttributesModified) = 0;
  2458.         
  2459.         virtual HRESULT STDMETHODCALLTYPE CreateDSObject( 
  2460.             /* [in] */ LPWSTR pszRDNName,
  2461.             /* [in] */ PADS_ATTR_INFO pAttributeEntries,
  2462.             /* [in] */ DWORD dwNumAttributes,
  2463.             /* [out] */ IDispatch **ppObject) = 0;
  2464.         
  2465.         virtual HRESULT STDMETHODCALLTYPE DeleteDSObject( 
  2466.             /* [in] */ LPWSTR pszRDNName) = 0;
  2467.         
  2468.     };
  2469.     
  2470. #else  /* C style interface */
  2471.     typedef struct IDirectoryObjectVtbl
  2472.     {
  2473.         BEGIN_INTERFACE
  2474.         
  2475.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  2476.             IDirectoryObject * This,
  2477.             /* [in] */ REFIID riid,
  2478.             /* [iid_is][out] */ void **ppvObject);
  2479.         
  2480.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  2481.             IDirectoryObject * This);
  2482.         
  2483.         ULONG ( STDMETHODCALLTYPE *Release )( 
  2484.             IDirectoryObject * This);
  2485.         
  2486.         HRESULT ( STDMETHODCALLTYPE *GetObjectInformation )( 
  2487.             IDirectoryObject * This,
  2488.             /* [out] */ PADS_OBJECT_INFO *ppObjInfo);
  2489.         
  2490.         HRESULT ( STDMETHODCALLTYPE *GetObjectAttributes )( 
  2491.             IDirectoryObject * This,
  2492.             /* [in] */ LPWSTR *pAttributeNames,
  2493.             /* [in] */ DWORD dwNumberAttributes,
  2494.             /* [out] */ PADS_ATTR_INFO *ppAttributeEntries,
  2495.             /* [out] */ DWORD *pdwNumAttributesReturned);
  2496.         
  2497.         HRESULT ( STDMETHODCALLTYPE *SetObjectAttributes )( 
  2498.             IDirectoryObject * This,
  2499.             /* [in] */ PADS_ATTR_INFO pAttributeEntries,
  2500.             /* [in] */ DWORD dwNumAttributes,
  2501.             /* [out] */ DWORD *pdwNumAttributesModified);
  2502.         
  2503.         HRESULT ( STDMETHODCALLTYPE *CreateDSObject )( 
  2504.             IDirectoryObject * This,
  2505.             /* [in] */ LPWSTR pszRDNName,
  2506.             /* [in] */ PADS_ATTR_INFO pAttributeEntries,
  2507.             /* [in] */ DWORD dwNumAttributes,
  2508.             /* [out] */ IDispatch **ppObject);
  2509.         
  2510.         HRESULT ( STDMETHODCALLTYPE *DeleteDSObject )( 
  2511.             IDirectoryObject * This,
  2512.             /* [in] */ LPWSTR pszRDNName);
  2513.         
  2514.         END_INTERFACE
  2515.     } IDirectoryObjectVtbl;
  2516.     interface IDirectoryObject
  2517.     {
  2518.         CONST_VTBL struct IDirectoryObjectVtbl *lpVtbl;
  2519.     };
  2520.     
  2521. #ifdef COBJMACROS
  2522. #define IDirectoryObject_QueryInterface(This,riid,ppvObject)
  2523.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2524. #define IDirectoryObject_AddRef(This)
  2525.     (This)->lpVtbl -> AddRef(This)
  2526. #define IDirectoryObject_Release(This)
  2527.     (This)->lpVtbl -> Release(This)
  2528. #define IDirectoryObject_GetObjectInformation(This,ppObjInfo)
  2529.     (This)->lpVtbl -> GetObjectInformation(This,ppObjInfo)
  2530. #define IDirectoryObject_GetObjectAttributes(This,pAttributeNames,dwNumberAttributes,ppAttributeEntries,pdwNumAttributesReturned)
  2531.     (This)->lpVtbl -> GetObjectAttributes(This,pAttributeNames,dwNumberAttributes,ppAttributeEntries,pdwNumAttributesReturned)
  2532. #define IDirectoryObject_SetObjectAttributes(This,pAttributeEntries,dwNumAttributes,pdwNumAttributesModified)
  2533.     (This)->lpVtbl -> SetObjectAttributes(This,pAttributeEntries,dwNumAttributes,pdwNumAttributesModified)
  2534. #define IDirectoryObject_CreateDSObject(This,pszRDNName,pAttributeEntries,dwNumAttributes,ppObject)
  2535.     (This)->lpVtbl -> CreateDSObject(This,pszRDNName,pAttributeEntries,dwNumAttributes,ppObject)
  2536. #define IDirectoryObject_DeleteDSObject(This,pszRDNName)
  2537.     (This)->lpVtbl -> DeleteDSObject(This,pszRDNName)
  2538. #endif /* COBJMACROS */
  2539. #endif  /* C style interface */
  2540. HRESULT STDMETHODCALLTYPE IDirectoryObject_GetObjectInformation_Proxy( 
  2541.     IDirectoryObject * This,
  2542.     /* [out] */ PADS_OBJECT_INFO *ppObjInfo);
  2543. void __RPC_STUB IDirectoryObject_GetObjectInformation_Stub(
  2544.     IRpcStubBuffer *This,
  2545.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2546.     PRPC_MESSAGE _pRpcMessage,
  2547.     DWORD *_pdwStubPhase);
  2548. HRESULT STDMETHODCALLTYPE IDirectoryObject_GetObjectAttributes_Proxy( 
  2549.     IDirectoryObject * This,
  2550.     /* [in] */ LPWSTR *pAttributeNames,
  2551.     /* [in] */ DWORD dwNumberAttributes,
  2552.     /* [out] */ PADS_ATTR_INFO *ppAttributeEntries,
  2553.     /* [out] */ DWORD *pdwNumAttributesReturned);
  2554. void __RPC_STUB IDirectoryObject_GetObjectAttributes_Stub(
  2555.     IRpcStubBuffer *This,
  2556.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2557.     PRPC_MESSAGE _pRpcMessage,
  2558.     DWORD *_pdwStubPhase);
  2559. HRESULT STDMETHODCALLTYPE IDirectoryObject_SetObjectAttributes_Proxy( 
  2560.     IDirectoryObject * This,
  2561.     /* [in] */ PADS_ATTR_INFO pAttributeEntries,
  2562.     /* [in] */ DWORD dwNumAttributes,
  2563.     /* [out] */ DWORD *pdwNumAttributesModified);
  2564. void __RPC_STUB IDirectoryObject_SetObjectAttributes_Stub(
  2565.     IRpcStubBuffer *This,
  2566.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2567.     PRPC_MESSAGE _pRpcMessage,
  2568.     DWORD *_pdwStubPhase);
  2569. HRESULT STDMETHODCALLTYPE IDirectoryObject_CreateDSObject_Proxy( 
  2570.     IDirectoryObject * This,
  2571.     /* [in] */ LPWSTR pszRDNName,
  2572.     /* [in] */ PADS_ATTR_INFO pAttributeEntries,
  2573.     /* [in] */ DWORD dwNumAttributes,
  2574.     /* [out] */ IDispatch **ppObject);
  2575. void __RPC_STUB IDirectoryObject_CreateDSObject_Stub(
  2576.     IRpcStubBuffer *This,
  2577.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2578.     PRPC_MESSAGE _pRpcMessage,
  2579.     DWORD *_pdwStubPhase);
  2580. HRESULT STDMETHODCALLTYPE IDirectoryObject_DeleteDSObject_Proxy( 
  2581.     IDirectoryObject * This,
  2582.     /* [in] */ LPWSTR pszRDNName);
  2583. void __RPC_STUB IDirectoryObject_DeleteDSObject_Stub(
  2584.     IRpcStubBuffer *This,
  2585.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2586.     PRPC_MESSAGE _pRpcMessage,
  2587.     DWORD *_pdwStubPhase);
  2588. #endif  /* __IDirectoryObject_INTERFACE_DEFINED__ */
  2589. #ifndef __IDirectorySearch_INTERFACE_DEFINED__
  2590. #define __IDirectorySearch_INTERFACE_DEFINED__
  2591. /* interface IDirectorySearch */
  2592. /* [object][uuid] */ 
  2593. EXTERN_C const IID IID_IDirectorySearch;
  2594. #if defined(__cplusplus) && !defined(CINTERFACE)
  2595.     
  2596.     MIDL_INTERFACE("109ba8ec-92f0-11d0-a790-00c04fd8d5a8")
  2597.     IDirectorySearch : public IUnknown
  2598.     {
  2599.     public:
  2600.         virtual HRESULT STDMETHODCALLTYPE SetSearchPreference( 
  2601.             /* [in] */ PADS_SEARCHPREF_INFO pSearchPrefs,
  2602.             /* [in] */ DWORD dwNumPrefs) = 0;
  2603.         
  2604.         virtual HRESULT STDMETHODCALLTYPE ExecuteSearch( 
  2605.             /* [in] */ LPWSTR pszSearchFilter,
  2606.             /* [in] */ LPWSTR *pAttributeNames,
  2607.             /* [in] */ DWORD dwNumberAttributes,
  2608.             /* [out] */ PADS_SEARCH_HANDLE phSearchResult) = 0;
  2609.         
  2610.         virtual HRESULT STDMETHODCALLTYPE AbandonSearch( 
  2611.             /* [in] */ ADS_SEARCH_HANDLE phSearchResult) = 0;
  2612.         
  2613.         virtual HRESULT STDMETHODCALLTYPE GetFirstRow( 
  2614.             /* [in] */ ADS_SEARCH_HANDLE hSearchResult) = 0;
  2615.         
  2616.         virtual HRESULT STDMETHODCALLTYPE GetNextRow( 
  2617.             /* [in] */ ADS_SEARCH_HANDLE hSearchResult) = 0;
  2618.         
  2619.         virtual HRESULT STDMETHODCALLTYPE GetPreviousRow( 
  2620.             /* [in] */ ADS_SEARCH_HANDLE hSearchResult) = 0;
  2621.         
  2622.         virtual HRESULT STDMETHODCALLTYPE GetNextColumnName( 
  2623.             /* [in] */ ADS_SEARCH_HANDLE hSearchHandle,
  2624.             /* [out] */ LPWSTR *ppszColumnName) = 0;
  2625.         
  2626.         virtual HRESULT STDMETHODCALLTYPE GetColumn( 
  2627.             /* [in] */ ADS_SEARCH_HANDLE hSearchResult,
  2628.             /* [in] */ LPWSTR szColumnName,
  2629.             /* [out] */ PADS_SEARCH_COLUMN pSearchColumn) = 0;
  2630.         
  2631.         virtual HRESULT STDMETHODCALLTYPE FreeColumn( 
  2632.             /* [in] */ PADS_SEARCH_COLUMN pSearchColumn) = 0;
  2633.         
  2634.         virtual HRESULT STDMETHODCALLTYPE CloseSearchHandle( 
  2635.             /* [in] */ ADS_SEARCH_HANDLE hSearchResult) = 0;
  2636.         
  2637.     };
  2638.     
  2639. #else  /* C style interface */
  2640.     typedef struct IDirectorySearchVtbl
  2641.     {
  2642.         BEGIN_INTERFACE
  2643.         
  2644.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  2645.             IDirectorySearch * This,
  2646.             /* [in] */ REFIID riid,
  2647.             /* [iid_is][out] */ void **ppvObject);
  2648.         
  2649.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  2650.             IDirectorySearch * This);
  2651.         
  2652.         ULONG ( STDMETHODCALLTYPE *Release )( 
  2653.             IDirectorySearch * This);
  2654.         
  2655.         HRESULT ( STDMETHODCALLTYPE *SetSearchPreference )( 
  2656.             IDirectorySearch * This,
  2657.             /* [in] */ PADS_SEARCHPREF_INFO pSearchPrefs,
  2658.             /* [in] */ DWORD dwNumPrefs);
  2659.         
  2660.         HRESULT ( STDMETHODCALLTYPE *ExecuteSearch )( 
  2661.             IDirectorySearch * This,
  2662.             /* [in] */ LPWSTR pszSearchFilter,
  2663.             /* [in] */ LPWSTR *pAttributeNames,
  2664.             /* [in] */ DWORD dwNumberAttributes,
  2665.             /* [out] */ PADS_SEARCH_HANDLE phSearchResult);
  2666.         
  2667.         HRESULT ( STDMETHODCALLTYPE *AbandonSearch )( 
  2668.             IDirectorySearch * This,
  2669.             /* [in] */ ADS_SEARCH_HANDLE phSearchResult);
  2670.         
  2671.         HRESULT ( STDMETHODCALLTYPE *GetFirstRow )( 
  2672.             IDirectorySearch * This,
  2673.             /* [in] */ ADS_SEARCH_HANDLE hSearchResult);
  2674.         
  2675.         HRESULT ( STDMETHODCALLTYPE *GetNextRow )( 
  2676.             IDirectorySearch * This,
  2677.             /* [in] */ ADS_SEARCH_HANDLE hSearchResult);
  2678.         
  2679.         HRESULT ( STDMETHODCALLTYPE *GetPreviousRow )( 
  2680.             IDirectorySearch * This,
  2681.             /* [in] */ ADS_SEARCH_HANDLE hSearchResult);
  2682.         
  2683.         HRESULT ( STDMETHODCALLTYPE *GetNextColumnName )( 
  2684.             IDirectorySearch * This,
  2685.             /* [in] */ ADS_SEARCH_HANDLE hSearchHandle,
  2686.             /* [out] */ LPWSTR *ppszColumnName);
  2687.         
  2688.         HRESULT ( STDMETHODCALLTYPE *GetColumn )( 
  2689.             IDirectorySearch * This,
  2690.             /* [in] */ ADS_SEARCH_HANDLE hSearchResult,
  2691.             /* [in] */ LPWSTR szColumnName,
  2692.             /* [out] */ PADS_SEARCH_COLUMN pSearchColumn);
  2693.         
  2694.         HRESULT ( STDMETHODCALLTYPE *FreeColumn )( 
  2695.             IDirectorySearch * This,
  2696.             /* [in] */ PADS_SEARCH_COLUMN pSearchColumn);
  2697.         
  2698.         HRESULT ( STDMETHODCALLTYPE *CloseSearchHandle )( 
  2699.             IDirectorySearch * This,
  2700.             /* [in] */ ADS_SEARCH_HANDLE hSearchResult);
  2701.         
  2702.         END_INTERFACE
  2703.     } IDirectorySearchVtbl;
  2704.     interface IDirectorySearch
  2705.     {
  2706.         CONST_VTBL struct IDirectorySearchVtbl *lpVtbl;
  2707.     };
  2708.     
  2709. #ifdef COBJMACROS
  2710. #define IDirectorySearch_QueryInterface(This,riid,ppvObject)
  2711.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2712. #define IDirectorySearch_AddRef(This)
  2713.     (This)->lpVtbl -> AddRef(This)
  2714. #define IDirectorySearch_Release(This)
  2715.     (This)->lpVtbl -> Release(This)
  2716. #define IDirectorySearch_SetSearchPreference(This,pSearchPrefs,dwNumPrefs)
  2717.     (This)->lpVtbl -> SetSearchPreference(This,pSearchPrefs,dwNumPrefs)
  2718. #define IDirectorySearch_ExecuteSearch(This,pszSearchFilter,pAttributeNames,dwNumberAttributes,phSearchResult)
  2719.     (This)->lpVtbl -> ExecuteSearch(This,pszSearchFilter,pAttributeNames,dwNumberAttributes,phSearchResult)
  2720. #define IDirectorySearch_AbandonSearch(This,phSearchResult)
  2721.     (This)->lpVtbl -> AbandonSearch(This,phSearchResult)
  2722. #define IDirectorySearch_GetFirstRow(This,hSearchResult)
  2723.     (This)->lpVtbl -> GetFirstRow(This,hSearchResult)
  2724. #define IDirectorySearch_GetNextRow(This,hSearchResult)
  2725.     (This)->lpVtbl -> GetNextRow(This,hSearchResult)
  2726. #define IDirectorySearch_GetPreviousRow(This,hSearchResult)
  2727.     (This)->lpVtbl -> GetPreviousRow(This,hSearchResult)
  2728. #define IDirectorySearch_GetNextColumnName(This,hSearchHandle,ppszColumnName)
  2729.     (This)->lpVtbl -> GetNextColumnName(This,hSearchHandle,ppszColumnName)
  2730. #define IDirectorySearch_GetColumn(This,hSearchResult,szColumnName,pSearchColumn)
  2731.     (This)->lpVtbl -> GetColumn(This,hSearchResult,szColumnName,pSearchColumn)
  2732. #define IDirectorySearch_FreeColumn(This,pSearchColumn)
  2733.     (This)->lpVtbl -> FreeColumn(This,pSearchColumn)
  2734. #define IDirectorySearch_CloseSearchHandle(This,hSearchResult)
  2735.     (This)->lpVtbl -> CloseSearchHandle(This,hSearchResult)
  2736. #endif /* COBJMACROS */
  2737. #endif  /* C style interface */
  2738. HRESULT STDMETHODCALLTYPE IDirectorySearch_SetSearchPreference_Proxy( 
  2739.     IDirectorySearch * This,
  2740.     /* [in] */ PADS_SEARCHPREF_INFO pSearchPrefs,
  2741.     /* [in] */ DWORD dwNumPrefs);
  2742. void __RPC_STUB IDirectorySearch_SetSearchPreference_Stub(
  2743.     IRpcStubBuffer *This,
  2744.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2745.     PRPC_MESSAGE _pRpcMessage,
  2746.     DWORD *_pdwStubPhase);
  2747. HRESULT STDMETHODCALLTYPE IDirectorySearch_ExecuteSearch_Proxy( 
  2748.     IDirectorySearch * This,
  2749.     /* [in] */ LPWSTR pszSearchFilter,
  2750.     /* [in] */ LPWSTR *pAttributeNames,
  2751.     /* [in] */ DWORD dwNumberAttributes,
  2752.     /* [out] */ PADS_SEARCH_HANDLE phSearchResult);
  2753. void __RPC_STUB IDirectorySearch_ExecuteSearch_Stub(
  2754.     IRpcStubBuffer *This,
  2755.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2756.     PRPC_MESSAGE _pRpcMessage,
  2757.     DWORD *_pdwStubPhase);
  2758. HRESULT STDMETHODCALLTYPE IDirectorySearch_AbandonSearch_Proxy( 
  2759.     IDirectorySearch * This,
  2760.     /* [in] */ ADS_SEARCH_HANDLE phSearchResult);
  2761. void __RPC_STUB IDirectorySearch_AbandonSearch_Stub(
  2762.     IRpcStubBuffer *This,
  2763.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2764.     PRPC_MESSAGE _pRpcMessage,
  2765.     DWORD *_pdwStubPhase);
  2766. HRESULT STDMETHODCALLTYPE IDirectorySearch_GetFirstRow_Proxy( 
  2767.     IDirectorySearch * This,
  2768.     /* [in] */ ADS_SEARCH_HANDLE hSearchResult);
  2769. void __RPC_STUB IDirectorySearch_GetFirstRow_Stub(
  2770.     IRpcStubBuffer *This,
  2771.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2772.     PRPC_MESSAGE _pRpcMessage,
  2773.     DWORD *_pdwStubPhase);
  2774. HRESULT STDMETHODCALLTYPE IDirectorySearch_GetNextRow_Proxy( 
  2775.     IDirectorySearch * This,