diff -urN pywin32-221.orig/com/win32comext/mapi/src/PyIMAPISession.cpp pywin32-221/com/win32comext/mapi/src/PyIMAPISession.cpp
--- pywin32-221.orig/com/win32comext/mapi/src/PyIMAPISession.cpp	2017-09-15 10:38:01.000000000 +0100
+++ pywin32-221/com/win32comext/mapi/src/PyIMAPISession.cpp	2017-09-15 10:37:42.000000000 +0100
@@ -775,7 +775,11 @@
 	IMAPIAdviseSink *psink = NULL;
 	if (!PyCom_InterfaceFromPyObject(obSink, IID_IMAPIAdviseSink, (void **)&psink, FALSE))
 		return NULL;
-	unsigned long connection;
+#if _MSC_VER >= 1900
+		ULONG_PTR connection;
+#else
+		ULONG connection;
+#endif
 	HRESULT _result;
 	PyObject *rc;
 	Py_BEGIN_ALLOW_THREADS
diff -urN pywin32-221.orig/com/win32comext/mapi/src/PyIMAPITable.cpp pywin32-221/com/win32comext/mapi/src/PyIMAPITable.cpp
--- pywin32-221.orig/com/win32comext/mapi/src/PyIMAPITable.cpp	2017-09-15 10:38:01.000000000 +0100
+++ pywin32-221/com/win32comext/mapi/src/PyIMAPITable.cpp	2017-09-15 10:37:42.000000000 +0100
@@ -673,8 +673,13 @@
     HRESULT  _result;
     unsigned long  _arg0;
     IMAPIAdviseSink * _arg1;
-    unsigned long * _arg2;
-    unsigned long  temp;
+#if _MSC_VER >= 1900
+    ULONG_PTR * _arg2;
+    ULONG_PTR  temp;
+#else
+    ULONG * _arg2;
+    ULONG  temp;
+#endif
     PyObject * _obj1 = 0;
 
 {
@@ -1261,8 +1266,13 @@
 PyObject *PyIMAPITable::CreateBookmark(PyObject *self, PyObject *args) {
     PyObject * _resultobj;
     HRESULT  _result;
-    unsigned long * _arg0;
-    unsigned long  temp;
+#if _MSC_VER >= 1900
+    ULONG_PTR * _arg0;
+    ULONG_PTR  temp;
+#else
+    ULONG * _arg0;
+    ULONG  temp;
+#endif
 
 {
   _arg0 = &temp;
diff -urN pywin32-221.orig/com/win32comext/mapi/src/PyIMsgStore.cpp pywin32-221/com/win32comext/mapi/src/PyIMsgStore.cpp
--- pywin32-221.orig/com/win32comext/mapi/src/PyIMsgStore.cpp	2017-09-15 10:37:51.000000000 +0100
+++ pywin32-221/com/win32comext/mapi/src/PyIMsgStore.cpp	2017-09-15 10:45:25.000000000 +0100
@@ -832,7 +832,11 @@
 	LPENTRYID eid;
 	ULONG ulEventMask;
 	LPMAPIADVISESINK lpAdviseSink;
+#if _MSC_VER >= 1900
+	ULONG_PTR lpulConnection;
+#else
 	ULONG lpulConnection;
+#endif
 
 	IMsgStore *_swig_self;
 	if ((_swig_self=GetI(self))==NULL) return NULL;
