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.

81 lines
1.6 KiB

  1. /*****************************************************************************
  2. * unknown.h - IUnknown definitions
  3. *****************************************************************************
  4. * Copyright (c) 1996 Microsoft Corporation
  5. */
  6. #ifndef _UNKNOWN_H_
  7. #define _UNKNOWN_H_
  8. #ifdef __cplusplus
  9. extern "C" {
  10. #include <wdm.h>
  11. }
  12. #else
  13. #include <wdm.h>
  14. #endif
  15. #include <windef.h>
  16. #define COM_NO_WINDOWS_H
  17. #include <basetyps.h>
  18. #ifdef PUT_GUIDS_HERE
  19. #include <initguid.h>
  20. #endif
  21. DEFINE_GUID(IID_IUnknown,
  22. 0x00000000, 0x0000, 0x0000, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46);
  23. #if defined(__cplusplus) && _MSC_VER >= 1100
  24. struct __declspec(uuid("00000000-0000-0000-c000-000000000046")) IUnknown;
  25. #endif
  26. /*****************************************************************************
  27. * IUnknown
  28. *****************************************************************************
  29. * Base interface for otherwise unknown objects.
  30. */
  31. #undef INTERFACE
  32. #define INTERFACE IUnknown
  33. DECLARE_INTERFACE(IUnknown)
  34. {
  35. STDMETHOD(QueryInterface)
  36. ( THIS_
  37. IN REFIID,
  38. OUT PVOID *
  39. ) PURE;
  40. STDMETHOD_(ULONG,AddRef)
  41. ( THIS
  42. ) PURE;
  43. STDMETHOD_(ULONG,Release)
  44. ( THIS
  45. ) PURE;
  46. };
  47. #undef INTERFACE
  48. typedef IUnknown *PUNKNOWN;
  49. /*****************************************************************************
  50. * PFNCREATEINSTANCE
  51. *****************************************************************************
  52. * Type for object create function.
  53. */
  54. typedef
  55. HRESULT
  56. (*PFNCREATEINSTANCE)
  57. (
  58. OUT PUNKNOWN * Unknown,
  59. IN REFCLSID ClassId,
  60. IN PUNKNOWN OuterUnknown,
  61. IN POOL_TYPE PoolType
  62. );
  63. #endif