PortAudio  2.0
shtypes.h
Go to the documentation of this file.
1 
2 
3 /* this ALWAYS GENERATED file contains the definitions for the interfaces */
4 
5 
6  /* File created by MIDL compiler version 7.00.0499 */
7 /* Compiler settings for shtypes.idl:
8  Oicf, W1, Zp8, env=Win32 (32b run)
9  protocol : dce , ms_ext, c_ext, robust
10  error checks: allocation ref bounds_check enum stub_data
11  VC __declspec() decoration level:
12  __declspec(uuid()), __declspec(selectany), __declspec(novtable)
13  DECLSPEC_UUID(), MIDL_INTERFACE()
14 */
15 //@@MIDL_FILE_HEADING( )
16 
17 #pragma warning( disable: 4049 ) /* more than 64k source lines */
18 
19 
20 /* verify that the <rpcndr.h> version is high enough to compile this file*/
21 #ifndef __REQUIRED_RPCNDR_H_VERSION__
22 #define __REQUIRED_RPCNDR_H_VERSION__ 500
23 #endif
24 
25 /* verify that the <rpcsal.h> version is high enough to compile this file*/
26 #ifndef __REQUIRED_RPCSAL_H_VERSION__
27 #define __REQUIRED_RPCSAL_H_VERSION__ 100
28 #endif
29 
30 #include "rpc.h"
31 #include "rpcndr.h"
32 
33 #ifndef __RPCNDR_H_VERSION__
34 #error this stub requires an updated version of <rpcndr.h>
35 #endif // __RPCNDR_H_VERSION__
36 
37 
38 #ifndef __shtypes_h__
39 #define __shtypes_h__
40 
41 #if defined(_MSC_VER) && (_MSC_VER >= 1020)
42 #pragma once
43 #endif
44 
45 /* Forward Declarations */
46 
47 /* header files for imported files */
48 #include "wtypes.h"
49 
50 #ifdef __cplusplus
51 extern "C"{
52 #endif
53 
54 
55 /* interface __MIDL_itf_shtypes_0000_0000 */
56 /* [local] */
57 
58 //+-------------------------------------------------------------------------
59 //
60 // Microsoft Windows
61 // Copyright (c) Microsoft Corporation. All rights reserved.
62 //
63 //--------------------------------------------------------------------------
64 //===========================================================================
65 //
66 // Object identifiers in the explorer's name space (ItemID and IDList)
67 //
68 // All the items that the user can browse with the explorer (such as files,
69 // directories, servers, work-groups, etc.) has an identifier which is unique
70 // among items within the parent folder. Those identifiers are called item
71 // IDs (SHITEMID). Since all its parent folders have their own item IDs,
72 // any items can be uniquely identified by a list of item IDs, which is called
73 // an ID list (ITEMIDLIST).
74 //
75 // ID lists are almost always allocated by the task allocator (see some
76 // description below as well as OLE 2.0 SDK) and may be passed across
77 // some of shell interfaces (such as IShellFolder). Each item ID in an ID list
78 // is only meaningful to its parent folder (which has generated it), and all
79 // the clients must treat it as an opaque binary data except the first two
80 // bytes, which indicates the size of the item ID.
81 //
82 // When a shell extension -- which implements the IShellFolder interace --
83 // generates an item ID, it may put any information in it, not only the data
84 // with that it needs to identifies the item, but also some additional
85 // information, which would help implementing some other functions efficiently.
86 // For example, the shell's IShellFolder implementation of file system items
87 // stores the primary (long) name of a file or a directory as the item
88 // identifier, but it also stores its alternative (short) name, size and date
89 // etc.
90 //
91 // When an ID list is passed to one of shell APIs (such as SHGetPathFromIDList),
92 // it is always an absolute path -- relative from the root of the name space,
93 // which is the desktop folder. When an ID list is passed to one of IShellFolder
94 // member function, it is always a relative path from the folder (unless it
95 // is explicitly specified).
96 //
97 //===========================================================================
98 //
99 // SHITEMID -- Item ID (mkid)
100 // USHORT cb; // Size of the ID (including cb itself)
101 // BYTE abID[]; // The item ID (variable length)
102 //
103 #include <pshpack1.h>
104 typedef struct _SHITEMID
105  {
106  USHORT cb;
107  BYTE abID[ 1 ];
108  } SHITEMID;
109 
110 #include <poppack.h>
111 #if defined(_M_IX86)
112 #define __unaligned
113 #endif // __unaligned
114 typedef SHITEMID __unaligned *LPSHITEMID;
115 
116 typedef const SHITEMID __unaligned *LPCSHITEMID;
117 
118 //
119 // ITEMIDLIST -- List if item IDs (combined with 0-terminator)
120 //
121 #include <pshpack1.h>
122 typedef struct _ITEMIDLIST
123  {
125  } ITEMIDLIST;
126 
127 #if defined(STRICT_TYPED_ITEMIDS) && defined(__cplusplus)
128 typedef struct _ITEMIDLIST_RELATIVE : ITEMIDLIST {} ITEMIDLIST_RELATIVE;
129 typedef struct _ITEMID_CHILD : ITEMIDLIST_RELATIVE {} ITEMID_CHILD;
130 typedef struct _ITEMIDLIST_ABSOLUTE : ITEMIDLIST_RELATIVE {} ITEMIDLIST_ABSOLUTE;
131 #else // !(defined(STRICT_TYPED_ITEMIDS) && defined(__cplusplus))
133 
135 
137 
138 #endif // defined(STRICT_TYPED_ITEMIDS) && defined(__cplusplus)
139 #include <poppack.h>
140 typedef /* [unique] */ __RPC_unique_pointer BYTE_BLOB *wirePIDL;
141 
142 typedef /* [wire_marshal] */ ITEMIDLIST __unaligned *LPITEMIDLIST;
143 
144 typedef /* [wire_marshal] */ const ITEMIDLIST __unaligned *LPCITEMIDLIST;
145 
146 #if defined(STRICT_TYPED_ITEMIDS) && defined(__cplusplus)
147 typedef /* [wire_marshal] */ ITEMIDLIST_ABSOLUTE *PIDLIST_ABSOLUTE;
148 
149 typedef /* [wire_marshal] */ const ITEMIDLIST_ABSOLUTE *PCIDLIST_ABSOLUTE;
150 
151 typedef /* [wire_marshal] */ const ITEMIDLIST_ABSOLUTE __unaligned *PCUIDLIST_ABSOLUTE;
152 
153 typedef /* [wire_marshal] */ ITEMIDLIST_RELATIVE *PIDLIST_RELATIVE;
154 
155 typedef /* [wire_marshal] */ const ITEMIDLIST_RELATIVE *PCIDLIST_RELATIVE;
156 
157 typedef /* [wire_marshal] */ ITEMIDLIST_RELATIVE __unaligned *PUIDLIST_RELATIVE;
158 
159 typedef /* [wire_marshal] */ const ITEMIDLIST_RELATIVE __unaligned *PCUIDLIST_RELATIVE;
160 
161 typedef /* [wire_marshal] */ ITEMID_CHILD *PITEMID_CHILD;
162 
163 typedef /* [wire_marshal] */ const ITEMID_CHILD *PCITEMID_CHILD;
164 
165 typedef /* [wire_marshal] */ ITEMID_CHILD __unaligned *PUITEMID_CHILD;
166 
167 typedef /* [wire_marshal] */ const ITEMID_CHILD __unaligned *PCUITEMID_CHILD;
168 
169 typedef const PCUITEMID_CHILD *PCUITEMID_CHILD_ARRAY;
170 
171 typedef const PCUIDLIST_RELATIVE *PCUIDLIST_RELATIVE_ARRAY;
172 
173 typedef const PCIDLIST_ABSOLUTE *PCIDLIST_ABSOLUTE_ARRAY;
174 
175 typedef const PCUIDLIST_ABSOLUTE *PCUIDLIST_ABSOLUTE_ARRAY;
176 
177 #else // !(defined(STRICT_TYPED_ITEMIDS) && defined(__cplusplus))
178 #define PIDLIST_ABSOLUTE LPITEMIDLIST
179 #define PCIDLIST_ABSOLUTE LPCITEMIDLIST
180 #define PCUIDLIST_ABSOLUTE LPCITEMIDLIST
181 #define PIDLIST_RELATIVE LPITEMIDLIST
182 #define PCIDLIST_RELATIVE LPCITEMIDLIST
183 #define PUIDLIST_RELATIVE LPITEMIDLIST
184 #define PCUIDLIST_RELATIVE LPCITEMIDLIST
185 #define PITEMID_CHILD LPITEMIDLIST
186 #define PCITEMID_CHILD LPCITEMIDLIST
187 #define PUITEMID_CHILD LPITEMIDLIST
188 #define PCUITEMID_CHILD LPCITEMIDLIST
189 #define PCUITEMID_CHILD_ARRAY LPCITEMIDLIST *
190 #define PCUIDLIST_RELATIVE_ARRAY LPCITEMIDLIST *
191 #define PCIDLIST_ABSOLUTE_ARRAY LPCITEMIDLIST *
192 #define PCUIDLIST_ABSOLUTE_ARRAY LPCITEMIDLIST *
193 #endif // defined(STRICT_TYPED_ITEMIDS) && defined(__cplusplus)
194 #ifdef MIDL_PASS
195 typedef struct _WIN32_FIND_DATAA
196  {
197  DWORD dwFileAttributes;
198  FILETIME ftCreationTime;
199  FILETIME ftLastAccessTime;
200  FILETIME ftLastWriteTime;
201  DWORD nFileSizeHigh;
202  DWORD nFileSizeLow;
203  DWORD dwReserved0;
204  DWORD dwReserved1;
205  CHAR cFileName[ 260 ];
206  CHAR cAlternateFileName[ 14 ];
207  } WIN32_FIND_DATAA;
208 
209 typedef struct _WIN32_FIND_DATAA *PWIN32_FIND_DATAA;
210 
211 typedef struct _WIN32_FIND_DATAA *LPWIN32_FIND_DATAA;
212 
213 typedef struct _WIN32_FIND_DATAW
214  {
215  DWORD dwFileAttributes;
216  FILETIME ftCreationTime;
217  FILETIME ftLastAccessTime;
218  FILETIME ftLastWriteTime;
219  DWORD nFileSizeHigh;
220  DWORD nFileSizeLow;
221  DWORD dwReserved0;
222  DWORD dwReserved1;
223  WCHAR cFileName[ 260 ];
224  WCHAR cAlternateFileName[ 14 ];
225  } WIN32_FIND_DATAW;
226 
227 typedef struct _WIN32_FIND_DATAW *PWIN32_FIND_DATAW;
228 
229 typedef struct _WIN32_FIND_DATAW *LPWIN32_FIND_DATAW;
230 
231 #endif // MIDL_PASS
232 //-------------------------------------------------------------------------
233 //
234 // struct STRRET
235 //
236 // structure for returning strings from IShellFolder member functions
237 //
238 //-------------------------------------------------------------------------
239 //
240 // uType indicate which union member to use
241 // STRRET_WSTR Use STRRET.pOleStr must be freed by caller of GetDisplayNameOf
242 // STRRET_OFFSET Use STRRET.uOffset Offset into SHITEMID for ANSI string
243 // STRRET_CSTR Use STRRET.cStr ANSI Buffer
244 //
245 typedef /* [v1_enum] */
247  { STRRET_WSTR = 0,
250  } STRRET_TYPE;
251 
252 #if defined(_MSC_VER) && (_MSC_VER >= 1200)
253 #pragma warning(push)
254 #pragma warning(disable:4201) /* nonstandard extension used : nameless struct/union */
255 #pragma once
256 #endif
257 #include <pshpack8.h>
258 typedef struct _STRRET
259  {
260  UINT uType;
261  union
262  {
263  LPWSTR pOleStr;
264  UINT uOffset;
265  char cStr[ 260 ];
266  } DUMMYUNIONNAME;
267  } STRRET;
268 
269 #include <poppack.h>
270 #if defined(_MSC_VER) && (_MSC_VER >= 1200)
271 #pragma warning(pop)
272 #endif
273 typedef STRRET *LPSTRRET;
274 
275 //-------------------------------------------------------------------------
276 //
277 // struct SHELLDETAILS
278 //
279 // structure for returning strings from IShellDetails
280 //
281 //-------------------------------------------------------------------------
282 //
283 // fmt; // LVCFMT_* value (header only)
284 // cxChar; // Number of 'average' characters (header only)
285 // str; // String information
286 //
287 #include <pshpack1.h>
288 typedef struct _SHELLDETAILS
289  {
290  int fmt;
291  int cxChar;
293  } SHELLDETAILS;
294 
296 
297 #include <poppack.h>
298 
299 #if (_WIN32_IE >= _WIN32_IE_IE60SP2)
300 typedef /* [v1_enum] */
318  } PERCEIVED;
319 
320 #define PERCEIVEDFLAG_UNDEFINED 0x0000
321 #define PERCEIVEDFLAG_SOFTCODED 0x0001
322 #define PERCEIVEDFLAG_HARDCODED 0x0002
323 #define PERCEIVEDFLAG_NATIVESUPPORT 0x0004
324 #define PERCEIVEDFLAG_GDIPLUS 0x0010
325 #define PERCEIVEDFLAG_WMSDK 0x0020
326 #define PERCEIVEDFLAG_ZIPFOLDER 0x0040
327 typedef DWORD PERCEIVEDFLAG;
328 
329 #endif // _WIN32_IE_IE60SP2
330 
331 #if (NTDDI_VERSION >= NTDDI_LONGHORN)
332 typedef struct _COMDLG_FILTERSPEC
333  {
334  LPCWSTR pszName;
335  LPCWSTR pszSpec;
337 
338 typedef struct tagMACHINE_ID
339  {
340  char szName[ 16 ];
341  } MACHINE_ID;
342 
344  {
348 
349 typedef GUID KNOWNFOLDERID;
350 
351 #if 0
352 typedef KNOWNFOLDERID *REFKNOWNFOLDERID;
353 
354 #endif // 0
355 #ifdef __cplusplus
356 #define REFKNOWNFOLDERID const KNOWNFOLDERID &
357 #else // !__cplusplus
358 #define REFKNOWNFOLDERID const KNOWNFOLDERID * __MIDL_CONST
359 #endif // __cplusplus
360 #endif // NTDDI_LONGHORN
361 typedef GUID FOLDERTYPEID;
362 
363 #if 0
364 typedef FOLDERTYPEID *REFFOLDERTYPEID;
365 
366 #endif // 0
367 #ifdef __cplusplus
368 #define REFFOLDERTYPEID const FOLDERTYPEID &
369 #else // !__cplusplus
370 #define REFFOLDERTYPEID const FOLDERTYPEID * __MIDL_CONST
371 #endif // __cplusplus
372 typedef GUID TASKOWNERID;
373 
374 #if 0
375 typedef TASKOWNERID *REFTASKOWNERID;
376 
377 #endif // 0
378 #ifdef __cplusplus
379 #define REFTASKOWNERID const TASKOWNERID &
380 #else // !__cplusplus
381 #define REFTASKOWNERID const TASKOWNERID * __MIDL_CONST
382 #endif // __cplusplus
383 #ifndef LF_FACESIZE
384 typedef struct tagLOGFONTA
385  {
386  LONG lfHeight;
387  LONG lfWidth;
390  LONG lfWeight;
391  BYTE lfItalic;
394  BYTE lfCharSet;
397  BYTE lfQuality;
399  CHAR lfFaceName[ 32 ];
400  } LOGFONTA;
401 
402 typedef struct tagLOGFONTW
403  {
404  LONG lfHeight;
405  LONG lfWidth;
408  LONG lfWeight;
409  BYTE lfItalic;
412  BYTE lfCharSet;
415  BYTE lfQuality;
417  WCHAR lfFaceName[ 32 ];
418  } LOGFONTW;
419 
421 
422 #endif // LF_FACESIZE
423 typedef /* [v1_enum] */
444  } SHCOLSTATE;
445 
446 typedef DWORD SHCOLSTATEF;
447 
449 
450 typedef const SHCOLUMNID *LPCSHCOLUMNID;
451 
452 
453 
454 extern RPC_IF_HANDLE __MIDL_itf_shtypes_0000_0000_v0_0_c_ifspec;
455 extern RPC_IF_HANDLE __MIDL_itf_shtypes_0000_0000_v0_0_s_ifspec;
456 
457 /* Additional Prototypes for ALL interfaces */
458 
459 /* end of Additional Prototypes */
460 
461 #ifdef __cplusplus
462 }
463 #endif
464 
465 #endif
466 
467 
468