xref: /trunk/main/sal/systools/win32/uwinapi/SHILCreateFromPathW.cpp (revision cdf0e10c4e3984b49a9502b011690b615761d4a3)
1*cdf0e10cSrcweir #include "uwinapi.h"
2*cdf0e10cSrcweir 
3*cdf0e10cSrcweir EXTERN_C LPITEMIDLIST WINAPI SHSimpleIDListFromPathW_Failure( LPCWSTR lpPathW )
4*cdf0e10cSrcweir {
5*cdf0e10cSrcweir     SetLastError( ERROR_CALL_NOT_IMPLEMENTED );
6*cdf0e10cSrcweir     return NULL;
7*cdf0e10cSrcweir }
8*cdf0e10cSrcweir 
9*cdf0e10cSrcweir EXTERN_C LPITEMIDLIST WINAPI SHSimpleIDListFromPathW_WINDOWS( LPCWSTR lpPathW )
10*cdf0e10cSrcweir {
11*cdf0e10cSrcweir     AUTO_WSTR2STR( lpPath );
12*cdf0e10cSrcweir 
13*cdf0e10cSrcweir     return SHSimpleIDListFromPathA( lpPathA );
14*cdf0e10cSrcweir }
15*cdf0e10cSrcweir 
16*cdf0e10cSrcweir 
17*cdf0e10cSrcweir EXTERN_C void WINAPI ResolveThunk_SHSimpleIDListFromPathW( FARPROC *lppfn, LPCSTR lpLibFileName, LPCSTR lpFuncName )
18*cdf0e10cSrcweir {
19*cdf0e10cSrcweir     if ( (LONG)GetVersion < 0 )
20*cdf0e10cSrcweir         *lppfn = (FARPROC)SHSimpleIDListFromPathW_WINDOWS;
21*cdf0e10cSrcweir     else
22*cdf0e10cSrcweir     {
23*cdf0e10cSrcweir         FARPROC lpfnResult = GetProcAddress( LoadLibraryA( lpLibFileName ), MAKEINTRESOURCE(162) );
24*cdf0e10cSrcweir         if ( !lpfnResult )
25*cdf0e10cSrcweir             lpfnResult = (FARPROC)SHSimpleIDListFromPathW_Failure;
26*cdf0e10cSrcweir 
27*cdf0e10cSrcweir         *lppfn = lpfnResult;
28*cdf0e10cSrcweir     }
29*cdf0e10cSrcweir }
30*cdf0e10cSrcweir 
31*cdf0e10cSrcweir 
32*cdf0e10cSrcweir DEFINE_CUSTOM_THUNK( kernel32, GetLongPathNameW, DWORD, WINAPI, GetLongPathNameW, ( LPCWSTR lpShortPathW, LPWSTR lpLongPathW, DWORD cchBuffer ) );
33