OxidResolver.idl
上传用户:nvosite88
上传日期:2007-01-17
资源大小:4983k
文件大小:3k
源码类别:

VxWorks

开发平台:

C/C++

  1. /* OxidResolver.idl - DCOM protocol */
  2. /* Copyright (c) 2000, Wind River Systems, Inc. */
  3. /*
  4. modification history
  5. --------------------
  6. 01b,10aug00,nel  Win2K Fix.
  7. 01a,18feb00,dbs  created
  8. */
  9. cpp_quote("/* Copyright (c) 2000 Wind River Systems, Inc. */")
  10. import "orpc.idl";
  11. [
  12.     uuid(99fcfec4-5260-101b-bbcb-00aa0021347a),
  13.     pointer_default(unique)
  14. ]
  15. interface IOXIDResolver
  16. {
  17.     // Method to get the protocol sequences, string bindings
  18.     // and machine id for an object server given its OXID.
  19.     [idempotent] HRESULT ResolveOxid
  20. (
  21. [in]       OXID           *pOxid,
  22. [in]       unsigned short  cRequestedProtseqs,
  23. [in,  ref, size_is(cRequestedProtseqs)]
  24. unsigned short    arRequestedProtseqs[],
  25. [out, ref] DUALSTRINGARRAY **ppdsaOxidBindings,
  26. [out, ref] IPID            *pipidRemUnknown,
  27. [out, ref] DWORD           *pAuthnHint
  28. );
  29.     // Simple ping is used to ping a Set. Client machines use this
  30.     // to inform the object exporter that it is still using the
  31.     // members of the set.
  32.     // Returns S_TRUE if the SetId is known by the object exporter,
  33.     // S_FALSE if not.
  34.     [idempotent] HRESULT SimplePing
  35. (
  36. [in]  SETID    *pSetId  // Must not be zero
  37. );
  38.     // Complex ping is used to create sets of OIDs to ping. The
  39.     // whole set can subsequently be pinged using SimplePing,
  40.     // thus reducing network traffic.
  41.     [idempotent] HRESULT ComplexPing
  42. (
  43. [in, out]  SETID          *pSetId,  // In of 0 on first call for new set.
  44. [in]       unsigned short  SequenceNum,
  45. [in]       unsigned short  cAddToSet,
  46. [in]       unsigned short  cDelFromSet,
  47. [in, unique, size_is(cAddToSet)]
  48. OID    AddToSet[], // add these OIDs to the set
  49. [in, unique, size_is(cDelFromSet)]
  50. OID    DelFromSet[], // remove these OIDs from the set
  51. [out]      unsigned short *pPingBackoffFactor // 2^factor = multipler
  52. );
  53.     // In some cases the client maybe unsure that a particular
  54.     // binding will reach the server.  (For example, when the oxid
  55.     // bindings have more then one TCP/IP binding)  This call
  56.     // can be used to validate the binding
  57.     // from the client.
  58.     [idempotent] HRESULT ServerAlive ();
  59.     // Method to get the protocol sequences, string bindings,
  60.     // RemoteUnknown IPID and COM version for an object server given
  61.     // its OXID. Supported by DCOM version 5.2 and above.
  62.     [idempotent] HRESULT ResolveOxid2
  63. (
  64. [in]       OXID           *pOxid,
  65. [in]       unsigned short  cRequestedProtseqs,
  66. [in, ref, size_is(cRequestedProtseqs)]
  67. unsigned short    arRequestedProtseqs[],
  68. [out, ref] DUALSTRINGARRAY **ppdsaOxidBindings,
  69. [out, ref] IPID            *pipidRemUnknown,
  70. [out, ref] DWORD           *pAuthnHint,
  71. [out, ref] COMVERSION      *pComVersion
  72. );
  73. }
  74. [
  75.     uuid(000001a0-0000-0000-C000-000000000046),
  76.     pointer_default(unique)
  77. ]
  78. interface ISystemActivator
  79. {
  80.     [idempotent] HRESULT ADummyMethod ();
  81. }