123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031 |
- /************************************************************************
- * *
- * commdlg.h -- This module defines the 32-Bit Common Dialog APIs *
- * *
- * Copyright (c) Microsoft Corporation. All rights reserved. *
- * *
- ************************************************************************/
- #ifndef _INC_COMMDLG
- #define _INC_COMMDLG
- #if(WINVER >= 0x0500)
- #ifdef DEFINE_GUID
- //
- // IPrintDialogCallback interface id used by PrintDlgEx.
- //
- // {5852A2C3-6530-11D1-B6A3-0000F8757BF9}
- //
- DEFINE_GUID(IID_IPrintDialogCallback, 0x5852a2c3, 0x6530, 0x11d1, 0xb6, 0xa3, 0x0, 0x0, 0xf8, 0x75, 0x7b, 0xf9);
- //
- // IPrintDialogServices interface id used by PrintDlgEx.
- //
- // {509AAEDA-5639-11D1-B6A1-0000F8757BF9}
- //
- DEFINE_GUID(IID_IPrintDialogServices, 0x509aaeda, 0x5639, 0x11d1, 0xb6, 0xa1, 0x0, 0x0, 0xf8, 0x75, 0x7b, 0xf9);
- #endif
- #endif /* WINVER >= 0x0500 */
- #ifndef GUID_DEFS_ONLY
- #include <prsht.h>
- #if !defined(_WIN64)
- #include <pshpack1.h> /* Assume byte packing throughout */
- #endif
- #ifdef __cplusplus
- extern "C" { /* Assume C declarations for C++ */
- #endif /* __cplusplus */
- //
- // Define API decoration for direct importing of DLL references.
- //
- #ifndef WINCOMMDLGAPI
- #if !defined(_COMDLG32_)
- #define WINCOMMDLGAPI DECLSPEC_IMPORT
- #else
- #define WINCOMMDLGAPI
- #endif
- #endif // WINCOMMDLGAPI
- #if(WINVER >= 0x0400)
- #ifndef SNDMSG
- #ifdef __cplusplus
- #ifndef _MAC
- #define SNDMSG ::SendMessage
- #else
- #define SNDMSG ::AfxSendMessage
- #endif
- #else /* __cplusplus */
- #ifndef _MAC
- #define SNDMSG SendMessage
- #else
- #define SNDMSG AfxSendMessage
- #endif
- #endif /* __cplusplus */
- #endif // ifndef SNDMSG
- #endif /* WINVER >= 0x0400 */
- #ifdef _MAC
- typedef struct tagEDITMENU
- {
- HMENU hmenu;
- WORD idEdit;
- WORD idCut;
- WORD idCopy;
- WORD idPaste;
- WORD idClear;
- WORD idUndo;
- } EDITMENU;
- typedef EDITMENU *LPEDITMENU;
- #endif
- typedef UINT_PTR (CALLBACK *LPOFNHOOKPROC) (HWND, UINT, WPARAM, LPARAM);
- #ifndef CDSIZEOF_STRUCT
- #define CDSIZEOF_STRUCT(structname, member) (((int)((LPBYTE)(&((structname*)0)->member) - ((LPBYTE)((structname*)0)))) + sizeof(((structname*)0)->member))
- #endif
- //
- // For compilers that don't support nameless unions
- //
- #ifndef DUMMYUNIONNAME
- #ifdef NONAMELESSUNION
- #define DUMMYUNIONNAME u
- #endif // NONAMELESSUNION
- #endif // DUMMYUNIONNAME
- typedef struct tagOFN_NT4A {
- DWORD lStructSize;
- HWND hwndOwner;
- HINSTANCE hInstance;
- LPCSTR lpstrFilter;
- LPSTR lpstrCustomFilter;
- DWORD nMaxCustFilter;
- DWORD nFilterIndex;
- LPSTR lpstrFile;
- DWORD nMaxFile;
- LPSTR lpstrFileTitle;
- DWORD nMaxFileTitle;
- LPCSTR lpstrInitialDir;
- LPCSTR lpstrTitle;
- DWORD Flags;
- WORD nFileOffset;
- WORD nFileExtension;
- LPCSTR lpstrDefExt;
- LPARAM lCustData;
- LPOFNHOOKPROC lpfnHook;
- LPCSTR lpTemplateName;
- } OPENFILENAME_NT4A, *LPOPENFILENAME_NT4A;
- typedef struct tagOFN_NT4W {
- DWORD lStructSize;
- HWND hwndOwner;
- HINSTANCE hInstance;
- LPCWSTR lpstrFilter;
- LPWSTR lpstrCustomFilter;
- DWORD nMaxCustFilter;
- DWORD nFilterIndex;
- LPWSTR lpstrFile;
- DWORD nMaxFile;
- LPWSTR lpstrFileTitle;
- DWORD nMaxFileTitle;
- LPCWSTR lpstrInitialDir;
- LPCWSTR lpstrTitle;
- DWORD Flags;
- WORD nFileOffset;
- WORD nFileExtension;
- LPCWSTR lpstrDefExt;
- LPARAM lCustData;
- LPOFNHOOKPROC lpfnHook;
- LPCWSTR lpTemplateName;
- } OPENFILENAME_NT4W, *LPOPENFILENAME_NT4W;
- #ifdef UNICODE
- typedef OPENFILENAME_NT4W OPENFILENAME_NT4;
- typedef LPOPENFILENAME_NT4W LPOPENFILENAME_NT4;
- #else
- typedef OPENFILENAME_NT4A OPENFILENAME_NT4;
- typedef LPOPENFILENAME_NT4A LPOPENFILENAME_NT4;
- #endif // UNICODE
- typedef struct tagOFNA {
- DWORD lStructSize;
- HWND hwndOwner;
- HINSTANCE hInstance;
- LPCSTR lpstrFilter;
- LPSTR lpstrCustomFilter;
- DWORD nMaxCustFilter;
- DWORD nFilterIndex;
- LPSTR lpstrFile;
- DWORD nMaxFile;
- LPSTR lpstrFileTitle;
- DWORD nMaxFileTitle;
- LPCSTR lpstrInitialDir;
- LPCSTR lpstrTitle;
- DWORD Flags;
- WORD nFileOffset;
- WORD nFileExtension;
- LPCSTR lpstrDefExt;
- LPARAM lCustData;
- LPOFNHOOKPROC lpfnHook;
- LPCSTR lpTemplateName;
- #ifdef _MAC
- LPEDITMENU lpEditInfo;
- LPCSTR lpstrPrompt;
- #endif
- #if (_WIN32_WINNT >= 0x0500)
- void * pvReserved;
- DWORD dwReserved;
- DWORD FlagsEx;
- #endif // (_WIN32_WINNT >= 0x0500)
- } OPENFILENAMEA, *LPOPENFILENAMEA;
- typedef struct tagOFNW {
- DWORD lStructSize;
- HWND hwndOwner;
- HINSTANCE hInstance;
- LPCWSTR lpstrFilter;
- LPWSTR lpstrCustomFilter;
- DWORD nMaxCustFilter;
- DWORD nFilterIndex;
- LPWSTR lpstrFile;
- DWORD nMaxFile;
- LPWSTR lpstrFileTitle;
- DWORD nMaxFileTitle;
- LPCWSTR lpstrInitialDir;
- LPCWSTR lpstrTitle;
- DWORD Flags;
- WORD nFileOffset;
- WORD nFileExtension;
- LPCWSTR lpstrDefExt;
- LPARAM lCustData;
- LPOFNHOOKPROC lpfnHook;
- LPCWSTR lpTemplateName;
- #ifdef _MAC
- LPEDITMENU lpEditInfo;
- LPCSTR lpstrPrompt;
- #endif
- #if (_WIN32_WINNT >= 0x0500)
- void * pvReserved;
- DWORD dwReserved;
- DWORD FlagsEx;
- #endif // (_WIN32_WINNT >= 0x0500)
- } OPENFILENAMEW, *LPOPENFILENAMEW;
- #ifdef UNICODE
- typedef OPENFILENAMEW OPENFILENAME;
- typedef LPOPENFILENAMEW LPOPENFILENAME;
- #else
- typedef OPENFILENAMEA OPENFILENAME;
- typedef LPOPENFILENAMEA LPOPENFILENAME;
- #endif // UNICODE
- #if (_WIN32_WINNT >= 0x0500)
- #define OPENFILENAME_SIZE_VERSION_400A CDSIZEOF_STRUCT(OPENFILENAMEA,lpTemplateName)
- #define OPENFILENAME_SIZE_VERSION_400W CDSIZEOF_STRUCT(OPENFILENAMEW,lpTemplateName)
- #ifdef UNICODE
- #define OPENFILENAME_SIZE_VERSION_400 OPENFILENAME_SIZE_VERSION_400W
- #else
- #define OPENFILENAME_SIZE_VERSION_400 OPENFILENAME_SIZE_VERSION_400A
- #endif // !UNICODE
- #endif // (_WIN32_WINNT >= 0x0500)
- WINCOMMDLGAPI BOOL APIENTRY GetOpenFileNameA(LPOPENFILENAMEA);
- WINCOMMDLGAPI BOOL APIENTRY GetOpenFileNameW(LPOPENFILENAMEW);
- #ifdef UNICODE
- #define GetOpenFileName GetOpenFileNameW
- #else
- #define GetOpenFileName GetOpenFileNameA
- #endif // !UNICODE
- WINCOMMDLGAPI BOOL APIENTRY GetSaveFileNameA(LPOPENFILENAMEA);
- WINCOMMDLGAPI BOOL APIENTRY GetSaveFileNameW(LPOPENFILENAMEW);
- #ifdef UNICODE
- #define GetSaveFileName GetSaveFileNameW
- #else
- #define GetSaveFileName GetSaveFileNameA
- #endif // !UNICODE
- WINCOMMDLGAPI short APIENTRY GetFileTitleA(LPCSTR, LPSTR, WORD);
- WINCOMMDLGAPI short APIENTRY GetFileTitleW(LPCWSTR, LPWSTR, WORD);
- #ifdef UNICODE
- #define GetFileTitle GetFileTitleW
- #else
- #define GetFileTitle GetFileTitleA
- #endif // !UNICODE
- #define OFN_READONLY 0x00000001
- #define OFN_OVERWRITEPROMPT 0x00000002
- #define OFN_HIDEREADONLY 0x00000004
- #define OFN_NOCHANGEDIR 0x00000008
- #define OFN_SHOWHELP 0x00000010
- #define OFN_ENABLEHOOK 0x00000020
- #define OFN_ENABLETEMPLATE 0x00000040
- #define OFN_ENABLETEMPLATEHANDLE 0x00000080
- #define OFN_NOVALIDATE 0x00000100
- #define OFN_ALLOWMULTISELECT 0x00000200
- #define OFN_EXTENSIONDIFFERENT 0x00000400
- #define OFN_PATHMUSTEXIST 0x00000800
- #define OFN_FILEMUSTEXIST 0x00001000
- #define OFN_CREATEPROMPT 0x00002000
- #define OFN_SHAREAWARE 0x00004000
- #define OFN_NOREADONLYRETURN 0x00008000
- #define OFN_NOTESTFILECREATE 0x00010000
- #define OFN_NONETWORKBUTTON 0x00020000
- #define OFN_NOLONGNAMES 0x00040000 // force no long names for 4.x modules
- #if(WINVER >= 0x0400)
- #define OFN_EXPLORER 0x00080000 // new look commdlg
- #define OFN_NODEREFERENCELINKS 0x00100000
- #define OFN_LONGNAMES 0x00200000 // force long names for 3.x modules
- #define OFN_ENABLEINCLUDENOTIFY 0x00400000 // send include message to callback
- #define OFN_ENABLESIZING 0x00800000
- #endif /* WINVER >= 0x0400 */
- #if (_WIN32_WINNT >= 0x0500)
- #define OFN_DONTADDTORECENT 0x02000000
- #define OFN_FORCESHOWHIDDEN 0x10000000 // Show All files including System and hidden files
- #endif // (_WIN32_WINNT >= 0x0500)
- //FlagsEx Values
- #if (_WIN32_WINNT >= 0x0500)
- #define OFN_EX_NOPLACESBAR 0x00000001
- #endif // (_WIN32_WINNT >= 0x0500)
- // Return values for the registered message sent to the hook function
- // when a sharing violation occurs. OFN_SHAREFALLTHROUGH allows the
- // filename to be accepted, OFN_SHARENOWARN rejects the name but puts
- // up no warning (returned when the app has already put up a warning
- // message), and OFN_SHAREWARN puts up the default warning message
- // for sharing violations.
- //
- // Note: Undefined return values map to OFN_SHAREWARN, but are
- // reserved for future use.
- #define OFN_SHAREFALLTHROUGH 2
- #define OFN_SHARENOWARN 1
- #define OFN_SHAREWARN 0
- typedef UINT_PTR (CALLBACK *LPCCHOOKPROC) (HWND, UINT, WPARAM, LPARAM);
- #if(WINVER >= 0x0400)
- // Structure used for all file based OpenFileName notifications
- typedef struct _OFNOTIFYA
- {
- NMHDR hdr;
- LPOPENFILENAMEA lpOFN;
- LPSTR pszFile; // May be NULL
- } OFNOTIFYA, *LPOFNOTIFYA;
- // Structure used for all file based OpenFileName notifications
- typedef struct _OFNOTIFYW
- {
- NMHDR hdr;
- LPOPENFILENAMEW lpOFN;
- LPWSTR pszFile; // May be NULL
- } OFNOTIFYW, *LPOFNOTIFYW;
- #ifdef UNICODE
- typedef OFNOTIFYW OFNOTIFY;
- typedef LPOFNOTIFYW LPOFNOTIFY;
- #else
- typedef OFNOTIFYA OFNOTIFY;
- typedef LPOFNOTIFYA LPOFNOTIFY;
- #endif // UNICODE
- // Structure used for all object based OpenFileName notifications
- typedef struct _OFNOTIFYEXA
- {
- NMHDR hdr;
- LPOPENFILENAMEA lpOFN;
- LPVOID psf;
- LPVOID pidl; // May be NULL
- } OFNOTIFYEXA, *LPOFNOTIFYEXA;
- // Structure used for all object based OpenFileName notifications
- typedef struct _OFNOTIFYEXW
- {
- NMHDR hdr;
- LPOPENFILENAMEW lpOFN;
- LPVOID psf;
- LPVOID pidl; // May be NULL
- } OFNOTIFYEXW, *LPOFNOTIFYEXW;
- #ifdef UNICODE
- typedef OFNOTIFYEXW OFNOTIFYEX;
- typedef LPOFNOTIFYEXW LPOFNOTIFYEX;
- #else
- typedef OFNOTIFYEXA OFNOTIFYEX;
- typedef LPOFNOTIFYEXA LPOFNOTIFYEX;
- #endif // UNICODE
- #define CDN_FIRST (0U-601U)
- #define CDN_LAST (0U-699U)
- // Notifications from Open or Save dialog
- #define CDN_INITDONE (CDN_FIRST - 0x0000)
- #define CDN_SELCHANGE (CDN_FIRST - 0x0001)
- #define CDN_FOLDERCHANGE (CDN_FIRST - 0x0002)
- #define CDN_SHAREVIOLATION (CDN_FIRST - 0x0003)
- #define CDN_HELP (CDN_FIRST - 0x0004)
- #define CDN_FILEOK (CDN_FIRST - 0x0005)
- #define CDN_TYPECHANGE (CDN_FIRST - 0x0006)
- #define CDN_INCLUDEITEM (CDN_FIRST - 0x0007)
- #define CDM_FIRST (WM_USER + 100)
- #define CDM_LAST (WM_USER + 200)
- // Messages to query information from the Open or Save dialogs
- // lParam = pointer to text buffer that gets filled in
- // wParam = max number of characters of the text buffer (including NULL)
- // return = < 0 if error; number of characters needed (including NULL)
- #define CDM_GETSPEC (CDM_FIRST + 0x0000)
- #define CommDlg_OpenSave_GetSpecA(_hdlg, _psz, _cbmax) \
- (int)SNDMSG(_hdlg, CDM_GETSPEC, (WPARAM)_cbmax, (LPARAM)(LPSTR)_psz)
- #define CommDlg_OpenSave_GetSpecW(_hdlg, _psz, _cbmax) \
- (int)SNDMSG(_hdlg, CDM_GETSPEC, (WPARAM)_cbmax, (LPARAM)(LPWSTR)_psz)
- #ifdef UNICODE
- #define CommDlg_OpenSave_GetSpec CommDlg_OpenSave_GetSpecW
- #else
- #define CommDlg_OpenSave_GetSpec CommDlg_OpenSave_GetSpecA
- #endif // !UNICODE
- // lParam = pointer to text buffer that gets filled in
- // wParam = max number of characters of the text buffer (including NULL)
- // return = < 0 if error; number of characters needed (including NULL)
- #define CDM_GETFILEPATH (CDM_FIRST + 0x0001)
- #define CommDlg_OpenSave_GetFilePathA(_hdlg, _psz, _cbmax) \
- (int)SNDMSG(_hdlg, CDM_GETFILEPATH, (WPARAM)_cbmax, (LPARAM)(LPSTR)_psz)
- #define CommDlg_OpenSave_GetFilePathW(_hdlg, _psz, _cbmax) \
- (int)SNDMSG(_hdlg, CDM_GETFILEPATH, (WPARAM)_cbmax, (LPARAM)(LPWSTR)_psz)
- #ifdef UNICODE
- #define CommDlg_OpenSave_GetFilePath CommDlg_OpenSave_GetFilePathW
- #else
- #define CommDlg_OpenSave_GetFilePath CommDlg_OpenSave_GetFilePathA
- #endif // !UNICODE
- // lParam = pointer to text buffer that gets filled in
- // wParam = max number of characters of the text buffer (including NULL)
- // return = < 0 if error; number of characters needed (including NULL)
- #define CDM_GETFOLDERPATH (CDM_FIRST + 0x0002)
- #define CommDlg_OpenSave_GetFolderPathA(_hdlg, _psz, _cbmax) \
- (int)SNDMSG(_hdlg, CDM_GETFOLDERPATH, (WPARAM)_cbmax, (LPARAM)(LPSTR)_psz)
- #define CommDlg_OpenSave_GetFolderPathW(_hdlg, _psz, _cbmax) \
- (int)SNDMSG(_hdlg, CDM_GETFOLDERPATH, (WPARAM)_cbmax, (LPARAM)(LPWSTR)_psz)
- #ifdef UNICODE
- #define CommDlg_OpenSave_GetFolderPath CommDlg_OpenSave_GetFolderPathW
- #else
- #define CommDlg_OpenSave_GetFolderPath CommDlg_OpenSave_GetFolderPathA
- #endif // !UNICODE
- // lParam = pointer to ITEMIDLIST buffer that gets filled in
- // wParam = size of the ITEMIDLIST buffer
- // return = < 0 if error; length of buffer needed
- #define CDM_GETFOLDERIDLIST (CDM_FIRST + 0x0003)
- #define CommDlg_OpenSave_GetFolderIDList(_hdlg, _pidl, _cbmax) \
- (int)SNDMSG(_hdlg, CDM_GETFOLDERIDLIST, (WPARAM)_cbmax, (LPARAM)(LPVOID)_pidl)
- // lParam = pointer to a string
- // wParam = ID of control to change
- // return = not used
- #define CDM_SETCONTROLTEXT (CDM_FIRST + 0x0004)
- #define CommDlg_OpenSave_SetControlText(_hdlg, _id, _text) \
- (void)SNDMSG(_hdlg, CDM_SETCONTROLTEXT, (WPARAM)_id, (LPARAM)(LPSTR)_text)
- // lParam = not used
- // wParam = ID of control to change
- // return = not used
- #define CDM_HIDECONTROL (CDM_FIRST + 0x0005)
- #define CommDlg_OpenSave_HideControl(_hdlg, _id) \
- (void)SNDMSG(_hdlg, CDM_HIDECONTROL, (WPARAM)_id, 0)
- // lParam = pointer to default extension (no dot)
- // wParam = not used
- // return = not used
- #define CDM_SETDEFEXT (CDM_FIRST + 0x0006)
- #define CommDlg_OpenSave_SetDefExt(_hdlg, _pszext) \
- (void)SNDMSG(_hdlg, CDM_SETDEFEXT, 0, (LPARAM)(LPSTR)_pszext)
- #endif /* WINVER >= 0x0400 */
- #ifndef _MAC
- typedef struct tagCHOOSECOLORA {
- DWORD lStructSize;
- HWND hwndOwner;
- HWND hInstance;
- COLORREF rgbResult;
- COLORREF* lpCustColors;
- DWORD Flags;
- LPARAM lCustData;
- LPCCHOOKPROC lpfnHook;
- LPCSTR lpTemplateName;
- } CHOOSECOLORA, *LPCHOOSECOLORA;
- typedef struct tagCHOOSECOLORW {
- DWORD lStructSize;
- HWND hwndOwner;
- HWND hInstance;
- COLORREF rgbResult;
- COLORREF* lpCustColors;
- DWORD Flags;
- LPARAM lCustData;
- LPCCHOOKPROC lpfnHook;
- LPCWSTR lpTemplateName;
- } CHOOSECOLORW, *LPCHOOSECOLORW;
- #ifdef UNICODE
- typedef CHOOSECOLORW CHOOSECOLOR;
- typedef LPCHOOSECOLORW LPCHOOSECOLOR;
- #else
- typedef CHOOSECOLORA CHOOSECOLOR;
- typedef LPCHOOSECOLORA LPCHOOSECOLOR;
- #endif // UNICODE
- #else
- typedef struct tagCHOOSECOLORA {
- DWORD lStructSize;
- HWND hwndOwner;
- HWND hInstance;
- COLORREF rgbResult;
- COLORREF* lpCustColors;
- DWORD Flags;
- LPARAM lCustData;
- LPCCHOOKPROC lpfnHook;
- LPCSTR lpTemplateName;
- LPEDITMENU lpEditInfo;
- } CHOOSECOLORA, *LPCHOOSECOLORA;
- typedef struct tagCHOOSECOLORW {
- DWORD lStructSize;
- HWND hwndOwner;
- HWND hInstance;
- COLORREF rgbResult;
- COLORREF* lpCustColors;
- DWORD Flags;
- LPARAM lCustData;
- LPCCHOOKPROC lpfnHook;
- LPCWSTR lpTemplateName;
- LPEDITMENU lpEditInfo;
- } CHOOSECOLORW, *LPCHOOSECOLORW;
- #ifdef UNICODE
- typedef CHOOSECOLORW CHOOSECOLOR;
- typedef LPCHOOSECOLORW LPCHOOSECOLOR;
- #else
- typedef CHOOSECOLORA CHOOSECOLOR;
- typedef LPCHOOSECOLORA LPCHOOSECOLOR;
- #endif // UNICODE
- #endif //_MAC
- WINCOMMDLGAPI BOOL APIENTRY ChooseColorA(LPCHOOSECOLORA);
- WINCOMMDLGAPI BOOL APIENTRY ChooseColorW(LPCHOOSECOLORW);
- #ifdef UNICODE
- #define ChooseColor ChooseColorW
- #else
- #define ChooseColor ChooseColorA
- #endif // !UNICODE
- #define CC_RGBINIT 0x00000001
- #define CC_FULLOPEN 0x00000002
- #define CC_PREVENTFULLOPEN 0x00000004
- #define CC_SHOWHELP 0x00000008
- #define CC_ENABLEHOOK 0x00000010
- #define CC_ENABLETEMPLATE 0x00000020
- #define CC_ENABLETEMPLATEHANDLE 0x00000040
- #if(WINVER >= 0x0400)
- #define CC_SOLIDCOLOR 0x00000080
- #define CC_ANYCOLOR 0x00000100
- #endif /* WINVER >= 0x0400 */
- typedef UINT_PTR (CALLBACK *LPFRHOOKPROC) (HWND, UINT, WPARAM, LPARAM);
- typedef struct tagFINDREPLACEA {
- DWORD lStructSize; // size of this struct 0x20
- HWND hwndOwner; // handle to owner's window
- HINSTANCE hInstance; // instance handle of.EXE that
- // contains cust. dlg. template
- DWORD Flags; // one or more of the FR_??
- LPSTR lpstrFindWhat; // ptr. to search string
- LPSTR lpstrReplaceWith; // ptr. to replace string
- WORD wFindWhatLen; // size of find buffer
- WORD wReplaceWithLen; // size of replace buffer
- LPARAM lCustData; // data passed to hook fn.
- LPFRHOOKPROC lpfnHook; // ptr. to hook fn. or NULL
- LPCSTR lpTemplateName; // custom template name
- } FINDREPLACEA, *LPFINDREPLACEA;
- typedef struct tagFINDREPLACEW {
- DWORD lStructSize; // size of this struct 0x20
- HWND hwndOwner; // handle to owner's window
- HINSTANCE hInstance; // instance handle of.EXE that
- // contains cust. dlg. template
- DWORD Flags; // one or more of the FR_??
- LPWSTR lpstrFindWhat; // ptr. to search string
- LPWSTR lpstrReplaceWith; // ptr. to replace string
- WORD wFindWhatLen; // size of find buffer
- WORD wReplaceWithLen; // size of replace buffer
- LPARAM lCustData; // data passed to hook fn.
- LPFRHOOKPROC lpfnHook; // ptr. to hook fn. or NULL
- LPCWSTR lpTemplateName; // custom template name
- } FINDREPLACEW, *LPFINDREPLACEW;
- #ifdef UNICODE
- typedef FINDREPLACEW FINDREPLACE;
- typedef LPFINDREPLACEW LPFINDREPLACE;
- #else
- typedef FINDREPLACEA FINDREPLACE;
- typedef LPFINDREPLACEA LPFINDREPLACE;
- #endif // UNICODE
- #define FR_DOWN 0x00000001
- #define FR_WHOLEWORD 0x00000002
- #define FR_MATCHCASE 0x00000004
- #define FR_FINDNEXT 0x00000008
- #define FR_REPLACE 0x00000010
- #define FR_REPLACEALL 0x00000020
- #define FR_DIALOGTERM 0x00000040
- #define FR_SHOWHELP 0x00000080
- #define FR_ENABLEHOOK 0x00000100
- #define FR_ENABLETEMPLATE 0x00000200
- #define FR_NOUPDOWN 0x00000400
- #define FR_NOMATCHCASE 0x00000800
- #define FR_NOWHOLEWORD 0x00001000
- #define FR_ENABLETEMPLATEHANDLE 0x00002000
- #define FR_HIDEUPDOWN 0x00004000
- #define FR_HIDEMATCHCASE 0x00008000
- #define FR_HIDEWHOLEWORD 0x00010000
- #define FR_RAW 0x00020000
- #define FR_MATCHDIAC 0x20000000
- #define FR_MATCHKASHIDA 0x40000000
- #define FR_MATCHALEFHAMZA 0x80000000
- WINCOMMDLGAPI HWND APIENTRY FindTextA(LPFINDREPLACEA);
- WINCOMMDLGAPI HWND APIENTRY FindTextW(LPFINDREPLACEW);
- #ifdef UNICODE
- #define FindText FindTextW
- #else
- #define FindText FindTextA
- #endif // !UNICODE
- #ifndef _MAC
- WINCOMMDLGAPI HWND APIENTRY ReplaceTextA(LPFINDREPLACEA);
- WINCOMMDLGAPI HWND APIENTRY ReplaceTextW(LPFINDREPLACEW);
- #ifdef UNICODE
- #define ReplaceText ReplaceTextW
- #else
- #define ReplaceText ReplaceTextA
- #endif // !UNICODE
- #else
- WINCOMMDLGAPI HWND APIENTRY AfxReplaceTextA(LPFINDREPLACEA);
- WINCOMMDLGAPI HWND APIENTRY AfxReplaceTextW(LPFINDREPLACEW);
- #ifdef UNICODE
- #define AfxReplaceText AfxReplaceTextW
- #else
- #define AfxReplaceText AfxReplaceTextA
- #endif // !UNICODE
- #endif
- typedef UINT_PTR (CALLBACK *LPCFHOOKPROC) (HWND, UINT, WPARAM, LPARAM);
- typedef struct tagCHOOSEFONTA {
- DWORD lStructSize;
- HWND hwndOwner; // caller's window handle
- HDC hDC; // printer DC/IC or NULL
- LPLOGFONTA lpLogFont; // ptr. to a LOGFONT struct
- INT iPointSize; // 10 * size in points of selected font
- DWORD Flags; // enum. type flags
- COLORREF rgbColors; // returned text color
- LPARAM lCustData; // data passed to hook fn.
- LPCFHOOKPROC lpfnHook; // ptr. to hook function
- LPCSTR lpTemplateName; // custom template name
- HINSTANCE hInstance; // instance handle of.EXE that
- // contains cust. dlg. template
- LPSTR lpszStyle; // return the style field here
- // must be LF_FACESIZE or bigger
- WORD nFontType; // same value reported to the EnumFonts
- // call back with the extra FONTTYPE_
- // bits added
- WORD ___MISSING_ALIGNMENT__;
- INT nSizeMin; // minimum pt size allowed &
- INT nSizeMax; // max pt size allowed if
- // CF_LIMITSIZE is used
- } CHOOSEFONTA, *LPCHOOSEFONTA;
- typedef struct tagCHOOSEFONTW {
- DWORD lStructSize;
- HWND hwndOwner; // caller's window handle
- HDC hDC; // printer DC/IC or NULL
- LPLOGFONTW lpLogFont; // ptr. to a LOGFONT struct
- INT iPointSize; // 10 * size in points of selected font
- DWORD Flags; // enum. type flags
- COLORREF rgbColors; // returned text color
- LPARAM lCustData; // data passed to hook fn.
- LPCFHOOKPROC lpfnHook; // ptr. to hook function
- LPCWSTR lpTemplateName; // custom template name
- HINSTANCE hInstance; // instance handle of.EXE that
- // contains cust. dlg. template
- LPWSTR lpszStyle; // return the style field here
- // must be LF_FACESIZE or bigger
- WORD nFontType; // same value reported to the EnumFonts
- // call back with the extra FONTTYPE_
- // bits added
- WORD ___MISSING_ALIGNMENT__;
- INT nSizeMin; // minimum pt size allowed &
- INT nSizeMax; // max pt size allowed if
- // CF_LIMITSIZE is used
- } CHOOSEFONTW, *LPCHOOSEFONTW;
- #ifdef UNICODE
- typedef CHOOSEFONTW CHOOSEFONT;
- typedef LPCHOOSEFONTW LPCHOOSEFONT;
- #else
- typedef CHOOSEFONTA CHOOSEFONT;
- typedef LPCHOOSEFONTA LPCHOOSEFONT;
- #endif // UNICODE
- WINCOMMDLGAPI BOOL APIENTRY ChooseFontA(LPCHOOSEFONTA);
- WINCOMMDLGAPI BOOL APIENTRY ChooseFontW(LPCHOOSEFONTW);
- #ifdef UNICODE
- #define ChooseFont ChooseFontW
- #else
- #define ChooseFont ChooseFontA
- #endif // !UNICODE
- #define CF_SCREENFONTS 0x00000001
- #define CF_PRINTERFONTS 0x00000002
- #define CF_BOTH (CF_SCREENFONTS | CF_PRINTERFONTS)
- #define CF_SHOWHELP 0x00000004L
- #define CF_ENABLEHOOK 0x00000008L
- #define CF_ENABLETEMPLATE 0x00000010L
- #define CF_ENABLETEMPLATEHANDLE 0x00000020L
- #define CF_INITTOLOGFONTSTRUCT 0x00000040L
- #define CF_USESTYLE 0x00000080L
- #define CF_EFFECTS 0x00000100L
- #define CF_APPLY 0x00000200L
- #define CF_ANSIONLY 0x00000400L
- #if(WINVER >= 0x0400)
- #define CF_SCRIPTSONLY CF_ANSIONLY
- #endif /* WINVER >= 0x0400 */
- #define CF_NOVECTORFONTS 0x00000800L
- #define CF_NOOEMFONTS CF_NOVECTORFONTS
- #define CF_NOSIMULATIONS 0x00001000L
- #define CF_LIMITSIZE 0x00002000L
- #define CF_FIXEDPITCHONLY 0x00004000L
- #define CF_WYSIWYG 0x00008000L // must also have CF_SCREENFONTS & CF_PRINTERFONTS
- #define CF_FORCEFONTEXIST 0x00010000L
- #define CF_SCALABLEONLY 0x00020000L
- #define CF_TTONLY 0x00040000L
- #define CF_NOFACESEL 0x00080000L
- #define CF_NOSTYLESEL 0x00100000L
- #define CF_NOSIZESEL 0x00200000L
- #if(WINVER >= 0x0400)
- #define CF_SELECTSCRIPT 0x00400000L
- #define CF_NOSCRIPTSEL 0x00800000L
- #define CF_NOVERTFONTS 0x01000000L
- #endif /* WINVER >= 0x0400 */
- // these are extra nFontType bits that are added to what is returned to the
- // EnumFonts callback routine
- #define SIMULATED_FONTTYPE 0x8000
- #define PRINTER_FONTTYPE 0x4000
- #define SCREEN_FONTTYPE 0x2000
- #define BOLD_FONTTYPE 0x0100
- #define ITALIC_FONTTYPE 0x0200
- #define REGULAR_FONTTYPE 0x0400
- // EnumFonts callback routine only uses these bits, so we can use the rest
- // #define RASTER_FONTTYPE 0x001
- // #define DEVICE_FONTTYPE 0x002
- // #define TRUETYPE_FONTTYPE 0x004
- #ifdef WINNT
- #define PS_OPENTYPE_FONTTYPE 0x10000
- #define TT_OPENTYPE_FONTTYPE 0x20000
- #define TYPE1_FONTTYPE 0x40000
- #endif
- #define WM_CHOOSEFONT_GETLOGFONT (WM_USER + 1)
- #define WM_CHOOSEFONT_SETLOGFONT (WM_USER + 101)
- #define WM_CHOOSEFONT_SETFLAGS (WM_USER + 102)
- // strings used to obtain unique window message for communication
- // between dialog and caller
- #define LBSELCHSTRINGA "commdlg_LBSelChangedNotify"
- #define SHAREVISTRINGA "commdlg_ShareViolation"
- #define FILEOKSTRINGA "commdlg_FileNameOK"
- #define COLOROKSTRINGA "commdlg_ColorOK"
- #define SETRGBSTRINGA "commdlg_SetRGBColor"
- #define HELPMSGSTRINGA "commdlg_help"
- #define FINDMSGSTRINGA "commdlg_FindReplace"
- #define LBSELCHSTRINGW L"commdlg_LBSelChangedNotify"
- #define SHAREVISTRINGW L"commdlg_ShareViolation"
- #define FILEOKSTRINGW L"commdlg_FileNameOK"
- #define COLOROKSTRINGW L"commdlg_ColorOK"
- #define SETRGBSTRINGW L"commdlg_SetRGBColor"
- #define HELPMSGSTRINGW L"commdlg_help"
- #define FINDMSGSTRINGW L"commdlg_FindReplace"
- #ifdef UNICODE
- #define LBSELCHSTRING LBSELCHSTRINGW
- #define SHAREVISTRING SHAREVISTRINGW
- #define FILEOKSTRING FILEOKSTRINGW
- #define COLOROKSTRING COLOROKSTRINGW
- #define SETRGBSTRING SETRGBSTRINGW
- #define HELPMSGSTRING HELPMSGSTRINGW
- #define FINDMSGSTRING FINDMSGSTRINGW
- #else
- #define LBSELCHSTRING LBSELCHSTRINGA
- #define SHAREVISTRING SHAREVISTRINGA
- #define FILEOKSTRING FILEOKSTRINGA
- #define COLOROKSTRING COLOROKSTRINGA
- #define SETRGBSTRING SETRGBSTRINGA
- #define HELPMSGSTRING HELPMSGSTRINGA
- #define FINDMSGSTRING FINDMSGSTRINGA
- #endif
- // HIWORD values for lParam of commdlg_LBSelChangeNotify message
- #define CD_LBSELNOITEMS -1
- #define CD_LBSELCHANGE 0
- #define CD_LBSELSUB 1
- #define CD_LBSELADD 2
- typedef UINT_PTR (CALLBACK *LPPRINTHOOKPROC) (HWND, UINT, WPARAM, LPARAM);
- typedef UINT_PTR (CALLBACK *LPSETUPHOOKPROC) (HWND, UINT, WPARAM, LPARAM);
- typedef struct tagPDA {
- DWORD lStructSize;
- HWND hwndOwner;
- HGLOBAL hDevMode;
- HGLOBAL hDevNames;
- HDC hDC;
- DWORD Flags;
- WORD nFromPage;
- WORD nToPage;
- WORD nMinPage;
- WORD nMaxPage;
- WORD nCopies;
- HINSTANCE hInstance;
- LPARAM lCustData;
- LPPRINTHOOKPROC lpfnPrintHook;
- LPSETUPHOOKPROC lpfnSetupHook;
- LPCSTR lpPrintTemplateName;
- LPCSTR lpSetupTemplateName;
- HGLOBAL hPrintTemplate;
- HGLOBAL hSetupTemplate;
- } PRINTDLGA, *LPPRINTDLGA;
- typedef struct tagPDW {
- DWORD lStructSize;
- HWND hwndOwner;
- HGLOBAL hDevMode;
- HGLOBAL hDevNames;
- HDC hDC;
- DWORD Flags;
- WORD nFromPage;
- WORD nToPage;
- WORD nMinPage;
- WORD nMaxPage;
- WORD nCopies;
- HINSTANCE hInstance;
- LPARAM lCustData;
- LPPRINTHOOKPROC lpfnPrintHook;
- LPSETUPHOOKPROC lpfnSetupHook;
- LPCWSTR lpPrintTemplateName;
- LPCWSTR lpSetupTemplateName;
- HGLOBAL hPrintTemplate;
- HGLOBAL hSetupTemplate;
- } PRINTDLGW, *LPPRINTDLGW;
- #ifdef UNICODE
- typedef PRINTDLGW PRINTDLG;
- typedef LPPRINTDLGW LPPRINTDLG;
- #else
- typedef PRINTDLGA PRINTDLG;
- typedef LPPRINTDLGA LPPRINTDLG;
- #endif // UNICODE
- WINCOMMDLGAPI BOOL APIENTRY PrintDlgA(LPPRINTDLGA);
- WINCOMMDLGAPI BOOL APIENTRY PrintDlgW(LPPRINTDLGW);
- #ifdef UNICODE
- #define PrintDlg PrintDlgW
- #else
- #define PrintDlg PrintDlgA
- #endif // !UNICODE
- #if(WINVER >= 0x0500)
- #ifdef STDMETHOD
- //-------------------------------------------------------------------------
- //
- // IPrintDialogCallback Interface
- //
- // IPrintDialogCallback::InitDone()
- // This function is called by PrintDlgEx when the system has finished
- // initializing the main page of the print dialog. This function
- // should return S_OK if it has processed the action or S_FALSE to let
- // PrintDlgEx perform the default action.
- //
- // IPrintDialogCallback::SelectionChange()
- // This function is called by PrintDlgEx when a selection change occurs
- // in the list view that displays the currently installed printers.
- // This function should return S_OK if it has processed the action or
- // S_FALSE to let PrintDlgEx perform the default action.
- //
- // IPrintDialogCallback::HandleMessage(hDlg, uMsg, wParam, lParam, pResult)
- // This function is called by PrintDlgEx when a message is sent to the
- // child window of the main page of the print dialog. This function
- // should return S_OK if it has processed the action or S_FALSE to let
- // PrintDlgEx perform the default action.
- //
- // IObjectWithSite::SetSite(punkSite)
- // IPrintDialogCallback usually paired with IObjectWithSite.
- // Provides the IUnknown pointer of the site to QI for the
- // IPrintDialogServices interface.
- //
- //-------------------------------------------------------------------------
- #undef INTERFACE
- #define INTERFACE IPrintDialogCallback
- DECLARE_INTERFACE_(IPrintDialogCallback, IUnknown)
- {
- // *** IUnknown methods ***
- STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
- STDMETHOD_(ULONG, AddRef) (THIS) PURE;
- STDMETHOD_(ULONG, Release) (THIS) PURE;
- // *** IPrintDialogCallback methods ***
- STDMETHOD(InitDone) (THIS) PURE;
- STDMETHOD(SelectionChange) (THIS) PURE;
- STDMETHOD(HandleMessage) (THIS_ HWND hDlg, UINT uMsg, WPARAM wParam, LPARAM lParam, LRESULT *pResult) PURE;
- };
- //-------------------------------------------------------------------------
- //
- // IPrintDialogServices Interface
- //
- // IPrintDialogServices::GetCurrentDevMode(pDevMode, pcbSize)
- // Returns the DEVMODE structure for the currently selected printer.
- //
- // IPrintDialogServices::GetCurrentPrinterName(pPrinterName, pcchSize)
- // Returns the printer name for the currently selected printer.
- //
- // IPrintDialogServices::GetCurrentPortName(pPortName, pcchSize)
- // Returns the port name for the currently selected printer.
- //
- //-------------------------------------------------------------------------
- #undef INTERFACE
- #define INTERFACE IPrintDialogServices
- DECLARE_INTERFACE_(IPrintDialogServices, IUnknown)
- {
- // *** IUnknown methods ***
- STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
- STDMETHOD_(ULONG, AddRef) (THIS) PURE;
- STDMETHOD_(ULONG, Release) (THIS) PURE;
- // *** IPrintDialogServices methods ***
- STDMETHOD(GetCurrentDevMode) (THIS_ LPDEVMODE pDevMode, UINT *pcbSize) PURE;
- STDMETHOD(GetCurrentPrinterName) (THIS_ LPTSTR pPrinterName, UINT *pcchSize) PURE;
- STDMETHOD(GetCurrentPortName) (THIS_ LPTSTR pPortName, UINT *pcchSize) PURE;
- };
- //
- // Page Range structure for PrintDlgEx.
- //
- typedef struct tagPRINTPAGERANGE {
- DWORD nFromPage;
- DWORD nToPage;
- } PRINTPAGERANGE, *LPPRINTPAGERANGE;
- //
- // PrintDlgEx structure.
- //
- typedef struct tagPDEXA {
- DWORD lStructSize; // size of structure in bytes
- HWND hwndOwner; // caller's window handle
- HGLOBAL hDevMode; // handle to DevMode
- HGLOBAL hDevNames; // handle to DevNames
- HDC hDC; // printer DC/IC or NULL
- DWORD Flags; // PD_ flags
- DWORD Flags2; // reserved
- DWORD ExclusionFlags; // items to exclude from driver pages
- DWORD nPageRanges; // number of page ranges
- DWORD nMaxPageRanges; // max number of page ranges
- LPPRINTPAGERANGE lpPageRanges; // array of page ranges
- DWORD nMinPage; // min page number
- DWORD nMaxPage; // max page number
- DWORD nCopies; // number of copies
- HINSTANCE hInstance; // instance handle
- LPCSTR lpPrintTemplateName; // template name for app specific area
- LPUNKNOWN lpCallback; // app callback interface
- DWORD nPropertyPages; // number of app property pages in lphPropertyPages
- HPROPSHEETPAGE *lphPropertyPages; // array of app property page handles
- DWORD nStartPage; // start page id
- DWORD dwResultAction; // result action if S_OK is returned
- } PRINTDLGEXA, *LPPRINTDLGEXA;
- //
- // PrintDlgEx structure.
- //
- typedef struct tagPDEXW {
- DWORD lStructSize; // size of structure in bytes
- HWND hwndOwner; // caller's window handle
- HGLOBAL hDevMode; // handle to DevMode
- HGLOBAL hDevNames; // handle to DevNames
- HDC hDC; // printer DC/IC or NULL
- DWORD Flags; // PD_ flags
- DWORD Flags2; // reserved
- DWORD ExclusionFlags; // items to exclude from driver pages
- DWORD nPageRanges; // number of page ranges
- DWORD nMaxPageRanges; // max number of page ranges
- LPPRINTPAGERANGE lpPageRanges; // array of page ranges
- DWORD nMinPage; // min page number
- DWORD nMaxPage; // max page number
- DWORD nCopies; // number of copies
- HINSTANCE hInstance; // instance handle
- LPCWSTR lpPrintTemplateName; // template name for app specific area
- LPUNKNOWN lpCallback; // app callback interface
- DWORD nPropertyPages; // number of app property pages in lphPropertyPages
- HPROPSHEETPAGE *lphPropertyPages; // array of app property page handles
- DWORD nStartPage; // start page id
- DWORD dwResultAction; // result action if S_OK is returned
- } PRINTDLGEXW, *LPPRINTDLGEXW;
- #ifdef UNICODE
- typedef PRINTDLGEXW PRINTDLGEX;
- typedef LPPRINTDLGEXW LPPRINTDLGEX;
- #else
- typedef PRINTDLGEXA PRINTDLGEX;
- typedef LPPRINTDLGEXA LPPRINTDLGEX;
- #endif // UNICODE
- WINCOMMDLGAPI HRESULT APIENTRY PrintDlgExA(LPPRINTDLGEXA);
- WINCOMMDLGAPI HRESULT APIENTRY PrintDlgExW(LPPRINTDLGEXW);
- #ifdef UNICODE
- #define PrintDlgEx PrintDlgExW
- #else
- #define PrintDlgEx PrintDlgExA
- #endif // !UNICODE
- #endif
- #endif /* WINVER >= 0x0500 */
- //
- // Flags for PrintDlg and PrintDlgEx.
- //
- #define PD_ALLPAGES 0x00000000
- #define PD_SELECTION 0x00000001
- #define PD_PAGENUMS 0x00000002
- #define PD_NOSELECTION 0x00000004
- #define PD_NOPAGENUMS 0x00000008
- #define PD_COLLATE 0x00000010
- #define PD_PRINTTOFILE 0x00000020
- #define PD_PRINTSETUP 0x00000040
- #define PD_NOWARNING 0x00000080
- #define PD_RETURNDC 0x00000100
- #define PD_RETURNIC 0x00000200
- #define PD_RETURNDEFAULT 0x00000400
- #define PD_SHOWHELP 0x00000800
- #define PD_ENABLEPRINTHOOK 0x00001000
- #define PD_ENABLESETUPHOOK 0x00002000
- #define PD_ENABLEPRINTTEMPLATE 0x00004000
- #define PD_ENABLESETUPTEMPLATE 0x00008000
- #define PD_ENABLEPRINTTEMPLATEHANDLE 0x00010000
- #define PD_ENABLESETUPTEMPLATEHANDLE 0x00020000
- #define PD_USEDEVMODECOPIES 0x00040000
- #define PD_USEDEVMODECOPIESANDCOLLATE 0x00040000
- #define PD_DISABLEPRINTTOFILE 0x00080000
- #define PD_HIDEPRINTTOFILE 0x00100000
- #define PD_NONETWORKBUTTON 0x00200000
- #if(WINVER >= 0x0500)
- #define PD_CURRENTPAGE 0x00400000
- #define PD_NOCURRENTPAGE 0x00800000
- #define PD_EXCLUSIONFLAGS 0x01000000
- #define PD_USELARGETEMPLATE 0x10000000
- #endif /* WINVER >= 0x0500 */
- #if(WINVER >= 0x0500)
- //
- // Exclusion flags for PrintDlgEx.
- //
- #define PD_EXCL_COPIESANDCOLLATE (DM_COPIES | DM_COLLATE)
- //
- // Define the start page for the print dialog when using PrintDlgEx.
- //
- #define START_PAGE_GENERAL 0xffffffff
- //
- // Result action ids for PrintDlgEx.
- //
- #define PD_RESULT_CANCEL 0
- #define PD_RESULT_PRINT 1
- #define PD_RESULT_APPLY 2
- #endif /* WINVER >= 0x0500 */
- //
- // Device Names structure for PrintDlg and PrintDlgEx.
- //
- typedef struct tagDEVNAMES {
- WORD wDriverOffset;
- WORD wDeviceOffset;
- WORD wOutputOffset;
- WORD wDefault;
- } DEVNAMES, *LPDEVNAMES;
- #define DN_DEFAULTPRN 0x0001
- WINCOMMDLGAPI DWORD APIENTRY CommDlgExtendedError(VOID);
- #if(WINVER >= 0x0400)
- #define WM_PSD_PAGESETUPDLG (WM_USER )
- #define WM_PSD_FULLPAGERECT (WM_USER+1)
- #define WM_PSD_MINMARGINRECT (WM_USER+2)
- #define WM_PSD_MARGINRECT (WM_USER+3)
- #define WM_PSD_GREEKTEXTRECT (WM_USER+4)
- #define WM_PSD_ENVSTAMPRECT (WM_USER+5)
- #define WM_PSD_YAFULLPAGERECT (WM_USER+6)
- typedef UINT_PTR (CALLBACK* LPPAGEPAINTHOOK)( HWND, UINT, WPARAM, LPARAM );
- typedef UINT_PTR (CALLBACK* LPPAGESETUPHOOK)( HWND, UINT, WPARAM, LPARAM );
- typedef struct tagPSDA
- {
- DWORD lStructSize;
- HWND hwndOwner;
- HGLOBAL hDevMode;
- HGLOBAL hDevNames;
- DWORD Flags;
- POINT ptPaperSize;
- RECT rtMinMargin;
- RECT rtMargin;
- HINSTANCE hInstance;
- LPARAM lCustData;
- LPPAGESETUPHOOK lpfnPageSetupHook;
- LPPAGEPAINTHOOK lpfnPagePaintHook;
- LPCSTR lpPageSetupTemplateName;
- HGLOBAL hPageSetupTemplate;
- } PAGESETUPDLGA, * LPPAGESETUPDLGA;
- typedef struct tagPSDW
- {
- DWORD lStructSize;
- HWND hwndOwner;
- HGLOBAL hDevMode;
- HGLOBAL hDevNames;
- DWORD Flags;
- POINT ptPaperSize;
- RECT rtMinMargin;
- RECT rtMargin;
- HINSTANCE hInstance;
- LPARAM lCustData;
- LPPAGESETUPHOOK lpfnPageSetupHook;
- LPPAGEPAINTHOOK lpfnPagePaintHook;
- LPCWSTR lpPageSetupTemplateName;
- HGLOBAL hPageSetupTemplate;
- } PAGESETUPDLGW, * LPPAGESETUPDLGW;
- #ifdef UNICODE
- typedef PAGESETUPDLGW PAGESETUPDLG;
- typedef LPPAGESETUPDLGW LPPAGESETUPDLG;
- #else
- typedef PAGESETUPDLGA PAGESETUPDLG;
- typedef LPPAGESETUPDLGA LPPAGESETUPDLG;
- #endif // UNICODE
- WINCOMMDLGAPI BOOL APIENTRY PageSetupDlgA( LPPAGESETUPDLGA );
- WINCOMMDLGAPI BOOL APIENTRY PageSetupDlgW( LPPAGESETUPDLGW );
- #ifdef UNICODE
- #define PageSetupDlg PageSetupDlgW
- #else
- #define PageSetupDlg PageSetupDlgA
- #endif // !UNICODE
- #define PSD_DEFAULTMINMARGINS 0x00000000 // default (printer's)
- #define PSD_INWININIINTLMEASURE 0x00000000 // 1st of 4 possible
- #define PSD_MINMARGINS 0x00000001 // use caller's
- #define PSD_MARGINS 0x00000002 // use caller's
- #define PSD_INTHOUSANDTHSOFINCHES 0x00000004 // 2nd of 4 possible
- #define PSD_INHUNDREDTHSOFMILLIMETERS 0x00000008 // 3rd of 4 possible
- #define PSD_DISABLEMARGINS 0x00000010
- #define PSD_DISABLEPRINTER 0x00000020
- #define PSD_NOWARNING 0x00000080 // must be same as PD_*
- #define PSD_DISABLEORIENTATION 0x00000100
- #define PSD_RETURNDEFAULT 0x00000400 // must be same as PD_*
- #define PSD_DISABLEPAPER 0x00000200
- #define PSD_SHOWHELP 0x00000800 // must be same as PD_*
- #define PSD_ENABLEPAGESETUPHOOK 0x00002000 // must be same as PD_*
- #define PSD_ENABLEPAGESETUPTEMPLATE 0x00008000 // must be same as PD_*
- #define PSD_ENABLEPAGESETUPTEMPLATEHANDLE 0x00020000 // must be same as PD_*
- #define PSD_ENABLEPAGEPAINTHOOK 0x00040000
- #define PSD_DISABLEPAGEPAINTING 0x00080000
- #define PSD_NONETWORKBUTTON 0x00200000 // must be same as PD_*
- #endif /* WINVER >= 0x0400 */
- #if !defined(RC_INVOKED) /* RC complains about long symbols in #ifs */
- #if ISOLATION_AWARE_ENABLED
- #if !defined(ISOLATION_AWARE_INLINE)
- #if defined(__cplusplus)
- #define ISOLATION_AWARE_INLINE inline
- #else
- #define ISOLATION_AWARE_INLINE __inline
- #endif
- #endif
- FARPROC WINAPI CommdlgIsolationAwarePrivatetEgCebCnDDeEff_pbMDLGDC_DLL(LPCSTR pszProcName);
- BOOL WINAPI IsolationAwareGetOpenFileNameA(LPOPENFILENAMEA unnamed1);
- BOOL WINAPI IsolationAwareGetOpenFileNameW(LPOPENFILENAMEW unnamed1);
- BOOL WINAPI IsolationAwareGetSaveFileNameA(LPOPENFILENAMEA unnamed1);
- BOOL WINAPI IsolationAwareGetSaveFileNameW(LPOPENFILENAMEW unnamed1);
- short WINAPI IsolationAwareGetFileTitleA(LPCSTR unnamed1,LPSTR unnamed2,WORD unnamed3);
- short WINAPI IsolationAwareGetFileTitleW(LPCWSTR unnamed1,LPWSTR unnamed2,WORD unnamed3);
- BOOL WINAPI IsolationAwareChooseColorA(LPCHOOSECOLORA unnamed1);
- BOOL WINAPI IsolationAwareChooseColorW(LPCHOOSECOLORW unnamed1);
- HWND WINAPI IsolationAwareFindTextA(LPFINDREPLACEA unnamed1);
- HWND WINAPI IsolationAwareFindTextW(LPFINDREPLACEW unnamed1);
- HWND WINAPI IsolationAwareReplaceTextA(LPFINDREPLACEA unnamed1);
- HWND WINAPI IsolationAwareReplaceTextW(LPFINDREPLACEW unnamed1);
- BOOL WINAPI IsolationAwareChooseFontA(LPCHOOSEFONTA unnamed1);
- BOOL WINAPI IsolationAwareChooseFontW(LPCHOOSEFONTW unnamed1);
- BOOL WINAPI IsolationAwarePrintDlgA(LPPRINTDLGA unnamed1);
- BOOL WINAPI IsolationAwarePrintDlgW(LPPRINTDLGW unnamed1);
- #if defined(STDMETHOD) && (WINVER >= 0x0500)
- HRESULT WINAPI IsolationAwarePrintDlgExA(LPPRINTDLGEXA unnamed1);
- HRESULT WINAPI IsolationAwarePrintDlgExW(LPPRINTDLGEXW unnamed1);
- #endif /* defined(STDMETHOD) && (WINVER >= 0x0500) */
- DWORD WINAPI IsolationAwareCommDlgExtendedError(void);
- BOOL WINAPI IsolationAwarePageSetupDlgA(LPPAGESETUPDLGA unnamed1);
- BOOL WINAPI IsolationAwarePageSetupDlgW(LPPAGESETUPDLGW unnamed1);
- #if defined(UNICODE)
- #define IsolationAwareChooseColor IsolationAwareChooseColorW
- #define IsolationAwareChooseFont IsolationAwareChooseFontW
- #define IsolationAwareFindText IsolationAwareFindTextW
- #define IsolationAwareGetFileTitle IsolationAwareGetFileTitleW
- #define IsolationAwareGetOpenFileName IsolationAwareGetOpenFileNameW
- #define IsolationAwareGetSaveFileName IsolationAwareGetSaveFileNameW
- #define IsolationAwarePageSetupDlg IsolationAwarePageSetupDlgW
- #define IsolationAwarePrintDlg IsolationAwarePrintDlgW
- #define IsolationAwarePrintDlgEx IsolationAwarePrintDlgExW
- #define IsolationAwareReplaceText IsolationAwareReplaceTextW
- #else /* UNICODE */
- #define IsolationAwareChooseColor IsolationAwareChooseColorA
- #define IsolationAwareChooseFont IsolationAwareChooseFontA
- #define IsolationAwareFindText IsolationAwareFindTextA
- #define IsolationAwareGetFileTitle IsolationAwareGetFileTitleA
- #define IsolationAwareGetOpenFileName IsolationAwareGetOpenFileNameA
- #define IsolationAwareGetSaveFileName IsolationAwareGetSaveFileNameA
- #define IsolationAwarePageSetupDlg IsolationAwarePageSetupDlgA
- #define IsolationAwarePrintDlg IsolationAwarePrintDlgA
- #define IsolationAwarePrintDlgEx IsolationAwarePrintDlgExA
- #define IsolationAwareReplaceText IsolationAwareReplaceTextA
- #endif /* UNICODE */
- ISOLATION_AWARE_INLINE BOOL WINAPI IsolationAwareGetOpenFileNameA(LPOPENFILENAMEA unnamed1)
- {
- BOOL fResult = FALSE;
- typedef BOOL (WINAPI* PFN)(LPOPENFILENAMEA unnamed1);
- static PFN s_pfn;
- ULONG_PTR ulpCookie = 0;
- const BOOL fActivateActCtxSuccess = IsolationAwarePrivateG_FqbjaLEiEL || IsolationAwarePrivatenCgIiAgEzlnCgpgk(&ulpCookie);
- if (!fActivateActCtxSuccess)
- return fResult;
- __try
- {
- if (s_pfn == NULL)
- {
- s_pfn = (PFN)CommdlgIsolationAwarePrivatetEgCebCnDDeEff_pbMDLGDC_DLL("GetOpenFileNameA");
- if (s_pfn == NULL)
- __leave;
- }
- fResult = s_pfn(unnamed1);
- }
- __finally
- {
- if (!IsolationAwarePrivateG_FqbjaLEiEL)
- {
- const BOOL fPreserveLastError = (fResult == FALSE);
- const DWORD dwLastError = fPreserveLastError ? GetLastError() : NO_ERROR;
- (void)IsolationAwareDeactivateActCtx(0, ulpCookie);
- if (fPreserveLastError)
- SetLastError(dwLastError);
- }
- }
- return fResult;
- }
- ISOLATION_AWARE_INLINE BOOL WINAPI IsolationAwareGetOpenFileNameW(LPOPENFILENAMEW unnamed1)
- {
- BOOL fResult = FALSE;
- typedef BOOL (WINAPI* PFN)(LPOPENFILENAMEW unnamed1);
- static PFN s_pfn;
- ULONG_PTR ulpCookie = 0;
- const BOOL fActivateActCtxSuccess = IsolationAwarePrivateG_FqbjaLEiEL || IsolationAwarePrivatenCgIiAgEzlnCgpgk(&ulpCookie);
- if (!fActivateActCtxSuccess)
- return fResult;
- __try
- {
- if (s_pfn == NULL)
- {
- s_pfn = (PFN)CommdlgIsolationAwarePrivatetEgCebCnDDeEff_pbMDLGDC_DLL("GetOpenFileNameW");
- if (s_pfn == NULL)
- __leave;
- }
- fResult = s_pfn(unnamed1);
- }
- __finally
- {
- if (!IsolationAwarePrivateG_FqbjaLEiEL)
- {
- const BOOL fPreserveLastError = (fResult == FALSE);
- const DWORD dwLastError = fPreserveLastError ? GetLastError() : NO_ERROR;
- (void)IsolationAwareDeactivateActCtx(0, ulpCookie);
- if (fPreserveLastError)
- SetLastError(dwLastError);
- }
- }
- return fResult;
- }
- ISOLATION_AWARE_INLINE BOOL WINAPI IsolationAwareGetSaveFileNameA(LPOPENFILENAMEA unnamed1)
- {
- BOOL fResult = FALSE;
- typedef BOOL (WINAPI* PFN)(LPOPENFILENAMEA unnamed1);
- static PFN s_pfn;
- ULONG_PTR ulpCookie = 0;
- const BOOL fActivateActCtxSuccess = IsolationAwarePrivateG_FqbjaLEiEL || IsolationAwarePrivatenCgIiAgEzlnCgpgk(&ulpCookie);
- if (!fActivateActCtxSuccess)
- return fResult;
- __try
- {
- if (s_pfn == NULL)
- {
- s_pfn = (PFN)CommdlgIsolationAwarePrivatetEgCebCnDDeEff_pbMDLGDC_DLL("GetSaveFileNameA");
- if (s_pfn == NULL)
- __leave;
- }
- fResult = s_pfn(unnamed1);
- }
- __finally
- {
- if (!IsolationAwarePrivateG_FqbjaLEiEL)
- {
- const BOOL fPreserveLastError = (fResult == FALSE);
- const DWORD dwLastError = fPreserveLastError ? GetLastError() : NO_ERROR;
- (void)IsolationAwareDeactivateActCtx(0, ulpCookie);
- if (fPreserveLastError)
- SetLastError(dwLastError);
- }
- }
- return fResult;
- }
- ISOLATION_AWARE_INLINE BOOL WINAPI IsolationAwareGetSaveFileNameW(LPOPENFILENAMEW unnamed1)
- {
- BOOL fResult = FALSE;
- typedef BOOL (WINAPI* PFN)(LPOPENFILENAMEW unnamed1);
- static PFN s_pfn;
- ULONG_PTR ulpCookie = 0;
- const BOOL fActivateActCtxSuccess = IsolationAwarePrivateG_FqbjaLEiEL || IsolationAwarePrivatenCgIiAgEzlnCgpgk(&ulpCookie);
- if (!fActivateActCtxSuccess)
- return fResult;
- __try
- {
- if (s_pfn == NULL)
- {
- s_pfn = (PFN)CommdlgIsolationAwarePrivatetEgCebCnDDeEff_pbMDLGDC_DLL("GetSaveFileNameW");
- if (s_pfn == NULL)
- __leave;
- }
- fResult = s_pfn(unnamed1);
- }
- __finally
- {
- if (!IsolationAwarePrivateG_FqbjaLEiEL)
- {
- const BOOL fPreserveLastError = (fResult == FALSE);
- const DWORD dwLastError = fPreserveLastError ? GetLastError() : NO_ERROR;
- (void)IsolationAwareDeactivateActCtx(0, ulpCookie);
- if (fPreserveLastError)
- SetLastError(dwLastError);
- }
- }
- return fResult;
- }
- ISOLATION_AWARE_INLINE short WINAPI IsolationAwareGetFileTitleA(LPCSTR unnamed1,LPSTR unnamed2,WORD unnamed3)
- {
- short nResult = -1;
- typedef short (WINAPI* PFN)(LPCSTR unnamed1,LPSTR unnamed2,WORD unnamed3);
- static PFN s_pfn;
- ULONG_PTR ulpCookie = 0;
- const BOOL fActivateActCtxSuccess = IsolationAwarePrivateG_FqbjaLEiEL || IsolationAwarePrivatenCgIiAgEzlnCgpgk(&ulpCookie);
- if (!fActivateActCtxSuccess)
- return nResult;
- __try
- {
- if (s_pfn == NULL)
- {
- s_pfn = (PFN)CommdlgIsolationAwarePrivatetEgCebCnDDeEff_pbMDLGDC_DLL("GetFileTitleA");
- if (s_pfn == NULL)
- __leave;
- }
- nResult = s_pfn(unnamed1,unnamed2,unnamed3);
- }
- __finally
- {
- if (!IsolationAwarePrivateG_FqbjaLEiEL)
- {
- const BOOL fPreserveLastError = (nResult == -1);
- const DWORD dwLastError = fPreserveLastError ? GetLastError() : NO_ERROR;
- (void)IsolationAwareDeactivateActCtx(0, ulpCookie);
- if (fPreserveLastError)
- SetLastError(dwLastError);
- }
- }
- return nResult;
- }
- ISOLATION_AWARE_INLINE short WINAPI IsolationAwareGetFileTitleW(LPCWSTR unnamed1,LPWSTR unnamed2,WORD unnamed3)
- {
- short nResult = -1;
- typedef short (WINAPI* PFN)(LPCWSTR unnamed1,LPWSTR unnamed2,WORD unnamed3);
- static PFN s_pfn;
- ULONG_PTR ulpCookie = 0;
- const BOOL fActivateActCtxSuccess = IsolationAwarePrivateG_FqbjaLEiEL || IsolationAwarePrivatenCgIiAgEzlnCgpgk(&ulpCookie);
- if (!fActivateActCtxSuccess)
- return nResult;
- __try
- {
- if (s_pfn == NULL)
- {
- s_pfn = (PFN)CommdlgIsolationAwarePrivatetEgCebCnDDeEff_pbMDLGDC_DLL("GetFileTitleW");
- if (s_pfn == NULL)
- __leave;
- }
- nResult = s_pfn(unnamed1,unnamed2,unnamed3);
- }
- __finally
- {
- if (!IsolationAwarePrivateG_FqbjaLEiEL)
- {
- const BOOL fPreserveLastError = (nResult == -1);
- const DWORD dwLastError = fPreserveLastError ? GetLastError() : NO_ERROR;
- (void)IsolationAwareDeactivateActCtx(0, ulpCookie);
- if (fPreserveLastError)
- SetLastError(dwLastError);
- }
- }
- return nResult;
- }
- ISOLATION_AWARE_INLINE BOOL WINAPI IsolationAwareChooseColorA(LPCHOOSECOLORA unnamed1)
- {
- BOOL fResult = FALSE;
- typedef BOOL (WINAPI* PFN)(LPCHOOSECOLORA unnamed1);
- static PFN s_pfn;
- ULONG_PTR ulpCookie = 0;
- const BOOL fActivateActCtxSuccess = IsolationAwarePrivateG_FqbjaLEiEL || IsolationAwarePrivatenCgIiAgEzlnCgpgk(&ulpCookie);
- if (!fActivateActCtxSuccess)
- return fResult;
- __try
- {
- if (s_pfn == NULL)
- {
- s_pfn = (PFN)CommdlgIsolationAwarePrivatetEgCebCnDDeEff_pbMDLGDC_DLL("ChooseColorA");
- if (s_pfn == NULL)
- __leave;
- }
- fResult = s_pfn(unnamed1);
- }
- __finally
- {
- if (!IsolationAwarePrivateG_FqbjaLEiEL)
- {
- const BOOL fPreserveLastError = (fResult == FALSE);
- const DWORD dwLastError = fPreserveLastError ? GetLastError() : NO_ERROR;
- (void)IsolationAwareDeactivateActCtx(0, ulpCookie);
- if (fPreserveLastError)
- SetLastError(dwLastError);
- }
- }
- return fResult;
- }
- ISOLATION_AWARE_INLINE BOOL WINAPI IsolationAwareChooseColorW(LPCHOOSECOLORW unnamed1)
- {
- BOOL fResult = FALSE;
- typedef BOOL (WINAPI* PFN)(LPCHOOSECOLORW unnamed1);
- static PFN s_pfn;
- ULONG_PTR ulpCookie = 0;
- const BOOL fActivateActCtxSuccess = IsolationAwarePrivateG_FqbjaLEiEL || IsolationAwarePrivatenCgIiAgEzlnCgpgk(&ulpCookie);
- if (!fActivateActCtxSuccess)
- return fResult;
- __try
- {
- if (s_pfn == NULL)
- {
- s_pfn = (PFN)CommdlgIsolationAwarePrivatetEgCebCnDDeEff_pbMDLGDC_DLL("ChooseColorW");
- if (s_pfn == NULL)
- __leave;
- }
- fResult = s_pfn(unnamed1);
- }
- __finally
- {
- if (!IsolationAwarePrivateG_FqbjaLEiEL)
- {
- const BOOL fPreserveLastError = (fResult == FALSE);
- const DWORD dwLastError = fPreserveLastError ? GetLastError() : NO_ERROR;
- (void)IsolationAwareDeactivateActCtx(0, ulpCookie);
- if (fPreserveLastError)
- SetLastError(dwLastError);
- }
- }
- return fResult;
- }
- ISOLATION_AWARE_INLINE HWND WINAPI IsolationAwareFindTextA(LPFINDREPLACEA unnamed1)
- {
- HWND windowResult = NULL;
- typedef HWND (WINAPI* PFN)(LPFINDREPLACEA unnamed1);
- static PFN s_pfn;
- ULONG_PTR ulpCookie = 0;
- const BOOL fActivateActCtxSuccess = IsolationAwarePrivateG_FqbjaLEiEL || IsolationAwarePrivatenCgIiAgEzlnCgpgk(&ulpCookie);
- if (!fActivateActCtxSuccess)
- return windowResult;
- __try
- {
- if (s_pfn == NULL)
- {
- s_pfn = (PFN)CommdlgIsolationAwarePrivatetEgCebCnDDeEff_pbMDLGDC_DLL("FindTextA");
- if (s_pfn == NULL)
- __leave;
- }
- windowResult = s_pfn(unnamed1);
- }
- __finally
- {
- if (!IsolationAwarePrivateG_FqbjaLEiEL)
- {
- const BOOL fPreserveLastError = (windowResult == NULL);
- const DWORD dwLastError = fPreserveLastError ? GetLastError() : NO_ERROR;
- (void)IsolationAwareDeactivateActCtx(0, ulpCookie);
- if (fPreserveLastError)
- SetLastError(dwLastError);
- }
- }
- return windowResult;
- }
- ISOLATION_AWARE_INLINE HWND WINAPI IsolationAwareFindTextW(LPFINDREPLACEW unnamed1)
- {
- HWND windowResult = NULL;
- typedef HWND (WINAPI* PFN)(LPFINDREPLACEW unnamed1);
- static PFN s_pfn;
- ULONG_PTR ulpCookie = 0;
- const BOOL fActivateActCtxSuccess = IsolationAwarePrivateG_FqbjaLEiEL || IsolationAwarePrivatenCgIiAgEzlnCgpgk(&ulpCookie);
- if (!fActivateActCtxSuccess)
- return windowResult;
- __try
- {
- if (s_pfn == NULL)
- {
- s_pfn = (PFN)CommdlgIsolationAwarePrivatetEgCebCnDDeEff_pbMDLGDC_DLL("FindTextW");
- if (s_pfn == NULL)
- __leave;
- }
- windowResult = s_pfn(unnamed1);
- }
- __finally
- {
- if (!IsolationAwarePrivateG_FqbjaLEiEL)
- {
- const BOOL fPreserveLastError = (windowResult == NULL);
- const DWORD dwLastError = fPreserveLastError ? GetLastError() : NO_ERROR;
- (void)IsolationAwareDeactivateActCtx(0, ulpCookie);
- if (fPreserveLastError)
- SetLastError(dwLastError);
- }
- }
- return windowResult;
- }
- ISOLATION_AWARE_INLINE HWND WINAPI IsolationAwareReplaceTextA(LPFINDREPLACEA unnamed1)
- {
- HWND windowResult = NULL;
- typedef HWND (WINAPI* PFN)(LPFINDREPLACEA unnamed1);
- static PFN s_pfn;
- ULONG_PTR ulpCookie = 0;
- const BOOL fActivateActCtxSuccess = IsolationAwarePrivateG_FqbjaLEiEL || IsolationAwarePrivatenCgIiAgEzlnCgpgk(&ulpCookie);
- if (!fActivateActCtxSuccess)
- return windowResult;
- __try
- {
- if (s_pfn == NULL)
- {
- s_pfn = (PFN)CommdlgIsolationAwarePrivatetEgCebCnDDeEff_pbMDLGDC_DLL("ReplaceTextA");
- if (s_pfn == NULL)
- __leave;
- }
- windowResult = s_pfn(unnamed1);
- }
- __finally
- {
- if (!IsolationAwarePrivateG_FqbjaLEiEL)
- {
- const BOOL fPreserveLastError = (windowResult == NULL);
- const DWORD dwLastError = fPreserveLastError ? GetLastError() : NO_ERROR;
- (void)IsolationAwareDeactivateActCtx(0, ulpCookie);
- if (fPreserveLastError)
- SetLastError(dwLastError);
- }
- }
- return windowResult;
- }
- ISOLATION_AWARE_INLINE HWND WINAPI IsolationAwareReplaceTextW(LPFINDREPLACEW unnamed1)
- {
- HWND windowResult = NULL;
- typedef HWND (WINAPI* PFN)(LPFINDREPLACEW unnamed1);
- static PFN s_pfn;
- ULONG_PTR ulpCookie = 0;
- const BOOL fActivateActCtxSuccess = IsolationAwarePrivateG_FqbjaLEiEL || IsolationAwarePrivatenCgIiAgEzlnCgpgk(&ulpCookie);
- if (!fActivateActCtxSuccess)
- return windowResult;
- __try
- {
- if (s_pfn == NULL)
- {
- s_pfn = (PFN)CommdlgIsolationAwarePrivatetEgCebCnDDeEff_pbMDLGDC_DLL("ReplaceTextW");
- if (s_pfn == NULL)
- __leave;
- }
- windowResult = s_pfn(unnamed1);
- }
- __finally
- {
- if (!IsolationAwarePrivateG_FqbjaLEiEL)
- {
- const BOOL fPreserveLastError = (windowResult == NULL);
- const DWORD dwLastError = fPreserveLastError ? GetLastError() : NO_ERROR;
- (void)IsolationAwareDeactivateActCtx(0, ulpCookie);
- if (fPreserveLastError)
- SetLastError(dwLastError);
- }
- }
- return windowResult;
- }
- ISOLATION_AWARE_INLINE BOOL WINAPI IsolationAwareChooseFontA(LPCHOOSEFONTA unnamed1)
- {
- BOOL fResult = FALSE;
- typedef BOOL (WINAPI* PFN)(LPCHOOSEFONTA unnamed1);
- static PFN s_pfn;
- ULONG_PTR ulpCookie = 0;
- const BOOL fActivateActCtxSuccess = IsolationAwarePrivateG_FqbjaLEiEL || IsolationAwarePrivatenCgIiAgEzlnCgpgk(&ulpCookie);
- if (!fActivateActCtxSuccess)
- return fResult;
- __try
- {
- if (s_pfn == NULL)
- {
- s_pfn = (PFN)CommdlgIsolationAwarePrivatetEgCebCnDDeEff_pbMDLGDC_DLL("ChooseFontA");
- if (s_pfn == NULL)
- __leave;
- }
- fResult = s_pfn(unnamed1);
- }
- __finally
- {
- if (!IsolationAwarePrivateG_FqbjaLEiEL)
- {
- const BOOL fPreserveLastError = (fResult == FALSE);
- const DWORD dwLastError = fPreserveLastError ? GetLastError() : NO_ERROR;
- (void)IsolationAwareDeactivateActCtx(0, ulpCookie);
- if (fPreserveLastError)
- SetLastError(dwLastError);
- }
- }
- return fResult;
- }
- ISOLATION_AWARE_INLINE BOOL WINAPI IsolationAwareChooseFontW(LPCHOOSEFONTW unnamed1)
- {
- BOOL fResult = FALSE;
- typedef BOOL (WINAPI* PFN)(LPCHOOSEFONTW unnamed1);
- static PFN s_pfn;
- ULONG_PTR ulpCookie = 0;
- const BOOL fActivateActCtxSuccess = IsolationAwarePrivateG_FqbjaLEiEL || IsolationAwarePrivatenCgIiAgEzlnCgpgk(&ulpCookie);
- if (!fActivateActCtxSuccess)
- return fResult;
- __try
- {
- if (s_pfn == NULL)
- {
- s_pfn = (PFN)CommdlgIsolationAwarePrivatetEgCebCnDDeEff_pbMDLGDC_DLL("ChooseFontW");
- if (s_pfn == NULL)
- __leave;
- }
- fResult = s_pfn(unnamed1);
- }
- __finally
- {
- if (!IsolationAwarePrivateG_FqbjaLEiEL)
- {
- const BOOL fPreserveLastError = (fResult == FALSE);
- const DWORD dwLastError = fPreserveLastError ? GetLastError() : NO_ERROR;
- (void)IsolationAwareDeactivateActCtx(0, ulpCookie);
- if (fPreserveLastError)
- SetLastError(dwLastError);
- }
- }
- return fResult;
- }
- ISOLATION_AWARE_INLINE BOOL WINAPI IsolationAwarePrintDlgA(LPPRINTDLGA unnamed1)
- {
- BOOL fResult = FALSE;
- typedef BOOL (WINAPI* PFN)(LPPRINTDLGA unnamed1);
- static PFN s_pfn;
- ULONG_PTR ulpCookie = 0;
- const BOOL fActivateActCtxSuccess = IsolationAwarePrivateG_FqbjaLEiEL || IsolationAwarePrivatenCgIiAgEzlnCgpgk(&ulpCookie);
- if (!fActivateActCtxSuccess)
- return fResult;
- __try
- {
- if (s_pfn == NULL)
- {
- s_pfn = (PFN)CommdlgIsolationAwarePrivatetEgCebCnDDeEff_pbMDLGDC_DLL("PrintDlgA");
- if (s_pfn == NULL)
- __leave;
- }
- fResult = s_pfn(unnamed1);
- }
- __finally
- {
- if (!IsolationAwarePrivateG_FqbjaLEiEL)
- {
- const BOOL fPreserveLastError = (fResult == FALSE);
- const DWORD dwLastError = fPreserveLastError ? GetLastError() : NO_ERROR;
- (void)IsolationAwareDeactivateActCtx(0, ulpCookie);
- if (fPreserveLastError)
- SetLastError(dwLastError);
- }
- }
- return fResult;
- }
- ISOLATION_AWARE_INLINE BOOL WINAPI IsolationAwarePrintDlgW(LPPRINTDLGW unnamed1)
- {
- BOOL fResult = FALSE;
- typedef BOOL (WINAPI* PFN)(LPPRINTDLGW unnamed1);
- static PFN s_pfn;
- ULONG_PTR ulpCookie = 0;
- const BOOL fActivateActCtxSuccess = IsolationAwarePrivateG_FqbjaLEiEL || IsolationAwarePrivatenCgIiAgEzlnCgpgk(&ulpCookie);
- if (!fActivateActCtxSuccess)
- return fResult;
- __try
- {
- if (s_pfn == NULL)
- {
- s_pfn = (PFN)CommdlgIsolationAwarePrivatetEgCebCnDDeEff_pbMDLGDC_DLL("PrintDlgW");
- if (s_pfn == NULL)
- __leave;
- }
- fResult = s_pfn(unnamed1);
- }
- __finally
- {
- if (!IsolationAwarePrivateG_FqbjaLEiEL)
- {
- const BOOL fPreserveLastError = (fResult == FALSE);
- const DWORD dwLastError = fPreserveLastError ? GetLastError() : NO_ERROR;
- (void)IsolationAwareDeactivateActCtx(0, ulpCookie);
- if (fPreserveLastError)
- SetLastError(dwLastError);
- }
- }
- return fResult;
- }
- #if defined(STDMETHOD) && (WINVER >= 0x0500)
- ISOLATION_AWARE_INLINE HRESULT WINAPI IsolationAwarePrintDlgExA(LPPRINTDLGEXA unnamed1)
- {
- HRESULT result = S_OK;
- typedef HRESULT (WINAPI* PFN)(LPPRINTDLGEXA unnamed1);
- static PFN s_pfn;
- ULONG_PTR ulpCookie = 0;
- const BOOL fActivateActCtxSuccess = IsolationAwarePrivateG_FqbjaLEiEL || IsolationAwarePrivatenCgIiAgEzlnCgpgk(&ulpCookie);
- if (!fActivateActCtxSuccess)
- goto ExitWin32ToHresult;
- __try
- {
- if (s_pfn == NULL)
- {
- s_pfn = (PFN)CommdlgIsolationAwarePrivatetEgCebCnDDeEff_pbMDLGDC_DLL("PrintDlgExA");
- if (s_pfn == NULL)
- goto ExitWin32ToHresult;
- }
- result = s_pfn(unnamed1);
- }
- __finally
- {
- if (!IsolationAwarePrivateG_FqbjaLEiEL)
- {
- (void)IsolationAwareDeactivateActCtx(0, ulpCookie);
- }
- }
- return result;
- ExitWin32ToHresult:
- {
- DWORD dwLastError = GetLastError();
- if (dwLastError == NO_ERROR)
- dwLastError = ERROR_INTERNAL_ERROR;
- result = HRESULT_FROM_WIN32(dwLastError);
- return result;
- }
- }
- ISOLATION_AWARE_INLINE HRESULT WINAPI IsolationAwarePrintDlgExW(LPPRINTDLGEXW unnamed1)
- {
- HRESULT result = S_OK;
- typedef HRESULT (WINAPI* PFN)(LPPRINTDLGEXW unnamed1);
- static PFN s_pfn;
- ULONG_PTR ulpCookie = 0;
- const BOOL fActivateActCtxSuccess = IsolationAwarePrivateG_FqbjaLEiEL || IsolationAwarePrivatenCgIiAgEzlnCgpgk(&ulpCookie);
- if (!fActivateActCtxSuccess)
- goto ExitWin32ToHresult;
- __try
- {
- if (s_pfn == NULL)
- {
- s_pfn = (PFN)CommdlgIsolationAwarePrivatetEgCebCnDDeEff_pbMDLGDC_DLL("PrintDlgExW");
- if (s_pfn == NULL)
- goto ExitWin32ToHresult;
- }
- result = s_pfn(unnamed1);
- }
- __finally
- {
- if (!IsolationAwarePrivateG_FqbjaLEiEL)
- {
- (void)IsolationAwareDeactivateActCtx(0, ulpCookie);
- }
- }
- return result;
- ExitWin32ToHresult:
- {
- DWORD dwLastError = GetLastError();
- if (dwLastError == NO_ERROR)
- dwLastError = ERROR_INTERNAL_ERROR;
- result = HRESULT_FROM_WIN32(dwLastError);
- return result;
- }
- }
- #endif /* defined(STDMETHOD) && (WINVER >= 0x0500) */
- ISOLATION_AWARE_INLINE DWORD WINAPI IsolationAwareCommDlgExtendedError(void)
- {
- DWORD nResult = 0 ;
- typedef DWORD (WINAPI* PFN)(void);
- static PFN s_pfn;
- ULONG_PTR ulpCookie = 0;
- const BOOL fActivateActCtxSuccess = IsolationAwarePrivateG_FqbjaLEiEL || IsolationAwarePrivatenCgIiAgEzlnCgpgk(&ulpCookie);
- if (!fActivateActCtxSuccess)
- return nResult;
- __try
- {
- if (s_pfn == NULL)
- {
- s_pfn = (PFN)CommdlgIsolationAwarePrivatetEgCebCnDDeEff_pbMDLGDC_DLL("CommDlgExtendedError");
- if (s_pfn == NULL)
- __leave;
- }
- nResult = s_pfn();
- }
- __finally
- {
- if (!IsolationAwarePrivateG_FqbjaLEiEL)
- {
- const BOOL fPreserveLastError = (nResult == 0 );
- const DWORD dwLastError = fPreserveLastError ? GetLastError() : NO_ERROR;
- (void)IsolationAwareDeactivateActCtx(0, ulpCookie);
- if (fPreserveLastError)
- SetLastError(dwLastError);
- }
- }
- return nResult;
- }
- ISOLATION_AWARE_INLINE BOOL WINAPI IsolationAwarePageSetupDlgA(LPPAGESETUPDLGA unnamed1)
- {
- BOOL fResult = FALSE;
- typedef BOOL (WINAPI* PFN)(LPPAGESETUPDLGA unnamed1);
- static PFN s_pfn;
- ULONG_PTR ulpCookie = 0;
- const BOOL fActivateActCtxSuccess = IsolationAwarePrivateG_FqbjaLEiEL || IsolationAwarePrivatenCgIiAgEzlnCgpgk(&ulpCookie);
- if (!fActivateActCtxSuccess)
- return fResult;
- __try
- {
- if (s_pfn == NULL)
- {
- s_pfn = (PFN)CommdlgIsolationAwarePrivatetEgCebCnDDeEff_pbMDLGDC_DLL("PageSetupDlgA");
- if (s_pfn == NULL)
- __leave;
- }
- fResult = s_pfn(unnamed1);
- }
- __finally
- {
- if (!IsolationAwarePrivateG_FqbjaLEiEL)
- {
- const BOOL fPreserveLastError = (fResult == FALSE);
- const DWORD dwLastError = fPreserveLastError ? GetLastError() : NO_ERROR;
- (void)IsolationAwareDeactivateActCtx(0, ulpCookie);
- if (fPreserveLastError)
- SetLastError(dwLastError);
- }
- }
- return fResult;
- }
- ISOLATION_AWARE_INLINE BOOL WINAPI IsolationAwarePageSetupDlgW(LPPAGESETUPDLGW unnamed1)
- {
- BOOL fResult = FALSE;
- typedef BOOL (WINAPI* PFN)(LPPAGESETUPDLGW unnamed1);
- static PFN s_pfn;
- ULONG_PTR ulpCookie = 0;
- const BOOL fActivateActCtxSuccess = IsolationAwarePrivateG_FqbjaLEiEL || IsolationAwarePrivatenCgIiAgEzlnCgpgk(&ulpCookie);
- if (!fActivateActCtxSuccess)
- return fResult;
- __try
- {
- if (s_pfn == NULL)
- {
- s_pfn = (PFN)CommdlgIsolationAwarePrivatetEgCebCnDDeEff_pbMDLGDC_DLL("PageSetupDlgW");
- if (s_pfn == NULL)
- __leave;
- }
- fResult = s_pfn(unnamed1);
- }
- __finally
- {
- if (!IsolationAwarePrivateG_FqbjaLEiEL)
- {
- const BOOL fPreserveLastError = (fResult == FALSE);
- const DWORD dwLastError = fPreserveLastError ? GetLastError() : NO_ERROR;
- (void)IsolationAwareDeactivateActCtx(0, ulpCookie);
- if (fPreserveLastError)
- SetLastError(dwLastError);
- }
- }
- return fResult;
- }
- ISOLATION_AWARE_INLINE FARPROC WINAPI CommdlgIsolationAwarePrivatetEgCebCnDDeEff_pbMDLGDC_DLL(LPCSTR pszProcName)
- /* This function is shared by the other stubs in this header. */
- {
- FARPROC proc = NULL;
- static HMODULE s_module;
- BOOL fActivateActCtxSuccess = FALSE;
- ULONG_PTR ulpCookie = 0;
- __try
- {
- if (s_module == NULL)
- {
- if (!IsolationAwarePrivateG_FqbjaLEiEL)
- {
- fActivateActCtxSuccess = IsolationAwarePrivatenCgIiAgEzlnCgpgk(&ulpCookie);
- if (!fActivateActCtxSuccess)
- __leave;
- }
- s_module = LoadLibraryW(L"Comdlg32.dll");
- if (s_module == NULL)
- {
- if (GetLastError() != ERROR_CALL_NOT_IMPLEMENTED)
- __leave;
- s_module = LoadLibraryA("Comdlg32.dll");
- if (s_module == NULL)
- __leave;
- }
- }
- proc = GetProcAddress(s_module, pszProcName);
- }
- __finally
- {
- if (!IsolationAwarePrivateG_FqbjaLEiEL && fActivateActCtxSuccess)
- {
- const DWORD dwLastError = (proc == NULL) ? GetLastError() : NO_ERROR;
- (void)IsolationAwareDeactivateActCtx(0, ulpCookie);
- if (proc == NULL)
- SetLastError(dwLastError);
- }
- }
- return proc;
- }
- #define ChooseColorA IsolationAwareChooseColorA
- #define ChooseColorW IsolationAwareChooseColorW
- #define ChooseFontA IsolationAwareChooseFontA
- #define ChooseFontW IsolationAwareChooseFontW
- #define CommDlgExtendedError IsolationAwareCommDlgExtendedError
- #define FindTextA IsolationAwareFindTextA
- #define FindTextW IsolationAwareFindTextW
- #define GetFileTitleA IsolationAwareGetFileTitleA
- #define GetFileTitleW IsolationAwareGetFileTitleW
- #define GetOpenFileNameA IsolationAwareGetOpenFileNameA
- #define GetOpenFileNameW IsolationAwareGetOpenFileNameW
- #define GetSaveFileNameA IsolationAwareGetSaveFileNameA
- #define GetSaveFileNameW IsolationAwareGetSaveFileNameW
- #define PageSetupDlgA IsolationAwarePageSetupDlgA
- #define PageSetupDlgW IsolationAwarePageSetupDlgW
- #define PrintDlgA IsolationAwarePrintDlgA
- #define PrintDlgExA IsolationAwarePrintDlgExA
- #define PrintDlgExW IsolationAwarePrintDlgExW
- #define PrintDlgW IsolationAwarePrintDlgW
- #define ReplaceTextA IsolationAwareReplaceTextA
- #define ReplaceTextW IsolationAwareReplaceTextW
- #endif /* ISOLATION_AWARE_ENABLED */
- #endif /* RC */
- #ifdef __cplusplus
- }
- #endif /* __cplusplus */
- #if !defined(_WIN64)
- #include <poppack.h>
- #endif
- #endif /* GUID_DEFS_ONLY */
- #endif /* !_INC_COMMDLG */
|