Avoid non-standard types.

diff --git a/include/rpcdcep.h b/include/rpcdcep.h
index cbea950..5d54e88 100644
--- a/include/rpcdcep.h
+++ b/include/rpcdcep.h
@@ -93,8 +93,6 @@
 #define TRANSPORT_TYPE_LPC  0x04
 #define TRANSPORT_TYPE_WMSG 0x08
 
-typedef RPC_STATUS (*RPC_BLOCKING_FN)(void* hWnd, void* Context, HANDLE hSyncEvent);
-
 RPCRTAPI RPC_STATUS RPC_ENTRY
   I_RpcGetBuffer( RPC_MESSAGE* Message );
 RPCRTAPI RPC_STATUS RPC_ENTRY
@@ -116,8 +114,23 @@
 RPCRTAPI RPC_BINDING_HANDLE RPC_ENTRY
   I_RpcGetCurrentCallHandle( void );
 
+/*
+ * The platform SDK headers don't define these functions at all if WINNT is defined
+ * The MSVC6 headers define two different sets of functions :
+ *  If WINNT and MSWMSG are defined, the NT versions are defined
+ *  If WINNT is not defined, the windows 9x versions are defined.
+ * Note that the prototypes for I_RpcBindingSetAsync are different for each case.
+ *
+ * Wine defaults to the WinNT case and only defines these function is MSWMSG is
+ *  defined. Defining the NT functions by default causes MIDL generated proxys
+ *  to not compile.
+ */
+
+#if 1  /* WINNT */
+#ifdef MSWMSG
+
 RPCRTAPI RPC_STATUS RPC_ENTRY
-  I_RpcServerStartListening( void* hWnd );
+  I_RpcServerStartListening( HWND hWnd );
 RPCRTAPI RPC_STATUS RPC_ENTRY
   I_RpcServerStopListening( void );
 /* WINNT */
@@ -126,21 +139,42 @@
 RPCRTAPI RPC_STATUS RPC_ENTRY
   I_RpcAsyncSendReceive( RPC_MESSAGE* Message, void* Context, HWND hWnd );
 
+typedef RPC_STATUS (*RPC_BLOCKING_FN)(void* hWnd, void* Context, HANDLE hSyncEvent);
+
 RPCRTAPI RPC_STATUS RPC_ENTRY
   I_RpcBindingSetAsync( RPC_BINDING_HANDLE Binding, RPC_BLOCKING_FN BlockingFn );
 
-/* WIN9x */
-RPCRTAPI RPC_STATUS RPC_ENTRY
-  I_RpcSetThreadParams( int fClientFree, void* Context, void* hWndClient );
-
 RPCRTAPI UINT RPC_ENTRY
   I_RpcWindowProc( void* hWnd, UINT Message, UINT wParam, ULONG lParam );
 
-/* WINNT */
 RPCRTAPI RPC_STATUS RPC_ENTRY
   I_RpcSetWMsgEndpoint( WCHAR* Endpoint );
 
 RPCRTAPI RPC_STATUS RPC_ENTRY
   I_RpcBindingInqTransportType( RPC_BINDING_HANDLE Binding, unsigned int* Type );
 
+#endif
+
+#else
+
+/* WIN9x */
+RPCRTAPI RPC_STATUS RPC_ENTRY
+  I_RpcServerStartListening( void* hWnd );
+
+RPCRTAPI RPC_STATUS RPC_ENTRY
+  I_RpcServerStopListening( void );
+
+typedef RPC_STATUS (*RPC_BLOCKING_FN)(void* hWnd, void* Context, void* hSyncEvent);
+
+RPCRTAPI RPC_STATUS RPC_ENTRY
+  I_RpcBindingSetAsync( RPC_BINDING_HANDLE Binding, RPC_BLOCKING_FN BlockingFn, unsigned long ServerTid );
+
+RPCRTAPI RPC_STATUS RPC_ENTRY
+  I_RpcSetThreadParams( int fClientFree, void* Context, void* hWndClient );
+
+RPCRTAPI UINT RPC_ENTRY
+  I_RpcWindowProc( void* hWnd, unsigned int Message, unsigned int wParam, unsigned long lParam );
+
+#endif
+
 #endif /*__WINE_RPCDCEP_H */