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);
ACPI_SIZE strlen(const char *String)
#define WINE_DEFAULT_DEBUG_CHANNEL(t)
#define RegCloseKey(hKey)
static TAGREF LPCWSTR LPDWORD LPVOID lpBuffer
LONG WINAPI RegOpenKeyExW(HKEY hKey, LPCWSTR lpSubKey, DWORD ulOptions, REGSAM samDesired, PHKEY phkResult)
LONG WINAPI RegQueryValueExW(_In_ HKEY hkeyorg, _In_ LPCWSTR name, _In_ LPDWORD reserved, _In_ LPDWORD type, _In_ LPBYTE data, _In_ LPDWORD count)
#define RtlUlongByteSwap(_x)
#define GetProcAddress(x, y)
#define HeapFree(x, y, z)
#define MultiByteToWideChar
DWORD WINAPI ExpandEnvironmentStringsW(IN LPCWSTR lpSrc, IN LPWSTR lpDst, IN DWORD nSize)
BOOL WINAPI IsBadReadPtr(IN LPCVOID lp, IN UINT_PTR ucb)
BOOL NTAPI IsBadStringPtrA(IN LPCSTR lpsz, IN UINT_PTR ucchMax)
HINSTANCE WINAPI DECLSPEC_HOTPATCH LoadLibraryA(LPCSTR lpLibFileName)
int WINAPI lstrcmpW(LPCWSTR str1, LPCWSTR str2)
LANGID WINAPI GetUserDefaultUILanguage(void)
int WINAPI lstrcmpiW(LPCWSTR str1, LPCWSTR str2)
HRESULT WINAPI WrapCompressedRTFStream(LPSTREAM compressed, ULONG flags, LPSTREAM *uncompressed)
LONGLONG WINAPI MAPI32_FtNegFt(FILETIME ft)
HRESULT WINAPI HrQueryAllRows(LPMAPITABLE lpTable, LPSPropTagArray lpPropTags, LPSRestriction lpRestriction, LPSSortOrderSet lpSortOrderSet, LONG crowsMax, LPSRowSet *lppRows)
LONGLONG WINAPI MAPI32_FtMulDwDw(DWORD dwLeft, DWORD dwRight)
INT WINAPI MNLS_CompareStringW(DWORD dwCp, LPCWSTR lpszLeft, LPCWSTR lpszRight)
CMC_return_code WINAPI cmc_query_configuration(CMC_session_id session, CMC_enum item, CMC_buffer reference, CMC_extension *config_extensions)
void unload_mapi_providers(void)
HRESULT WINAPI HrDispatchNotifications(ULONG flags)
BOOL WINAPI FGetComponentPath(LPCSTR component, LPCSTR qualifier, LPSTR dll_path, DWORD dll_path_length, BOOL install)
INT WINAPI MNLS_lstrcmpW(LPCWSTR lpszLeft, LPCWSTR lpszRight)
LPVOID * LPMAPIALLOCBUFFER
BOOL WINAPI IsBadBoundedStringPtr(LPCSTR lpszStr, ULONG ulLen)
LONGLONG WINAPI MAPI32_FtSubFt(FILETIME ftLeft, FILETIME ftRight)
SCODE WINAPI ScInitMapiUtil(ULONG ulReserved)
void WINAPI HexFromBin(LPBYTE lpHex, int iCount, LPWSTR lpszOut)
UINT WINAPI UFromSz(LPCSTR lpszStr)
void load_mapi_providers(void)
static const BYTE digitsToHex[]
VOID WINAPI SwapPlong(PULONG lpData, ULONG ulLen)
MAPI_FUNCTIONS mapiFunctions
BOOL WINAPI FBadEntryList(LPENTRYLIST lpEntryList)
HRESULT WINAPI WrapProgress(PVOID unk1, PVOID unk2, PVOID unk3, PVOID unk4, PVOID unk5)
ULONG WINAPI UlFromSzHex(LPCWSTR lpszHex)
static void load_mapi_provider(HKEY hkeyMail, LPCWSTR valueName, HMODULE *mapi_provider)
HRESULT WINAPI HrThisThreadAdviseSink(LPMAPIADVISESINK lpSink, LPMAPIADVISESINK *lppNewSink)
HRESULT WINAPI OpenStreamOnFile(LPALLOCATEBUFFER lpAlloc, LPFREEBUFFER lpFree, ULONG ulFlags, LPWSTR lpszPath, LPWSTR lpszPrefix, LPSTREAM *lppStream)
ULONG WINAPI UlRelease(void *lpUnk)
LONGLONG WINAPI MAPI32_FtAddFt(FILETIME ftLeft, FILETIME ftRight)
ULONG WINAPI UlAddRef(void *lpUnk)
LONGLONG WINAPI MAPI32_FtMulDw(DWORD dwLeft, FILETIME ftRight)
static HMODULE mapi_provider
BOOL WINAPI FBinFromHex(LPWSTR lpszHex, LPBYTE lpOut)
VOID WINAPI DeinitMapiUtil(void)
static HMODULE mapi_ex_provider
ULONG WINAPI MNLS_lstrcpyW(LPWSTR lpszDest, LPCWSTR lpszSrc)
BOOL WINAPI FEqualNames(LPMAPINAMEID lpName1, LPMAPINAMEID lpName2)
ULONG WINAPI MNLS_lstrlenW(LPCWSTR lpszStr)
VOID WINAPI SwapPword(PUSHORT lpData, ULONG ulLen)
ULONG WINAPI CbOfEncoded(LPCSTR lpszEnc)
HRESULT WINAPI SHCreateStreamOnFileEx(LPCWSTR lpszPath, DWORD dwMode, DWORD dwAttributes, BOOL bCreate, IStream *lpTemplate, IStream **lppStream)
static const CHAR hexDigits[]
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
const char * appName(const char *argv0)
LPWSTR WINAPI lstrcatW(LPWSTR lpString1, LPCWSTR lpString2)
MAPIFREEBUFFER MAPIFreeBuffer
#define MAPI_E_NOT_ENOUGH_MEMORY
#define MAPI_E_INVALID_PARAMETER
#define MAPI_E_NO_SUPPORT
#define MAPI_E_CALL_FAILED
struct IMAPIAdviseSink * LPMAPIADVISESINK
FREEBUFFER * LPFREEBUFFER
#define IMAPIAdviseSink_AddRef(p)
ALLOCATEBUFFER * LPALLOCATEBUFFER
#define SOF_UNIQUEFILENAME
MAPIALLOCATEBUFFER MAPIAllocateBuffer
MAPIALLOCATEMORE MAPIAllocateMore
#define memcpy(s1, s2, n)
#define sprintf(buf, format,...)
static APTTYPEQUALIFIER * qualifier
static const BYTE uncompressed[]
interface IStream * LPSTREAM
#define IsEqualGUID(rguid1, rguid2)
LPMAPISENDMAIL MAPISendMail
LPMAPILOGONEX MAPILogonEx
LPMAPIDELETEMAIL MAPIDeleteMail
LPMAPISENDDOCUMENTS MAPISendDocuments
LPMAPIINITIALIZE MAPIInitialize
LPMAPISAVEMAIL MAPISaveMail
LPMAPIFINDNEXT MAPIFindNext
LPMAPIRESOLVENAME MAPIResolveName
LPMAPIREADMAIL MAPIReadMail
LPMAPIADDRESS MAPIAddress
LPMAPIUNINITIALIZE MAPIUninitialize
LPMAPISENDMAILW MAPISendMailW
LPMAPIDETAILS MAPIDetails
union _MAPINAMEID::@3029 Kind
_In_ SURFOBJ _In_ CLIPOBJ _In_opt_ XLATEOBJ _In_ RECTL _In_ RECTL _In_ ULONG _In_ ULONG ulReserved
#define CSTR_GREATER_THAN
#define HKEY_LOCAL_MACHINE
CMC_uint32 CMC_return_code
CMC_uint32 CMC_session_id
#define CMC_E_NOT_SUPPORTED
#define RtlUshortByteSwap(_x)