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

模拟服务器

开发平台:

C/C++

  1. /*
  2.         @doc AQADMIN EXTERNAL
  3.     @module AQADMIN.IDL - IDL for Advanced Queue Admin Object. | This module 
  4.     declares the various interfaces exported for access to the Advanced Queue
  5.         administration object
  6. */
  7. cpp_quote("/*++")
  8. cpp_quote("")
  9. cpp_quote("Copyright (c) 1998 Microsoft Corporation")
  10. cpp_quote("")
  11. cpp_quote("Module Name:")
  12. cpp_quote("")
  13. cpp_quote("     aqadmin.idl / aqadmin.h")
  14. cpp_quote("")
  15. cpp_quote("Abstract:")
  16. cpp_quote("")
  17. cpp_quote("     This module contains definitions for the COM interfaces for")
  18. cpp_quote("     the Advanced Queue administration object.")
  19. cpp_quote("")
  20. cpp_quote("--*/")
  21. import "oaidl.idl";
  22. import "ocidl.idl";
  23. //
  24. // @doc AQADMIN EXTERNAL
  25. //
  26. interface IVSAQAdmin;
  27. interface IEnumVSAQLinks;
  28. interface IAQEnumMessages;
  29. interface IEnumLinkQueues;
  30. interface IAQMessage;
  31. interface IVSAQLink;
  32. interface ILinkQueue;
  33. cpp_quote("#ifndef __AQADMTYP_H__")
  34. cpp_quote("#define __AQADMTYP_H__")
  35. #include "aqadmtyp.h"
  36. cpp_quote("#endif")
  37. /*
  38.         @interface IAQAdmin | Primary interface to Advanced Queue admin objects
  39.         @meth HRESULT | GetVirtualServerAdminITF | Get admin interface to a
  40.         SMTP or MTA virtual server's queues
  41. */
  42. [
  43.         helpstring("Advanced Queue Administration Object"),
  44.         object,
  45.         pointer_default(unique),
  46.         uuid(476D70A6-1A90-11d3-BFCB-00C04FA3490A)
  47. ]
  48. interface IAQAdmin : IUnknown
  49. {
  50.         // @method HRESULT | IAQAdmin | GetVirtualServerAdminITF | Get admin 
  51.         // interface to a SMTP or MTA virtual server's queues
  52.         // @rvalue S_OK | Success
  53.         // @rvalue E_OUTOFMEMORY | Out of resources
  54.         // @rvalue E_ACCESSDENIED | Logged on principal not authorized to view 
  55.         // queues on specified virtual server
  56.         // @rvalue HRESULT_FROM_WIN32(RPC_S_SERVER_UNAVAILABLE) | Unable to 
  57.         //connect to specified virtual server
  58.         HRESULT GetVirtualServerAdminITF(
  59. // @parm hostname of the computer 
  60. [in]  LPCWSTR wszComputer,
  61. // @parm virtual server number
  62. [in]  LPCWSTR wszVirtualServer,
  63. // @parm Interface to Virtual Server admin object is 
  64. // returned here
  65. [out]  IVSAQAdmin **ppivsaqadmin 
  66.                 );
  67. }
  68. /*
  69.         @interface IAQMessageAction | Interface used to apply actions
  70.         to messages on this virtual server.  This interface is
  71.         implemented at the server, link and queue level
  72.         @meth HRESULT | ApplyActionToMessages | Apply specified action to 
  73. messages on this Virtual Server that match the specified message 
  74. filter criteria.
  75.         @meth HRESULT | QuerySupportedActions | Describes
  76.         which actions/filters of <t ApplyActionToMessages> is supported.
  77. */
  78. [
  79.         helpstring("Advanced Queue Message Action Interface"),
  80.         object,
  81.         pointer_default(unique),
  82.         uuid(1EB44A71-1E95-11d3-BFCC-00C04FA3490A)
  83. ]
  84. interface IAQMessageAction : IUnknown
  85. {
  86.         // @method HRESULT | IAQMessageAction | ApplyActionToMessages | Apply 
  87. // specified action to messages on this Virtual Server that match the 
  88. // specified message filter criteria.  The actions will only be applied
  89.         // to messages that belong to the object implmenting this interface.  
  90.         // For example, on messages that match the filter on a given queue will
  91.         // be affected if this method is called on an ILinkQueue object.
  92.         // @rvalue S_OK | Success
  93.         // @rvalue E_OUTOFMEMORY | Insufficient resources
  94.         // @rvalue E_POINTER | Null pointer parameter
  95.         // @rvalue E_INVALIDARG | Invalid parameter
  96.         // @rvalue HRESULT_FROM_WIN32(RPC_S_SERVER_UNAVAILABLE) | Unable to 
  97.         // connect to specified virtual server
  98.         HRESULT ApplyActionToMessages(
  99. // @parm The <t MESSAGE_FILTER> to use to select messages
  100. [in] PMESSAGE_FILTER Filter,
  101. // @parm The <t MESSAGE_ACTION> to apply to matching messages
  102.                 [in] MESSAGE_ACTION Action,
  103.                 // @parm The number of messages affected by the action
  104.                 [out] DWORD *pcMsgs 
  105.                 );
  106.         // @method HRESULT | IAQMessageAction | QuerySupportedActions | Describes
  107.         // which actions/filters of <t ApplyActionToMessages> is supported.
  108.         // @rvalue S_OK | Success
  109.         // @rvalue E_OUTOFMEMORY | Insufficient resources
  110.         // @rvalue E_POINTER | Null pointer parameter
  111.         // @rvalue E_INVALIDARG | Invalid parameter
  112.         // @rvalue HRESULT_FROM_WIN32(RPC_S_SERVER_UNAVAILABLE) | Unable to 
  113.         // connect to specified virtual server
  114.         HRESULT QuerySupportedActions(
  115.                 [out] DWORD *pdwSupportedActions,
  116.                 // @parm The <t MESSAGE_ACTION> flags supported by this interface.
  117.                 [out] DWORD *pdwSupportedFilterFlags);
  118.                 // @parm The <t MESSAGE_FILTER_FLAGS> supported by this interface.
  119. }
  120. /*
  121.         @interface IVSAQAdmin | Interface to per-virtual-server AQ 
  122. Administration
  123.         @meth HRESULT | GetLinkEnum | Get an enumerator over all links on 
  124. this VS
  125.         @meth HRESULT | StopAllLinks | Stop all active outbound links
  126.         @meth HRESULT | StartAllLinks | Start all eligible outbound links
  127. */
  128. [
  129.         helpstring("Advanced Queue Administration Object"),
  130.         object,
  131.         pointer_default(unique),
  132.         uuid(E2ED3340-1E96-11d3-BFCC-00C04FA3490A)
  133. ]
  134. interface IVSAQAdmin : IUnknown
  135. {
  136.         // @method HRESULT | IVSAQAdmin | GetLinkEnum | Get an enumerator over 
  137. // all links on this VS
  138.         // @rvalue S_OK | Success
  139.         // @rvalue E_OUTOFMEMORY | Insufficient resources
  140.         // @rvalue E_POINTER | Null pointer parameter
  141.         // @rvalue E_INVALIDARG | Invalid parameter
  142.         // @rvalue HRESULT_FROM_WIN32(RPC_S_SERVER_UNAVAILABLE) | Unable to 
  143.         // connect to specified virtual server
  144.         HRESULT GetLinkEnum(
  145. // @parm Interface to link enumerator is returned here.
  146.                 [out] IEnumVSAQLinks **ppenum 
  147.                 );
  148.         // @method HRESULT | IVSAQAdmin | StopAllLinks | Stop all active 
  149. // outbound links
  150.         // @rvalue S_OK | Success
  151.         // @rvalue HRESULT_FROM_WIN32(RPC_S_SERVER_UNAVAILABLE) | Unable to 
  152.         // connect to specified virtual server
  153.         HRESULT StopAllLinks();
  154.         // @method HRESULT | IVSAQAdmin | StartAllLinks | Start all active 
  155. // outbound links
  156.         // @rvalue S_OK | Success
  157.         // @rvalue HRESULT_FROM_WIN32(RPC_S_SERVER_UNAVAILABLE) | Unable to 
  158.         // connect to specified virtual server
  159.         HRESULT StartAllLinks();
  160.         // @method HRESULT | IVSAQAdmin | GetGlobalLinkState | Checks the 
  161.         // global state of the links as set by StopAllLinks/StartAllLinks.
  162.         // @rvalue S_OK | Links are started
  163.         // @rvalue S_FALSE | Link have been stopped (by a previous call
  164.         // to StopAllLinks.
  165.         // @rvalue E_NOTIMPL | This provider does not support getting or 
  166.         // setting the global link state.
  167.         // @rvalue HRESULT_FROM_WIN32(RPC_S_SERVER_UNAVAILABLE) | Unable to 
  168.         // connect to specified virtual server
  169.         HRESULT GetGlobalLinkState();
  170. }
  171. /*
  172.         @interface IEnumVSAQLinks | Enumerator for a Virtual Server's AQ Links
  173.         @meth HRESULT | Next | Returns the sequentially consequetive specified 
  174.         number of IVSAQLink objects.
  175.         @meth HRESULT | Skip | Advances current element cursor by specified 
  176. number of elements
  177.         @meth HRESULT | Reset | Resets current element cursor to start of list
  178.         @meth HRESULT | Clone | Creates a copy of this enumerator object
  179. */
  180. [
  181.         helpstring("Advanced Queue Administration Object"),
  182.         object,
  183.         pointer_default(unique),
  184.         uuid(ba7af300-7373-11d2-94e4-00c04fa379f1)
  185. ]
  186. interface IEnumVSAQLinks : IUnknown
  187. {
  188.         // @method HRESULT | IEnumVSAQLinks | Next | Returns the sequentially 
  189.         // consequetive specified number of IVSAQLink objects.
  190.         // @rvalue S_OK | Success
  191.         // @rvalue S_FALSE | Fewer than requested number of object returned
  192.         HRESULT Next(
  193. // @parm Number of elements requested
  194.                 [in] ULONG cElt, 
  195. // @parm Array in which to return IVSAQLink objects. Must be 
  196. // atleast <p cElt> long.
  197.                 [out] IVSAQLink **rgelt, 
  198. // @parm Number of elements actually returned.
  199.                 [out] ULONG *pcFetched 
  200.                 );
  201.         // @method HRESULT | IEnumVSAQLinks | Skip | Advances current element 
  202. // cursor by specified number of elements
  203.         // @rvalue S_OK | Success
  204.         // @rvalue S_FALSE | Too few elements in enumerator to successfully 
  205. // advance cursor. Cursor positioned to last element
  206.         HRESULT Skip(
  207. // @parm Number of elements to advance cursor by.
  208.                 [in] ULONG cElt 
  209.                 );
  210.         // @method HRESULT | IEnumVSAQLinks | Reset | Resets current element 
  211. // cursor to start of list
  212.         // @rvalue S_OK | Success
  213.         HRESULT Reset();
  214.         // @method HRESULT | IEnumVSAQLinks | Clone | Creates a clone of the 
  215. // this enumerator object.
  216.         // @rvalue S_OK | Success
  217.         // @rvalue E_POINTER | Null pointer parameter
  218.         // @rvalue E_OUTOFMEMORY | Out of memory creating clone.
  219.         HRESULT Clone(
  220. // @parm Interface to cloned IEnumVSAQLinks is returned here.
  221.                 [out] IEnumVSAQLinks **ppenum  
  222.                 );             
  223. }
  224. /*
  225.         @interface IVSAQLink | Interface to a single virtual server AQ Link. A 
  226. link represents a connectable entity. Another way to think of a link 
  227. is that it represents the next-hop to which mail messages on this 
  228. link will be delivered to.
  229.         @meth HRESULT | GetInfo | Returns information about the link
  230.         @meth HRESULT | SetLinkState | Sets the links state.
  231.         @meth HRESULT | GetQueueEnum | Returns an enumerator for msg queues 
  232. on this link
  233. */
  234. [
  235.         helpstring("Advanced Queue Administration Object"),
  236.         object,
  237.         pointer_default(unique),
  238.         uuid(3F962F94-1ECD-11d3-BFCC-00C04FA3490A)
  239. ]
  240. interface IVSAQLink : IUnknown
  241. {
  242.         // @method HRESULT | IVSAQLink | GetInfo | Returns information about 
  243. // the link
  244.         // @rvalue S_OK | Success
  245.         // @rvalue E_OUTOFMEMORY | Insufficient resources
  246.         // @rvalue E_POINTER | Null pointer parameter
  247.         // @rvalue E_INVALIDARG | Invalid parameter
  248.         // @rvalue HRESULT_FROM_WIN32(RPC_S_SERVER_UNAVAILABLE) | Unable to 
  249.         // connect to specified virtual server
  250.         HRESULT GetInfo(
  251. // @parm Pointer to <t LINK_INFO> structure to fill.
  252.                 [in, out] PLINK_INFO pli 
  253.                 );
  254.         // @method HRESULT | IVSAQLink | SetLinkState | Changes the state of the link
  255.         // @rvalue S_OK | Success
  256.         // @rvalue E_OUTOFMEMORY | Insufficient resources
  257.         // @rvalue E_POINTER | Null pointer parameter
  258.         // @rvalue E_INVALIDARG | Invalid parameter
  259.         // @rvalue HRESULT_FROM_WIN32(RPC_S_SERVER_UNAVAILABLE) | Unable to 
  260.         // connect to specified virtual server
  261.         HRESULT SetLinkState(
  262. // @parm <t LINK_ACTION> describing new state of link. 
  263.                 [in] LINK_ACTION la 
  264.                 );                         
  265.                                            
  266.         // @method HRESULT | IVSAQLink | GetQueueEnum | Get an enumerator for
  267.         // message queues on this link
  268.         // @rvalue S_OK | Success
  269.         // @rvalue E_OUTOFMEMORY | Insufficient resources
  270.         // @rvalue E_POINTER | Null pointer parameter
  271.         // @rvalue E_INVALIDARG | Invalid parameter
  272.         // @rvalue HRESULT_FROM_WIN32(RPC_S_SERVER_UNAVAILABLE) | Unable to 
  273.         // connect to specified virtual server
  274.         HRESULT GetQueueEnum(
  275. // @parm Interface to IEnumLinkQueues is returned here.
  276.                 [out] IEnumLinkQueues **ppenum 
  277.                 );                                           
  278. }
  279. /*
  280.         @interface IAQEnumMessages | Enumerator for a AQ Link's messages
  281.         @meth HRESULT | Next | Returns the sequentially consequetive specified 
  282.         number of IAQMessage objects.
  283.         @meth HRESULT | Skip | Advances current element cursor by specified 
  284. number of elements
  285.         @meth HRESULT | Reset | Resets current element cursor to start of list
  286.         @meth HRESULT | Clone | Creates a copy of this enumerator object
  287. */
  288. [
  289.         helpstring("Advanced Queue Administration Object"),
  290.         object,
  291.         pointer_default(unique),
  292.         uuid(ba7af302-7373-11d2-94e4-00c04fa379f1)
  293. ]
  294. interface IAQEnumMessages : IUnknown
  295. {
  296.         // @method HRESULT | IAQEnumMessages | Next | Returns the 
  297. // sequentially consequetive specified number of IAQMessage objects.
  298.         // @rvalue S_OK | Success
  299.         // @rvalue S_FALSE | Fewer than requested number of object returned
  300.         HRESULT Next(
  301. // @parm Number of elements requested
  302.                 [in] ULONG cElt, 
  303. // @parm Array in which to return IAQMessage objects. Must be 
  304. // atleast <p cElt> long.
  305.                 [out] IAQMessage **rgelt, 
  306.                 // @parm Number of elements actually returned.
  307.                 [out] ULONG *pcFetched 
  308.                 );
  309.         // @method HRESULT | IAQEnumMessages | Skip | Advances current 
  310. // element cursor by specified number of elements
  311.         // @rvalue S_OK | Success
  312.         // @rvalue S_FALSE | Too few elements in enumerator to successfully 
  313. // advance cursor. Cursor positioned to last element
  314.         HRESULT Skip(
  315. // @parm Number of elements to advance cursor by.
  316.                 [in] ULONG cElt 
  317.                 );
  318.         // @method HRESULT | IAQEnumMessages | Reset | Resets current element 
  319. // cursor to start of list
  320.         // @rvalue S_OK | Success
  321.         HRESULT Reset();
  322.         // @method HRESULT | IAQEnumMessages | Clone | Creates a clone of the 
  323. // this enumerator object.
  324.         // @rvalue S_OK | Success
  325.         // @rvalue E_POINTER | Null pointer parameter
  326.         // @rvalue E_OUTOFMEMORY | Out of memory creating clone.
  327.         HRESULT Clone(
  328. // @parm Interface to cloned IAQEnumMessages is returned here.
  329.                 [out] IAQEnumMessages **ppenum  
  330.                 );                                               
  331. }
  332. /*
  333.         @interface IEnumLinkQueues | Enumerator for a AQ Link's messages
  334.         @meth HRESULT | Next | Returns the sequentially consequetive specified 
  335.         number of ILinkQueue objects.
  336.         @meth HRESULT | Skip | Advances current element cursor by specified 
  337. number of elements
  338.         @meth HRESULT | Reset | Resets current element cursor to start of list
  339.         @meth HRESULT | Clone | Creates a copy of this enumerator object
  340. */
  341. [
  342.         helpstring("Advanced Queue Administration Object"),
  343.         object,
  344.         pointer_default(unique),
  345.         uuid(ba7af303-7373-11d2-94e4-00c04fa379f1)
  346. ]
  347. interface IEnumLinkQueues : IUnknown
  348. {
  349.         // @method HRESULT | IEnumLinkQueues | Next | Returns the sequentially 
  350.         // consequetive specified number of ILinkQueue objects.
  351.         // @rvalue S_OK | Success
  352.         // @rvalue S_FALSE | Fewer than requested number of object returned
  353.         HRESULT Next(
  354. // @parm Number of elements requested
  355.                 [in] ULONG cElt, 
  356. // @parm Array in which to return ILinkQueue objects. Must 
  357. // be atleast <p cElt> long.
  358.                 [out] ILinkQueue **rgelt, 
  359. // @parm Number of elements actually returned.
  360.                 [out] ULONG *pcFetched 
  361.                 );
  362.         // @method HRESULT | IEnumLinkQueues | Skip | Advances current element 
  363. // cursor by specified number of elements
  364.         // @rvalue S_OK | Success
  365.         // @rvalue S_FALSE | Too few elements in enumerator to successfully 
  366. // advance cursor. Cursor positioned to last element
  367.         HRESULT Skip(
  368. // @parm Number of elements to advance cursor by.
  369.                 [in] ULONG cElt 
  370.                 );
  371.         // @method HRESULT | IEnumLinkQueues | Reset | Resets current element 
  372. // cursor to start of list
  373.         // @rvalue S_OK | Success
  374.         HRESULT Reset();
  375.         // @method HRESULT | IEnumLinkQueues | Clone | Creates a clone of 
  376. // the this enumerator object.
  377.         // @rvalue S_OK | Success
  378.         // @rvalue E_POINTER | Null pointer parameter
  379.         // @rvalue E_OUTOFMEMORY | Out of memory creating clone.
  380.         HRESULT Clone(
  381. // @parm Interface to cloned IEnumLinkQueues is returned here.
  382.                 [out] IEnumLinkQueues **ppenum  
  383.                 );                                               
  384. }
  385. /*
  386.         @interface ILinkQueue | Interface to a single queue of messages that 
  387. will be serviced by a link. A link may be servicing 0 to many queues. 
  388. For example, if the server GW1 has a SMTP connector for *.com, then 
  389. on server MB1, there may be a link for GW1 servicing the queues for 
  390. IBM.COM and MSFT.COM
  391.         @meth HRESULT | GetInfo | Returns information about the Queue
  392.         @meth HRESULT | GetMessageEnum | Returns an enumerator for messages 
  393. on this link
  394. */
  395. [
  396.         helpstring("Advanced Queue Administration Object"),
  397.         object,
  398.         pointer_default(unique),
  399.         uuid(FF9A1BB6-1E96-11d3-BFCC-00C04FA3490A)
  400. ]
  401. interface ILinkQueue : IUnknown
  402. {
  403.         // @method HRESULT | ILinkQueue | GetInfo | Returns information about 
  404. // the link
  405.         // @rvalue S_OK | Success
  406.         // @rvalue E_OUTOFMEMORY | Insufficient resources
  407.         // @rvalue E_POINTER | Null pointer parameter
  408.         // @rvalue E_INVALIDARG | Invalid parameter
  409.         // @rvalue HRESULT_FROM_WIN32(RPC_S_SERVER_UNAVAILABLE) | Unable to 
  410.         // connect to specified virtual server
  411.         HRESULT GetInfo(
  412. // @parm Pointer to <t QUEUE_INFO> structure to fill.
  413.                 [in, out] PQUEUE_INFO pqi 
  414.                 );
  415.         // @method HRESULT | ILinkQueue | GetMessageEnum | Get an enumerator for
  416.         // messages on this link
  417.         // @rvalue S_OK | Success
  418.         // @rvalue E_OUTOFMEMORY | Insufficient resources
  419.         // @rvalue E_POINTER | Null pointer parameter
  420.         // @rvalue E_INVALIDARG | Invalid parameter
  421.         // @rvalue HRESULT_FROM_WIN32(RPC_S_SERVER_UNAVAILABLE) | Unable to 
  422.         // connect to specified virtual server
  423.         HRESULT GetMessageEnum(
  424. // @parm Filter specifying messages to return
  425.                 [in] PMESSAGE_ENUM_FILTER pFilter, 
  426. // @parm Interface to IAQEnumMessages is returned here.
  427.                 [out] IAQEnumMessages **ppenum     
  428.                 );                                                 
  429. }
  430. /*
  431.         @interface IAQMessage | Interface representing a single message
  432.         @meth HRESULT | GetInfo | Returns information about the Queue
  433.         @meth HRESULT | GetContentStream | Returns a stream for the message content
  434. */
  435. [
  436.         helpstring("Advanced Queue Administration Object"),
  437.         object,
  438.         pointer_default(unique),
  439.         uuid(ba7af305-7373-11d2-94e4-00c04fa379f1)
  440. ]
  441. interface IAQMessage : IUnknown
  442. {
  443.         // @method HRESULT | IAQMessage | GetInfo | Returns information about 
  444. // the message
  445.         // @rvalue S_OK | Success
  446.         // @rvalue E_OUTOFMEMORY | Insufficient resources
  447.         // @rvalue E_POINTER | Null pointer parameter
  448.         // @rvalue E_INVALIDARG | Invalid parameter
  449.         // @rvalue HRESULT_FROM_WIN32(RPC_S_SERVER_UNAVAILABLE) | Unable to 
  450.         // connect to specified virtual server
  451.         HRESULT GetInfo(
  452. // @parm Pointer to <t MESSAGE_INFO> structure to fill        
  453.                 [in, out] PMESSAGE_INFO pmi 
  454.                 );
  455.         // @method HRESULT | IAQMessage | GetContentStream | Returns 
  456. // a Stream of the message content
  457.         // @rvalue S_OK | Success
  458.         // @rvalue E_NOTIMPL | This queue provider does not support 
  459.         // this functionality
  460.         // @rvalue E_OUTOFMEMORY | Insufficient resources
  461.         // @rvalue E_POINTER | Null pointer parameter
  462.         // @rvalue E_INVALIDARG | Invalid parameter
  463.         // @rvalue HRESULT_FROM_WIN32(RPC_S_SERVER_UNAVAILABLE) | Unable to 
  464.         // connect to specified virtual server
  465.         HRESULT GetContentStream(
  466.                 // @parm Pointer to IStream interface for message content
  467.                 [out] IStream **ppIStream,
  468.                 // @parm String describing the content type (if known) of the message
  469.                 [out] LPWSTR *pwszContentType);
  470. }
  471. /*
  472.         @interface IUniqueId | Interface to get canonical name of queue/link
  473.         @meth HRESULT | GetUniqueId | Return QUEUELINK_ID for queue/link
  474. */
  475. [
  476.         helpstring("Queue/Link Id Object"),
  477.         object,
  478.         pointer_default(unique),
  479.         uuid(EA4DFDF2-9E87-4c57-B845-123872C5649F)
  480. ]
  481. interface IUniqueId : IUnknown
  482. {
  483.         // @method HRESULT | IUniqueId | GetUniqueId | Returns 
  484.         // a QUEUELINK_ID for this queue or link.  This is the canonical 
  485.         // representation of the queue.  The QAPI guarantees that there is
  486.         // no more than one queue or link with the same QUEUELINKID at a
  487.         // given point in time.  The memory associated with the out parameter
  488.         // is guaranteed good until the underlying QAPI object is released
  489.         // @rvalue S_OK | Success
  490.         // @rvalue E_NOTIMPL | This queue provider does not support 
  491.         // this functionality
  492.         HRESULT GetUniqueId(
  493.                 [out] QUEUELINK_ID **ppqlid);
  494. }
  495. [
  496. helpstring("Advanced Queueing Admin 1.0 Type Library"),
  497. uuid(83866cac-740d-11d2-94e4-00c04fa379f1),
  498. version(1.0)
  499. ]
  500. library AQAdmin
  501. {
  502. importlib("stdole2.tlb");
  503. interface IAQAdmin;
  504. [
  505. helpstring("Advanced Queueuing Administration Class"),
  506. uuid(83866cad-740d-11d2-94e4-00c04fa379f1)
  507. ]
  508. coclass AQAdmin {
  509. [default] interface IAQAdmin;
  510. }
  511. };