Home | Info | Community | Development | myReactOS | Contact Us
ReactOS Development > Doxygenshellapi.h
Go to the documentation of this file.
00001 #ifndef _SHELLAPI_H 00002 #define _SHELLAPI_H 00003 00004 #ifdef __cplusplus 00005 extern "C" { 00006 #endif 00007 #ifdef _MSC_VER 00008 #pragma warning(push) 00009 #pragma warning(disable:4201) 00010 #endif 00011 00012 #if !defined(_WIN64) 00013 #include <pshpack1.h> 00014 #endif 00015 00016 #define WINSHELLAPI DECLSPEC_IMPORT 00017 #define ABE_LEFT 0 00018 #define ABE_TOP 1 00019 #define ABE_RIGHT 2 00020 #define ABE_BOTTOM 3 00021 #define ABS_AUTOHIDE 1 00022 #define ABS_ALWAYSONTOP 2 00023 #define SEE_MASK_CLASSNAME 1 00024 #define SEE_MASK_CLASSKEY 3 00025 #define SEE_MASK_IDLIST 4 00026 #define SEE_MASK_INVOKEIDLIST 12 00027 #define SEE_MASK_ICON 0x10 00028 #define SEE_MASK_HOTKEY 0x20 00029 #define SEE_MASK_NOCLOSEPROCESS 0x40 00030 #define SEE_MASK_CONNECTNETDRV 0x80 00031 #define SEE_MASK_NOASYNC 0x00000100 00032 #define SEE_MASK_FLAG_DDEWAIT SEE_MASK_NOASYNC 00033 #define SEE_MASK_DOENVSUBST 0x200 00034 #define SEE_MASK_FLAG_NO_UI 0x400 00035 #define SEE_MASK_NO_CONSOLE 0x8000 00036 #define SEE_MASK_UNICODE 0x10000 00037 #define SEE_MASK_ASYNCOK 0x100000 00038 #define SEE_MASK_HMONITOR 0x200000 00039 #define SEE_MASK_NOZONECHECKS 0x00800000 00040 #define ABM_NEW 0 00041 #define ABM_REMOVE 1 00042 #define ABM_QUERYPOS 2 00043 #define ABM_SETPOS 3 00044 #define ABM_GETSTATE 4 00045 #define ABM_GETTASKBARPOS 5 00046 #define ABM_ACTIVATE 6 00047 #define ABM_GETAUTOHIDEBAR 7 00048 #define ABM_SETAUTOHIDEBAR 8 00049 #define ABM_WINDOWPOSCHANGED 9 00050 #define ABN_STATECHANGE 0 00051 #define ABN_POSCHANGED 1 00052 #define ABN_FULLSCREENAPP 2 00053 #define ABN_WINDOWARRANGE 3 00054 #define NIM_ADD 0 00055 #define NIM_MODIFY 1 00056 #define NIM_DELETE 2 00057 #if _WIN32_IE >= 0x0500 00058 #define NOTIFYICON_VERSION 3 00059 #define NIM_SETFOCUS 3 00060 #define NIM_SETVERSION 4 00061 #endif 00062 #define NIF_MESSAGE 1 00063 #define NIF_ICON 2 00064 #define NIF_TIP 4 00065 #define NIF_STATE 8 00066 #if _WIN32_IE >= 0x0500 00067 #define NIF_INFO 16 00068 #define NIS_HIDDEN 1 00069 #define NIS_SHAREDICON 2 00070 #define NIIF_NONE 0 00071 #define NIIF_INFO 1 00072 #define NIIF_WARNING 2 00073 #define NIIF_ERROR 3 00074 #define NIIF_USER 4 00075 #if _WIN32_IE >= 0x0600 00076 #define NIIF_ICON_MASK 0xf 00077 #define NIIF_NOSOUND 0x10 00078 #endif /* _WIN32_IE >= 0x0600 */ 00079 #endif /* _WIN32_IE >= 0x0500 */ 00080 #define SE_ERR_FNF 2 00081 #define SE_ERR_PNF 3 00082 #define SE_ERR_ACCESSDENIED 5 00083 #define SE_ERR_OOM 8 00084 #define SE_ERR_DLLNOTFOUND 32 00085 #define SE_ERR_SHARE 26 00086 #define SE_ERR_ASSOCINCOMPLETE 27 00087 #define SE_ERR_DDETIMEOUT 28 00088 #define SE_ERR_DDEFAIL 29 00089 #define SE_ERR_DDEBUSY 30 00090 #define SE_ERR_NOASSOC 31 00091 #define FO_MOVE 1 00092 #define FO_COPY 2 00093 #define FO_DELETE 3 00094 #define FO_RENAME 4 00095 00096 #define FOF_MULTIDESTFILES 0x0001 00097 #define FOF_CONFIRMMOUSE 0x0002 00098 #define FOF_SILENT 0x0004 00099 #define FOF_RENAMEONCOLLISION 0x0008 00100 #define FOF_NOCONFIRMATION 0x0010 00101 #define FOF_WANTMAPPINGHANDLE 0x0020 00102 #define FOF_ALLOWUNDO 0x0040 00103 #define FOF_FILESONLY 0x0080 00104 #define FOF_SIMPLEPROGRESS 0x0100 00105 #define FOF_NOCONFIRMMKDIR 0x0200 00106 #define FOF_NOERRORUI 0x0400 00107 #define FOF_NOCOPYSECURITYATTRIBS 0x0800 00108 #define FOF_NORECURSION 0x1000 /* don't do recursion into directories */ 00109 #define FOF_NO_CONNECTED_ELEMENTS 0x2000 /* don't do connected files */ 00110 #define FOF_WANTNUKEWARNING 0x4000 /* during delete operation, warn if delete instead 00111 of recycling (even if FOF_NOCONFIRMATION) */ 00112 #define FOF_NORECURSEREPARSE 0x8000 /* don't do recursion into reparse points */ 00113 00114 #define PO_DELETE 19 00115 #define PO_RENAME 20 00116 #define PO_PORTCHANGE 32 00117 #define PO_REN_PORT 52 00118 #define SHGFI_ADDOVERLAYS 32 00119 #define SHGFI_OVERLAYINDEX 64 00120 #define SHGFI_ICON 256 00121 #define SHGFI_DISPLAYNAME 512 00122 #define SHGFI_TYPENAME 1024 00123 #define SHGFI_ATTRIBUTES 2048 00124 #define SHGFI_ICONLOCATION 4096 00125 #define SHGFI_EXETYPE 8192 00126 #define SHGFI_SYSICONINDEX 16384 00127 #define SHGFI_LINKOVERLAY 32768 00128 #define SHGFI_SELECTED 65536 00129 #define SHGFI_ATTR_SPECIFIED 131072 00130 #define SHGFI_LARGEICON 0 00131 #define SHGFI_SMALLICON 1 00132 #define SHGFI_OPENICON 2 00133 #define SHGFI_SHELLICONSIZE 4 00134 #define SHGFI_PIDL 8 00135 #define SHGFI_USEFILEATTRIBUTES 16 00136 00137 #if (NTDDI_VERSION >= NTDDI_WINXP) 00138 #define SHIL_LARGE 0x0 00139 #define SHIL_SMALL 0x1 00140 #define SHIL_EXTRALARGE 0x2 00141 #define SHIL_SYSSMALL 0x3 00142 #if (NTDDI_VERSION >= NTDDI_VISTA) 00143 #define SHIL_JUMBO 0x4 00144 #define SHIL_LAST SHIL_JUMBO 00145 #else 00146 #define SHIL_LAST SHIL_SYSSMALL 00147 #endif 00148 #endif 00149 00150 typedef struct _SHCREATEPROCESSINFOW 00151 { 00152 DWORD cbSize; 00153 ULONG fMask; 00154 HWND hwnd; 00155 LPCWSTR pszFile; 00156 LPCWSTR pszParameters; 00157 LPCWSTR pszCurrentDirectory; 00158 IN HANDLE hUserToken; 00159 IN LPSECURITY_ATTRIBUTES lpProcessAttributes; 00160 IN LPSECURITY_ATTRIBUTES lpThreadAttributes; 00161 IN BOOL bInheritHandles; 00162 IN DWORD dwCreationFlags; 00163 IN LPSTARTUPINFOW lpStartupInfo; 00164 OUT LPPROCESS_INFORMATION lpProcessInformation; 00165 } SHCREATEPROCESSINFOW, *PSHCREATEPROCESSINFOW; 00166 00167 typedef WORD FILEOP_FLAGS; 00168 typedef WORD PRINTEROP_FLAGS; 00169 00170 typedef struct _AppBarData { 00171 DWORD cbSize; 00172 HWND hWnd; 00173 UINT uCallbackMessage; 00174 UINT uEdge; 00175 RECT rc; 00176 LPARAM lParam; 00177 } APPBARDATA,*PAPPBARDATA; 00178 DECLARE_HANDLE(HDROP); 00179 00180 typedef struct _NOTIFYICONDATAA { 00181 DWORD cbSize; 00182 HWND hWnd; 00183 UINT uID; 00184 UINT uFlags; 00185 UINT uCallbackMessage; 00186 HICON hIcon; 00187 #if _WIN32_IE >= 0x0500 00188 CHAR szTip[128]; 00189 DWORD dwState; 00190 DWORD dwStateMask; 00191 CHAR szInfo[256]; 00192 _ANONYMOUS_UNION union { 00193 UINT uTimeout; 00194 UINT uVersion; 00195 } DUMMYUNIONNAME; 00196 CHAR szInfoTitle[64]; 00197 DWORD dwInfoFlags; 00198 #else 00199 CHAR szTip[64]; 00200 #endif 00201 #if _WIN32_IE >= 0x600 00202 GUID guidItem; 00203 #endif 00204 } NOTIFYICONDATAA,*PNOTIFYICONDATAA; 00205 00206 typedef struct _NOTIFYICONDATAW { 00207 DWORD cbSize; 00208 HWND hWnd; 00209 UINT uID; 00210 UINT uFlags; 00211 UINT uCallbackMessage; 00212 HICON hIcon; 00213 #if _WIN32_IE >= 0x0500 00214 WCHAR szTip[128]; 00215 DWORD dwState; 00216 DWORD dwStateMask; 00217 WCHAR szInfo[256]; 00218 _ANONYMOUS_UNION union { 00219 UINT uTimeout; 00220 UINT uVersion; 00221 } DUMMYUNIONNAME; 00222 WCHAR szInfoTitle[64]; 00223 DWORD dwInfoFlags; 00224 #else 00225 WCHAR szTip[64]; 00226 #endif 00227 #if _WIN32_IE >= 0x600 00228 GUID guidItem; 00229 #endif 00230 } NOTIFYICONDATAW,*PNOTIFYICONDATAW; 00231 00232 #define NOTIFYICONDATAA_V1_SIZE FIELD_OFFSET(NOTIFYICONDATAA, szTip[64]) 00233 #define NOTIFYICONDATAW_V1_SIZE FIELD_OFFSET(NOTIFYICONDATAW, szTip[64]) 00234 #define NOTIFYICONDATAA_V2_SIZE FIELD_OFFSET(NOTIFYICONDATAA, guidItem) 00235 #define NOTIFYICONDATAW_V2_SIZE FIELD_OFFSET(NOTIFYICONDATAW, guidItem) 00236 00237 #if WINVER >= 0x400 00238 typedef struct _DRAGINFOA { 00239 UINT uSize; 00240 POINT pt; 00241 BOOL fNC; 00242 LPSTR lpFileList; 00243 DWORD grfKeyState; 00244 } DRAGINFOA,*LPDRAGINFOA; 00245 typedef struct _DRAGINFOW { 00246 UINT uSize; 00247 POINT pt; 00248 BOOL fNC; 00249 LPWSTR lpFileList; 00250 DWORD grfKeyState; 00251 } DRAGINFOW,*LPDRAGINFOW; 00252 #endif 00253 00254 typedef struct _SHELLEXECUTEINFOA { 00255 DWORD cbSize; 00256 ULONG fMask; 00257 HWND hwnd; 00258 LPCSTR lpVerb; 00259 LPCSTR lpFile; 00260 LPCSTR lpParameters; 00261 LPCSTR lpDirectory; 00262 int nShow; 00263 HINSTANCE hInstApp; 00264 PVOID lpIDList; 00265 LPCSTR lpClass; 00266 HKEY hkeyClass; 00267 DWORD dwHotKey; 00268 HANDLE hIcon; 00269 HANDLE hProcess; 00270 } SHELLEXECUTEINFOA,*LPSHELLEXECUTEINFOA; 00271 typedef struct _SHELLEXECUTEINFOW { 00272 DWORD cbSize; 00273 ULONG fMask; 00274 HWND hwnd; 00275 LPCWSTR lpVerb; 00276 LPCWSTR lpFile; 00277 LPCWSTR lpParameters; 00278 LPCWSTR lpDirectory; 00279 int nShow; 00280 HINSTANCE hInstApp; 00281 PVOID lpIDList; 00282 LPCWSTR lpClass; 00283 HKEY hkeyClass; 00284 DWORD dwHotKey; 00285 HANDLE hIcon; 00286 HANDLE hProcess; 00287 } SHELLEXECUTEINFOW,*LPSHELLEXECUTEINFOW; 00288 typedef struct _SHFILEOPSTRUCTA { 00289 HWND hwnd; 00290 UINT wFunc; 00291 LPCSTR pFrom; 00292 LPCSTR pTo; 00293 FILEOP_FLAGS fFlags; 00294 BOOL fAnyOperationsAborted; 00295 PVOID hNameMappings; 00296 LPCSTR lpszProgressTitle; 00297 } SHFILEOPSTRUCTA,*LPSHFILEOPSTRUCTA; 00298 typedef struct _SHFILEOPSTRUCTW { 00299 HWND hwnd; 00300 UINT wFunc; 00301 LPCWSTR pFrom; 00302 LPCWSTR pTo; 00303 FILEOP_FLAGS fFlags; 00304 BOOL fAnyOperationsAborted; 00305 PVOID hNameMappings; 00306 LPCWSTR lpszProgressTitle; 00307 } SHFILEOPSTRUCTW,*LPSHFILEOPSTRUCTW; 00308 typedef struct _SHFILEINFOA { 00309 HICON hIcon; 00310 int iIcon; 00311 DWORD dwAttributes; 00312 CHAR szDisplayName[MAX_PATH]; 00313 CHAR szTypeName[80]; 00314 } SHFILEINFOA; 00315 typedef struct _SHFILEINFOW { 00316 HICON hIcon; 00317 int iIcon; 00318 DWORD dwAttributes; 00319 WCHAR szDisplayName[MAX_PATH]; 00320 WCHAR szTypeName[80]; 00321 } SHFILEINFOW; 00322 typedef struct _SHQUERYRBINFO { 00323 DWORD cbSize; 00324 __int64 i64Size; 00325 __int64 i64NumItems; 00326 } SHQUERYRBINFO, *LPSHQUERYRBINFO; 00327 typedef struct _SHNAMEMAPPINGA { 00328 LPSTR pszOldPath; 00329 LPSTR pszNewPath; 00330 int cchOldPath; 00331 int cchNewPath; 00332 } SHNAMEMAPPINGA, *LPSHNAMEMAPPINGA; 00333 typedef struct _SHNAMEMAPPINGW { 00334 LPWSTR pszOldPath; 00335 LPWSTR pszNewPath; 00336 int cchOldPath; 00337 int cchNewPath; 00338 } SHNAMEMAPPINGW, *LPSHNAMEMAPPINGW; 00339 00340 #define SHERB_NOCONFIRMATION 0x1 00341 #define SHERB_NOPROGRESSUI 0x2 00342 #define SHERB_NOSOUND 0x4 00343 00344 /****************************************** 00345 * Links 00346 */ 00347 00348 #define SHGNLI_PIDL 0x01 00349 #define SHGNLI_PREFIXNAME 0x02 00350 #define SHGNLI_NOUNIQUE 0x04 00351 #define SHGNLI_NOLNK 0x08 00352 00353 BOOL WINAPI SHGetNewLinkInfoA(LPCSTR,LPCSTR,LPSTR,BOOL*,UINT); 00354 BOOL WINAPI SHGetNewLinkInfoW(LPCWSTR,LPCWSTR,LPWSTR,BOOL*,UINT); 00355 00356 LPWSTR * WINAPI CommandLineToArgvW(LPCWSTR,int*); 00357 void WINAPI DragAcceptFiles(HWND,BOOL); 00358 void WINAPI DragFinish(HDROP); 00359 UINT WINAPI DragQueryFileA(HDROP,UINT,LPSTR,UINT); 00360 UINT WINAPI DragQueryFileW(HDROP,UINT,LPWSTR,UINT); 00361 BOOL WINAPI DragQueryPoint(HDROP,LPPOINT); 00362 HICON WINAPI ExtractAssociatedIconA(HINSTANCE,LPSTR,PWORD); 00363 HICON WINAPI ExtractAssociatedIconW(HINSTANCE,LPWSTR,PWORD); 00364 HICON WINAPI ExtractIconA(HINSTANCE,LPCSTR,UINT); 00365 HICON WINAPI ExtractIconW(HINSTANCE,LPCWSTR,UINT); 00366 UINT WINAPI ExtractIconExA(LPCSTR,int,HICON*,HICON*,UINT); 00367 UINT WINAPI ExtractIconExW(LPCWSTR,int,HICON*,HICON*,UINT); 00368 HINSTANCE WINAPI FindExecutableA(LPCSTR,LPCSTR,LPSTR); 00369 HINSTANCE WINAPI FindExecutableW(LPCWSTR,LPCWSTR,LPWSTR); 00370 UINT_PTR WINAPI SHAppBarMessage(DWORD,PAPPBARDATA); 00371 BOOL WINAPI Shell_NotifyIconA(DWORD,PNOTIFYICONDATAA); 00372 BOOL WINAPI Shell_NotifyIconW(DWORD,PNOTIFYICONDATAW); 00373 int WINAPI ShellAboutA(HWND,LPCSTR,LPCSTR,HICON); 00374 int WINAPI ShellAboutW(HWND,LPCWSTR,LPCWSTR,HICON); 00375 int WINAPI ShellMessageBoxA(HINSTANCE,HWND,LPCSTR,LPCSTR,UINT,...); 00376 int WINAPI ShellMessageBoxW(HINSTANCE,HWND,LPCWSTR,LPCWSTR,UINT,...); 00377 HINSTANCE WINAPI ShellExecuteA(HWND,LPCSTR,LPCSTR,LPCSTR,LPCSTR,INT); 00378 HINSTANCE WINAPI ShellExecuteW(HWND,LPCWSTR,LPCWSTR,LPCWSTR,LPCWSTR,INT); 00379 BOOL WINAPI ShellExecuteExA(LPSHELLEXECUTEINFOA); 00380 BOOL WINAPI ShellExecuteExW(LPSHELLEXECUTEINFOW); 00381 int WINAPI SHFileOperationA(LPSHFILEOPSTRUCTA); 00382 int WINAPI SHFileOperationW(LPSHFILEOPSTRUCTW); 00383 void WINAPI SHFreeNameMappings(HANDLE); 00384 DWORD_PTR WINAPI SHGetFileInfoA(LPCSTR,DWORD,SHFILEINFOA*,UINT,UINT); 00385 DWORD_PTR WINAPI SHGetFileInfoW(LPCWSTR,DWORD,SHFILEINFOW*,UINT,UINT); 00386 BOOL WINAPI SHGetNewLinkInfoA(LPCSTR,LPCSTR,LPSTR,BOOL*,UINT); 00387 BOOL WINAPI SHGetNewLinkInfoW(LPCWSTR,LPCWSTR,LPWSTR,BOOL*,UINT); 00388 HRESULT WINAPI SHQueryRecycleBinA(LPCSTR, LPSHQUERYRBINFO); 00389 HRESULT WINAPI SHQueryRecycleBinW(LPCWSTR, LPSHQUERYRBINFO); 00390 HRESULT WINAPI SHEmptyRecycleBinA(HWND,LPCSTR,DWORD); 00391 HRESULT WINAPI SHEmptyRecycleBinW(HWND,LPCWSTR,DWORD); 00392 BOOL WINAPI SHCreateProcessAsUserW(PSHCREATEPROCESSINFOW); 00393 00394 #ifdef UNICODE 00395 #define NOTIFYICONDATA_V1_SIZE NOTIFYICONDATAW_V1_SIZE 00396 #define NOTIFYICONDATA_V2_SIZE NOTIFYICONDATAW_V2_SIZE 00397 typedef NOTIFYICONDATAW NOTIFYICONDATA,*PNOTIFYICONDATA; 00398 typedef DRAGINFOW DRAGINFO,*LPDRAGINFO; 00399 typedef SHELLEXECUTEINFOW SHELLEXECUTEINFO,*LPSHELLEXECUTEINFO; 00400 typedef SHFILEOPSTRUCTW SHFILEOPSTRUCT,*LPSHFILEOPSTRUCT; 00401 typedef SHFILEINFOW SHFILEINFO; 00402 typedef SHNAMEMAPPINGW SHNAMEMAPPING; 00403 typedef LPSHNAMEMAPPINGW LPSHNAMEMAPPING; 00404 #define DragQueryFile DragQueryFileW 00405 #define ExtractAssociatedIcon ExtractAssociatedIconW 00406 #define ExtractIcon ExtractIconW 00407 #define ExtractIconEx ExtractIconExW 00408 #define FindExecutable FindExecutableW 00409 #define Shell_NotifyIcon Shell_NotifyIconW 00410 #define ShellAbout ShellAboutW 00411 #define ShellExecute ShellExecuteW 00412 #define ShellExecuteEx ShellExecuteExW 00413 #define ShellMessageBox ShellMessageBoxW 00414 #define SHFileOperation SHFileOperationW 00415 #define SHGetFileInfo SHGetFileInfoW 00416 #define SHGetNewLinkInfo SHGetNewLinkInfoW 00417 #define SHQueryRecycleBin SHQueryRecycleBinW 00418 #define SHEmptyRecycleBin SHEmptyRecycleBinW 00419 #define SHGetNewLinkInfo SHGetNewLinkInfoW 00420 00421 #else 00422 #define NOTIFYICONDATA_V1_SIZE NOTIFYICONDATAA_V1_SIZE 00423 #define NOTIFYICONDATA_V2_SIZE NOTIFYICONDATAA_V2_SIZE 00424 typedef NOTIFYICONDATAA NOTIFYICONDATA,*PNOTIFYICONDATA; 00425 typedef DRAGINFOA DRAGINFO,*LPDRAGINFO; 00426 typedef SHELLEXECUTEINFOA SHELLEXECUTEINFO,*LPSHELLEXECUTEINFO; 00427 typedef SHFILEOPSTRUCTA SHFILEOPSTRUCT,*LPSHFILEOPSTRUCT; 00428 typedef SHFILEINFOA SHFILEINFO; 00429 typedef SHNAMEMAPPINGA SHNAMEMAPPING; 00430 typedef LPSHNAMEMAPPINGA LPSHNAMEMAPPING; 00431 #define DragQueryFile DragQueryFileA 00432 #define ExtractAssociatedIcon ExtractAssociatedIconA 00433 #define ExtractIcon ExtractIconA 00434 #define ExtractIconEx ExtractIconExA 00435 #define FindExecutable FindExecutableA 00436 #define Shell_NotifyIcon Shell_NotifyIconA 00437 #define ShellAbout ShellAboutA 00438 #define ShellExecute ShellExecuteA 00439 #define ShellExecuteEx ShellExecuteExA 00440 #define ShellMessageBox ShellMessageBoxA 00441 #define SHFileOperation SHFileOperationA 00442 #define SHGetFileInfo SHGetFileInfoA 00443 #define SHGetNewLinkInfo SHGetNewLinkInfoA 00444 #define SHQueryRecycleBin SHQueryRecycleBinA 00445 #define SHEmptyRecycleBin SHEmptyRecycleBinA 00446 #define SHGetNewLinkInfo SHGetNewLinkInfoA 00447 #endif 00448 00449 #if !defined(_WIN64) 00450 #include <poppack.h> 00451 #endif 00452 00453 #ifdef _MSC_VER 00454 #pragma warning(pop) 00455 #endif 00456 #ifdef __cplusplus 00457 } 00458 #endif 00459 #endif Generated on Mon May 28 2012 04:32:11 for ReactOS by
1.7.6.1
|