home *** CD-ROM | disk | FTP | other *** search
/ Team Palmtops 7 / Palmtops_numero07.iso / WinCE / SDKWindowsCE / HandHeldPCPro30 / sdk.exe / Jupiter SDK / data1.cab / Emulation_Include_Files / commdlg.h < prev    next >
Encoding:
C/C++ Source or Header  |  1999-02-19  |  17.6 KB  |  492 lines

  1. /************************************************************************
  2. *                                                                       *
  3. *   commdlg.h -- This module defines the 32-Bit Common Dialog APIs      *
  4. *                                                                       *
  5. *   Copyright (c) 1992-1998, Microsoft Corp. All rights reserved.       *
  6. *                                                                       *
  7. ************************************************************************/
  8. #ifndef _INC_COMMDLG
  9. #define _INC_COMMDLG
  10.  
  11. #include <pshpack1.h>         /* Assume byte packing throughout */
  12.  
  13. #ifdef __cplusplus
  14. extern "C" {            /* Assume C declarations for C++ */
  15. #endif  /* __cplusplus */
  16.  
  17. #if(WINVER >= 0x0400)
  18. #ifdef __cplusplus
  19.  
  20. #ifndef SNDMSG
  21. #ifndef UNDER_CE
  22. #define SNDMSG ::SendMessage
  23. #else  // UNDER_CE
  24. #define SNDMSG SendMessage
  25. #endif // !UNDER_CE
  26. #endif // !SNDMSG
  27.  
  28. #else   // __cplusplus
  29.  
  30. #ifndef SNDMSG
  31. #define SNDMSG SendMessage
  32. #endif
  33.  
  34. #endif // __cplusplus 
  35. #endif // WINVER >= 0x0400 
  36.  
  37. typedef UINT (APIENTRY *LPOFNHOOKPROC) (HWND, UINT, WPARAM, LPARAM);
  38.  
  39. typedef struct tagOFNA {
  40.    DWORD        lStructSize;
  41.    HWND         hwndOwner;
  42.    HINSTANCE    hInstance;
  43.    LPCSTR       lpstrFilter;
  44.    LPSTR        lpstrCustomFilter; // not supported
  45.    DWORD        nMaxCustFilter;  // not supported
  46.    DWORD        nFilterIndex;
  47.    LPSTR        lpstrFile;
  48.    DWORD        nMaxFile;
  49.    LPSTR        lpstrFileTitle;
  50.    DWORD        nMaxFileTitle;
  51.    LPCSTR       lpstrInitialDir;
  52.    LPCSTR       lpstrTitle;
  53.    DWORD        Flags;
  54.    WORD         nFileOffset;
  55.    WORD         nFileExtension;
  56.    LPCSTR       lpstrDefExt;
  57.    LPARAM       lCustData;
  58.    LPOFNHOOKPROC lpfnHook;
  59.    LPCSTR       lpTemplateName;
  60. } OPENFILENAMEA, *LPOPENFILENAMEA;
  61. typedef struct tagOFNW {
  62.    DWORD        lStructSize;
  63.    HWND         hwndOwner;
  64.    HINSTANCE    hInstance;
  65.    LPCWSTR      lpstrFilter;
  66.    LPWSTR       lpstrCustomFilter;
  67.    DWORD        nMaxCustFilter;
  68.    DWORD        nFilterIndex;
  69.    LPWSTR       lpstrFile;
  70.    DWORD        nMaxFile;
  71.    LPWSTR       lpstrFileTitle;
  72.    DWORD        nMaxFileTitle;
  73.    LPCWSTR      lpstrInitialDir;
  74.    LPCWSTR      lpstrTitle;
  75.    DWORD        Flags;
  76.    WORD         nFileOffset;
  77.    WORD         nFileExtension;
  78.    LPCWSTR      lpstrDefExt;
  79.    LPARAM       lCustData;
  80.    LPOFNHOOKPROC lpfnHook;
  81.    LPCWSTR      lpTemplateName;
  82. } OPENFILENAMEW, *LPOPENFILENAMEW;
  83. #ifdef UNICODE
  84. typedef OPENFILENAMEW OPENFILENAME;
  85. typedef LPOPENFILENAMEW LPOPENFILENAME;
  86. #else
  87. typedef OPENFILENAMEA OPENFILENAME;
  88. typedef LPOPENFILENAMEA LPOPENFILENAME;
  89. #endif // UNICODE
  90.  
  91.  
  92. // @CESYSGEN IF COREDLL_FILEOPEN
  93.  
  94. BOOL  APIENTRY     GetOpenFileNameA(LPOPENFILENAMEA);
  95. BOOL APIENTRY      GetOpenFileNameW ( LPOPENFILENAMEW );
  96. BOOL  APIENTRY     GetSaveFileNameW(LPOPENFILENAMEW);
  97. BOOL  APIENTRY     GetSaveFileNameA(LPOPENFILENAMEA);
  98. #ifdef UNICODE
  99. #define GetOpenFileName  GetOpenFileNameW
  100. #define GetSaveFileName  GetSaveFileNameW
  101. #else
  102. #define GetSaveFileName  GetSaveFileNameA
  103. #define GetOpenFileName  GetOpenFileNameA
  104. #endif // !UNICODE
  105.  
  106. // @CESYSGEN ENDIF
  107.  
  108. #define OFN_READONLY             0x00000001
  109. #define OFN_OVERWRITEPROMPT          0x00000002
  110. #define OFN_HIDEREADONLY             0x00000004
  111. #define OFN_NOCHANGEDIR              0x00000008
  112. #define OFN_SHOWHELP                 0x00000010
  113. #define OFN_ENABLEHOOK               0x00000020
  114. #define OFN_ENABLETEMPLATE           0x00000040
  115. #define OFN_ENABLETEMPLATEHANDLE     0x00000080
  116. #define OFN_NOVALIDATE               0x00000100
  117. #define OFN_ALLOWMULTISELECT         0x00000200
  118. #define OFN_EXTENSIONDIFFERENT       0x00000400
  119. #define OFN_PATHMUSTEXIST            0x00000800
  120. #define OFN_FILEMUSTEXIST            0x00001000
  121. #define OFN_CREATEPROMPT             0x00002000
  122. #define OFN_SHAREAWARE               0x00004000
  123. #define OFN_NOREADONLYRETURN         0x00008000
  124. #define OFN_NOTESTFILECREATE         0x00010000
  125. #define OFN_NONETWORKBUTTON          0x00020000
  126. #define OFN_NOLONGNAMES              0x00040000     // force no long names for 4.x modules
  127. #if(WINVER >= 0x0400)
  128. #define OFN_EXPLORER                 0x00080000     // new look commdlg
  129. #define OFN_NODEREFERENCELINKS       0x00100000
  130. #define OFN_LONGNAMES                0x00200000     // force long names for 3.x modules
  131. #endif /* WINVER >= 0x0400 */
  132.  
  133.  
  134.  
  135. // Return values for the registered message sent to the hook function
  136. // when a sharing violation occurs.  OFN_SHAREFALLTHROUGH allows the
  137. // filename to be accepted, OFN_SHARENOWARN rejects the name but puts
  138. // up no warning (returned when the app has already put up a warning
  139. // message), and OFN_SHAREWARN puts up the default warning message
  140. // for sharing violations.
  141. //
  142. // Note:  Undefined return values map to OFN_SHAREWARN, but are
  143. //        reserved for future use.
  144.  
  145. #define OFN_SHAREFALLTHROUGH     2
  146. #define OFN_SHARENOWARN          1
  147. #define OFN_SHAREWARN            0
  148.  
  149. typedef UINT (APIENTRY *LPCCHOOKPROC) (HWND, UINT, WPARAM, LPARAM);
  150.  
  151. #if(WINVER >= 0x0400)
  152. // Structure used for all OpenFileName notifications
  153. typedef struct _OFNOTIFYW
  154. {
  155.         NMHDR           hdr;
  156.         LPOPENFILENAMEW lpOFN;
  157.         LPWSTR          pszFile;        // May be NULL
  158. } OFNOTIFYW, FAR *LPOFNOTIFYW;
  159. typedef struct _OFNOTIFYA
  160. {
  161.         NMHDR           hdr;
  162.         LPOPENFILENAMEA lpOFN;
  163.         LPSTR           pszFile;        // May be NULL
  164. } OFNOTIFYA, FAR *LPOFNOTIFYA;
  165. #ifdef UNICODE
  166. typedef OFNOTIFYW OFNOTIFY;
  167. typedef LPOFNOTIFYW LPOFNOTIFY;
  168. #else
  169. typedef OFNOTIFYA OFNOTIFY;
  170. typedef LPOFNOTIFYA LPOFNOTIFY;
  171. #endif // UNICODE
  172.  
  173. #define CDN_FIRST   (0U-601U)
  174. #define CDN_LAST    (0U-699U)
  175.  
  176. // Notifications when Open or Save dialog status changes
  177. #define CDN_INITDONE            (CDN_FIRST - 0x0000)
  178. #define CDN_SELCHANGE           (CDN_FIRST - 0x0001)
  179. #define CDN_FOLDERCHANGE        (CDN_FIRST - 0x0002)
  180. #define CDN_SHAREVIOLATION      (CDN_FIRST - 0x0003)
  181. #define CDN_HELP                (CDN_FIRST - 0x0004)
  182. #define CDN_FILEOK              (CDN_FIRST - 0x0005)
  183. #define CDN_TYPECHANGE          (CDN_FIRST - 0x0006)
  184.  
  185. #define CDM_FIRST       (WM_USER + 100)
  186. #define CDM_LAST        (WM_USER + 200)
  187.  
  188. // Messages to query information from the Open or Save dialogs
  189.  
  190. // lParam = pointer to text buffer that gets filled in
  191. // wParam = max number of characters of the text buffer (including NULL)
  192. // return = < 0 if error; number of characters needed (including NULL)
  193. #define CDM_GETSPEC             (CDM_FIRST + 0x0000)
  194. #define CommDlg_OpenSave_GetSpecA(_hdlg, _psz, _cbmax) \
  195.         (int)SNDMSG(_hdlg, CDM_GETSPEC, (WPARAM)_cbmax, (LPARAM)(LPSTR)_psz)
  196. #define CommDlg_OpenSave_GetSpecW(_hdlg, _psz, _cbmax) \
  197.         (int)SNDMSG(_hdlg, CDM_GETSPEC, (WPARAM)_cbmax, (LPARAM)(LPWSTR)_psz)
  198. #ifdef UNICODE
  199. #define CommDlg_OpenSave_GetSpec  CommDlg_OpenSave_GetSpecW
  200. #else
  201. #define CommDlg_OpenSave_GetSpec  CommDlg_OpenSave_GetSpecA
  202. #endif // !UNICODE
  203.  
  204. // lParam = pointer to text buffer that gets filled in
  205. // wParam = max number of characters of the text buffer (including NULL)
  206. // return = < 0 if error; number of characters needed (including NULL)
  207. #define CDM_GETFILEPATH         (CDM_FIRST + 0x0001)
  208. #define CommDlg_OpenSave_GetFilePathA(_hdlg, _psz, _cbmax) \
  209.         (int)SNDMSG(_hdlg, CDM_GETFILEPATH, (WPARAM)_cbmax, (LPARAM)(LPSTR)_psz)
  210. #define CommDlg_OpenSave_GetFilePathW(_hdlg, _psz, _cbmax) \
  211.         (int)SNDMSG(_hdlg, CDM_GETFILEPATH, (WPARAM)_cbmax, (LPARAM)(LPWSTR)_psz)
  212. #ifdef UNICODE
  213. #define CommDlg_OpenSave_GetFilePath  CommDlg_OpenSave_GetFilePathW
  214. #else
  215. #define CommDlg_OpenSave_GetFilePath  CommDlg_OpenSave_GetFilePathA
  216. #endif // !UNICODE
  217.  
  218. // lParam = pointer to text buffer that gets filled in
  219. // wParam = max number of characters of the text buffer (including NULL)
  220. // return = < 0 if error; number of characters needed (including NULL)
  221. #define CDM_GETFOLDERPATH       (CDM_FIRST + 0x0002)
  222. #define CommDlg_OpenSave_GetFolderPathA(_hdlg, _psz, _cbmax) \
  223.         (int)SNDMSG(_hdlg, CDM_GETFOLDERPATH, (WPARAM)_cbmax, (LPARAM)(LPSTR)_psz)
  224. #define CommDlg_OpenSave_GetFolderPathW(_hdlg, _psz, _cbmax) \
  225.         (int)SNDMSG(_hdlg, CDM_GETFOLDERPATH, (WPARAM)_cbmax, (LPARAM)(LPWSTR)_psz)
  226. #ifdef UNICODE
  227. #define CommDlg_OpenSave_GetFolderPath  CommDlg_OpenSave_GetFolderPathW
  228. #else
  229. #define CommDlg_OpenSave_GetFolderPath  CommDlg_OpenSave_GetFolderPathA
  230. #endif // !UNICODE
  231.  
  232. // lParam = pointer to ITEMIDLIST buffer that gets filled in
  233. // wParam = size of the ITEMIDLIST buffer
  234. // return = < 0 if error; length of buffer needed
  235. #define CDM_GETFOLDERIDLIST     (CDM_FIRST + 0x0003)
  236. #define CommDlg_OpenSave_GetFolderIDList(_hdlg, _pidl, _cbmax) \
  237.         (int)SNDMSG(_hdlg, CDM_GETFOLDERIDLIST, (WPARAM)_cbmax, (LPARAM)(LPVOID)_pidl)
  238.  
  239. // lParam = pointer to a string
  240. // wParam = ID of control to change
  241. // return = not used
  242. #define CDM_SETCONTROLTEXT      (CDM_FIRST + 0x0004)
  243. #define CommDlg_OpenSave_SetControlText(_hdlg, _id, _text) \
  244.         (void)SNDMSG(_hdlg, CDM_SETCONTROLTEXT, (WPARAM)_id, (LPARAM)(LPSTR)_text)
  245.  
  246. // lParam = not used
  247. // wParam = ID of control to change
  248. // return = not used
  249. #define CDM_HIDECONTROL         (CDM_FIRST + 0x0005)
  250. #define CommDlg_OpenSave_HideControl(_hdlg, _id) \
  251.         (void)SNDMSG(_hdlg, CDM_HIDECONTROL, (WPARAM)_id, 0)
  252.  
  253. // lParam = pointer to default extension (no dot)
  254. // wParam = not used
  255. // return = not used
  256. #define CDM_SETDEFEXT           (CDM_FIRST + 0x0006)
  257. #define CommDlg_OpenSave_SetDefExt(_hdlg, _pszext) \
  258.         (void)SNDMSG(_hdlg, CDM_SETDEFEXT, 0, (LPARAM)(LPSTR)_pszext)
  259. #endif /* WINVER >= 0x0400 */
  260.  
  261. #ifdef WINCEOEM
  262. #ifdef WINCEMACRO
  263. #include <mcommdlg.h>
  264. #endif
  265. #endif
  266.  
  267. typedef UINT (APIENTRY *LPCCHOOKPROC) (HWND, UINT, WPARAM, LPARAM);
  268.  
  269. typedef struct tagCHOOSECOLOR  {
  270.    DWORD        lStructSize;
  271.    HWND         hwndOwner;
  272.    HINSTANCE    hInstance;
  273.    COLORREF     rgbResult;
  274.    COLORREF*    lpCustColors;
  275.    DWORD        Flags;
  276.    LPARAM       lCustData;
  277.    LPCCHOOKPROC lpfnHook;
  278.    LPCTSTR      lpTemplateName;
  279. } CHOOSECOLOR , *LPCHOOSECOLOR ;
  280.  
  281. BOOL  APIENTRY ChooseColor (LPCHOOSECOLOR );
  282.  
  283. #define CC_RGBINIT               0x00000001
  284. #define CC_FULLOPEN              0x00000002
  285. #define CC_PREVENTFULLOPEN       0x00000004
  286. #define CC_ENABLEHOOK            0x00000010
  287. #define CC_ENABLETEMPLATE        0x00000020
  288. #define CC_ENABLETEMPLATEHANDLE  0x00000040
  289. #if(WINVER >= 0x0400)
  290. #define CC_SOLIDCOLOR            0x00000080
  291. #define CC_ANYCOLOR              0x00000100
  292. #endif /* WINVER >= 0x0400 */
  293.  
  294. // **************************************************
  295. // PrintDlg is now obsolete!!!
  296. // It is included only for backwards compatability
  297. // Use PageSetupDlg from now on
  298. // **************************************************
  299. typedef UINT (APIENTRY *LPPRINTHOOKPROC) (HWND, UINT, WPARAM, LPARAM);
  300. typedef struct tagPD  {
  301.    DWORD            cbStruct;
  302.    HWND             hwndOwner;
  303.    HDC              hdc;
  304.    DWORD            dwFlags;
  305.    RECT             rcMinMargin;
  306.    RECT             rcMargin;
  307.    HINSTANCE        hinst;
  308.    LPARAM           lCustData;
  309.    LPPRINTHOOKPROC  pfnPrintHook;
  310.    LPCTSTR          pszPrintTemplateName;
  311.    HGLOBAL          hglbPrintTemplateResource;
  312. } PRINTDLG , *LPPRINTDLG ;
  313.  
  314. BOOL  APIENTRY     PrintDlg (LPPRINTDLG);
  315. // Out only
  316. #define PD_SELECTALLPAGES                 0x00000001
  317. #define PD_SELECTSELECTION                0x00000002
  318. #define PD_SELECTDRAFTMODE                0x00000008
  319. #define PD_SELECTA4                       0x00000010
  320. #define PD_SELECTLETTER                   0x00000020
  321. #define PD_SELECTINFRARED                 0x00000040 
  322. #define PD_SELECTSERIAL                   0x00000080
  323.  
  324. // In only
  325. #define PD_DISABLEPAPERSIZE               0x00000100
  326. #define PD_DISABLEPRINTRANGE              0x00000200
  327. #define PD_DISABLEMARGINS                 0x00000400
  328. #define PD_DISABLEORIENTATION             0x00000800
  329. #define PD_RETURNDEFAULTDC                0x00002000
  330. #define PD_ENABLEPRINTHOOK                0x00004000
  331. #define PD_ENABLEPRINTTEMPLATE            0x00008000
  332. #define PD_ENABLEPRINTTEMPLATEHANDLE      0x00010000
  333. #define PD_TITLE                          0x00020000
  334.  
  335. // In-Out
  336. #define PD_SELECTPORTRAIT                 0x00040000
  337. #define PD_SELECTLANDSCAPE                0x00080000
  338. #define PD_MARGINS                        0x00100000
  339. #define PD_INTHOUSANDTHSOFINCHES          0x00200000
  340. #define PD_INHUNDREDTHSOFMILLIMETERS      0x00400000
  341. #define PD_MINMARGINS                     0x00800000
  342.  
  343. // New in Birch: Out-only
  344. #define PD_SELECTPARALLEL                  0x01000000
  345. #define PD_SELECTNETWORK                  0x02000000
  346. #define PD_SELECTLEGAL                      0x04000000
  347. #define PD_SELECTB5                          0x08000000
  348. #define PD_SELECTPRINTINCOLOR              0x10000000
  349.  
  350. // **************************************************
  351. // PrintDlg is now obsolete!!!
  352. // It is included only for backwards compatability
  353. // Use PageSetupDlg from now on
  354. // **************************************************
  355.  
  356. typedef struct tagDEVNAMES {
  357.    WORD wDriverOffset;
  358.    WORD wDeviceOffset;
  359.    WORD wOutputOffset;
  360.    WORD wDefault;
  361. } DEVNAMES;
  362.  
  363. typedef DEVNAMES * LPDEVNAMES;
  364.  
  365. #define DN_DEFAULTPRN      0x0001
  366.  
  367. DWORD APIENTRY     CommDlgExtendedError(VOID);
  368.  
  369. typedef UINT (APIENTRY* LPPAGEPAINTHOOK)( HWND, UINT, WPARAM, LPARAM );
  370. typedef UINT (APIENTRY* LPPAGESETUPHOOK)( HWND, UINT, WPARAM, LPARAM );
  371.  
  372. // only wide types supported in CE - include for synchronization with nt .h
  373. typedef struct tagPSDA
  374. {
  375.     DWORD           lStructSize;
  376.     HWND            hwndOwner;
  377.     HGLOBAL         hDevMode;
  378.     HGLOBAL         hDevNames;
  379.     DWORD           Flags;
  380.     POINT           ptPaperSize;
  381.     RECT            rtMinMargin;
  382.     RECT            rtMargin;
  383.     HINSTANCE       hInstance;
  384.     LPARAM          lCustData;
  385.     LPPAGESETUPHOOK lpfnPageSetupHook;
  386.     LPPAGEPAINTHOOK lpfnPagePaintHook;
  387.     LPCSTR          lpPageSetupTemplateName;
  388.     HGLOBAL         hPageSetupTemplate;
  389. } PAGESETUPDLGA, * LPPAGESETUPDLGA;
  390. typedef struct tagPSDW
  391. {
  392.     DWORD           lStructSize;
  393.     HWND            hwndOwner;
  394.     HGLOBAL         hDevMode;
  395.     HGLOBAL         hDevNames;
  396.     DWORD           Flags;
  397.     POINT           ptPaperSize; // ignored in CE
  398.     RECT            rtMinMargin;
  399.     RECT            rtMargin;
  400.     HINSTANCE       hInstance;
  401.     LPARAM          lCustData;
  402.     LPPAGESETUPHOOK lpfnPageSetupHook;
  403.     LPPAGEPAINTHOOK lpfnPagePaintHook; // ignored in CE
  404.     LPCWSTR         lpPageSetupTemplateName;
  405.     HGLOBAL         hPageSetupTemplate;
  406. } PAGESETUPDLGW, * LPPAGESETUPDLGW;
  407. #ifdef UNICODE
  408. typedef PAGESETUPDLGW PAGESETUPDLG;
  409. typedef LPPAGESETUPDLGW LPPAGESETUPDLG;
  410. #else
  411. typedef PAGESETUPDLGA PAGESETUPDLG;
  412. typedef LPPAGESETUPDLGA LPPAGESETUPDLG;
  413. #endif // UNICODE
  414.  
  415. BOOL APIENTRY PageSetupDlgA( LPPAGESETUPDLGA );
  416. BOOL APIENTRY PageSetupDlgW( LPPAGESETUPDLGW );
  417. #ifdef UNICODE
  418. #define PageSetupDlg  PageSetupDlgW
  419. #else
  420. #define PageSetupDlg  PageSetupDlgA
  421. #endif // !UNICODE
  422.  
  423. #define PSD_DEFAULTMINMARGINS             0x00000000 // default (printer's)
  424. #define PSD_INWININIINTLMEASURE           0x00000000 // 1st of 4 possible
  425.  
  426. #define PSD_MINMARGINS                    0x00000001 // use caller's
  427. #define PSD_MARGINS                       0x00000002 // use caller's
  428. #define PSD_INTHOUSANDTHSOFINCHES         0x00000004 // 2nd of 4 possible
  429. #define PSD_INHUNDREDTHSOFMILLIMETERS     0x00000008 // 3rd of 4 possible
  430. #define PSD_DISABLEMARGINS                0x00000010
  431. #define PSD_DISABLEPRINTER                0x00000020
  432. // #define PSD_NOWARNING                  0x00000080 // not used in CE
  433. #define PSD_DISABLEORIENTATION            0x00000100
  434. #define PSD_DISABLEPAPER                  0x00000200
  435. #define PSD_RETURNDEFAULT                 0x00000400
  436. // #define PSD_SHOWHELP                   0x00000800 // not used in CE
  437. #define PSD_ENABLEPAGESETUPHOOK           0x00002000
  438. #define PSD_ENABLEPAGESETUPTEMPLATE       0x00008000
  439. #define PSD_ENABLEPAGESETUPTEMPLATEHANDLE 0x00020000
  440. // #define PSD_ENABLEPAGEPAINTHOOK        0x00040000 // not used in CE
  441. // #define PSD_DISABLEPAGEPAINTING        0x00080000 // not used in CE
  442. // #define PSD_NONETWORKBUTTON            0x00200000 // not used in CE
  443.  
  444. // new in Win CE - print range flags
  445. #define PSD_DISABLEPRINTRANGE              0x10000000
  446. #define PSD_RANGESELECTION                  0x20000000
  447.  
  448. // Errors returned by CommDlgExtendedError()
  449.  
  450. #define CDERR_DIALOGFAILURE   0xFFFF
  451.  
  452. #define CDERR_GENERALCODES     0x0000
  453. #define CDERR_STRUCTSIZE       0x0001
  454. #define CDERR_INITIALIZATION   0x0002
  455. #define CDERR_NOTEMPLATE       0x0003
  456. #define CDERR_NOHINSTANCE      0x0004
  457. #define CDERR_LOADSTRFAILURE   0x0005
  458. #define CDERR_FINDRESFAILURE   0x0006
  459. #define CDERR_LOADRESFAILURE   0x0007
  460. #define CDERR_LOCKRESFAILURE   0x0008
  461. #define CDERR_MEMALLOCFAILURE  0x0009
  462. #define CDERR_MEMLOCKFAILURE   0x000A
  463. #define CDERR_NOHOOK           0x000B
  464. #define CDERR_REGISTERMSGFAIL  0x000C
  465.  
  466. #define PDERR_PRINTERCODES     0x1000
  467. #define PDERR_SETUPFAILURE     0x1001
  468. #define PDERR_PARSEFAILURE     0x1002
  469. #define PDERR_RETDEFFAILURE    0x1003
  470. #define PDERR_LOADDRVFAILURE   0x1004
  471. #define PDERR_GETDEVMODEFAIL   0x1005
  472. #define PDERR_INITFAILURE      0x1006
  473. #define PDERR_NODEVICES        0x1007
  474. #define PDERR_NODEFAULTPRN     0x1008
  475. #define PDERR_DNDMMISMATCH     0x1009
  476. #define PDERR_CREATEICFAILURE  0x100A
  477. #define PDERR_PRINTERNOTFOUND  0x100B
  478. #define PDERR_DEFAULTDIFFERENT 0x100C
  479.  
  480. // WinCE specific
  481. #define CDERR_REGISTRYFAILURE  0x0100
  482. #define PDERR_NOPORTS          PDERR_NODEVICES
  483. #define PDERR_NOPRINTERS       PDERR_NODEFAULTPRN
  484. #define PDERR_CREATEDCFAILURE  PDERR_CREATEICFAILURE
  485.  
  486. #ifdef __cplusplus
  487. }
  488. #endif  /* __cplusplus */
  489.  
  490. #include <poppack.h>
  491. #endif  /* !_INC_COMMDLG */
  492.