shtypes.idl 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. /*
  2. * Type definitions for shell objects
  3. *
  4. * Copyright (C) 1999 Juergen Schmied
  5. * Copyright (C) 2003 Alexandre Julliard
  6. *
  7. * This library is free software; you can redistribute it and/or
  8. * modify it under the terms of the GNU Lesser General Public
  9. * License as published by the Free Software Foundation; either
  10. * version 2.1 of the License, or (at your option) any later version.
  11. *
  12. * This library is distributed in the hope that it will be useful,
  13. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  14. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
  15. * Lesser General Public License for more details.
  16. *
  17. * You should have received a copy of the GNU Lesser General Public
  18. * License along with this library; if not, write to the Free Software
  19. * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
  20. */
  21. import "wtypes.idl";
  22. cpp_quote("#include <pshpack1.h>")
  23. typedef struct
  24. {
  25. WORD cb; /* nr of bytes in this item */
  26. BYTE abID[1]; /* first byte in this item */
  27. } SHITEMID, *LPSHITEMID;
  28. typedef const SHITEMID *LPCSHITEMID;
  29. typedef struct _ITEMIDLIST
  30. {
  31. SHITEMID mkid; /* first itemid in list */
  32. } ITEMIDLIST,*LPITEMIDLIST;
  33. typedef const ITEMIDLIST *LPCITEMIDLIST;
  34. cpp_quote("#include <poppack.h>")
  35. #ifndef MAX_PATH
  36. #define MAX_PATH 260
  37. #endif
  38. cpp_quote("#if 0")
  39. typedef struct { int dummy; } WIN32_FIND_DATAA, WIN32_FIND_DATAW;
  40. cpp_quote("#endif")
  41. typedef enum tagSTRRET_TYPE
  42. {
  43. STRRET_WSTR = 0,
  44. STRRET_OFFSET = 1,
  45. STRRET_CSTR = 2
  46. } STRRET_TYPE;
  47. cpp_quote("#include <pshpack4.h>")
  48. typedef struct _STRRET
  49. {
  50. UINT uType; /* STRRET_xxx */
  51. [switch_type(UINT), switch_is(uType)] union
  52. {
  53. [case(STRRET_WSTR)][string] LPWSTR pOleStr; /* OLESTR that will be freed */
  54. [case(STRRET_OFFSET)] UINT uOffset; /* Offset into SHITEMID (ANSI) */
  55. [case(STRRET_CSTR)] char cStr[MAX_PATH]; /* ANSI Buffer */
  56. } DUMMYUNIONNAME;
  57. } STRRET, *LPSTRRET;
  58. cpp_quote("#include <poppack.h>")
  59. cpp_quote("#include <pshpack1.h>")
  60. typedef struct
  61. {
  62. int fmt;
  63. int cxChar;
  64. STRRET str;
  65. } SHELLDETAILS, *LPSHELLDETAILS;
  66. cpp_quote("#include <poppack.h>")