File Index Symbol Index

/* this ALWAYS GENERATED file contains the definitions for the interfaces */
/* File created by MIDL compiler version 8.01.0622 */
/* @@MIDL_FILE_HEADING( ) */
/* verify that the <rpcndr.h> version is high enough to compile this file*/
#ifndef __REQUIRED_RPCNDR_H_VERSION__
#define __REQUIRED_RPCNDR_H_VERSION__ 500
#endif
/* verify that the <rpcsal.h> version is high enough to compile this file*/
#ifndef __REQUIRED_RPCSAL_H_VERSION__
#define __REQUIRED_RPCSAL_H_VERSION__ 100
#endif
#include "rpc.h"
#include "rpcndr.h"
#ifndef __RPCNDR_H_VERSION__
#error this stub requires an updated version of <rpcndr.h>
#endif /* __RPCNDR_H_VERSION__ */
#ifndef __shtypes_h__
#define __shtypes_h__
#if defined(_MSC_VER) && (_MSC_VER >= 1020)
#pragma once
#endif
/* Forward Declarations */
/* header files for imported files */
#include "wtypes.h"
#include "unknwn.h"
#ifdef __cplusplus
extern
"C"
{
#endif
/* interface __MIDL_itf_shtypes_0000_0000 */
/* [local] */
#if _MSC_VER >= 1200
#pragma warning(push)
//+-------------------------------------------------------------------------
//
// Microsoft Windows
// Copyright (c) Microsoft Corporation. All rights reserved.
//
//--------------------------------------------------------------------------
//
// For compilers that don't support nameless unions
//
#ifndef DUMMYUNIONNAME
#ifdef NONAMELESSUNION
#define DUMMYUNIONNAME u
#define DUMMYUNIONNAME2 u2
#define DUMMYUNIONNAME3 u3
#define DUMMYUNIONNAME4 u4
#define DUMMYUNIONNAME5 u5
#else
#define DUMMYUNIONNAME
#define DUMMYUNIONNAME2
#define DUMMYUNIONNAME3
#define DUMMYUNIONNAME4
#define DUMMYUNIONNAME5
#endif
#endif // DUMMYUNIONNAME
//===========================================================================
//
// Object identifiers in the explorer's name space (ItemID and IDList)
//
// All the items that the user can browse with the explorer (such as files,
// directories, servers, work-groups, etc.) has an identifier which is unique
// among items within the parent folder. Those identifiers are called item
// IDs (SHITEMID). Since all its parent folders have their own item IDs,
// any items can be uniquely identified by a list of item IDs, which is called
// an ID list (ITEMIDLIST).
//
// ID lists are almost always allocated by the task allocator (see some
// description below as well as OLE 2.0 SDK) and may be passed across
// some of shell interfaces (such as IShellFolder). Each item ID in an ID list
// is only meaningful to its parent folder (which has generated it), and all
// the clients must treat it as an opaque binary data except the first two
// bytes, which indicates the size of the item ID.
//
// When a shell extension -- which implements the IShellFolder interace --
// generates an item ID, it may put any information in it, not only the data
// with that it needs to identifies the item, but also some additional
// information, which would help implementing some other functions efficiently.
// For example, the shell's IShellFolder implementation of file system items
// stores the primary (long) name of a file or a directory as the item
// identifier, but it also stores its alternative (short) name, size and date
// etc.
//
// When an ID list is passed to one of shell APIs (such as SHGetPathFromIDList),
// it is always an absolute path -- relative from the root of the name space,
// which is the desktop folder. When an ID list is passed to one of IShellFolder
// member function, it is always a relative path from the folder (unless it
// is explicitly specified).
//
//===========================================================================
//
// SHITEMID -- Item ID (mkid)
// USHORT cb; // Size of the ID (including cb itself)
// BYTE abID[]; // The item ID (variable length)
//
#include <pshpack1.h>
typedef
struct
_SHITEMID
{
USHORT
cb
;
BYTE
abID
[
1
]; }
SHITEMID
;
#include <poppack.h>
#if defined(_M_IX86)
#define __unaligned #endif // __unaligned
//
// ITEMIDLIST -- List if item IDs (combined with 0-terminator)
//
#include <pshpack1.h>
typedef
struct
_ITEMIDLIST
{
SHITEMID
mkid
; }
ITEMIDLIST
;
#if defined(STRICT_TYPED_ITEMIDS) && defined(__cplusplus)
typedef struct _ITEMIDLIST_RELATIVE : ITEMIDLIST {} ITEMIDLIST_RELATIVE;
typedef struct _ITEMID_CHILD : ITEMIDLIST_RELATIVE {} ITEMID_CHILD;
typedef struct _ITEMIDLIST_ABSOLUTE : ITEMIDLIST_RELATIVE {} ITEMIDLIST_ABSOLUTE; #else // !(defined(STRICT_TYPED_ITEMIDS) && defined(__cplusplus))
typedef
ITEMIDLIST
ITEMIDLIST_RELATIVE
;
typedef
ITEMIDLIST
ITEMID_CHILD
;
typedef
ITEMIDLIST
ITEMIDLIST_ABSOLUTE
;
#endif // defined(STRICT_TYPED_ITEMIDS) && defined(__cplusplus) #include <poppack.h>
#if defined(STRICT_TYPED_ITEMIDS) && defined(__cplusplus)
typedef /* [wire_marshal] */ ITEMIDLIST_ABSOLUTE *PIDLIST_ABSOLUTE;
typedef /* [wire_marshal] */ const ITEMIDLIST_ABSOLUTE *PCIDLIST_ABSOLUTE;
typedef /* [wire_marshal] */ const ITEMIDLIST_ABSOLUTE __unaligned *PCUIDLIST_ABSOLUTE;
typedef /* [wire_marshal] */ ITEMIDLIST_RELATIVE *PIDLIST_RELATIVE;
typedef /* [wire_marshal] */ const ITEMIDLIST_RELATIVE *PCIDLIST_RELATIVE;
typedef /* [wire_marshal] */ ITEMIDLIST_RELATIVE __unaligned *PUIDLIST_RELATIVE;
typedef /* [wire_marshal] */ const ITEMIDLIST_RELATIVE __unaligned *PCUIDLIST_RELATIVE;
typedef /* [wire_marshal] */ ITEMID_CHILD *PITEMID_CHILD;
typedef /* [wire_marshal] */ const ITEMID_CHILD *PCITEMID_CHILD;
typedef /* [wire_marshal] */ ITEMID_CHILD __unaligned *PUITEMID_CHILD;
typedef /* [wire_marshal] */ const ITEMID_CHILD __unaligned *PCUITEMID_CHILD;
typedef const PCUITEMID_CHILD *PCUITEMID_CHILD_ARRAY;
typedef const PCUIDLIST_RELATIVE *PCUIDLIST_RELATIVE_ARRAY;
typedef const PCIDLIST_ABSOLUTE *PCIDLIST_ABSOLUTE_ARRAY;
typedef const PCUIDLIST_ABSOLUTE *PCUIDLIST_ABSOLUTE_ARRAY;
#else // !(defined(STRICT_TYPED_ITEMIDS) && defined(__cplusplus))
#define PIDLIST_ABSOLUTE LPITEMIDLIST
#define PCIDLIST_ABSOLUTE LPCITEMIDLIST
#define PCUIDLIST_ABSOLUTE LPCITEMIDLIST
#define PIDLIST_RELATIVE LPITEMIDLIST
#define PCIDLIST_RELATIVE LPCITEMIDLIST
#define PUIDLIST_RELATIVE LPITEMIDLIST
#define PCUIDLIST_RELATIVE LPCITEMIDLIST
#define PITEMID_CHILD LPITEMIDLIST
#define PCITEMID_CHILD LPCITEMIDLIST
#define PUITEMID_CHILD LPITEMIDLIST
#define PCUITEMID_CHILD LPCITEMIDLIST
#define PCUITEMID_CHILD_ARRAY LPCITEMIDLIST *
#define PCUIDLIST_RELATIVE_ARRAY LPCITEMIDLIST *
#define PCIDLIST_ABSOLUTE_ARRAY LPCITEMIDLIST *
#define PCUIDLIST_ABSOLUTE_ARRAY LPCITEMIDLIST * #endif // defined(STRICT_TYPED_ITEMIDS) && defined(__cplusplus)
#ifdef MIDL_PASS
typedef struct _WIN32_FIND_DATAA
{
DWORD dwFileAttributes;
FILETIME ftCreationTime;
FILETIME ftLastAccessTime;
FILETIME ftLastWriteTime;
DWORD nFileSizeHigh;
DWORD nFileSizeLow;
DWORD dwReserved0;
DWORD dwReserved1;
CHAR cFileName[ 260 ];
CHAR cAlternateFileName[ 14 ];
} WIN32_FIND_DATAA;
typedef struct _WIN32_FIND_DATAA *PWIN32_FIND_DATAA;
typedef struct _WIN32_FIND_DATAA *LPWIN32_FIND_DATAA;
typedef struct _WIN32_FIND_DATAW
{
DWORD dwFileAttributes;
FILETIME ftCreationTime;
FILETIME ftLastAccessTime;
FILETIME ftLastWriteTime;
DWORD nFileSizeHigh;
DWORD nFileSizeLow;
DWORD dwReserved0;
DWORD dwReserved1;
WCHAR cFileName[ 260 ];
WCHAR cAlternateFileName[ 14 ];
} WIN32_FIND_DATAW;
typedef struct _WIN32_FIND_DATAW *PWIN32_FIND_DATAW;
typedef struct _WIN32_FIND_DATAW *LPWIN32_FIND_DATAW;
#endif // MIDL_PASS
//-------------------------------------------------------------------------
//
// struct STRRET
//
// structure for returning strings from IShellFolder member functions
//
//-------------------------------------------------------------------------
//
// uType indicate which union member to use
// STRRET_WSTR Use STRRET.pOleStr must be freed by caller of GetDisplayNameOf
// STRRET_OFFSET Use STRRET.uOffset Offset into SHITEMID for ANSI string
// STRRET_CSTR Use STRRET.cStr ANSI Buffer
//
typedef
/* [v1_enum] */
enum
tagSTRRET_TYPE
{
STRRET_WSTR
=
0
,
STRRET_OFFSET
=
0x1
,
STRRET_CSTR
=
0x2
}
STRRET_TYPE
;
#if defined(_MSC_VER) && (_MSC_VER >= 1200)
#pragma warning(push) #pragma once
#endif #include <pshpack8.h>
typedef
struct
_STRRET
{
UINT
uType
;
/* [switch_is][switch_type] */
union
{
/* [case()][string] */
LPWSTR
pOleStr
;
/* [case()] */
UINT
uOffset
;
/* [case()] */
char
cStr
[
260
]; }
STRRET
;
#include <poppack.h>
#if defined(_MSC_VER) && (_MSC_VER >= 1200)
#pragma warning(pop)
#endif
typedef
STRRET
*
LPSTRRET
;
//-------------------------------------------------------------------------
//
// struct SHELLDETAILS
//
// structure for returning strings from IShellDetails
//
//-------------------------------------------------------------------------
//
// fmt; // LVCFMT_* value (header only)
// cxChar; // Number of 'average' characters (header only)
// str; // String information
//
#include <pshpack1.h>
typedef
struct
_SHELLDETAILS
{
int
fmt
;
int
cxChar
;
STRRET
str
; }
SHELLDETAILS
;
typedef
struct
_SHELLDETAILS
*
LPSHELLDETAILS
;
#include <poppack.h>
#if (_WIN32_IE >= _WIN32_IE_IE60SP2)
typedef
/* [v1_enum] */
enum
tagPERCEIVED
{
PERCEIVED_TYPE_FIRST
= -
3
,
PERCEIVED_TYPE_CUSTOM
= -
3
,
PERCEIVED_TYPE_UNSPECIFIED
= -
2
,
PERCEIVED_TYPE_FOLDER
= -
1
,
PERCEIVED_TYPE_UNKNOWN
=
0
,
PERCEIVED_TYPE_TEXT
=
1
,
PERCEIVED_TYPE_IMAGE
=
2
,
PERCEIVED_TYPE_AUDIO
=
3
,
PERCEIVED_TYPE_VIDEO
=
4
,
PERCEIVED_TYPE_COMPRESSED
=
5
,
PERCEIVED_TYPE_DOCUMENT
=
6
,
PERCEIVED_TYPE_SYSTEM
=
7
,
PERCEIVED_TYPE_APPLICATION
=
8
,
PERCEIVED_TYPE_GAMEMEDIA
=
9
,
PERCEIVED_TYPE_CONTACTS
=
10
,
PERCEIVED_TYPE_LAST
=
10
}
PERCEIVED
;
#define PERCEIVEDFLAG_UNDEFINED 0x0000
#define PERCEIVEDFLAG_SOFTCODED 0x0001
#define PERCEIVEDFLAG_HARDCODED 0x0002
#define PERCEIVEDFLAG_NATIVESUPPORT 0x0004
#define PERCEIVEDFLAG_GDIPLUS 0x0010
#define PERCEIVEDFLAG_WMSDK 0x0020
#define PERCEIVEDFLAG_ZIPFOLDER 0x0040
typedef
DWORD
PERCEIVEDFLAG
;
#endif // _WIN32_IE_IE60SP2
#if (NTDDI_VERSION >= NTDDI_VISTA)
typedef
struct
_COMDLG_FILTERSPEC
{
/* [string] */
LPCWSTR
pszName
;
/* [string] */
LPCWSTR
pszSpec
; }
COMDLG_FILTERSPEC
;
#endif // NTDDI_VISTA
typedef
GUID
KNOWNFOLDERID
;
#if 0
typedef KNOWNFOLDERID *REFKNOWNFOLDERID;
#endif // 0
#ifdef __cplusplus
#define REFKNOWNFOLDERID const KNOWNFOLDERID &
#else // !__cplusplus
#define REFKNOWNFOLDERID const KNOWNFOLDERID * __MIDL_CONST #endif // __cplusplus
typedef
DWORD
KF_REDIRECT_FLAGS
;
typedef
GUID
FOLDERTYPEID
;
#if 0
typedef FOLDERTYPEID *REFFOLDERTYPEID;
#endif // 0
#ifdef __cplusplus
#define REFFOLDERTYPEID const FOLDERTYPEID &
#else // !__cplusplus
#define REFFOLDERTYPEID const FOLDERTYPEID * __MIDL_CONST #endif // __cplusplus
typedef
GUID
TASKOWNERID
;
#if 0
typedef TASKOWNERID *REFTASKOWNERID;
#endif // 0
#ifdef __cplusplus
#define REFTASKOWNERID const TASKOWNERID &
#else // !__cplusplus
#define REFTASKOWNERID const TASKOWNERID * __MIDL_CONST #endif // __cplusplus
typedef
GUID
ELEMENTID
;
#if 0
typedef ELEMENTID *REFELEMENTID;
#endif // 0
#ifdef __cplusplus
#define REFELEMENTID const ELEMENTID &
#else // !__cplusplus
#define REFELEMENTID const ELEMENTID * __MIDL_CONST #endif // __cplusplus
#ifndef LF_FACESIZE
typedef struct tagLOGFONTA
{
LONG lfHeight;
LONG lfWidth;
LONG lfEscapement;
LONG lfOrientation;
LONG lfWeight;
BYTE lfItalic;
BYTE lfUnderline;
BYTE lfStrikeOut;
BYTE lfCharSet;
BYTE lfOutPrecision;
BYTE lfClipPrecision;
BYTE lfQuality;
BYTE lfPitchAndFamily;
CHAR lfFaceName[ 32 ];
} LOGFONTA;
typedef struct tagLOGFONTW
{
LONG lfHeight;
LONG lfWidth;
LONG lfEscapement;
LONG lfOrientation;
LONG lfWeight;
BYTE lfItalic;
BYTE lfUnderline;
BYTE lfStrikeOut;
BYTE lfCharSet;
BYTE lfOutPrecision;
BYTE lfClipPrecision;
BYTE lfQuality;
BYTE lfPitchAndFamily;
WCHAR lfFaceName[ 32 ];
} LOGFONTW;
typedef LOGFONTW LOGFONT;
#endif // LF_FACESIZE
typedef
/* [v1_enum] */
enum
tagSHCOLSTATE
{
SHCOLSTATE_DEFAULT
=
0
,
SHCOLSTATE_TYPE_STR
=
0x1
,
SHCOLSTATE_TYPE_INT
=
0x2
,
SHCOLSTATE_TYPE_DATE
=
0x3
,
SHCOLSTATE_TYPEMASK
=
0xf
,
SHCOLSTATE_ONBYDEFAULT
=
0x10
,
SHCOLSTATE_SLOW
=
0x20
,
SHCOLSTATE_EXTENDED
=
0x40
,
SHCOLSTATE_SECONDARYUI
=
0x80
,
SHCOLSTATE_HIDDEN
=
0x100
,
SHCOLSTATE_PREFER_VARCMP
=
0x200
,
SHCOLSTATE_PREFER_FMTCMP
=
0x400
,
SHCOLSTATE_NOSORTBYFOLDERNESS
=
0x800
,
SHCOLSTATE_VIEWONLY
=
0x10000
,
SHCOLSTATE_BATCHREAD
=
0x20000
,
SHCOLSTATE_NO_GROUPBY
=
0x40000
,
SHCOLSTATE_FIXED_WIDTH
=
0x1000
,
SHCOLSTATE_NODPISCALE
=
0x2000
,
SHCOLSTATE_FIXED_RATIO
=
0x4000
,
SHCOLSTATE_DISPLAYMASK
=
0xf000
}
SHCOLSTATE
;
typedef
DWORD
SHCOLSTATEF
;
typedef
PROPERTYKEY
SHCOLUMNID
;
typedef
const
SHCOLUMNID
*
LPCSHCOLUMNID
;
typedef
/* [v1_enum] */
enum
DEVICE_SCALE_FACTOR
{
DEVICE_SCALE_FACTOR_INVALID
=
0
,
SCALE_100_PERCENT
=
100
,
SCALE_120_PERCENT
=
120
,
SCALE_125_PERCENT
=
125
,
SCALE_140_PERCENT
=
140
,
SCALE_150_PERCENT
=
150
,
SCALE_160_PERCENT
=
160
,
SCALE_175_PERCENT
=
175
,
SCALE_180_PERCENT
=
180
,
SCALE_200_PERCENT
=
200
,
SCALE_225_PERCENT
=
225
,
SCALE_250_PERCENT
=
250
,
SCALE_300_PERCENT
=
300
,
SCALE_350_PERCENT
=
350
,
SCALE_400_PERCENT
=
400
,
SCALE_450_PERCENT
=
450
,
SCALE_500_PERCENT
=
500
}
DEVICE_SCALE_FACTOR
;
#if _MSC_VER >= 1200
#pragma warning(pop)
#endif
extern
RPC_IF_HANDLE
__MIDL_itf_shtypes_0000_0000_v0_0_c_ifspec
;
extern
RPC_IF_HANDLE
__MIDL_itf_shtypes_0000_0000_v0_0_s_ifspec
;
/* Additional Prototypes for ALL interfaces */
/* end of Additional Prototypes */
#ifdef __cplusplus
}
#endif
#endif