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.

35 lines
1.3 KiB

  1. // Copyright 1995-1997 Microsoft Corporation. All Rights Reserved.
  2. //
  3. // global routines that are specific to the inproc server itself, such as
  4. // registration, object creation, object specification, etc...
  5. #if _MSC_VER > 1000
  6. #pragma once
  7. #endif
  8. #ifndef _LOCALSRV_H_
  9. #define _LOCALSRV_H_
  10. //=--------------------------------------------------------------------------=
  11. // these things are used to set up our objects in our global object table
  12. //
  13. #define OI_UNKNOWN 0
  14. #define OI_AUTOMATION 1
  15. #define OI_CONTROL 2
  16. #define OI_PROPERTYPAGE 3
  17. #define OI_BOGUS 0xffff
  18. #define OBJECTISCREATABLE(index) (((UNKNOWNOBJECTINFO *)(g_ObjectInfo[(index)]).pInfo)->rclsid != NULL)
  19. #define ISEMPTYOBJECT(index) (g_ObjectInfo[index].usType == OI_BOGUS)
  20. // these are the macros you should use to fill in the table. Note that the name
  21. // must be exactly the same as that used in the global structure you created
  22. // for this object.
  23. //
  24. #define UNKNOWNOBJECT(name) { OI_UNKNOWN, (void *)&(name##Object) }
  25. #define AUTOMATIONOBJECT(name) { OI_AUTOMATION, (void *)&(name##Object) }
  26. #define CONTROLOBJECT(name) { OI_CONTROL, (void *)&(name##Control) }
  27. #define PROPERTYPAGE(name) { OI_PROPERTYPAGE, (void *)&(name##Page) }
  28. #define EMPTYOBJECT { OI_BOGUS, NULL }
  29. #endif // _LOCALSRV_H_