Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

98 lines
3.2 KiB

  1. //+-------------------------------------------------------------------------
  2. //
  3. // Microsoft Windows
  4. //
  5. // Copyright (C) Microsoft Corporation, 1994 - 1999
  6. //
  7. // File: conv.idl
  8. //
  9. //--------------------------------------------------------------------------
  10. [uuid(333a2276-0000-0000-0d00-00809c000000),version(3)]
  11. interface conv
  12. {
  13. import "nbase.idl";
  14. typedef unsigned long error_status_t;
  15. [idempotent]
  16. void conv_who_are_you(
  17. [in] handle_t Binding,
  18. [in, ref] UUID *pUuid,
  19. [in] unsigned long ServerBootTime,
  20. [out, ref] unsigned long *SequenceNumber,
  21. [out, ref] error_status_t *Status
  22. );
  23. [idempotent]
  24. void conv_who_are_you2(
  25. [in] handle_t Binding,
  26. [in, ref] UUID *pUuid,
  27. [in] unsigned long ServerBootTime,
  28. [out, ref] unsigned long *SequenceNumber,
  29. [out, ref] UUID *CASUuid,
  30. [out, ref] error_status_t *Status
  31. );
  32. [idempotent]
  33. void conv_are_you_there(
  34. [in] handle_t Binding,
  35. [in, ref] UUID * pUuid,
  36. [in] unsigned long ServerBootTime,
  37. [out, ref] error_status_t * Status
  38. );
  39. [idempotent]
  40. void conv_who_are_you_auth(
  41. [in] handle_t Binding,
  42. [in, ref] UUID * pUuid,
  43. [in] unsigned long ServerBootTime,
  44. [in, size_is(InLength)] byte InData[],
  45. [in] long InLength,
  46. [in] long OutMaxLength,
  47. [out, ref] unsigned long * SequenceNumber,
  48. [out, ref] UUID * CASUuid,
  49. [out, length_is(*pOutLength), size_is(OutMaxLength)]
  50. byte OutData[],
  51. [out] long * pOutLength,
  52. [out, ref] error_status_t * Status
  53. );
  54. /*
  55. * C O N V _ W H O _ A R E _ Y O U _ A U T H _ M O R E
  56. *
  57. * This routine is used, in conjunction with the conv_who_are_you_auth()
  58. * operation, for retrieving oversized PACs. In the event that a client's
  59. * credentials are too large to fit within a single DG packet, the server
  60. * can retrieve the PAC, packet by packet, by repeated calls on this
  61. * operation.
  62. *
  63. * Note that because the "conv" interface is serviced directly by the
  64. * the DG protocol (as opposed to being handled by a call executor thread),
  65. * there is no additional client overhead with retrieving the PAC by
  66. * multiple single-packet calls, rather than a single multiple-packet call.
  67. * The small amount of overhead induced on the server side is more than
  68. * compensated for by being able to avoid adding flow-control/windowing
  69. * to the DG protocol's internal handling of the conv interface.
  70. *
  71. * Logically, this call returns
  72. *
  73. * client_credentials[index ... (index+out_max_len-1)]
  74. */
  75. [idempotent]
  76. void conv_who_are_you_auth_more(
  77. [in] handle_t Binding,
  78. [in, ref] UUID * pUuid,
  79. [in] unsigned long ServerBootTime,
  80. [in] long Index,
  81. [in] long OutMaxLength,
  82. [out, length_is(*pOutLength), size_is(OutMaxLength)]
  83. byte OutData[],
  84. [out] long * pOutLength,
  85. [out, ref] error_status_t * Status
  86. );
  87. }