source: trunk/src/shlwapi/ordinal.h@ 10367

Last change on this file since 10367 was 8584, checked in by sandervl, 23 years ago

resynced with latest Wine

File size: 2.9 KB
Line 
1/*
2 * Internal structures (read "undocumented") used by the
3 * ordinal entry points.
4 *
5 * Determined by experimentation.
6 *
7 * Copyright 2001 Guy Albertelli
8 *
9 * This library is free software; you can redistribute it and/or
10 * modify it under the terms of the GNU Lesser General Public
11 * License as published by the Free Software Foundation; either
12 * version 2.1 of the License, or (at your option) any later version.
13 *
14 * This library is distributed in the hope that it will be useful,
15 * but WITHOUT ANY WARRANTY; without even the implied warranty of
16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
17 * Lesser General Public License for more details.
18 *
19 * You should have received a copy of the GNU Lesser General Public
20 * License along with this library; if not, write to the Free Software
21 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
22 */
23
24typedef struct {
25 INT size; /* [in] (always 0x18) */
26 LPCSTR ap1; /* [out] start of scheme */
27 INT sizep1; /* [out] size of scheme (until colon) */
28 LPCSTR ap2; /* [out] pointer following first colon */
29 INT sizep2; /* [out] size of remainder */
30 INT fcncde; /* [out] function match of p1 (0 if unknown) */
31} UNKNOWN_SHLWAPI_1;
32
33DWORD WINAPI SHLWAPI_1(LPCSTR x, UNKNOWN_SHLWAPI_1 *y);
34
35typedef struct {
36 INT size; /* [in] (always 0x18) */
37 LPCWSTR ap1; /* [out] start of scheme */
38 INT sizep1; /* [out] size of scheme (until colon) */
39 LPCWSTR ap2; /* [out] pointer following first colon */
40 INT sizep2; /* [out] size of remainder */
41 INT fcncde; /* [out] function match of p1 (0 if unknown) */
42} UNKNOWN_SHLWAPI_2;
43
44DWORD WINAPI SHLWAPI_2(LPCWSTR x, UNKNOWN_SHLWAPI_2 *y);
45
46/* Macro to get function pointer for a module*/
47#ifdef __WIN32OS2__
48#define GET_FUNC(func, module, name, fail) \
49 do { \
50 if (!func) { \
51 if (!SHLWAPI_h##module && !(SHLWAPI_h##module = LoadLibraryA(#module ".dll"))) return fail; \
52 if (!(*(DWORD *)&func = (DWORD)GetProcAddress(SHLWAPI_h##module, name))) return fail; \
53 } \
54 } while (0)
55#else
56#define GET_FUNC(func, module, name, fail) \
57 do { \
58 if (!func) { \
59 if (!SHLWAPI_h##module && !(SHLWAPI_h##module = LoadLibraryA(#module ".dll"))) return fail; \
60 if (!(func = (void*)GetProcAddress(SHLWAPI_h##module, name))) return fail; \
61 } \
62 } while (0)
63#endif
64
65extern HMODULE SHLWAPI_hshell32;
66
67/* Shared internal functions */
68BOOL WINAPI SHLWAPI_PathFindLocalExeA(LPSTR lpszPath, DWORD dwWhich);
69BOOL WINAPI SHLWAPI_PathFindLocalExeW(LPWSTR lpszPath, DWORD dwWhich);
70BOOL WINAPI SHLWAPI_PathFindOnPathExA(LPSTR lpszFile,LPCSTR *lppszOtherDirs,DWORD dwWhich);
71BOOL WINAPI SHLWAPI_PathFindOnPathExW(LPWSTR lpszFile,LPCWSTR *lppszOtherDirs,DWORD dwWhich);
Note: See TracBrowser for help on using the repository browser.