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.

43 lines
1.7 KiB

  1. //+===================================================================
  2. //
  3. // This file is a wrapper for prop_p.c (which is generated by MIDL
  4. // from ..\..\idl\prop.idl).
  5. //
  6. // Prop_p.c makes references to wire-marshal routines that are
  7. // provided by oleaut32.dll. But we can't (for performance
  8. // reasons) link ole32.dll directly to oleaut32, we do it
  9. // lazily. So in this file, we use #defines to map
  10. // the wire-marshal routines called by prop_p.c so that
  11. // they are actually calls to "Load*" wrappers. These
  12. // wrappers load oleaut32.dll, do a GetProcAddr, and
  13. // then make the actual call.
  14. //
  15. //+===================================================================
  16. #include "prop.h"
  17. #include <privoa.h>
  18. #define BSTR_UserSize LoadBSTR_UserSize
  19. #define BSTR_UserMarshal LoadBSTR_UserMarshal
  20. #define BSTR_UserUnmarshal LoadBSTR_UserUnmarshal
  21. #define BSTR_UserFree LoadBSTR_UserFree
  22. #define LPSAFEARRAY_UserSize LoadLPSAFEARRAY_UserSize
  23. #define LPSAFEARRAY_UserMarshal LoadLPSAFEARRAY_UserMarshal
  24. #define LPSAFEARRAY_UserUnmarshal LoadLPSAFEARRAY_UserUnmarshal
  25. #define LPSAFEARRAY_UserFree LoadLPSAFEARRAY_UserFree
  26. #if defined(_WIN64)
  27. #define BSTR_UserSize64 LoadBSTR_UserSize
  28. #define BSTR_UserMarshal64 LoadBSTR_UserMarshal
  29. #define BSTR_UserUnmarshal64 LoadBSTR_UserUnmarshal
  30. #define BSTR_UserFree64 LoadBSTR_UserFree
  31. #define LPSAFEARRAY_UserSize64 LoadLPSAFEARRAY_UserSize
  32. #define LPSAFEARRAY_UserMarshal64 LoadLPSAFEARRAY_UserMarshal
  33. #define LPSAFEARRAY_UserUnmarshal64 LoadLPSAFEARRAY_UserUnmarshal
  34. #define LPSAFEARRAY_UserFree64 LoadLPSAFEARRAY_UserFree
  35. #endif // defined(_WIN64)
  36. #include "prop_p.c"