mirror of
https://github.com/reactos/reactos.git
synced 2025-08-05 01:05:42 +00:00
Sync to Wine-20050628:
Mike McCormack <mike@codeweavers.com> - Switch IShellLink to use shlwapi.SHCreateStreamOnFileW. Dmitry Timoshkov <dmitry@codeweavers.com> - Make remaining OLE interface vtables const. Alexandre Julliard <julliard@winehq.org> - Sort entry points in the same order as Windows. Stefan Huehner <stefan@huehner.org> - Fix some more -Wstrict-prototypes warnings. svn path=/trunk/; revision=17033
This commit is contained in:
parent
fd1eac7f05
commit
0f766beac3
5 changed files with 109 additions and 98 deletions
|
@ -58,13 +58,13 @@ WINE_DEFAULT_DEBUG_CHANNEL(shell);
|
||||||
|
|
||||||
typedef struct
|
typedef struct
|
||||||
{
|
{
|
||||||
IQueryAssociationsVtbl *lpVtbl;
|
const IQueryAssociationsVtbl *lpVtbl;
|
||||||
LONG ref;
|
LONG ref;
|
||||||
HKEY hkeySource;
|
HKEY hkeySource;
|
||||||
HKEY hkeyProgID;
|
HKEY hkeyProgID;
|
||||||
} IQueryAssociationsImpl;
|
} IQueryAssociationsImpl;
|
||||||
|
|
||||||
static struct IQueryAssociationsVtbl IQueryAssociations_vtbl;
|
static const IQueryAssociationsVtbl IQueryAssociations_vtbl;
|
||||||
|
|
||||||
/**************************************************************************
|
/**************************************************************************
|
||||||
* IQueryAssociations_Constructor [internal]
|
* IQueryAssociations_Constructor [internal]
|
||||||
|
@ -693,7 +693,7 @@ static HRESULT WINAPI IQueryAssociations_fnGetEnum(
|
||||||
return E_NOTIMPL;
|
return E_NOTIMPL;
|
||||||
}
|
}
|
||||||
|
|
||||||
static struct IQueryAssociationsVtbl IQueryAssociations_vtbl =
|
static const IQueryAssociationsVtbl IQueryAssociations_vtbl =
|
||||||
{
|
{
|
||||||
IQueryAssociations_fnQueryInterface,
|
IQueryAssociations_fnQueryInterface,
|
||||||
IQueryAssociations_fnAddRef,
|
IQueryAssociations_fnAddRef,
|
||||||
|
|
|
@ -35,10 +35,14 @@
|
||||||
|
|
||||||
WINE_DEFAULT_DEBUG_CHANNEL(shell);
|
WINE_DEFAULT_DEBUG_CHANNEL(shell);
|
||||||
|
|
||||||
|
#define STGM_ACCESS_MODE(stgm) ((stgm)&0x0000f)
|
||||||
|
#define STGM_SHARE_MODE(stgm) ((stgm)&0x000f0)
|
||||||
|
#define STGM_CREATE_MODE(stgm) ((stgm)&0x0f000)
|
||||||
|
|
||||||
/* Layout of ISHFileStream object */
|
/* Layout of ISHFileStream object */
|
||||||
typedef struct
|
typedef struct
|
||||||
{
|
{
|
||||||
IStreamVtbl *lpVtbl;
|
const IStreamVtbl *lpVtbl;
|
||||||
ULONG ref;
|
ULONG ref;
|
||||||
HANDLE hFile;
|
HANDLE hFile;
|
||||||
DWORD dwMode;
|
DWORD dwMode;
|
||||||
|
@ -65,8 +69,7 @@ static HRESULT WINAPI IStream_fnQueryInterface(IStream *iface, REFIID riid, LPVO
|
||||||
IsEqualIID(riid, &IID_IStream))
|
IsEqualIID(riid, &IID_IStream))
|
||||||
{
|
{
|
||||||
*ppvObj = This;
|
*ppvObj = This;
|
||||||
|
IStream_AddRef(iface);
|
||||||
IStream_AddRef((IStream*)*ppvObj);
|
|
||||||
return S_OK;
|
return S_OK;
|
||||||
}
|
}
|
||||||
return E_NOINTERFACE;
|
return E_NOINTERFACE;
|
||||||
|
@ -112,22 +115,21 @@ static ULONG WINAPI IStream_fnRelease(IStream *iface)
|
||||||
static HRESULT WINAPI IStream_fnRead(IStream *iface, void* pv, ULONG cb, ULONG* pcbRead)
|
static HRESULT WINAPI IStream_fnRead(IStream *iface, void* pv, ULONG cb, ULONG* pcbRead)
|
||||||
{
|
{
|
||||||
ISHFileStream *This = (ISHFileStream *)iface;
|
ISHFileStream *This = (ISHFileStream *)iface;
|
||||||
HRESULT hRet = S_OK;
|
|
||||||
DWORD dwRead = 0;
|
DWORD dwRead = 0;
|
||||||
|
|
||||||
TRACE("(%p,%p,0x%08lx,%p)\n", This, pv, cb, pcbRead);
|
TRACE("(%p,%p,0x%08lx,%p)\n", This, pv, cb, pcbRead);
|
||||||
|
|
||||||
if (!pv)
|
if (!pv)
|
||||||
hRet = STG_E_INVALIDPOINTER;
|
return STG_E_INVALIDPOINTER;
|
||||||
else if (!ReadFile(This->hFile, pv, cb, &dwRead, NULL))
|
|
||||||
|
if (!ReadFile(This->hFile, pv, cb, &dwRead, NULL))
|
||||||
{
|
{
|
||||||
hRet = (HRESULT)GetLastError();
|
ERR("error %ld reading file\n", GetLastError());
|
||||||
if(hRet > 0)
|
return HRESULT_FROM_WIN32(GetLastError());
|
||||||
hRet = HRESULT_FROM_WIN32(hRet);
|
|
||||||
}
|
}
|
||||||
if (pcbRead)
|
if (pcbRead)
|
||||||
*pcbRead = dwRead;
|
*pcbRead = dwRead;
|
||||||
return hRet;
|
return S_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**************************************************************************
|
/**************************************************************************
|
||||||
|
@ -136,24 +138,28 @@ static HRESULT WINAPI IStream_fnRead(IStream *iface, void* pv, ULONG cb, ULONG*
|
||||||
static HRESULT WINAPI IStream_fnWrite(IStream *iface, const void* pv, ULONG cb, ULONG* pcbWritten)
|
static HRESULT WINAPI IStream_fnWrite(IStream *iface, const void* pv, ULONG cb, ULONG* pcbWritten)
|
||||||
{
|
{
|
||||||
ISHFileStream *This = (ISHFileStream *)iface;
|
ISHFileStream *This = (ISHFileStream *)iface;
|
||||||
HRESULT hRet = S_OK;
|
|
||||||
DWORD dwWritten = 0;
|
DWORD dwWritten = 0;
|
||||||
|
|
||||||
TRACE("(%p,%p,0x%08lx,%p)\n", This, pv, cb, pcbWritten);
|
TRACE("(%p,%p,0x%08lx,%p)\n", This, pv, cb, pcbWritten);
|
||||||
|
|
||||||
if (!pv)
|
if (!pv)
|
||||||
hRet = STG_E_INVALIDPOINTER;
|
return STG_E_INVALIDPOINTER;
|
||||||
else if (!(This->dwMode & STGM_WRITE))
|
|
||||||
hRet = E_FAIL;
|
switch (STGM_ACCESS_MODE(This->dwMode))
|
||||||
else if (!WriteFile(This->hFile, pv, cb, &dwWritten, NULL))
|
|
||||||
{
|
{
|
||||||
hRet = (HRESULT)GetLastError();
|
case STGM_WRITE:
|
||||||
if(hRet > 0)
|
case STGM_READWRITE:
|
||||||
hRet = HRESULT_FROM_WIN32(hRet);
|
break;
|
||||||
|
default:
|
||||||
|
return E_FAIL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (!WriteFile(This->hFile, pv, cb, &dwWritten, NULL))
|
||||||
|
return HRESULT_FROM_WIN32(GetLastError());
|
||||||
|
|
||||||
if (pcbWritten)
|
if (pcbWritten)
|
||||||
*pcbWritten = dwWritten;
|
*pcbWritten = dwWritten;
|
||||||
return hRet;
|
return S_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**************************************************************************
|
/**************************************************************************
|
||||||
|
@ -169,6 +175,8 @@ static HRESULT WINAPI IStream_fnSeek(IStream *iface, LARGE_INTEGER dlibMove,
|
||||||
|
|
||||||
IStream_fnCommit(iface, 0); /* If ever buffered, this will be needed */
|
IStream_fnCommit(iface, 0); /* If ever buffered, this will be needed */
|
||||||
dwPos = SetFilePointer(This->hFile, dlibMove.u.LowPart, NULL, dwOrigin);
|
dwPos = SetFilePointer(This->hFile, dlibMove.u.LowPart, NULL, dwOrigin);
|
||||||
|
if( dwPos == INVALID_SET_FILE_POINTER )
|
||||||
|
return E_FAIL;
|
||||||
|
|
||||||
if (pNewPos)
|
if (pNewPos)
|
||||||
{
|
{
|
||||||
|
@ -186,8 +194,15 @@ static HRESULT WINAPI IStream_fnSetSize(IStream *iface, ULARGE_INTEGER libNewSiz
|
||||||
ISHFileStream *This = (ISHFileStream *)iface;
|
ISHFileStream *This = (ISHFileStream *)iface;
|
||||||
|
|
||||||
TRACE("(%p,%ld)\n", This, libNewSize.u.LowPart);
|
TRACE("(%p,%ld)\n", This, libNewSize.u.LowPart);
|
||||||
|
|
||||||
IStream_fnCommit(iface, 0); /* If ever buffered, this will be needed */
|
IStream_fnCommit(iface, 0); /* If ever buffered, this will be needed */
|
||||||
return E_NOTIMPL;
|
if( ! SetFilePointer( This->hFile, libNewSize.QuadPart, NULL, FILE_BEGIN ) )
|
||||||
|
return E_FAIL;
|
||||||
|
|
||||||
|
if( ! SetEndOfFile( This->hFile ) )
|
||||||
|
return E_FAIL;
|
||||||
|
|
||||||
|
return S_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**************************************************************************
|
/**************************************************************************
|
||||||
|
@ -325,7 +340,7 @@ static HRESULT WINAPI IStream_fnClone(IStream *iface, IStream** ppstm)
|
||||||
return E_NOTIMPL;
|
return E_NOTIMPL;
|
||||||
}
|
}
|
||||||
|
|
||||||
static struct IStreamVtbl SHLWAPI_fsVTable =
|
static const IStreamVtbl SHLWAPI_fsVTable =
|
||||||
{
|
{
|
||||||
IStream_fnQueryInterface,
|
IStream_fnQueryInterface,
|
||||||
IStream_fnAddRef,
|
IStream_fnAddRef,
|
||||||
|
@ -403,29 +418,27 @@ HRESULT WINAPI SHCreateStreamOnFileEx(LPCWSTR lpszPath, DWORD dwMode,
|
||||||
|
|
||||||
*lppStream = NULL;
|
*lppStream = NULL;
|
||||||
|
|
||||||
if (dwMode & ~(STGM_WRITE|STGM_READWRITE|STGM_SHARE_DENY_NONE|STGM_SHARE_DENY_READ|STGM_CREATE))
|
if (dwMode & STGM_TRANSACTED)
|
||||||
{
|
|
||||||
WARN("Invalid mode 0x%08lX\n", dwMode);
|
|
||||||
return E_INVALIDARG;
|
return E_INVALIDARG;
|
||||||
}
|
|
||||||
|
|
||||||
/* Access */
|
/* Access */
|
||||||
switch (dwMode & (STGM_WRITE|STGM_READWRITE))
|
switch (STGM_ACCESS_MODE(dwMode))
|
||||||
{
|
{
|
||||||
case STGM_READWRITE|STGM_WRITE:
|
|
||||||
case STGM_READWRITE:
|
case STGM_READWRITE:
|
||||||
dwAccess = GENERIC_READ|GENERIC_WRITE;
|
dwAccess = GENERIC_READ|GENERIC_WRITE;
|
||||||
break;
|
break;
|
||||||
case STGM_WRITE:
|
case STGM_WRITE:
|
||||||
dwAccess = GENERIC_WRITE;
|
dwAccess = GENERIC_WRITE;
|
||||||
break;
|
break;
|
||||||
default:
|
case STGM_READ:
|
||||||
dwAccess = GENERIC_READ;
|
dwAccess = GENERIC_READ;
|
||||||
break;
|
break;
|
||||||
|
default:
|
||||||
|
return E_INVALIDARG;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Sharing */
|
/* Sharing */
|
||||||
switch (dwMode & STGM_SHARE_DENY_READ)
|
switch (STGM_SHARE_MODE(dwMode))
|
||||||
{
|
{
|
||||||
case STGM_SHARE_DENY_READ:
|
case STGM_SHARE_DENY_READ:
|
||||||
dwShare = FILE_SHARE_WRITE;
|
dwShare = FILE_SHARE_WRITE;
|
||||||
|
@ -436,17 +449,24 @@ HRESULT WINAPI SHCreateStreamOnFileEx(LPCWSTR lpszPath, DWORD dwMode,
|
||||||
case STGM_SHARE_EXCLUSIVE:
|
case STGM_SHARE_EXCLUSIVE:
|
||||||
dwShare = 0;
|
dwShare = 0;
|
||||||
break;
|
break;
|
||||||
default:
|
case STGM_SHARE_DENY_NONE:
|
||||||
dwShare = FILE_SHARE_READ|FILE_SHARE_WRITE;
|
dwShare = FILE_SHARE_READ|FILE_SHARE_WRITE;
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
return E_INVALIDARG;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* FIXME: Creation Flags, MSDN is fuzzy on the mapping... */
|
switch(STGM_CREATE_MODE(dwMode))
|
||||||
if (dwMode == STGM_FAILIFTHERE)
|
{
|
||||||
dwCreate = bCreate ? CREATE_NEW : OPEN_EXISTING;
|
case STGM_FAILIFTHERE:
|
||||||
else if (dwMode & STGM_CREATE)
|
dwCreate = OPEN_EXISTING;
|
||||||
|
break;
|
||||||
|
case STGM_CREATE:
|
||||||
dwCreate = CREATE_ALWAYS;
|
dwCreate = CREATE_ALWAYS;
|
||||||
else
|
break;
|
||||||
dwCreate = OPEN_ALWAYS;
|
default:
|
||||||
|
return E_INVALIDARG;
|
||||||
|
}
|
||||||
|
|
||||||
/* Open HANDLE to file */
|
/* Open HANDLE to file */
|
||||||
hFile = CreateFileW(lpszPath, dwAccess, dwShare, NULL, dwCreate,
|
hFile = CreateFileW(lpszPath, dwAccess, dwShare, NULL, dwCreate,
|
||||||
|
@ -478,19 +498,12 @@ HRESULT WINAPI SHCreateStreamOnFileEx(LPCWSTR lpszPath, DWORD dwMode,
|
||||||
HRESULT WINAPI SHCreateStreamOnFileW(LPCWSTR lpszPath, DWORD dwMode,
|
HRESULT WINAPI SHCreateStreamOnFileW(LPCWSTR lpszPath, DWORD dwMode,
|
||||||
IStream **lppStream)
|
IStream **lppStream)
|
||||||
{
|
{
|
||||||
DWORD dwAttr;
|
|
||||||
|
|
||||||
TRACE("(%s,%ld,%p)\n", debugstr_w(lpszPath), dwMode, lppStream);
|
TRACE("(%s,%ld,%p)\n", debugstr_w(lpszPath), dwMode, lppStream);
|
||||||
|
|
||||||
if (!lpszPath || !lppStream)
|
if (!lpszPath || !lppStream)
|
||||||
return E_INVALIDARG;
|
return E_INVALIDARG;
|
||||||
|
|
||||||
dwAttr = GetFileAttributesW(lpszPath);
|
return SHCreateStreamOnFileEx(lpszPath, dwMode, 0, FALSE, NULL, lppStream);
|
||||||
if (dwAttr == INVALID_FILE_ATTRIBUTES)
|
|
||||||
dwAttr = 0;
|
|
||||||
|
|
||||||
return SHCreateStreamOnFileEx(lpszPath, dwMode|STGM_WRITE, dwAttr,
|
|
||||||
TRUE, NULL, lppStream);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*************************************************************************
|
/*************************************************************************
|
||||||
|
|
|
@ -2979,7 +2979,7 @@ UINT WINAPI PathGetCharTypeW(WCHAR ch)
|
||||||
*
|
*
|
||||||
* Internal helper for PathMakeSystemFolderW.
|
* Internal helper for PathMakeSystemFolderW.
|
||||||
*/
|
*/
|
||||||
static BOOL WINAPI SHLWAPI_UseSystemForSystemFolders()
|
static BOOL WINAPI SHLWAPI_UseSystemForSystemFolders(void)
|
||||||
{
|
{
|
||||||
static BOOL bCheckedReg = FALSE;
|
static BOOL bCheckedReg = FALSE;
|
||||||
static BOOL bUseSystemForSystemFolders = FALSE;
|
static BOOL bUseSystemForSystemFolders = FALSE;
|
||||||
|
|
|
@ -35,7 +35,8 @@
|
||||||
WINE_DEFAULT_DEBUG_CHANNEL(shell);
|
WINE_DEFAULT_DEBUG_CHANNEL(shell);
|
||||||
|
|
||||||
typedef struct
|
typedef struct
|
||||||
{ IStreamVtbl *lpVtbl;
|
{
|
||||||
|
const IStreamVtbl *lpVtbl;
|
||||||
DWORD ref;
|
DWORD ref;
|
||||||
HKEY hKey;
|
HKEY hKey;
|
||||||
LPBYTE pbBuffer;
|
LPBYTE pbBuffer;
|
||||||
|
@ -255,7 +256,7 @@ static HRESULT WINAPI IStream_fnClone (IStream * iface, IStream** ppstm)
|
||||||
return E_NOTIMPL;
|
return E_NOTIMPL;
|
||||||
}
|
}
|
||||||
|
|
||||||
static struct IStreamVtbl rstvt =
|
static const IStreamVtbl rstvt =
|
||||||
{
|
{
|
||||||
IStream_fnQueryInterface,
|
IStream_fnQueryInterface,
|
||||||
IStream_fnAddRef,
|
IStream_fnAddRef,
|
||||||
|
@ -305,7 +306,7 @@ static HRESULT WINAPI IStream_fnReadDummy(IStream *iface, LPVOID pv, ULONG cb, U
|
||||||
return E_NOTIMPL;
|
return E_NOTIMPL;
|
||||||
}
|
}
|
||||||
|
|
||||||
static struct IStreamVtbl DummyRegStreamVTable =
|
static const IStreamVtbl DummyRegStreamVTable =
|
||||||
{
|
{
|
||||||
IStream_fnQueryInterface,
|
IStream_fnQueryInterface,
|
||||||
IStream_fnAddRefDummy, /* Overridden */
|
IStream_fnAddRefDummy, /* Overridden */
|
||||||
|
|
|
@ -547,6 +547,7 @@
|
||||||
551 stub -noname IShellFolder_CompareIDs
|
551 stub -noname IShellFolder_CompareIDs
|
||||||
|
|
||||||
@ stdcall AssocCreate(long long long long ptr ptr)
|
@ stdcall AssocCreate(long long long long ptr ptr)
|
||||||
|
@ stdcall AssocIsDangerous(long)
|
||||||
@ stdcall AssocQueryKeyA(long long str ptr ptr)
|
@ stdcall AssocQueryKeyA(long long str ptr ptr)
|
||||||
@ stdcall AssocQueryKeyW(long long wstr ptr ptr)
|
@ stdcall AssocQueryKeyW(long long wstr ptr ptr)
|
||||||
@ stdcall AssocQueryStringA(long long ptr ptr str ptr)
|
@ stdcall AssocQueryStringA(long long ptr ptr str ptr)
|
||||||
|
@ -593,6 +594,8 @@
|
||||||
@ stdcall PathFindNextComponentW (wstr)
|
@ stdcall PathFindNextComponentW (wstr)
|
||||||
@ stdcall PathFindOnPathA (str ptr)
|
@ stdcall PathFindOnPathA (str ptr)
|
||||||
@ stdcall PathFindOnPathW (wstr ptr)
|
@ stdcall PathFindOnPathW (wstr ptr)
|
||||||
|
@ stdcall PathFindSuffixArrayA(str ptr long)
|
||||||
|
@ stdcall PathFindSuffixArrayW(wstr ptr long)
|
||||||
@ stdcall PathGetArgsA (str)
|
@ stdcall PathGetArgsA (str)
|
||||||
@ stdcall PathGetArgsW (wstr)
|
@ stdcall PathGetArgsW (wstr)
|
||||||
@ stdcall PathGetCharTypeA(long)
|
@ stdcall PathGetCharTypeA(long)
|
||||||
|
@ -602,9 +605,15 @@
|
||||||
@ stdcall PathIsContentTypeA(str str)
|
@ stdcall PathIsContentTypeA(str str)
|
||||||
@ stdcall PathIsContentTypeW(wstr wstr)
|
@ stdcall PathIsContentTypeW(wstr wstr)
|
||||||
@ stdcall PathIsDirectoryA(str)
|
@ stdcall PathIsDirectoryA(str)
|
||||||
|
@ stdcall PathIsDirectoryEmptyA(str)
|
||||||
|
@ stdcall PathIsDirectoryEmptyW(wstr)
|
||||||
@ stdcall PathIsDirectoryW(wstr)
|
@ stdcall PathIsDirectoryW(wstr)
|
||||||
@ stdcall PathIsFileSpecA(str)
|
@ stdcall PathIsFileSpecA(str)
|
||||||
@ stdcall PathIsFileSpecW(wstr)
|
@ stdcall PathIsFileSpecW(wstr)
|
||||||
|
@ stdcall PathIsLFNFileSpecA(str)
|
||||||
|
@ stdcall PathIsLFNFileSpecW(wstr)
|
||||||
|
@ stdcall PathIsNetworkPathA(str)
|
||||||
|
@ stdcall PathIsNetworkPathW(wstr)
|
||||||
@ stdcall PathIsPrefixA(str str)
|
@ stdcall PathIsPrefixA(str str)
|
||||||
@ stdcall PathIsPrefixW(wstr wstr)
|
@ stdcall PathIsPrefixW(wstr wstr)
|
||||||
@ stdcall PathIsRelativeA (str)
|
@ stdcall PathIsRelativeA (str)
|
||||||
|
@ -657,11 +666,22 @@
|
||||||
@ stdcall PathStripPathW(wstr)
|
@ stdcall PathStripPathW(wstr)
|
||||||
@ stdcall PathStripToRootA(str)
|
@ stdcall PathStripToRootA(str)
|
||||||
@ stdcall PathStripToRootW(wstr)
|
@ stdcall PathStripToRootW(wstr)
|
||||||
|
@ stdcall PathUnExpandEnvStringsA(str ptr long)
|
||||||
|
@ stdcall PathUnExpandEnvStringsW(wstr ptr long)
|
||||||
|
@ stdcall PathUndecorateA(str)
|
||||||
|
@ stdcall PathUndecorateW(wstr)
|
||||||
@ stdcall PathUnmakeSystemFolderA(str)
|
@ stdcall PathUnmakeSystemFolderA(str)
|
||||||
@ stdcall PathUnmakeSystemFolderW(wstr)
|
@ stdcall PathUnmakeSystemFolderW(wstr)
|
||||||
@ stdcall PathUnquoteSpacesA (str)
|
@ stdcall PathUnquoteSpacesA (str)
|
||||||
@ stdcall PathUnquoteSpacesW (wstr)
|
@ stdcall PathUnquoteSpacesW (wstr)
|
||||||
|
@ stdcall SHAutoComplete(ptr long)
|
||||||
|
@ stdcall SHCopyKeyA(long str long long)
|
||||||
|
@ stdcall SHCopyKeyW(long wstr long long)
|
||||||
@ stdcall SHCreateShellPalette(long)
|
@ stdcall SHCreateShellPalette(long)
|
||||||
|
@ stdcall SHCreateStreamOnFileA(str long ptr)
|
||||||
|
@ stdcall SHCreateStreamOnFileEx(wstr long long long ptr ptr)
|
||||||
|
@ stdcall SHCreateStreamOnFileW(wstr long ptr)
|
||||||
|
@ stdcall SHCreateStreamWrapper(ptr ptr long ptr)
|
||||||
@ stdcall SHDeleteEmptyKeyA(long ptr)
|
@ stdcall SHDeleteEmptyKeyA(long ptr)
|
||||||
@ stdcall SHDeleteEmptyKeyW(long ptr)
|
@ stdcall SHDeleteEmptyKeyW(long ptr)
|
||||||
@ stdcall SHDeleteKeyA(long str)
|
@ stdcall SHDeleteKeyA(long str)
|
||||||
|
@ -675,13 +695,14 @@
|
||||||
@ stdcall SHEnumValueA(long long str ptr ptr ptr ptr)
|
@ stdcall SHEnumValueA(long long str ptr ptr ptr ptr)
|
||||||
@ stdcall SHEnumValueW(long long wstr ptr ptr ptr ptr)
|
@ stdcall SHEnumValueW(long long wstr ptr ptr ptr ptr)
|
||||||
@ stdcall SHGetInverseCMAP ( ptr long )
|
@ stdcall SHGetInverseCMAP ( ptr long )
|
||||||
|
@ stdcall SHGetThreadRef (ptr)
|
||||||
@ stdcall SHGetValueA ( long str str ptr ptr ptr )
|
@ stdcall SHGetValueA ( long str str ptr ptr ptr )
|
||||||
@ stdcall SHGetValueW ( long wstr wstr ptr ptr ptr )
|
@ stdcall SHGetValueW ( long wstr wstr ptr ptr ptr )
|
||||||
@ stdcall SHIsLowMemoryMachine(long)
|
@ stdcall SHIsLowMemoryMachine(long)
|
||||||
@ stdcall SHOpenRegStreamA(long str str long)
|
|
||||||
@ stdcall SHOpenRegStreamW(long wstr str long)
|
|
||||||
@ stdcall SHOpenRegStream2A(long str str long)
|
@ stdcall SHOpenRegStream2A(long str str long)
|
||||||
@ stdcall SHOpenRegStream2W(long wstr str long)
|
@ stdcall SHOpenRegStream2W(long wstr str long)
|
||||||
|
@ stdcall SHOpenRegStreamA(long str str long)
|
||||||
|
@ stdcall SHOpenRegStreamW(long wstr str long)
|
||||||
@ stdcall SHQueryInfoKeyA(long ptr ptr ptr ptr)
|
@ stdcall SHQueryInfoKeyA(long ptr ptr ptr ptr)
|
||||||
@ stdcall SHQueryInfoKeyW(long ptr ptr ptr ptr)
|
@ stdcall SHQueryInfoKeyW(long ptr ptr ptr ptr)
|
||||||
@ stdcall SHQueryValueExA(long str ptr ptr ptr ptr)
|
@ stdcall SHQueryValueExA(long str ptr ptr ptr ptr)
|
||||||
|
@ -693,12 +714,15 @@
|
||||||
@ stdcall SHRegDeleteEmptyUSKeyW(long wstr long)
|
@ stdcall SHRegDeleteEmptyUSKeyW(long wstr long)
|
||||||
@ stdcall SHRegDeleteUSValueA(long str long)
|
@ stdcall SHRegDeleteUSValueA(long str long)
|
||||||
@ stdcall SHRegDeleteUSValueW(long wstr long)
|
@ stdcall SHRegDeleteUSValueW(long wstr long)
|
||||||
|
@ stdcall SHRegDuplicateHKey (long)
|
||||||
@ stdcall SHRegEnumUSKeyA(long long str ptr long)
|
@ stdcall SHRegEnumUSKeyA(long long str ptr long)
|
||||||
@ stdcall SHRegEnumUSKeyW(long long wstr ptr long)
|
@ stdcall SHRegEnumUSKeyW(long long wstr ptr long)
|
||||||
@ stdcall SHRegEnumUSValueA(long long ptr ptr ptr ptr ptr long)
|
@ stdcall SHRegEnumUSValueA(long long ptr ptr ptr ptr ptr long)
|
||||||
@ stdcall SHRegEnumUSValueW(long long ptr ptr ptr ptr ptr long)
|
@ stdcall SHRegEnumUSValueW(long long ptr ptr ptr ptr ptr long)
|
||||||
@ stdcall SHRegGetBoolUSValueA(str str long long)
|
@ stdcall SHRegGetBoolUSValueA(str str long long)
|
||||||
@ stdcall SHRegGetBoolUSValueW(wstr wstr long long)
|
@ stdcall SHRegGetBoolUSValueW(wstr wstr long long)
|
||||||
|
@ stdcall SHRegGetPathA(long str str ptr long)
|
||||||
|
@ stdcall SHRegGetPathW(long wstr wstr ptr long)
|
||||||
@ stdcall SHRegGetUSValueA ( str str ptr ptr ptr long ptr long )
|
@ stdcall SHRegGetUSValueA ( str str ptr ptr ptr long ptr long )
|
||||||
@ stdcall SHRegGetUSValueW ( wstr wstr ptr ptr ptr long ptr long )
|
@ stdcall SHRegGetUSValueW ( wstr wstr ptr ptr ptr long ptr long )
|
||||||
@ stdcall SHRegOpenUSKeyA ( str long long long long )
|
@ stdcall SHRegOpenUSKeyA ( str long long long long )
|
||||||
|
@ -707,12 +731,20 @@
|
||||||
@ stdcall SHRegQueryInfoUSKeyW ( long ptr ptr ptr ptr long )
|
@ stdcall SHRegQueryInfoUSKeyW ( long ptr ptr ptr ptr long )
|
||||||
@ stdcall SHRegQueryUSValueA ( long str ptr ptr ptr long ptr long )
|
@ stdcall SHRegQueryUSValueA ( long str ptr ptr ptr long ptr long )
|
||||||
@ stdcall SHRegQueryUSValueW ( long wstr ptr ptr ptr long ptr long )
|
@ stdcall SHRegQueryUSValueW ( long wstr ptr ptr ptr long ptr long )
|
||||||
|
@ stdcall SHRegSetPathA(long str str str long)
|
||||||
|
@ stdcall SHRegSetPathW(long wstr wstr wstr long)
|
||||||
@ stdcall SHRegSetUSValueA ( str str long ptr long long)
|
@ stdcall SHRegSetUSValueA ( str str long ptr long long)
|
||||||
@ stdcall SHRegSetUSValueW ( wstr wstr long ptr long long)
|
@ stdcall SHRegSetUSValueW ( wstr wstr long ptr long long)
|
||||||
@ stdcall SHRegWriteUSValueA (long str long ptr long long)
|
@ stdcall SHRegWriteUSValueA (long str long ptr long long)
|
||||||
@ stdcall SHRegWriteUSValueW (long str long ptr long long)
|
@ stdcall SHRegWriteUSValueW (long str long ptr long long)
|
||||||
|
@ stdcall SHRegisterValidateTemplate(wstr long)
|
||||||
|
@ stdcall SHReleaseThreadRef()
|
||||||
|
@ stdcall SHSetThreadRef (ptr)
|
||||||
@ stdcall SHSetValueA (long str str long ptr long)
|
@ stdcall SHSetValueA (long str str long ptr long)
|
||||||
@ stdcall SHSetValueW (long wstr wstr long ptr long)
|
@ stdcall SHSetValueW (long wstr wstr long ptr long)
|
||||||
|
@ stdcall SHSkipJunction(ptr ptr)
|
||||||
|
@ stdcall SHStrDupA (str ptr)
|
||||||
|
@ stdcall SHStrDupW (wstr ptr)
|
||||||
@ stdcall StrCSpnA (str str)
|
@ stdcall StrCSpnA (str str)
|
||||||
@ stdcall StrCSpnIA (str str)
|
@ stdcall StrCSpnIA (str str)
|
||||||
@ stdcall StrCSpnIW (wstr wstr)
|
@ stdcall StrCSpnIW (wstr wstr)
|
||||||
|
@ -725,6 +757,7 @@
|
||||||
@ stdcall StrChrIW (wstr long)
|
@ stdcall StrChrIW (wstr long)
|
||||||
@ stdcall StrChrW (wstr long)
|
@ stdcall StrChrW (wstr long)
|
||||||
@ stdcall StrCmpIW (wstr wstr)
|
@ stdcall StrCmpIW (wstr wstr)
|
||||||
|
@ stdcall StrCmpLogicalW(wstr wstr)
|
||||||
@ stdcall StrCmpNA (str str long)
|
@ stdcall StrCmpNA (str str long)
|
||||||
@ stdcall StrCmpNIA (str str long)
|
@ stdcall StrCmpNIA (str str long)
|
||||||
@ stdcall StrCmpNIW (wstr wstr long)
|
@ stdcall StrCmpNIW (wstr wstr long)
|
||||||
|
@ -734,8 +767,11 @@
|
||||||
@ stdcall StrCpyW (ptr wstr)
|
@ stdcall StrCpyW (ptr wstr)
|
||||||
@ stdcall StrDupA (str)
|
@ stdcall StrDupA (str)
|
||||||
@ stdcall StrDupW (wstr)
|
@ stdcall StrDupW (wstr)
|
||||||
|
@ stdcall StrFormatByteSize64A(long long ptr long)
|
||||||
@ stdcall StrFormatByteSizeA(long ptr long)
|
@ stdcall StrFormatByteSizeA(long ptr long)
|
||||||
@ stdcall StrFormatByteSizeW(long long ptr long)
|
@ stdcall StrFormatByteSizeW(long long ptr long)
|
||||||
|
@ stdcall StrFormatKBSizeA(long long str long)
|
||||||
|
@ stdcall StrFormatKBSizeW(long long wstr long)
|
||||||
@ stdcall StrFromTimeIntervalA(ptr long long long)
|
@ stdcall StrFromTimeIntervalA(ptr long long long)
|
||||||
@ stdcall StrFromTimeIntervalW(ptr long long long)
|
@ stdcall StrFromTimeIntervalW(ptr long long long)
|
||||||
@ stdcall StrIsIntlEqualA(long str str long)
|
@ stdcall StrIsIntlEqualA(long str str long)
|
||||||
|
@ -750,6 +786,11 @@
|
||||||
@ stdcall StrRChrW (wstr wstr long)
|
@ stdcall StrRChrW (wstr wstr long)
|
||||||
@ stdcall StrRStrIA (str str str)
|
@ stdcall StrRStrIA (str str str)
|
||||||
@ stdcall StrRStrIW (wstr wstr wstr)
|
@ stdcall StrRStrIW (wstr wstr wstr)
|
||||||
|
@ stdcall StrRetToBSTR(ptr ptr ptr)
|
||||||
|
@ stdcall StrRetToBufA(ptr ptr ptr long)
|
||||||
|
@ stdcall StrRetToBufW(ptr ptr ptr long)
|
||||||
|
@ stdcall StrRetToStrA(ptr ptr ptr)
|
||||||
|
@ stdcall StrRetToStrW(ptr ptr ptr)
|
||||||
@ stdcall StrSpnA (str str)
|
@ stdcall StrSpnA (str str)
|
||||||
@ stdcall StrSpnW (wstr wstr)
|
@ stdcall StrSpnW (wstr wstr)
|
||||||
@ stdcall StrStrA(str str)
|
@ stdcall StrStrA(str str)
|
||||||
|
@ -788,52 +829,8 @@
|
||||||
@ stdcall UrlIsW(wstr long)
|
@ stdcall UrlIsW(wstr long)
|
||||||
@ stdcall UrlUnescapeA(str ptr ptr long)
|
@ stdcall UrlUnescapeA(str ptr ptr long)
|
||||||
@ stdcall UrlUnescapeW(wstr ptr ptr long)
|
@ stdcall UrlUnescapeW(wstr ptr ptr long)
|
||||||
|
@ stdcall _SHGetInstanceExplorer(ptr)
|
||||||
@ varargs wnsprintfA(ptr long str)
|
@ varargs wnsprintfA(ptr long str)
|
||||||
@ varargs wnsprintfW(ptr long wstr)
|
@ varargs wnsprintfW(ptr long wstr)
|
||||||
@ stdcall wvnsprintfA(ptr long str ptr)
|
@ stdcall wvnsprintfA(ptr long str ptr)
|
||||||
@ stdcall wvnsprintfW(ptr long wstr ptr)
|
@ stdcall wvnsprintfW(ptr long wstr ptr)
|
||||||
|
|
||||||
|
|
||||||
# exported in later versions
|
|
||||||
@ stdcall AssocIsDangerous(long)
|
|
||||||
@ stdcall StrRetToBufA(ptr ptr ptr long)
|
|
||||||
@ stdcall StrRetToBufW(ptr ptr ptr long)
|
|
||||||
@ stdcall StrRetToBSTR(ptr ptr ptr)
|
|
||||||
@ stdcall StrRetToStrA(ptr ptr ptr)
|
|
||||||
@ stdcall StrRetToStrW(ptr ptr ptr)
|
|
||||||
@ stdcall SHRegGetPathA(long str str ptr long)
|
|
||||||
@ stdcall SHRegGetPathW(long wstr wstr ptr long)
|
|
||||||
@ stdcall PathIsDirectoryEmptyA(str)
|
|
||||||
@ stdcall PathIsDirectoryEmptyW(wstr)
|
|
||||||
@ stdcall PathIsNetworkPathA(str)
|
|
||||||
@ stdcall PathIsNetworkPathW(wstr)
|
|
||||||
@ stdcall PathIsLFNFileSpecA(str)
|
|
||||||
@ stdcall PathIsLFNFileSpecW(wstr)
|
|
||||||
@ stdcall PathFindSuffixArrayA(str ptr long)
|
|
||||||
@ stdcall PathFindSuffixArrayW(wstr ptr long)
|
|
||||||
@ stdcall _SHGetInstanceExplorer(ptr)
|
|
||||||
@ stdcall PathUndecorateA(str)
|
|
||||||
@ stdcall PathUndecorateW(wstr)
|
|
||||||
@ stdcall PathUnExpandEnvStringsA(str ptr long)
|
|
||||||
@ stdcall PathUnExpandEnvStringsW(wstr ptr long)
|
|
||||||
@ stdcall SHCopyKeyA(long str long long)
|
|
||||||
@ stdcall SHCopyKeyW(long wstr long long)
|
|
||||||
@ stdcall SHAutoComplete(ptr long)
|
|
||||||
@ stdcall SHCreateStreamOnFileA(str long ptr)
|
|
||||||
@ stdcall SHCreateStreamOnFileW(wstr long ptr)
|
|
||||||
@ stdcall SHCreateStreamOnFileEx(wstr long long long ptr ptr)
|
|
||||||
@ stdcall SHCreateStreamWrapper(ptr ptr long ptr)
|
|
||||||
@ stdcall SHGetThreadRef (ptr)
|
|
||||||
@ stdcall SHRegDuplicateHKey (long)
|
|
||||||
@ stdcall SHRegSetPathA(long str str str long)
|
|
||||||
@ stdcall SHRegSetPathW(long wstr wstr wstr long)
|
|
||||||
@ stdcall SHRegisterValidateTemplate(wstr long)
|
|
||||||
@ stdcall SHSetThreadRef (ptr)
|
|
||||||
@ stdcall SHReleaseThreadRef()
|
|
||||||
@ stdcall SHSkipJunction(ptr ptr)
|
|
||||||
@ stdcall SHStrDupA (str ptr)
|
|
||||||
@ stdcall SHStrDupW (wstr ptr)
|
|
||||||
@ stdcall StrFormatByteSize64A(long long ptr long)
|
|
||||||
@ stdcall StrFormatKBSizeA(long long str long)
|
|
||||||
@ stdcall StrFormatKBSizeW(long long wstr long)
|
|
||||||
@ stdcall StrCmpLogicalW(wstr wstr)
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue