44 0,1,2,3,4,5,6,7,8,9,0xff,0xff,0xff,0xff,0xff,0xff,0xff,10,11,12,13,14,15,
45 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
46 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,10,11,12,13,
129 TRACE(
"(%d,%p)\n", cbSize, lppBuffer);
141 TRACE(
"initial allocation:%p, returning %p\n", lpBuff, lpBuff + 1);
172 TRACE(
"(%d,%p,%p)\n", cbSize, lpOrig, lppBuffer);
175 return mapiFunctions.MAPIAllocateMore(cbSize, lpOrig, lppBuffer);
177 if (!lppBuffer || !lpBuff || !--lpBuff)
183 TRACE(
"linked:%p->%p\n", lpBuff, *lpBuff);
190 TRACE(
"linking %p->%p\n", lpBuff, *lpBuff);
216 if (lpBuff && --lpBuff)
224 TRACE(
"linked:%p->%p, freeing %p\n", lpFree, lpBuff, lpFree);
265 return mapiFunctions.HrThisThreadAdviseSink(lpSink, lppNewSink);
267 FIXME(
"(%p,%p)semi-stub\n", lpSink, lppNewSink);
269 if (!lpSink || !lppNewSink)
273 *lppNewSink = lpSink;
302 TRACE(
"(%p,%p)\n", lpszHex, lpOut);
306 if (lpStr[0] <
'0' || lpStr[0] >
'f' ||
digitsToHex[lpStr[0] -
'0'] == 0xff ||
307 lpStr[1] <
'0' || lpStr[1] >
'f' ||
digitsToHex[lpStr[1] -
'0'] == 0xff)
338 static const char hexDigits[] = {
"0123456789ABCDEF" };
341 TRACE(
"(%p,%d,%p)\n", lpHex, iCount, lpszOut);
368 for (
i = 0;
i < ulLen;
i++)
388 for (
i = 0;
i < ulLen;
i++)
425 return lstrcmpW(lpszLeft, lpszRight);
488 TRACE(
"(%p,%p)\n", lpName1, lpName2);
490 if (!lpName1 || !lpName2 ||
629 TRACE(
"(%p)\n", lpUnk);
633 return IUnknown_AddRef((
LPUNKNOWN)lpUnk);
654 TRACE(
"(%p)\n", lpUnk);
658 return IUnknown_Release((
LPUNKNOWN)lpUnk);
685 while (*lpszStr >=
'0' && *lpszStr <=
'9')
687 ulRet = ulRet * 10 + (*lpszStr -
'0');
720 TRACE(
"(%p,%p,0x%08x,%s,%s,%p)\n", lpAlloc, lpFree, ulFlags,
724 return mapiFunctions.OpenStreamOnFile(lpAlloc, lpFree, ulFlags, lpszPath, lpszPrefix, lppStream);
731 FIXME(
"Should generate a temporary name\n");
735 if (!lpszPath || !lppStream)
774 if (lpStr[0] <
'0' || lpStr[0] >
'f' ||
digitsToHex[lpStr[0] -
'0'] == 0xff ||
775 lpStr[1] <
'0' || lpStr[1] >
'f' ||
digitsToHex[lpStr[1] -
'0'] == 0xff)
830 ulRet = (((
strlen(lpszEnc) | 3) >> 2) + 1) * 3;
898 pMsiProvideQualifiedComponentA = (
void *)
GetProcAddress(hmsi,
"MsiProvideQualifiedComponentA");
899 if (pMsiProvideQualifiedComponentA)
901 static const char *
const fmt[] = {
"%d\\NT",
"%d\\95",
"%d" };
914 if (pMsiProvideQualifiedComponentA(component,
qualifier,
938 return mapiFunctions.HrQueryAllRows(lpTable, lpPropTags, lpRestriction, lpSortOrderSet, crowsMax, lppRows);
940 FIXME(
"(%p, %p, %p, %p, %d, %p): stub\n", lpTable, lpPropTags, lpRestriction, lpSortOrderSet, crowsMax, lppRows);
969 static const WCHAR mapi32_dll[] = {
'm',
'a',
'p',
'i',
'3',
'2',
'.',
'd',
'l',
'l',0 };
971 DWORD dwType, dwLen = 0;
1001 dllPath = dllPathExpanded;
1025 static const WCHAR regkey_mail[] = {
1026 'S',
'o',
'f',
't',
'w',
'a',
'r',
'e',
'\\',
'C',
'l',
'i',
'e',
'n',
't',
's',
'\\',
1027 'M',
'a',
'i',
'l',0 };
1029 static const WCHAR regkey_dllpath[] = {
'D',
'L',
'L',
'P',
'a',
't',
'h',0 };
1030 static const WCHAR regkey_dllpath_ex[] = {
'D',
'L',
'L',
'P',
'a',
't',
'h',
'E',
'x',0 };
1031 static const WCHAR regkey_backslash[] = {
'\\', 0 };
1034 DWORD dwType, dwLen = 0;
1065 lstrcatW(appKey, regkey_backslash);
LPMAPIDETAILS MAPIDetails
ULONG WINAPI UlRelease(void *lpUnk)
LANGID WINAPI GetUserDefaultUILanguage(void)
WINE_DEFAULT_DEBUG_CHANNEL(d3dx)
static AsnOctetString UINT
#define CSTR_GREATER_THAN
LONGLONG WINAPI MAPI32_FtMulDwDw(DWORD dwLeft, DWORD dwRight)
INT WINAPI MNLS_lstrcmpW(LPCWSTR lpszLeft, LPCWSTR lpszRight)
LONGLONG WINAPI MAPI32_FtMulDw(DWORD dwLeft, FILETIME ftRight)
ACPI_SIZE strlen(const char *String)
#define RtlUshortByteSwap(_x)
INT WINAPI MNLS_CompareStringW(DWORD dwCp, LPCWSTR lpszLeft, LPCWSTR lpszRight)
ULONG WINAPI MAPIFreeBuffer(LPVOID lpBuffer)
LPMAPIRESOLVENAME MAPIResolveName
int WINAPI lstrcmpW(LPCWSTR lpString1, LPCWSTR lpString2)
HRESULT WINAPI HrDispatchNotifications(ULONG flags)
BOOL WINAPI FGetComponentPath(LPCSTR component, LPCSTR qualifier, LPSTR dll_path, DWORD dll_path_length, BOOL install)
LONGLONG WINAPI MAPI32_FtNegFt(FILETIME ft)
BOOL WINAPI FEqualNames(LPMAPINAMEID lpName1, LPMAPINAMEID lpName2)
LPMAPIADDRESS MAPIAddress
#define IMAPIAdviseSink_AddRef(p)
ULONG WINAPI MNLS_lstrcpyW(LPWSTR lpszDest, LPCWSTR lpszSrc)
#define MAPI_E_NOT_ENOUGH_MEMORY
interface IStream * LPSTREAM
BOOL WINAPI IsBadBoundedStringPtr(LPCSTR lpszStr, ULONG ulLen)
VOID WINAPI SwapPword(PUSHORT lpData, ULONG ulLen)
#define CMC_E_NOT_SUPPORTED
LONGLONG WINAPI MAPI32_FtSubFt(FILETIME ftLeft, FILETIME ftRight)
static const BYTE uncompressed[]
int WINAPI lstrcmpiW(LPCWSTR lpString1, LPCWSTR lpString2)
HRESULT WINAPI WrapProgress(PVOID unk1, PVOID unk2, PVOID unk3, PVOID unk4, PVOID unk5)
#define MAPI_E_NO_SUPPORT
CMC_uint32 CMC_session_id
#define sprintf(buf, format,...)
UINT WINAPI UFromSz(LPCSTR lpszStr)
LPMAPILOGONEX MAPILogonEx
static const CHAR hexDigits[]
BOOL WINAPI FBinFromHex(LPWSTR lpszHex, LPBYTE lpOut)
LONGLONG WINAPI MAPI32_FtAddFt(FILETIME ftLeft, FILETIME ftRight)
HINSTANCE WINAPI DECLSPEC_HOTPATCH LoadLibraryA(LPCSTR lpLibFileName)
union _MAPINAMEID::@2971 Kind
static HMODULE mapi_ex_provider
static TAGREF LPCWSTR LPDWORD LPVOID lpBuffer
LPMAPISENDDOCUMENTS MAPISendDocuments
static APTTYPEQUALIFIER * qualifier
LPMAPISENDMAIL MAPISendMail
BOOL WINAPI FBadEntryList(LPENTRYLIST lpEntryList)
LPMAPIREADMAIL MAPIReadMail
#define MAPI_E_INVALID_PARAMETER
struct IMAPIAdviseSink * LPMAPIADVISESINK
void WINAPI HexFromBin(LPBYTE lpHex, int iCount, LPWSTR lpszOut)
LPMAPIDELETEMAIL MAPIDeleteMail
LPMAPIUNINITIALIZE MAPIUninitialize
CMC_uint32 CMC_return_code
HRESULT WINAPI HrThisThreadAdviseSink(LPMAPIADVISESINK lpSink, LPMAPIADVISESINK *lppNewSink)
PVOID WINAPI HeapAlloc(HANDLE, DWORD, SIZE_T)
LONG WINAPI RegQueryValueExW(_In_ HKEY hkeyorg, _In_ LPCWSTR name, _In_ LPDWORD reserved, _In_ LPDWORD type, _In_ LPBYTE data, _In_ LPDWORD count)
ULONG WINAPI CbOfEncoded(LPCSTR lpszEnc)
_In_ SURFOBJ _In_ CLIPOBJ _In_opt_ XLATEOBJ _In_ RECTL _In_ RECTL _In_ ULONG _In_ ULONG ulReserved
HRESULT WINAPI HrQueryAllRows(LPMAPITABLE lpTable, LPSPropTagArray lpPropTags, LPSRestriction lpRestriction, LPSSortOrderSet lpSortOrderSet, LONG crowsMax, LPSRowSet *lppRows)
ALLOCATEBUFFER * LPALLOCATEBUFFER
SCODE WINAPI MAPIAllocateBuffer(ULONG cbSize, LPVOID *lppBuffer)
LPMAPISAVEMAIL MAPISaveMail
SCODE WINAPI ScInitMapiUtil(ULONG ulReserved)
HRESULT WINAPI SHCreateStreamOnFileEx(LPCWSTR lpszPath, DWORD dwMode, DWORD dwAttributes, BOOL bCreate, IStream *lpTemplate, IStream **lppStream)
LPMAPIFINDNEXT MAPIFindNext
static const BYTE digitsToHex[]
MAPI_FUNCTIONS mapiFunctions
#define memcpy(s1, s2, n)
void load_mapi_providers(void)
void unload_mapi_providers(void)
#define RtlUlongByteSwap(_x)
VOID WINAPI SwapPlong(PULONG lpData, ULONG ulLen)
static HMODULE mapi_provider
HRESULT WINAPI WrapCompressedRTFStream(LPSTREAM compressed, ULONG flags, LPSTREAM *uncompressed)
ULONG WINAPI MNLS_lstrlenW(LPCWSTR lpszStr)
#define MAPI_E_CALL_FAILED
BOOL NTAPI IsBadStringPtrA(IN LPCSTR lpsz, IN UINT_PTR ucchMax)
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
ULONG WINAPI UlFromSzHex(LPCWSTR lpszHex)
BOOL WINAPI IsBadReadPtr(IN LPCVOID lp, IN UINT_PTR ucb)
BOOL WINAPI IsEqualGUID(REFGUID rguid1, REFGUID rguid2)
DWORD WINAPI ExpandEnvironmentStringsW(IN LPCWSTR lpSrc, IN LPWSTR lpDst, IN DWORD nSize)
#define MultiByteToWideChar
VOID WINAPI DeinitMapiUtil(void)
static void load_mapi_provider(HKEY hkeyMail, LPCWSTR valueName, HMODULE *mapi_provider)
LONG WINAPI RegOpenKeyExW(HKEY hKey, LPCWSTR lpSubKey, DWORD ulOptions, REGSAM samDesired, PHKEY phkResult)
const char * appName(const char *argv0)
#define GetProcAddress(x, y)
#define SOF_UNIQUEFILENAME
FREEBUFFER * LPFREEBUFFER
CMC_return_code WINAPI cmc_query_configuration(CMC_session_id session, CMC_enum item, CMC_buffer reference, CMC_extension *config_extensions)
LPWSTR WINAPI lstrcatW(LPWSTR lpString1, LPCWSTR lpString2)
LPMAPIINITIALIZE MAPIInitialize
LPVOID * LPMAPIALLOCBUFFER
ULONG WINAPI UlAddRef(void *lpUnk)
LPMAPISENDMAILW MAPISendMailW
SCODE WINAPI MAPIAllocateMore(ULONG cbSize, LPVOID lpOrig, LPVOID *lppBuffer)
#define HeapFree(x, y, z)
#define RegCloseKey(hKey)
#define HKEY_LOCAL_MACHINE
HRESULT WINAPI OpenStreamOnFile(LPALLOCATEBUFFER lpAlloc, LPFREEBUFFER lpFree, ULONG ulFlags, LPWSTR lpszPath, LPWSTR lpszPrefix, LPSTREAM *lppStream)