diff -urN pywin32-b304-orig/isapi/src/PyExtensionObjects.cpp pywin32-b304/isapi/src/PyExtensionObjects.cpp --- pywin32-b304-orig/isapi/src/PyExtensionObjects.cpp 2022-05-02 15:48:48.000000000 +0800 +++ pywin32-b304/isapi/src/PyExtensionObjects.cpp 2022-11-06 01:33:42.690804700 +0800 @@ -803,7 +803,7 @@ BOOL bRes; Py_BEGIN_ALLOW_THREADS bRes = - ecb->ServerSupportFunction(ecb->ConnID, HSE_REQ_IO_COMPLETION, DoIOCallback, NULL, NULL); + ecb->ServerSupportFunction(ecb->ConnID, HSE_REQ_IO_COMPLETION, (LPVOID)DoIOCallback, NULL, NULL); Py_END_ALLOW_THREADS if (!bRes) return SetPyECBError("ServerSupportFunction(HSE_REQ_IO_COMPLETION)"); Py_RETURN_NONE; } diff -urN pywin32-b304-orig/isapi/src/PyFilterObjects.cpp pywin32-b304/isapi/src/PyFilterObjects.cpp --- pywin32-b304-orig/isapi/src/PyFilterObjects.cpp 2022-05-02 15:48:48.000000000 +0800 +++ pywin32-b304/isapi/src/PyFilterObjects.cpp 2022-11-06 01:33:42.705805600 +0800 @@ -306,7 +306,7 @@ // The Java code passes "\r\n" as first DWORD, and header in second, // but docs clearly have second as unused. Either way, I can't see the // specific header! - bRes = phfc->m_pfc->ServerSupportFunction(SF_REQ_SEND_RESPONSE_HEADER, status, (DWORD)header, 0); + bRes = phfc->m_pfc->ServerSupportFunction(SF_REQ_SEND_RESPONSE_HEADER, status, (DWORD_PTR)header, 0); Py_END_ALLOW_THREADS if (!bRes) return SetPyHFCError("SendResponseHeader"); Py_INCREF(Py_None); return Py_None; diff -urN pywin32-b304-orig/isapi/src/PythonEng.h pywin32-b304/isapi/src/PythonEng.h --- pywin32-b304-orig/isapi/src/PythonEng.h 2022-05-02 15:48:48.000000000 +0800 +++ pywin32-b304/isapi/src/PythonEng.h 2022-11-06 01:33:42.714806100 +0800 @@ -63,7 +63,7 @@ PyObject *DoCallback(HANDLER_TYPE typ, PyObject *args); bool LoadHandler(bool reload); - bool CPythonHandler::CheckCallback(const char *cbname, PyObject **cb); + bool CheckCallback(const char *cbname, PyObject **cb); const char *m_namefactory; const char *m_nameinit; const char *m_namedo;