ReactOS Fundraising Campaign 2012
 
€ 4,410 / € 30,000

Information | Donate

Home | Info | Community | Development | myReactOS | Contact Us

  1. Home
  2. Community
  3. Development
  4. myReactOS
  5. Fundraiser 2012

  1. Main Page
  2. Alphabetical List
  3. Data Structures
  4. Directories
  5. File List
  6. Data Fields
  7. Globals
  8. Related Pages

ReactOS Development > Doxygen

shtypes.idl
Go to the documentation of this file.
00001 /*
00002  * Type definitions for shell objects
00003  *
00004  * Copyright (C) 1999 Juergen Schmied
00005  * Copyright (C) 2003 Alexandre Julliard
00006  *
00007  * This library is free software; you can redistribute it and/or
00008  * modify it under the terms of the GNU Lesser General Public
00009  * License as published by the Free Software Foundation; either
00010  * version 2.1 of the License, or (at your option) any later version.
00011  *
00012  * This library is distributed in the hope that it will be useful,
00013  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00014  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00015  * Lesser General Public License for more details.
00016  *
00017  * You should have received a copy of the GNU Lesser General Public
00018  * License along with this library; if not, write to the Free Software
00019  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
00020  */
00021 
00022 import "wtypes.idl";
00023 
00024 cpp_quote("#include <pshpack1.h>")
00025 typedef struct
00026 {
00027     WORD cb;      /* nr of bytes in this item */
00028     BYTE abID[1]; /* first byte in this item */
00029 } SHITEMID, *LPSHITEMID;
00030 typedef const SHITEMID *LPCSHITEMID;
00031 
00032 typedef struct _ITEMIDLIST
00033 {
00034     SHITEMID mkid; /* first itemid in list */
00035 } ITEMIDLIST,*LPITEMIDLIST;
00036 typedef const ITEMIDLIST *LPCITEMIDLIST;
00037 typedef LPITEMIDLIST PITEMID_CHILD;
00038 typedef const PITEMID_CHILD PCITEMID_CHILD;
00039 typedef LPCITEMIDLIST PCUITEMID_CHILD;
00040 typedef LPCITEMIDLIST *PCUITEMID_CHILD_ARRAY;
00041 typedef LPCITEMIDLIST PCUIDLIST_RELATIVE;
00042 typedef LPITEMIDLIST PIDLIST_ABSOLUTE;
00043 typedef LPCITEMIDLIST PCIDLIST_ABSOLUTE;
00044 cpp_quote("#include <poppack.h>")
00045 
00046 #ifndef MAX_PATH
00047 #define MAX_PATH 260
00048 #endif
00049 
00050 cpp_quote("#if 0")
00051 typedef struct { int dummy; } WIN32_FIND_DATAA, WIN32_FIND_DATAW;
00052 cpp_quote("#endif")
00053 
00054 typedef enum tagSTRRET_TYPE
00055 {
00056     STRRET_WSTR = 0,
00057     STRRET_OFFSET = 1,
00058     STRRET_CSTR = 2
00059 } STRRET_TYPE;
00060 
00061 cpp_quote("#include <pshpack8.h>")
00062 typedef struct _STRRET
00063 {
00064     UINT uType;         /* STRRET_xxx */
00065     [switch_type(UINT), switch_is(uType)] union
00066     {
00067     [case(STRRET_WSTR)][string] LPWSTR    pOleStr;        /* OLESTR that will be freed */
00068     [case(STRRET_OFFSET)]       UINT      uOffset;        /* Offset into SHITEMID (ANSI) */
00069     [case(STRRET_CSTR)]         CHAR      cStr[MAX_PATH]; /* ANSI Buffer */
00070     } DUMMYUNIONNAME;
00071 } STRRET, *LPSTRRET;
00072 cpp_quote("#include <poppack.h>")
00073 
00074 cpp_quote("#include <pshpack1.h>")
00075 typedef struct
00076 {
00077     int fmt;
00078     int cxChar;
00079     STRRET str;
00080 } SHELLDETAILS, *LPSHELLDETAILS;
00081 cpp_quote("#include <poppack.h>")
00082 
00083 typedef struct _COMDLG_FILTERSPEC
00084 {
00085     [string] LPCWSTR pszName;
00086     [string] LPCWSTR pszSpec;
00087 } COMDLG_FILTERSPEC;
00088 
00089 typedef [v1_enum] enum tagSHCOLSTATE
00090 {
00091     SHCOLSTATE_DEFAULT = 0,
00092     SHCOLSTATE_TYPE_STR,
00093     SHCOLSTATE_TYPE_INT,
00094     SHCOLSTATE_TYPE_DATE,
00095     SHCOLSTATE_TYPEMASK = 0xf,
00096     SHCOLSTATE_ONBYDEFAULT = 0x10,
00097     SHCOLSTATE_SLOW = 0x20,
00098     SHCOLSTATE_EXTENDED = 0x40,
00099     SHCOLSTATE_SECONDARYUI = 0x80,
00100     SHCOLSTATE_HIDDEN = 0x100,
00101     SHCOLSTATE_PREFER_VARCMP = 0x200,
00102     SHCOLSTATE_PREFER_FMTCMP = 0x400,
00103     SHCOLSTATE_NOSORTBYFOLDERNESS = 0x800,
00104     SHCOLSTATE_VIEWONLY = 0x10000,
00105     SHCOLSTATE_BATCHREAD = 0x20000,
00106     SHCOLSTATE_NO_GROUPBY = 0x40000,
00107     SHCOLSTATE_FIXED_WIDTH = 0x1000,
00108     SHCOLSTATE_NODPISCALE = 0x2000,
00109     SHCOLSTATE_FIXED_RATIO = 0x4000,
00110     SHCOLSTATE_DISPLAYMASK = 0xf000
00111 } SHCOLSTATE;
00112 
00113 typedef DWORD SHCOLSTATEF;
00114 
00115 typedef GUID KNOWNFOLDERID;
00116 
00117 cpp_quote("#if 0")
00118 typedef KNOWNFOLDERID *REFKNOWNFOLDERID;
00119 cpp_quote("#endif")
00120 
00121 cpp_quote("#ifdef __cplusplus")
00122 cpp_quote("#define REFKNOWNFOLDERID const KNOWNFOLDERID &")
00123 cpp_quote("#else")
00124 cpp_quote("#define REFKNOWNFOLDERID const KNOWNFOLDERID * __MIDL_CONST")
00125 cpp_quote("#endif")
00126 
00127 typedef GUID FOLDERTYPEID;
00128 
00129 cpp_quote("#if 0")
00130 typedef FOLDERTYPEID *REFFOLDERTYPEID;
00131 cpp_quote("#endif")
00132 
00133 cpp_quote("#ifdef __cplusplus")
00134 cpp_quote("#define REFFOLDERTYPEID const FOLDERTYPEID &")
00135 cpp_quote("#else")
00136 cpp_quote("#define REFFOLDERTYPEID const FOLDERTYPEID * __MIDL_CONST")
00137 cpp_quote("#endif")

Generated on Sat May 26 2012 04:31:11 for ReactOS by doxygen 1.7.6.1

ReactOS is a registered trademark or a trademark of ReactOS Foundation in the United States and other countries.