Ignore:
Timestamp:
Mar 26, 2000, 6:34:57 PM (25 years ago)
Author:
cbratschi
Message:

merged with Corel WINE 20000324

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/shell32/pidl.h

    r1543 r3243  
    1 /* $Id: pidl.h,v 1.2 1999-11-02 18:50:15 phaller Exp $ */
     1/* $Id: pidl.h,v 1.3 2000-03-26 16:34:43 cbratschi Exp $ */
    22
    33/*
     
    4141* PIDLDATA desribes the type of pidl.
    4242*
    43 *       object        ! first byte /  ! format       ! living space
    44 *                     ! size
    45 *       ----------------------------------------------------------------
    46 *       my computer     0x1F/20         mycomp (2)      (usual)
    47 *       network         0x1F            mycomp
    48 *       bitbucket       0x1F            mycomp
    49 *       drive           0x23/25         drive           (usual)
    50 *       drive           0x25/25         drive           (lnk/persistant)
    51 *       drive           0x29/25         drive
    52 *       shell extension 0x2E            mycomp
    53 *       drive           0x2F            drive           (lnk/persistant)
    54 *       folder/file     0x30            folder/file (1) (lnk/persistant)
    55 *       folder          0x31            folder          (usual)
    56 *       value           0x32            file            (usual)
    57 *       workgroup       0x41            network (3)
    58 *       computer        0x42            network (4)
    59 *       whole network   0x47            network (5)
    60 *       MSITStore       0x61            htmlhlp (7)     
    61 *       history/favorites 0xb1          file
    62 *       share           0xc3            network (6)
     43*       object        ! first byte /  ! format       ! living space
     44*                     ! size
     45*       ----------------------------------------------------------------
     46*       my computer     0x1F/20         mycomp (2)      (usual)
     47*       network         0x1F            mycomp
     48*       bitbucket       0x1F            mycomp
     49*       drive           0x23/25         drive           (usual)
     50*       drive           0x25/25         drive           (lnk/persistant)
     51*       drive           0x29/25         drive
     52*       shell extension 0x2E            mycomp
     53*       drive           0x2F            drive           (lnk/persistant)
     54*       folder/file     0x30            folder/file (1) (lnk/persistant)
     55*       folder          0x31            folder          (usual)
     56*       value           0x32            file            (usual)
     57*       workgroup       0x41            network (3)
     58*       computer        0x42            network (4)
     59*       whole network   0x47            network (5)
     60*       MSITStore       0x61            htmlhlp (7)
     61*       history/favorites 0xb1          file
     62*       share           0xc3            network (6)
    6363*
    6464* guess: the persistant elements are non tracking
     
    6666* (1) dummy byte is used, attributes are empty
    6767* (2) IID_MyComputer = 20D04FE0L-3AEA-1069-A2D8-08002B30309D
    68 * (3) two strings       "workgroup" "microsoft network"
    69 * (4) one string        "\\sirius"
    70 * (5) one string        "whole network"
    71 * (6) one string        "\\sirius\c"
     68* (3) two strings       "workgroup" "microsoft network"
     69* (4) one string        "\\sirius"
     70* (5) one string        "whole network"
     71* (6) one string        "\\sirius\c"
    7272* (7) contains string   "mk:@MSITStore:C:\path\file.chm::/path/filename.htm"
    73 *               GUID    871C5380-42A0-1069-A2EA-08002B30309D
     73*               GUID    871C5380-42A0-1069-A2EA-08002B30309D
    7474*/
    7575
    76 #define PT_DESKTOP      0x00 /* internal */
    77 #define PT_MYCOMP       0x1F
    78 #define PT_DRIVE        0x23
    79 #define PT_DRIVE2       0x25
    80 #define PT_DRIVE3       0x29
    81 #define PT_SPECIAL      0x2E
    82 #define PT_DRIVE1       0x2F
    83 #define PT_FOLDER1      0x30
    84 #define PT_FOLDER       0x31
    85 #define PT_VALUE        0x32
    86 #define PT_WORKGRP      0x41
    87 #define PT_COMP         0x42
    88 #define PT_NETWORK      0x47
    89 #define PT_IESPECIAL    0xb1
    90 #define PT_SHARE        0xc3
     76#define PT_DESKTOP      0x00 /* internal */
     77#define PT_MYCOMP       0x1F
     78#define PT_DRIVE        0x23
     79#define PT_DRIVE2       0x25
     80#define PT_DRIVE3       0x29
     81#define PT_SPECIAL      0x2E
     82#define PT_DRIVE1       0x2F
     83#define PT_FOLDER1      0x30
     84#define PT_FOLDER       0x31
     85#define PT_VALUE        0x32
     86#define PT_WORKGRP      0x41
     87#define PT_COMP         0x42
     88#define PT_NETWORK      0x47
     89#define PT_IESPECIAL    0xb1
     90#define PT_SHARE        0xc3
    9191
    9292#include "pshpack1.h"
     
    9494
    9595typedef struct tagPIDLDATA
    96 {       PIDLTYPE type;                  /*00*/
    97         union
    98         { struct
    99           { BYTE dummy;                 /*01*/
    100             GUID guid;                  /*02*/
    101             BYTE dummy1;                /*18*/
    102           } mycomp;
    103           struct
    104           { CHAR szDriveName[20];       /*01*/
    105             DWORD dwUnknown;            /*21*/
    106             /* the drive seems to be 25 bytes every time */
    107           } drive;
    108           struct
    109           { BYTE dummy;                 /*01 is 0x00 for files or dirs */
    110             DWORD dwFileSize;           /*02*/
    111             WORD uFileDate;             /*06*/
    112             WORD uFileTime;             /*08*/
    113             WORD uFileAttribs;          /*10*/
    114             CHAR szNames[1];            /*12*/
    115             /* Here are comming two strings. The first is the long name.
    116             The second the dos name when needed or just 0x00 */
    117           } file, folder, generic;
    118           struct
    119           { WORD dummy;         /*01*/
    120             CHAR szNames[1];    /*03*/
    121           } network;
    122           struct
    123           { WORD dummy;         /*01*/
    124             DWORD dummy1;       /*02*/
    125             CHAR szName[1];     /*06*/ /* teminated by 0x00 0x00 */
    126           } htmlhelp;
    127         }u;
     96{       PIDLTYPE type;                  /*00*/
     97        union
     98        { struct
     99          { BYTE dummy;                 /*01*/
     100            GUID guid;                  /*02*/
     101            BYTE dummy1;                /*18*/
     102          } mycomp;
     103          struct
     104          { CHAR szDriveName[20];       /*01*/
     105            DWORD dwUnknown;            /*21*/
     106            /* the drive seems to be 25 bytes every time */
     107          } drive;
     108          struct
     109          { BYTE dummy;                 /*01 is 0x00 for files or dirs */
     110            DWORD dwFileSize;           /*02*/
     111            WORD uFileDate;             /*06*/
     112            WORD uFileTime;             /*08*/
     113            WORD uFileAttribs;          /*10*/
     114            CHAR szNames[1];            /*12*/
     115            /* Here are comming two strings. The first is the long name.
     116            The second the dos name when needed or just 0x00 */
     117          } file, folder, generic;
     118          struct
     119          { WORD dummy;         /*01*/
     120            CHAR szNames[1];    /*03*/
     121          } network;
     122          struct
     123          { WORD dummy;         /*01*/
     124            DWORD dummy1;       /*02*/
     125            CHAR szName[1];     /*06*/ /* teminated by 0x00 0x00 */
     126          } htmlhelp;
     127        }u;
    128128} PIDLDATA, *LPPIDLDATA;
    129129#include "poppack.h"
     
    132132 * getting special values from simple pidls
    133133 */
    134 DWORD   WINAPI _ILSimpleGetText (LPCITEMIDLIST pidl, LPSTR pOut, UINT uOutSize);
    135 BOOL    WINAPI _ILGetFileDate           (LPCITEMIDLIST pidl, LPSTR pOut, UINT uOutSize);
    136 DWORD   WINAPI _ILGetFileSize           (LPCITEMIDLIST pidl, LPSTR pOut, UINT uOutSize);
    137 BOOL    WINAPI _ILGetExtension          (LPCITEMIDLIST pidl, LPSTR pOut, UINT uOutSize);
    138 void    WINAPI _ILGetFileType           (LPCITEMIDLIST pidl, LPSTR pOut, UINT uOutSize);
    139 BOOL    WINAPI _ILGetAttributeStr       (LPCITEMIDLIST pidl, LPSTR pOut, UINT uOutSize);
     134DWORD   WINAPI _ILSimpleGetText         (LPCITEMIDLIST pidl, LPSTR pOut, UINT uOutSize);
     135BOOL    WINAPI _ILGetFileDate           (LPCITEMIDLIST pidl, LPSTR pOut, UINT uOutSize);
     136DWORD   WINAPI _ILGetFileSize           (LPCITEMIDLIST pidl, LPSTR pOut, UINT uOutSize);
     137BOOL    WINAPI _ILGetExtension          (LPCITEMIDLIST pidl, LPSTR pOut, UINT uOutSize);
     138void    WINAPI _ILGetFileType           (LPCITEMIDLIST pidl, LPSTR pOut, UINT uOutSize);
     139DWORD   WINAPI _ILGetFileAttributes     (LPCITEMIDLIST pidl, LPSTR pOut, UINT uOutSize);
     140DWORD   WINAPI _ILGetFileSizeKB         (LPCITEMIDLIST pidl, LPSTR pOut, UINT uOutSize);
    140141
    141 BOOL    WINAPI _ILGetFileDateTime       (LPCITEMIDLIST pidl, FILETIME *ft);
    142 DWORD   WINAPI _ILGetDrive              (LPCITEMIDLIST, LPSTR, UINT16);
     142BOOL    WINAPI _ILGetFileDateTime       (LPCITEMIDLIST pidl, FILETIME *ft);
     143DWORD   WINAPI _ILGetDrive              (LPCITEMIDLIST, LPSTR, UINT16);
    143144
    144145/*
    145146 * testing simple pidls
    146147 */
    147 BOOL    WINAPI _ILIsDesktop             (LPCITEMIDLIST pidl);
    148 BOOL    WINAPI _ILIsMyComputer          (LPCITEMIDLIST pidl);
    149 BOOL    WINAPI _ILIsDrive               (LPCITEMIDLIST pidl);
    150 BOOL    WINAPI _ILIsFolder              (LPCITEMIDLIST pidl);
    151 BOOL    WINAPI _ILIsValue               (LPCITEMIDLIST pidl);
    152 BOOL    WINAPI _ILIsSpecialFolder       (LPCITEMIDLIST pidl);
    153 BOOL    WINAPI _ILIsPidlSimple          (LPCITEMIDLIST pidl);
     148BOOL    WINAPI _ILIsDesktop             (LPCITEMIDLIST pidl);
     149BOOL    WINAPI _ILIsMyComputer          (LPCITEMIDLIST pidl);
     150BOOL    WINAPI _ILIsDrive               (LPCITEMIDLIST pidl);
     151BOOL    WINAPI _ILIsFolder              (LPCITEMIDLIST pidl);
     152BOOL    WINAPI _ILIsValue               (LPCITEMIDLIST pidl);
     153BOOL    WINAPI _ILIsSpecialFolder       (LPCITEMIDLIST pidl);
     154BOOL    WINAPI _ILIsPidlSimple          (LPCITEMIDLIST pidl);
    154155
    155156/*
    156157 * simple pidls from strings
    157158 */
    158 LPITEMIDLIST    WINAPI _ILCreate        (PIDLTYPE,LPCVOID,UINT16);
     159LPITEMIDLIST    WINAPI _ILCreate        (PIDLTYPE,LPCVOID,UINT16);
    159160
    160 LPITEMIDLIST    WINAPI _ILCreateDesktop         (void);
    161 LPITEMIDLIST    WINAPI _ILCreateMyComputer      (void);
    162 LPITEMIDLIST    WINAPI _ILCreateIExplore        (void);
    163 LPITEMIDLIST    WINAPI _ILCreateControl         (void);
    164 LPITEMIDLIST    WINAPI _ILCreatePrinter         (void);
    165 LPITEMIDLIST    WINAPI _ILCreateNetwork         (void);
    166 LPITEMIDLIST    WINAPI _ILCreateBitBucket       (void);
    167 LPITEMIDLIST    WINAPI _ILCreateDrive           (LPCSTR);
    168 LPITEMIDLIST    WINAPI _ILCreateFolder          (WIN32_FIND_DATAA * stffile);
    169 LPITEMIDLIST    WINAPI _ILCreateValue           (WIN32_FIND_DATAA * stffile);
    170 LPITEMIDLIST    WINAPI _ILCreateSpecial         (LPCSTR szGUID);
     161LPITEMIDLIST    WINAPI _ILCreateDesktop         (void);
     162LPITEMIDLIST    WINAPI _ILCreateMyComputer      (void);
     163LPITEMIDLIST    WINAPI _ILCreateIExplore        (void);
     164LPITEMIDLIST    WINAPI _ILCreateControl         (void);
     165LPITEMIDLIST    WINAPI _ILCreatePrinter         (void);
     166LPITEMIDLIST    WINAPI _ILCreateNetwork         (void);
     167LPITEMIDLIST    WINAPI _ILCreateBitBucket       (void);
     168LPITEMIDLIST    WINAPI _ILCreateDrive           (LPCSTR);
     169LPITEMIDLIST    WINAPI _ILCreateFolder          (WIN32_FIND_DATAA * stffile);
     170LPITEMIDLIST    WINAPI _ILCreateValue           (WIN32_FIND_DATAA * stffile);
     171LPITEMIDLIST    WINAPI _ILCreateSpecial         (LPCSTR szGUID);
    171172
    172173/*
    173174 * helper functions (getting struct-pointer)
    174175 */
    175 LPPIDLDATA      WINAPI _ILGetDataPointer        (LPCITEMIDLIST);
    176 LPSTR           WINAPI _ILGetTextPointer        (PIDLTYPE type, LPPIDLDATA pidldata);
    177 LPSTR           WINAPI _ILGetSTextPointer       (PIDLTYPE type, LPPIDLDATA pidldata);
    178 REFIID          WINAPI _ILGetGUIDPointer        (LPCITEMIDLIST pidl);
     176LPPIDLDATA      WINAPI _ILGetDataPointer        (LPCITEMIDLIST);
     177LPSTR           WINAPI _ILGetTextPointer        (PIDLTYPE type, LPPIDLDATA pidldata);
     178LPSTR           WINAPI _ILGetSTextPointer       (PIDLTYPE type, LPPIDLDATA pidldata);
     179REFIID          WINAPI _ILGetGUIDPointer        (LPCITEMIDLIST pidl);
    179180
    180 /* 
    181  * debug helper 
     181/*
     182 * debug helper
    182183 */
    183184void pdump (LPCITEMIDLIST pidl);
Note: See TracChangeset for help on using the changeset viewer.