Leaked source code of windows server 2003
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.

72 lines
2.7 KiB

  1. //+-------------------------------------------------------------------------
  2. //
  3. // Microsoft Windows
  4. //
  5. // Copyright (C) Microsoft Corporation, 1998 - 1999
  6. //
  7. // File: timeif.idl
  8. //
  9. // Contents: IDL file for w32time
  10. //
  11. //
  12. // History: 11-Oct-96 ArnoldM Created
  13. //
  14. //------------------------------------------------------------------------
  15. import "imports.idl"; // import all the include files
  16. [
  17. uuid(8fb6d884-2388-11d0-8c35-00c04fda2795),
  18. version(4.1),
  19. pointer_default(unique)
  20. ]
  21. interface W32Time
  22. {
  23. //--------------------------------------------------------------------------------
  24. //
  25. // General provider structures
  26. //
  27. //--------------------------------------------------------------------------------
  28. typedef [switch_type(unsigned __int32)] union _W32TIME_PROVIDER_DATA {
  29. [case (0) /*NTP*/] W32TIME_NTP_PROVIDER_DATA *pNtpProviderData;
  30. [case (1) /*HARDWARE*/] W32TIME_HARDWARE_PROVIDER_DATA *pHardwareProviderData;
  31. } W32TIME_PROVIDER_DATA, *PW32TIME_PROVIDER_DATA;
  32. //
  33. // W32TIME_PROVIDER_INFO
  34. //
  35. // ulProviderType -- one of the following values:
  36. // W32TIME_PROVIDER_TYPE_NTP -- if the provider is an NTP provider
  37. // W32TIME_PROVIDER_TYPE_HARDWARE -- if the provider is a hardware provider
  38. //
  39. // pProviderData -- contains data specific to the type of the provider
  40. //
  41. typedef struct _W32TIME_PROVIDER_INFO {
  42. unsigned __int32 ulProviderType;
  43. [switch_is(ulProviderType)]
  44. W32TIME_PROVIDER_DATA ProviderData;
  45. } W32TIME_PROVIDER_INFO, *PW32TIME_PROVIDER_INFO;
  46. //--------------------------------------------------------------------------------
  47. //
  48. // Methods
  49. //
  50. //--------------------------------------------------------------------------------
  51. unsigned long W32TimeSync([in] handle_t hBinding,
  52. [in] unsigned long uWait,
  53. [in] unsigned long ulFlags);
  54. unsigned long W32TimeGetNetlogonServiceBits([in] handle_t hBinding);
  55. unsigned long W32TimeQueryProviderStatus([in] handle_t hRPCBinding,
  56. [in] unsigned __int32 ulFlags,
  57. [in, string] wchar_t *pwszProvider,
  58. [out, ref] PW32TIME_PROVIDER_INFO *pProviderInfo);
  59. }
  60. cpp_quote("#define W32TIME_PROVIDER_TYPE_NTP 0x0000")
  61. cpp_quote("#define W32TIME_PROVIDER_TYPE_HARDWARE 0x0001")