vbAccelerator - Contents of code file: ISHTypes.odl
//=============================================================
// SHITEMID -- Item ID
typedef struct SHITEMID // mkid
{
USHORT cb; // Size of the ID (including cb itself)
BYTE abID[1]; // The item ID (variable length)
} SHITEMID;
typedef UNALIGNED SHITEMID *LPSHITEMID;
typedef UNALIGNED SHITEMID *LPCSHITEMID;
//=============================================================
// ITEMIDLIST -- List if item IDs (combined with 0-terminator)
typedef struct ITEMIDLIST // idl
{
SHITEMID mkid;
} ITEMIDLIST;
// typedef UNALIGNED ITEMIDLIST * LPITEMIDLIST;
// typedef const UNALIGNED ITEMIDLIST * LPCITEMIDLIST;
typedef LONG LPITEMIDLIST;
typedef LONG LPCITEMIDLIST;
//=============================================================
// struct STRRET
// structure for returning strings from IShellFolder member functions
// (turned into enum so that the constants and their
// values are accessable outside the typelib)
typedef enum tagESTRRET
{
STRRET_WSTR = 0x0000, // Use STRRET.pOleStr
STRRET_OFFSET = 0x0001, // Use STRRET.uOffset to Ansi
STRRET_CSTR = 0x0002, // Use STRRET.cStr
} ESTRRET;
typedef struct STRRET
{
ESTRRET uType; // One of the STRRET_* values
BYTE cStr[260]; // buffer to rcv largest member of the union
/* vb doesn't like unions (a cross btw an enum & struct?)
union
{
LPWSTR pOleStr; // OLESTR that will be freed
LPSTR pStr; // ANSI string that will be freed
(needed?)
UINT uOffset; // Offset into SHITEMID
char cStr[260]; // Buffer to fill in (ANSI)
} DUMMYUNIONNAME;
*/
} STRRET;
typedef STRRET *LPSTRRET;
|
|