bpo-40150: Fix mismatched argument in RegisterWaitForSingleObject() call (GH-19686)

(cherry picked from commit af4eda46d1538b1da700a86588bdb94b0a4d1ff2)

Co-authored-by: Zackery Spytz <zspytz@gmail.com>
diff --git a/Modules/overlapped.c b/Modules/overlapped.c
index df6282c..cd7869f 100644
--- a/Modules/overlapped.c
+++ b/Modules/overlapped.c
@@ -254,7 +254,7 @@
 };
 
 static VOID CALLBACK
-PostToQueueCallback(PVOID lpParameter, BOOL TimerOrWaitFired)
+PostToQueueCallback(PVOID lpParameter, BOOLEAN TimerOrWaitFired)
 {
     struct PostCallbackData *p = (struct PostCallbackData*) lpParameter;
 
@@ -295,8 +295,7 @@
     *pdata = data;
 
     if (!RegisterWaitForSingleObject(
-            &NewWaitObject, Object, (WAITORTIMERCALLBACK)PostToQueueCallback,
-            pdata, Milliseconds,
+            &NewWaitObject, Object, PostToQueueCallback, pdata, Milliseconds,
             WT_EXECUTEINWAITTHREAD | WT_EXECUTEONLYONCE))
     {
         PyMem_RawFree(pdata);