Sync to Wine-20050830:
Robert Shearman <rob@codeweavers.com>
- Don't free previous buffer in NdrGetBuffer.
- Add stubs for NdrMapCommAndFaultStatus, conformant string marshaling
  and context handle functions.
Alexandre Julliard <julliard@winehq.org>
- Don't prefix the functions DllCanUnloadNow, DllGetClassObject and
  Dll(Un)RegisterServer with the dll name so that the compiler can check
  the prototypes.
Mike McCormack <mike@codeweavers.com>
- Fix some gcc 4.0 warnings.
Deleted: trunk/reactos/lib/rpcrt4/Makefile.in
Modified: trunk/reactos/lib/rpcrt4/cpsf.c
Modified: trunk/reactos/lib/rpcrt4/ndr_marshall.c
Modified: trunk/reactos/lib/rpcrt4/ndr_midl.c
Modified: trunk/reactos/lib/rpcrt4/rpc_epmap.c
Modified: trunk/reactos/lib/rpcrt4/rpc_message.c
Modified: trunk/reactos/lib/rpcrt4/rpc_server.c
Modified: trunk/reactos/lib/rpcrt4/rpcrt4.spec
Modified: trunk/reactos/lib/rpcrt4/rpcrt4_main.c

Deleted: trunk/reactos/lib/rpcrt4/Makefile.in
--- trunk/reactos/lib/rpcrt4/Makefile.in	2005-09-05 22:09:45 UTC (rev 17682)
+++ trunk/reactos/lib/rpcrt4/Makefile.in	2005-09-05 22:20:04 UTC (rev 17683)
@@ -1,30 +0,0 @@
-EXTRADEFS = -D_RPCRT4_ -DCOM_NO_WINDOWS_H -DMSWMSG
-TOPSRCDIR = @top_srcdir@
-TOPOBJDIR = ../..
-SRCDIR    = @srcdir@
-VPATH     = @srcdir@
-MODULE    = rpcrt4.dll
-IMPORTLIB = librpcrt4.$(IMPLIBEXT)
-IMPORTS   = iphlpapi advapi32 kernel32 ntdll
-EXTRALIBS = -luuid
-
-C_SRCS = \
-	cproxy.c \
-	cpsf.c \
-	cstub.c \
-	ndr_marshall.c \
-	ndr_midl.c \
-	ndr_ole.c \
-	ndr_stubless.c \
-	rpc_binding.c \
-	rpc_epmap.c \
-	rpc_message.c \
-	rpc_server.c \
-	rpcrt4_main.c \
-	rpcss_np_client.c
-
-SUBDIRS = tests
-
-@MAKE_DLL_RULES@
-
-### Dependencies:

Modified: trunk/reactos/lib/rpcrt4/cpsf.c
--- trunk/reactos/lib/rpcrt4/cpsf.c	2005-09-05 22:09:45 UTC (rev 17682)
+++ trunk/reactos/lib/rpcrt4/cpsf.c	2005-09-05 22:20:04 UTC (rev 17683)
@@ -183,11 +183,11 @@
       if (RegCreateKeyExA(HKEY_CLASSES_ROOT, keyname, 0, NULL, 0,
                           KEY_WRITE, NULL, &key, NULL) == ERROR_SUCCESS) {
         if (name)
-          RegSetValueExA(key, NULL, 0, REG_SZ, name, strlen(name));
+          RegSetValueExA(key, NULL, 0, REG_SZ, (LPBYTE)name, strlen(name));
         if (RegCreateKeyExA(key, "ProxyStubClsid32", 0, NULL, 0,
                             KEY_WRITE, NULL, &subkey, NULL) == ERROR_SUCCESS) {
           snprintf(module, sizeof(module), "{%s}", clsid);
-          RegSetValueExA(subkey, NULL, 0, REG_SZ, module, strlen(module));
+          RegSetValueExA(subkey, NULL, 0, REG_SZ, (LPBYTE)module, strlen(module));
           RegCloseKey(subkey);
         }
         RegCloseKey(key);
@@ -205,7 +205,7 @@
                         KEY_WRITE, NULL, &key, NULL) == ERROR_SUCCESS) {
       if (RegCreateKeyExA(key, "InProcServer32", 0, NULL, 0,
                           KEY_WRITE, NULL, &subkey, NULL) == ERROR_SUCCESS) {
-        RegSetValueExA(subkey, NULL, 0, REG_SZ, module, strlen(module));
+        RegSetValueExA(subkey, NULL, 0, REG_SZ, (LPBYTE)module, strlen(module));
         RegCloseKey(subkey);
       }
       RegCloseKey(key);

Modified: trunk/reactos/lib/rpcrt4/ndr_marshall.c
--- trunk/reactos/lib/rpcrt4/ndr_marshall.c	2005-09-05 22:09:45 UTC (rev 17682)
+++ trunk/reactos/lib/rpcrt4/ndr_marshall.c	2005-09-05 22:20:04 UTC (rev 17683)
@@ -125,7 +125,8 @@
   NdrComplexArrayMarshall,
   /* 0x22 */
   NdrConformantStringMarshall, 0, 0,
-  NdrConformantStringMarshall, 0, 0, 0, 0,
+  NdrConformantStringMarshall,
+  NdrNonConformantStringMarshall, 0, 0, 0,
   /* 0x2a */
   NdrEncapsulatedUnionMarshall,
   NdrNonEncapsulatedUnionMarshall,
@@ -158,7 +159,8 @@
   NdrComplexArrayUnmarshall,
   /* 0x22 */
   NdrConformantStringUnmarshall, 0, 0,
-  NdrConformantStringUnmarshall, 0, 0, 0, 0,
+  NdrConformantStringUnmarshall,
+  NdrNonConformantStringUnmarshall, 0, 0, 0,
   /* 0x2a */
   NdrEncapsulatedUnionUnmarshall,
   NdrNonEncapsulatedUnionUnmarshall,
@@ -191,7 +193,8 @@
   NdrComplexArrayBufferSize,
   /* 0x22 */
   NdrConformantStringBufferSize, 0, 0,
-  NdrConformantStringBufferSize, 0, 0, 0, 0,
+  NdrConformantStringBufferSize,
+  NdrNonConformantStringBufferSize, 0, 0, 0,
   /* 0x2a */
   NdrEncapsulatedUnionBufferSize,
   NdrNonEncapsulatedUnionBufferSize,
@@ -220,7 +223,8 @@
   NdrComplexArrayMemorySize,
   /* 0x22 */
   NdrConformantStringMemorySize, 0, 0,
-  NdrConformantStringMemorySize, 0, 0, 0, 0,
+  NdrConformantStringMemorySize,
+  NdrNonConformantStringMemorySize, 0, 0, 0,
   /* 0x2a */
   0, 0, 0, 0, 0,
   /* 0x2f */
@@ -478,8 +482,8 @@
   }
   else if (*pFormat == RPC_FC_C_CSTRING) {
     /* we need 12 octets for the [maxlen, offset, len] DWORDS, + 1 octet for '\0' */
-    TRACE("string=%s\n", debugstr_a(pMemory));
-    pStubMsg->BufferLength += strlen(pMemory) + 13 + BUFFER_PARANOIA;
+    TRACE("string=%s\n", debugstr_a((char*)pMemory));
+    pStubMsg->BufferLength += strlen((char*)pMemory) + 13 + BUFFER_PARANOIA;
   }
   else if (*pFormat == RPC_FC_C_WSTRING) {
     /* we need 12 octets for the [maxlen, offset, len] DWORDS, + 2 octets for L'\0' */
@@ -582,7 +586,7 @@
   pStubMsg->Buffer += len*esize;
 
   if (*pFormat == RPC_FC_C_CSTRING) {
-    TRACE("string=%s\n", debugstr_a(pMem));
+    TRACE("string=%s\n", debugstr_a((char*)pMem));
   }
   else if (*pFormat == RPC_FC_C_WSTRING) {
     TRACE("string=%s\n", debugstr_w((LPWSTR)pMem));
@@ -591,6 +595,49 @@
   return NULL; /* FIXME: is this always right? */
 }
 
+/***********************************************************************
+ *           NdrNonConformantStringMarshall [RPCRT4.@]
+ */
+unsigned char *  WINAPI NdrNonConformantStringMarshall(PMIDL_STUB_MESSAGE pStubMsg,
+                                unsigned char *pMemory,
+                                PFORMAT_STRING pFormat)
+{
+    FIXME("stub\n");
+    return NULL;
+}
+
+/***********************************************************************
+ *           NdrNonConformantStringUnmarshall [RPCRT4.@]
+ */
+unsigned char *  WINAPI NdrNonConformantStringUnmarshall(PMIDL_STUB_MESSAGE pStubMsg,
+                                unsigned char **ppMemory,
+                                PFORMAT_STRING pFormat,
+                                unsigned char fMustAlloc)
+{
+    FIXME("stub\n");
+    return NULL;
+}
+
+/***********************************************************************
+ *           NdrNonConformantStringBufferSize [RPCRT4.@]
+ */
+void WINAPI NdrNonConformantStringBufferSize(PMIDL_STUB_MESSAGE pStubMsg,
+                                unsigned char *pMemory,
+                                PFORMAT_STRING pFormat)
+{
+    FIXME("stub\n");
+}
+
+/***********************************************************************
+ *           NdrNonConformantStringMemorySize [RPCRT4.@]
+ */
+unsigned long WINAPI NdrNonConformantStringMemorySize(PMIDL_STUB_MESSAGE pStubMsg,
+                                PFORMAT_STRING pFormat)
+{
+    FIXME("stub\n");
+    return 0;
+}
+
 static inline void dump_pointer_attr(unsigned char attr)
 {
     if (attr & RPC_FC_P_ALLOCALLNODES)
@@ -2659,8 +2706,56 @@
  *           NdrClientContextUnmarshall
  */
 void WINAPI NdrClientContextUnmarshall(PMIDL_STUB_MESSAGE pStubMsg,
-                                  NDR_CCONTEXT * pContextHandle,
-                                  RPC_BINDING_HANDLE BindHandle)
+                                       NDR_CCONTEXT * pContextHandle,
+                                       RPC_BINDING_HANDLE BindHandle)
 {
     FIXME("(%p, %p, %p): stub\n", pStubMsg, pContextHandle, BindHandle);
 }
+
+void WINAPI NdrServerContextMarshall(PMIDL_STUB_MESSAGE pStubMsg,
+                                     NDR_SCONTEXT ContextHandle,
+                                     NDR_RUNDOWN RundownRoutine )
+{
+    FIXME("(%p, %p, %p): stub\n", pStubMsg, ContextHandle, RundownRoutine);
+}
+
+NDR_SCONTEXT WINAPI NdrServerContextUnmarshall(PMIDL_STUB_MESSAGE pStubMsg)
+{
+    FIXME("(%p): stub\n", pStubMsg);
+    return NULL;
+}
+
+void WINAPI NdrContextHandleSize(PMIDL_STUB_MESSAGE pStubMsg,
+                                 unsigned char* pMemory,
+                                 PFORMAT_STRING pFormat)
+{
+    FIXME("(%p, %p, %p): stub\n", pStubMsg, pMemory, pFormat);
+}
+
+NDR_SCONTEXT WINAPI NdrContextHandleInitialize(PMIDL_STUB_MESSAGE pStubMsg,
+                                               PFORMAT_STRING pFormat)
+{
+    FIXME("(%p, %p): stub\n", pStubMsg, pFormat);
+    return NULL;
+}
+
+void WINAPI NdrServerContextNewMarshall(PMIDL_STUB_MESSAGE pStubMsg,
+                                        NDR_SCONTEXT ContextHandle,
+                                        NDR_RUNDOWN RundownRoutine,
+                                        PFORMAT_STRING pFormat)
+{
+    FIXME("(%p, %p, %p, %p): stub\n", pStubMsg, ContextHandle, RundownRoutine, pFormat);
+}
+
+NDR_SCONTEXT WINAPI NdrServerContextNewUnmarshall(PMIDL_STUB_MESSAGE pStubMsg,
+                                                  PFORMAT_STRING pFormat)
+{
+    FIXME("(%p, %p): stub\n", pStubMsg, pFormat);
+    return NULL;
+}
+
+RPC_BINDING_HANDLE WINAPI NDRCContextBinding(NDR_CCONTEXT CContext)
+{
+    FIXME("(%p): stub\n", CContext);
+    return NULL;
+}

Modified: trunk/reactos/lib/rpcrt4/ndr_midl.c
--- trunk/reactos/lib/rpcrt4/ndr_midl.c	2005-09-05 22:09:45 UTC (rev 17682)
+++ trunk/reactos/lib/rpcrt4/ndr_midl.c	2005-09-05 22:20:04 UTC (rev 17683)
@@ -292,3 +292,19 @@
   /* FIXME: is this the right return value? */
   return NULL;
 }
+
+/************************************************************************
+ *           NdrMapCommAndFaultStatus [RPCRT4.@]
+ */
+RPC_STATUS RPC_ENTRY NdrMapCommAndFaultStatus( PMIDL_STUB_MESSAGE pStubMsg,
+                                               unsigned long *pCommStatus,
+                                               unsigned long *pFaultStatus,
+                                               RPC_STATUS Status )
+{
+    FIXME("(%p, %p, %p, %ld): stub\n", pStubMsg, pCommStatus, pFaultStatus, Status);
+
+    *pCommStatus = 0;
+    *pFaultStatus = 0;
+
+    return RPC_S_OK;
+}

Modified: trunk/reactos/lib/rpcrt4/rpc_epmap.c
--- trunk/reactos/lib/rpcrt4/rpc_epmap.c	2005-09-05 22:09:45 UTC (rev 17682)
+++ trunk/reactos/lib/rpcrt4/rpc_epmap.c	2005-09-05 22:20:04 UTC (rev 17683)
@@ -76,7 +76,7 @@
   unsigned long c;
   RPC_STATUS rslt = RPC_S_OK;
 
-  TRACE("(%p,%p,%p,%s)\n", IfSpec, BindingVector, UuidVector, debugstr_a(Annotation));
+  TRACE("(%p,%p,%p,%s)\n", IfSpec, BindingVector, UuidVector, debugstr_a((char*)Annotation));
   TRACE(" ifid=%s\n", debugstr_guid(&If->InterfaceId.SyntaxGUID));
   for (c=0; c<BindingVector->Count; c++) {
     RpcBinding* bind = (RpcBinding*)(BindingVector->BindingH[c]);

Modified: trunk/reactos/lib/rpcrt4/rpc_message.c
--- trunk/reactos/lib/rpcrt4/rpc_message.c	2005-09-05 22:09:45 UTC (rev 17682)
+++ trunk/reactos/lib/rpcrt4/rpc_message.c	2005-09-05 22:20:04 UTC (rev 17683)
@@ -483,19 +483,10 @@
  */
 RPC_STATUS WINAPI I_RpcGetBuffer(PRPC_MESSAGE pMsg)
 {
-  RpcBinding* bind = (RpcBinding*)pMsg->Handle;
-
   TRACE("(%p): BufferLength=%d\n", pMsg, pMsg->BufferLength);
   /* FIXME: pfnAllocate? */
-  if (bind->server) {
-    /* it turns out that the original buffer data must still be available
-     * while the RPC server is marshalling a reply, so we should not deallocate
-     * it, we'll leave deallocating the original buffer to the RPC server */
-    pMsg->Buffer = HeapAlloc(GetProcessHeap(), 0, pMsg->BufferLength);
-  } else {
-    HeapFree(GetProcessHeap(), 0, pMsg->Buffer);
-    pMsg->Buffer = HeapAlloc(GetProcessHeap(), 0, pMsg->BufferLength);
-  }
+  pMsg->Buffer = HeapAlloc(GetProcessHeap(), 0, pMsg->BufferLength);
+
   TRACE("Buffer=%p\n", pMsg->Buffer);
   /* FIXME: which errors to return? */
   return pMsg->Buffer ? S_OK : E_OUTOFMEMORY;

Modified: trunk/reactos/lib/rpcrt4/rpc_server.c
--- trunk/reactos/lib/rpcrt4/rpc_server.c	2005-09-05 22:09:45 UTC (rev 17682)
+++ trunk/reactos/lib/rpcrt4/rpc_server.c	2005-09-05 22:20:04 UTC (rev 17683)
@@ -739,14 +739,14 @@
 {
   RpcServerProtseq* ps;
 
-  TRACE("(%s,%u,%s,%p,{%u,%lu,%lu})\n", debugstr_a( Protseq ), MaxCalls,
-       debugstr_a( Endpoint ), SecurityDescriptor,
+  TRACE("(%s,%u,%s,%p,{%u,%lu,%lu})\n", debugstr_a( (char*)Protseq ), MaxCalls,
+       debugstr_a( (char*)Endpoint ), SecurityDescriptor,
        lpPolicy->Length, lpPolicy->EndpointFlags, lpPolicy->NICFlags );
 
   ps = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(RpcServerProtseq));
   ps->MaxCalls = MaxCalls;
-  ps->Protseq = RPCRT4_strdupA(Protseq);
-  ps->Endpoint = RPCRT4_strdupA(Endpoint);
+  ps->Protseq = RPCRT4_strdupA((char*)Protseq);
+  ps->Endpoint = RPCRT4_strdupA((char*)Endpoint);
 
   return RPCRT4_use_protseq(ps);
 }
@@ -776,7 +776,7 @@
  */
 RPC_STATUS WINAPI RpcServerUseProtseqA(unsigned char *Protseq, unsigned int MaxCalls, void *SecurityDescriptor)
 {
-  TRACE("(Protseq == %s, MaxCalls == %d, SecurityDescriptor == ^%p)\n", debugstr_a(Protseq), MaxCalls, SecurityDescriptor);
+  TRACE("(Protseq == %s, MaxCalls == %d, SecurityDescriptor == ^%p)\n", debugstr_a((char*)Protseq), MaxCalls, SecurityDescriptor);
   return RpcServerUseProtseqEpA(Protseq, MaxCalls, NULL, SecurityDescriptor);
 }
 

Modified: trunk/reactos/lib/rpcrt4/rpcrt4.spec
--- trunk/reactos/lib/rpcrt4/rpcrt4.spec	2005-09-05 22:09:45 UTC (rev 17682)
+++ trunk/reactos/lib/rpcrt4/rpcrt4.spec	2005-09-05 22:20:04 UTC (rev 17683)
@@ -1,565 +1,565 @@
-@ stdcall CreateProxyFromTypeInfo(ptr ptr ptr ptr ptr)
-@ stub CreateStubFromTypeInfo
-@ stdcall CStdStubBuffer_AddRef(ptr)
-@ stdcall CStdStubBuffer_Connect(ptr ptr)
-@ stdcall CStdStubBuffer_CountRefs(ptr)
-@ stdcall CStdStubBuffer_DebugServerQueryInterface(ptr ptr)
-@ stdcall CStdStubBuffer_DebugServerRelease(ptr ptr)
-@ stdcall CStdStubBuffer_Disconnect(ptr)
-@ stdcall CStdStubBuffer_Invoke(ptr ptr ptr)
-@ stdcall CStdStubBuffer_IsIIDSupported(ptr ptr)
-@ stdcall CStdStubBuffer_QueryInterface(ptr ptr ptr)
-@ stub CreateServerInterfaceFromStub # wxp
-@ stdcall DceErrorInqTextA (long ptr)
-@ stdcall DceErrorInqTextW (long ptr)
-@ stdcall -private DllRegisterServer() RPCRT4_DllRegisterServer
-@ stub GlobalMutexClearExternal
-@ stub GlobalMutexRequestExternal
-@ stdcall IUnknown_AddRef_Proxy(ptr)
-@ stdcall IUnknown_QueryInterface_Proxy(ptr ptr ptr)
-@ stdcall IUnknown_Release_Proxy(ptr)
-@ stub I_RpcAbortAsyncCall
-@ stub I_RpcAllocate
-@ stub I_RpcAsyncAbortCall
-@ stub I_RpcAsyncSendReceive # NT4
-@ stub I_RpcAsyncSetHandle
-@ stub I_RpcBCacheAllocate
-@ stub I_RpcBCacheFree
-@ stub I_RpcBindingCopy
-@ stub I_RpcBindingInqConnId
-@ stub I_RpcBindingInqDynamicEndPoint
-@ stub I_RpcBindingInqDynamicEndPointA
-@ stub I_RpcBindingInqDynamicEndPointW
-@ stub I_RpcBindingInqLocalClientPID # wxp
-@ stub I_RpcBindingInqSecurityContext
-@ stub I_RpcBindingInqTransportType
-@ stub I_RpcBindingInqWireIdForSnego
-@ stub I_RpcBindingIsClientLocal
-# 9x version of I_RpcBindingSetAsync has 3 arguments, not 2
-@ stdcall I_RpcBindingSetAsync(ptr ptr)
-@ stub I_RpcBindingToStaticStringBindingW
-@ stub I_RpcClearMutex
-@ stub I_RpcConnectionInqSockBuffSize2
-@ stub I_RpcConnectionInqSockBuffSize
-@ stub I_RpcConnectionSetSockBuffSize
-@ stub I_RpcDeleteMutex
-@ stub I_RpcEnableWmiTrace # wxp
-@ stub I_RpcExceptionFilter # wxp
-@ stub I_RpcFree
-@ stdcall I_RpcFreeBuffer(ptr)
-@ stub I_RpcFreePipeBuffer
-@ stub I_RpcGetAssociationContext
-@ stdcall I_RpcGetBuffer(ptr)
-@ stub I_RpcGetBufferWithObject
-@ stub I_RpcGetCurrentCallHandle
-@ stub I_RpcGetExtendedError
-@ stub I_RpcGetServerContextList
-@ stub I_RpcGetThreadEvent # win9x
-@ stub I_RpcGetThreadWindowHandle # win9x
-@ stub I_RpcIfInqTransferSyntaxes
-@ stub I_RpcLaunchDatagramReceiveThread # win9x
-@ stub I_RpcLogEvent
-@ stub I_RpcMapWin32Status
-@ stub I_RpcMonitorAssociation
-@ stub I_RpcNegotiateTransferSyntax # wxp
-@ stub I_RpcNsBindingSetEntryName
-@ stub I_RpcNsBindingSetEntryNameA
-@ stub I_RpcNsBindingSetEntryNameW
-@ stub I_RpcNsInterfaceExported
-@ stub I_RpcNsInterfaceUnexported
-@ stub I_RpcParseSecurity
-@ stub I_RpcPauseExecution
-@ stub I_RpcProxyNewConnection # wxp
-@ stub I_RpcReallocPipeBuffer
-@ stdcall I_RpcReceive(ptr)
-@ stub I_RpcRequestMutex
-@ stdcall I_RpcSend(ptr)
-@ stdcall I_RpcSendReceive(ptr)
-@ stub I_RpcServerAllocateIpPort
-@ stub I_RpcServerInqAddressChangeFn
-@ stub I_RpcServerInqLocalConnAddress # wxp
-@ stub I_RpcServerInqTransportType
-@ stub I_RpcServerRegisterForwardFunction
-@ stub I_RpcServerSetAddressChangeFn
-@ stdcall I_RpcServerStartListening(ptr) # win9x
-@ stdcall I_RpcServerStopListening() # win9x
-@ stub I_RpcServerUnregisterEndpointA # win9x
-@ stub I_RpcServerUnregisterEndpointW # win9x
-@ stub I_RpcServerUseProtseq2A
-@ stub I_RpcServerUseProtseq2W
-@ stub I_RpcServerUseProtseqEp2A
-@ stub I_RpcServerUseProtseqEp2W
-@ stub I_RpcSetAssociationContext # win9x
-@ stub I_RpcSetAsyncHandle
-@ stub I_RpcSetServerContextList
-@ stub I_RpcSetThreadParams # win9x
-@ stub I_RpcSetWMsgEndpoint # NT4
-@ stub I_RpcSsDontSerializeContext
-@ stub I_RpcStopMonitorAssociation
-@ stub I_RpcSystemFunction001 # wxp (oh, brother!)
-@ stub I_RpcTransCancelMigration # win9x
-@ stub I_RpcTransClientMaxFrag # win9x
-@ stub I_RpcTransClientReallocBuffer # win9x
-@ stub I_RpcTransConnectionAllocatePacket
-@ stub I_RpcTransConnectionFreePacket
-@ stub I_RpcTransConnectionReallocPacket
-@ stub I_RpcTransDatagramAllocate2
-@ stub I_RpcTransDatagramAllocate
-@ stub I_RpcTransDatagramFree
-@ stub I_RpcTransGetAddressList
-@ stub I_RpcTransGetThreadEvent
-@ stub I_RpcTransIoCancelled
-@ stub I_RpcTransMaybeMakeReceiveAny # win9x
-@ stub I_RpcTransMaybeMakeReceiveDirect # win9x
-@ stub I_RpcTransPingServer # win9x
-@ stub I_RpcTransServerFindConnection # win9x
-@ stub I_RpcTransServerFreeBuffer # win9x
-@ stub I_RpcTransServerMaxFrag # win9x
-@ stub I_RpcTransServerNewConnection
-@ stub I_RpcTransServerProtectThread # win9x
-@ stub I_RpcTransServerReallocBuffer # win9x
-@ stub I_RpcTransServerReceiveDirectReady # win9x
-@ stub I_RpcTransServerUnprotectThread # win9x
-@ stub I_RpcTurnOnEEInfoPropagation # wxp
-@ stdcall I_RpcWindowProc(ptr long long long) # win9x
-@ stub I_RpcltDebugSetPDUFilter
-@ stub I_UuidCreate
-@ stub MIDL_wchar_strcpy
-@ stub MIDL_wchar_strlen
-@ stub MesBufferHandleReset
-@ stub MesDecodeBufferHandleCreate
-@ stub MesDecodeIncrementalHandleCreate
-@ stub MesEncodeDynBufferHandleCreate
-@ stub MesEncodeFixedBufferHandleCreate
-@ stub MesEncodeIncrementalHandleCreate
-@ stub MesHandleFree
-@ stub MesIncrementalHandleReset
-@ stub MesInqProcEncodingId
-@ stub MqGetContext # win9x
-@ stub MqRegisterQueue # win9x
-@ stub NDRCContextBinding
-@ stub NDRCContextMarshall
-@ stub NDRCContextUnmarshall
-@ stub NDRSContextMarshall2
-@ stub NDRSContextMarshall
-@ stub NDRSContextMarshallEx
-@ stub NDRSContextUnmarshall2
-@ stub NDRSContextUnmarshall
-@ stub NDRSContextUnmarshallEx
-@ stub NDRcopy
-@ stdcall NdrAllocate(ptr long)
-@ stub NdrAsyncClientCall
-@ stub NdrAsyncServerCall
-@ stdcall NdrByteCountPointerBufferSize(ptr ptr ptr)
-@ stdcall NdrByteCountPointerFree(ptr ptr ptr)
-@ stdcall NdrByteCountPointerMarshall(ptr ptr ptr)
-@ stdcall NdrByteCountPointerUnmarshall(ptr ptr ptr long)
-@ stub NdrCStdStubBuffer2_Release
-@ stdcall NdrCStdStubBuffer_Release(ptr ptr)
-@ stdcall NdrClearOutParameters(ptr ptr ptr)
-@ varargs NdrClientCall2(ptr ptr)
-@ stub NdrClientCall
-@ stdcall NdrClientContextMarshall(ptr ptr long)
-@ stdcall NdrClientContextUnmarshall(ptr ptr ptr)
-@ stub NdrClientInitialize
-@ stdcall NdrClientInitializeNew(ptr ptr ptr long)
-@ stdcall NdrComplexArrayBufferSize(ptr ptr ptr)
-@ stdcall NdrComplexArrayFree(ptr ptr ptr)
-@ stdcall NdrComplexArrayMarshall(ptr ptr ptr)
-@ stdcall NdrComplexArrayMemorySize(ptr ptr)
-@ stdcall NdrComplexArrayUnmarshall(ptr ptr ptr long)
-@ stdcall NdrComplexStructBufferSize(ptr ptr ptr)
-@ stdcall NdrComplexStructFree(ptr ptr ptr)
-@ stdcall NdrComplexStructMarshall(ptr ptr ptr)
-@ stdcall NdrComplexStructMemorySize(ptr ptr)
-@ stdcall NdrComplexStructUnmarshall(ptr ptr ptr long)
-@ stdcall NdrConformantArrayBufferSize(ptr ptr ptr)
-@ stdcall NdrConformantArrayFree(ptr ptr ptr)
-@ stdcall NdrConformantArrayMarshall(ptr ptr ptr)
-@ stdcall NdrConformantArrayMemorySize(ptr ptr)
-@ stdcall NdrConformantArrayUnmarshall(ptr ptr ptr long)
-@ stdcall NdrConformantStringBufferSize(ptr ptr ptr)
-@ stdcall NdrConformantStringMarshall(ptr ptr ptr)
-@ stdcall NdrConformantStringMemorySize(ptr ptr)
-@ stdcall NdrConformantStringUnmarshall(ptr ptr ptr long)
-@ stdcall NdrConformantStructBufferSize(ptr ptr ptr)
-@ stdcall NdrConformantStructFree(ptr ptr ptr)
-@ stdcall NdrConformantStructMarshall(ptr ptr ptr)
-@ stdcall NdrConformantStructMemorySize(ptr ptr)
-@ stdcall NdrConformantStructUnmarshall(ptr ptr ptr long)
-@ stdcall NdrConformantVaryingArrayBufferSize(ptr ptr ptr)
-@ stdcall NdrConformantVaryingArrayFree(ptr ptr ptr)
-@ stdcall NdrConformantVaryingArrayMarshall(ptr ptr ptr)
-@ stdcall NdrConformantVaryingArrayMemorySize(ptr ptr)
-@ stdcall NdrConformantVaryingArrayUnmarshall(ptr ptr ptr long)
-@ stdcall NdrConformantVaryingStructBufferSize(ptr ptr ptr)
-@ stdcall NdrConformantVaryingStructFree(ptr ptr ptr)
-@ stdcall NdrConformantVaryingStructMarshall(ptr ptr ptr)
-@ stdcall NdrConformantVaryingStructMemorySize(ptr ptr)
-@ stdcall NdrConformantVaryingStructUnmarshall(ptr ptr ptr long)
-@ stub NdrContextHandleInitialize
-@ stub NdrContextHandleSize
-@ stdcall NdrConvert2(ptr ptr long)
-@ stdcall NdrConvert(ptr ptr)
-@ stub NdrCorrelationFree
-@ stub NdrCorrelationInitialize
-@ stub NdrCorrelationPass
-@ stub NdrDcomAsyncClientCall
-@ stub NdrDcomAsyncStubCall
-@ stdcall NdrDllCanUnloadNow(ptr)
-@ stdcall NdrDllGetClassObject(ptr ptr ptr ptr ptr ptr)
-@ stdcall NdrDllRegisterProxy(long ptr ptr)
-@ stdcall NdrDllUnregisterProxy(long ptr ptr)
-@ stdcall NdrEncapsulatedUnionBufferSize(ptr ptr ptr)
-@ stdcall NdrEncapsulatedUnionFree(ptr ptr ptr)
-@ stdcall NdrEncapsulatedUnionMarshall(ptr ptr ptr)
-@ stdcall NdrEncapsulatedUnionMemorySize(ptr ptr)
-@ stdcall NdrEncapsulatedUnionUnmarshall(ptr ptr ptr long)
-@ stdcall NdrFixedArrayBufferSize(ptr ptr ptr)
-@ stdcall NdrFixedArrayFree(ptr ptr ptr)
-@ stdcall NdrFixedArrayMarshall(ptr ptr ptr)
-@ stdcall NdrFixedArrayMemorySize(ptr ptr)
-@ stdcall NdrFixedArrayUnmarshall(ptr ptr ptr long)
-@ stdcall NdrFreeBuffer(ptr)
-@ stub NdrFullPointerFree
-@ stub NdrFullPointerInsertRefId
-@ stub NdrFullPointerQueryPointer
-@ stub NdrFullPointerQueryRefId
-@ stub NdrFullPointerXlatFree
-@ stub NdrFullPointerXlatInit
-@ stdcall NdrGetBuffer(ptr long ptr)
-@ stub NdrGetDcomProtocolVersion
-@ stub NdrGetPartialBuffer
-@ stub NdrGetPipeBuffer
-@ stub NdrGetSimpleTypeBufferAlignment # wxp
-@ stub NdrGetSimpleTypeBufferSize # wxp
-@ stub NdrGetSimpleTypeMemorySize # wxp
-@ stub NdrGetTypeFlags # wxp
-@ stub NdrGetUserMarshallInfo
-@ stub NdrHardStructBufferSize #(ptr ptr ptr)
-@ stub NdrHardStructFree #(ptr ptr ptr)
-@ stub NdrHardStructMarshall #(ptr ptr ptr)
-@ stub NdrHardStructMemorySize #(ptr ptr)
-@ stub NdrHardStructUnmarshall #(ptr ptr ptr long)
-@ stdcall NdrInterfacePointerBufferSize(ptr ptr ptr)
-@ stdcall NdrInterfacePointerFree(ptr ptr ptr)
-@ stdcall NdrInterfacePointerMarshall(ptr ptr ptr)
-@ stdcall NdrInterfacePointerMemorySize(ptr ptr)
-@ stdcall NdrInterfacePointerUnmarshall(ptr ptr ptr long)
-@ stub NdrIsAppDoneWithPipes
-@ stub NdrMapCommAndFaultStatus
-@ stub NdrMarkNextActivePipe
-@ stub NdrMesProcEncodeDecode2
-@ stub NdrMesProcEncodeDecode
-@ stub NdrMesSimpleTypeAlignSize
-@ stub NdrMesSimpleTypeDecode
-@ stub NdrMesSimpleTypeEncode
-@ stub NdrMesTypeAlignSize2
-@ stub NdrMesTypeAlignSize
-@ stub NdrMesTypeDecode2
-@ stub NdrMesTypeDecode
-@ stub NdrMesTypeEncode2
-@ stub NdrMesTypeEncode
-@ stub NdrMesTypeFree2
-@ stub NdrNonConformantStringBufferSize #(ptr ptr ptr)
-@ stub NdrNonConformantStringMarshall #(ptr ptr ptr)
-@ stub NdrNonConformantStringMemorySize #(ptr ptr)
-@ stub NdrNonConformantStringUnmarshall #(ptr ptr ptr long)
-@ stdcall NdrNonEncapsulatedUnionBufferSize(ptr ptr ptr)
-@ stdcall NdrNonEncapsulatedUnionFree(ptr ptr ptr)
-@ stdcall NdrNonEncapsulatedUnionMarshall(ptr ptr ptr)
-@ stdcall NdrNonEncapsulatedUnionMemorySize(ptr ptr)
-@ stdcall NdrNonEncapsulatedUnionUnmarshall(ptr ptr ptr long)
-@ stub NdrNsGetBuffer
-@ stub NdrNsSendReceive
-@ stdcall NdrOleAllocate(long)
-@ stdcall NdrOleFree(ptr)
-@ stub NdrOutInit # wxp
-@ stub NdrPartialIgnoreClientBufferSize # wxp
-@ stub NdrPartialIgnoreClientMarshall # wxp
-@ stub NdrPartialIgnoreServerInitialize # wxp
-@ stub NdrPartialIgnoreServerUnmarshall # wxp
-@ stub NdrPipePull
-@ stub NdrPipePush
-@ stub NdrPipeSendReceive
-@ stub NdrPipesDone
-@ stub NdrPipesInitialize
-@ stdcall NdrPointerBufferSize(ptr ptr ptr)
-@ stdcall NdrPointerFree(ptr ptr ptr)
-@ stdcall NdrPointerMarshall(ptr ptr ptr)
-@ stdcall NdrPointerMemorySize(ptr ptr)
-@ stdcall NdrPointerUnmarshall(ptr ptr ptr long)
-@ stdcall NdrProxyErrorHandler(long)
-@ stdcall NdrProxyFreeBuffer(ptr ptr)
-@ stdcall NdrProxyGetBuffer(ptr ptr)
-@ stdcall NdrProxyInitialize(ptr ptr ptr ptr long)
-@ stdcall NdrProxySendReceive(ptr ptr)
-@ stub NdrRangeUnmarshall
-@ stub NdrRpcSmClientAllocate
-@ stub NdrRpcSmClientFree
-@ stub NdrRpcSmSetClientToOsf
-@ stub NdrRpcSsDefaultAllocate
-@ stub NdrRpcSsDefaultFree
-@ stub NdrRpcSsDisableAllocate
-@ stub NdrRpcSsEnableAllocate
-@ stdcall NdrSendReceive(ptr ptr)
-@ stub NdrServerCall2
-@ stub NdrServerCall
-@ stub NdrServerContextMarshall
-@ stub NdrServerContextNewMarshall # wxp
-@ stub NdrServerContextNewUnmarshall # wxp
-@ stub NdrServerContextUnmarshall
-@ stub NdrServerInitialize
-@ stub NdrServerInitializeMarshall
-@ stdcall NdrServerInitializeNew(ptr ptr ptr)
-@ stub NdrServerInitializePartial # wxp
-@ stub NdrServerInitializeUnmarshall
-@ stub NdrServerMarshall
-@ stub NdrServerUnmarshall
-@ stdcall NdrSimpleStructBufferSize(ptr ptr ptr)
-@ stdcall NdrSimpleStructFree(ptr ptr ptr)
-@ stdcall NdrSimpleStructMarshall(ptr ptr ptr)
-@ stdcall NdrSimpleStructMemorySize(ptr ptr)
-@ stdcall NdrSimpleStructUnmarshall(ptr ptr ptr long)
-@ stdcall NdrSimpleTypeMarshall(ptr ptr long)
-@ stdcall NdrSimpleTypeUnmarshall(ptr ptr long)
-@ stub NdrStubCall2
-@ stub NdrStubCall
-@ stub NdrStubForwardingFunction
-@ stdcall NdrStubGetBuffer(ptr ptr ptr)
-@ stdcall NdrStubInitialize(ptr ptr ptr ptr)
-@ stub NdrStubInitializeMarshall
-@ stub NdrTypeFlags # wxp
-@ stub NdrTypeFree # wxp
-@ stub NdrTypeMarshall # wxp
-@ stub NdrTypeSize # wxp
-@ stub NdrTypeUnmarshall # wxp
-@ stub NdrUnmarshallBasetypeInline # wxp
-@ stdcall NdrUserMarshalBufferSize(ptr ptr ptr)
-@ stdcall NdrUserMarshalFree(ptr ptr ptr)
-@ stdcall NdrUserMarshalMarshall(ptr ptr ptr)
-@ stdcall NdrUserMarshalMemorySize(ptr ptr)
-@ stub NdrUserMarshalSimpleTypeConvert
-@ stdcall NdrUserMarshalUnmarshall(ptr ptr ptr long)
-@ stdcall NdrVaryingArrayBufferSize(ptr ptr ptr)
-@ stdcall NdrVaryingArrayFree(ptr ptr ptr)
-@ stdcall NdrVaryingArrayMarshall(ptr ptr ptr)
-@ stdcall NdrVaryingArrayMemorySize(ptr ptr)
-@ stdcall NdrVaryingArrayUnmarshall(ptr ptr ptr long)
-@ stdcall NdrXmitOrRepAsBufferSize(ptr ptr ptr)
-@ stdcall NdrXmitOrRepAsFree(ptr ptr ptr)
-@ stdcall NdrXmitOrRepAsMarshall(ptr ptr ptr)
-@ stdcall NdrXmitOrRepAsMemorySize(ptr ptr)
-@ stdcall NdrXmitOrRepAsUnmarshall(ptr ptr ptr long)
-@ stub NdrpCreateProxy # wxp
-@ stub NdrpCreateStub # wxp
-@ stub NdrpGetProcFormatString # wxp
-@ stub NdrpGetTypeFormatString # wxp
-@ stub NdrpGetTypeGenCookie # wxp
-@ stub NdrpMemoryIncrement # wxp
-@ stub NdrpReleaseTypeFormatString # wxp
-@ stub NdrpReleaseTypeGenCookie # wxp
-@ stub NdrpSetRpcSsDefaults
-@ stub NdrpVarVtOfTypeDesc # wxp
-@ stub PerformRpcInitialization
-@ stub RpcAbortAsyncCall
-@ stub RpcAsyncAbortCall
-@ stub RpcAsyncCancelCall
-@ stub RpcAsyncCompleteCall
-@ stub RpcAsyncGetCallStatus
-@ stub RpcAsyncInitializeHandle
-@ stub RpcAsyncRegisterInfo
-@ stub RpcBindingCopy
-@ stdcall RpcBindingFree(ptr)
-@ stdcall RpcBindingFromStringBindingA(str  ptr)
-@ stdcall RpcBindingFromStringBindingW(wstr ptr)
-@ stub RpcBindingInqAuthClientA
-@ stub RpcBindingInqAuthClientExA
-@ stub RpcBindingInqAuthClientExW
-@ stub RpcBindingInqAuthClientW
-@ stub RpcBindingInqAuthInfoA
-@ stub RpcBindingInqAuthInfoExA
-@ stub RpcBindingInqAuthInfoExW
-@ stub RpcBindingInqAuthInfoW
-@ stdcall RpcBindingInqObject(ptr ptr)
-@ stub RpcBindingInqOption
-@ stub RpcBindingReset
-@ stub RpcBindingServerFromClient
-@ stub RpcBindingSetAuthInfoA
-@ stub RpcBindingSetAuthInfoExA
-@ stub RpcBindingSetAuthInfoExW
-@ stub RpcBindingSetAuthInfoW
-@ stdcall RpcBindingSetObject(ptr ptr)
-@ stub RpcBindingSetOption
-@ stdcall RpcBindingToStringBindingA(ptr ptr)
-@ stdcall RpcBindingToStringBindingW(ptr ptr)
-@ stdcall RpcBindingVectorFree(ptr)
-@ stub RpcCancelAsyncCall
-@ stub RpcCancelThread
-@ stub RpcCancelThreadEx
-@ stub RpcCertGeneratePrincipalNameA
-@ stub RpcCertGeneratePrincipalNameW
-@ stub RpcCompleteAsyncCall
-@ stdcall RpcEpRegisterA(ptr ptr ptr str)
-@ stub RpcEpRegisterNoReplaceA
-@ stub RpcEpRegisterNoReplaceW
-@ stub RpcEpRegisterW
-@ stdcall RpcEpResolveBinding(ptr ptr)
-@ stdcall RpcEpUnregister(ptr ptr ptr)
-@ stub RpcErrorAddRecord # wxp
-@ stub RpcErrorClearInformation # wxp
-@ stub RpcErrorEndEnumeration # wxp
-@ stub RpcErrorGetNextRecord # wxp
-@ stub RpcErrorLoadErrorInfo # wxp
-@ stub RpcErrorNumberOfRecords # wxp
-@ stub RpcErrorResetEnumeration # wxp
-@ stub RpcErrorSaveErrorInfo # wxp
-@ stub RpcErrorStartEnumeration # wxp
-@ stub RpcFreeAuthorizationContext # wxp
-@ stub RpcGetAsyncCallStatus
-@ stub RpcIfIdVectorFree
-@ stub RpcIfInqId
-@ stdcall RpcImpersonateClient(ptr)
-@ stub RpcInitializeAsyncHandle
-@ stub RpcMgmtBindingInqParameter # win9x
-@ stub RpcMgmtBindingSetParameter # win9x
-@ stub RpcMgmtEnableIdleCleanup
-@ stub RpcMgmtEpEltInqBegin
-@ stub RpcMgmtEpEltInqDone
-@ stub RpcMgmtEpEltInqNextA
-@ stub RpcMgmtEpEltInqNextW
-@ stub RpcMgmtEpUnregister
-@ stub RpcMgmtInqComTimeout
-@ stub RpcMgmtInqDefaultProtectLevel
-@ stub RpcMgmtInqIfIds
-@ stub RpcMgmtInqParameter # win9x
-@ stub RpcMgmtInqServerPrincNameA
-@ stub RpcMgmtInqServerPrincNameW
-@ stub RpcMgmtInqStats
-@ stub RpcMgmtIsServerListening
-@ stub RpcMgmtSetAuthorizationFn
-@ stub RpcMgmtSetCancelTimeout
-@ stub RpcMgmtSetComTimeout
-@ stub RpcMgmtSetParameter # win9x
-@ stub RpcMgmtSetServerStackSize
-@ stub RpcMgmtStatsVectorFree
-@ stdcall RpcMgmtStopServerListening(ptr)
-@ stdcall RpcMgmtWaitServerListen()
-@ stub RpcNetworkInqProtseqsA
-@ stub RpcNetworkInqProtseqsW
-@ stdcall RpcNetworkIsProtseqValidA(ptr)
-@ stdcall RpcNetworkIsProtseqValidW(ptr)
-@ stub RpcNsBindingInqEntryNameA
-@ stub RpcNsBindingInqEntryNameW
-@ stub RpcObjectInqType
-@ stub RpcObjectSetInqFn
-@ stdcall RpcObjectSetType(ptr ptr)
-@ stub RpcProtseqVectorFreeA
-@ stub RpcProtseqVectorFreeW
-@ stdcall RpcRaiseException(long)
-@ stub RpcRegisterAsyncInfo
-@ stub RpcRevertToSelf
-@ stdcall RpcRevertToSelfEx(ptr)
-@ stdcall RpcServerInqBindings(ptr)
-@ stub RpcServerInqCallAttributesA # wxp
-@ stub RpcServerInqCallAttributesW # wxp
-@ stub RpcServerInqDefaultPrincNameA
-@ stub RpcServerInqDefaultPrincNameW
-@ stub RpcServerInqIf
-@ stdcall RpcServerListen(long long long)
-@ stdcall RpcServerRegisterAuthInfoA(str  long ptr ptr)
-@ stdcall RpcServerRegisterAuthInfoW(wstr long ptr ptr)
-@ stdcall RpcServerRegisterIf2(ptr ptr ptr long long long ptr)
-@ stdcall RpcServerRegisterIf(ptr ptr ptr)
-@ stdcall RpcServerRegisterIfEx(ptr ptr ptr long long ptr)
-@ stub RpcServerTestCancel
-@ stdcall RpcServerUnregisterIf(ptr ptr long)
-@ stdcall RpcServerUnregisterIfEx(ptr ptr long)
-@ stub RpcServerUseAllProtseqs
-@ stub RpcServerUseAllProtseqsEx
-@ stub RpcServerUseAllProtseqsIf
-@ stub RpcServerUseAllProtseqsIfEx
-@ stdcall RpcServerUseProtseqA(str long ptr)
-@ stdcall RpcServerUseProtseqEpA(str  long str  ptr)
-@ stdcall RpcServerUseProtseqEpExA(str  long str  ptr ptr)
-@ stdcall RpcServerUseProtseqEpExW(wstr long wstr ptr ptr)
-@ stdcall RpcServerUseProtseqEpW(wstr long wstr ptr)
-@ stub RpcServerUseProtseqExA
-@ stub RpcServerUseProtseqExW
-@ stub RpcServerUseProtseqIfA
-@ stub RpcServerUseProtseqIfExA
-@ stub RpcServerUseProtseqIfExW
-@ stub RpcServerUseProtseqIfW
-@ stdcall RpcServerUseProtseqW(wstr long ptr)
-@ stub RpcServerYield
-@ stub RpcSmAllocate
-@ stub RpcSmClientFree
-@ stub RpcSmDestroyClientContext
-@ stub RpcSmDisableAllocate
-@ stub RpcSmEnableAllocate
-@ stub RpcSmFree
-@ stub RpcSmGetThreadHandle
-@ stub RpcSmSetClientAllocFree
-@ stub RpcSmSetThreadHandle
-@ stub RpcSmSwapClientAllocFree
-@ stub RpcSsAllocate
-@ stub RpcSsContextLockExclusive # wxp
-@ stub RpcSsContextLockShared # wxp
-@ stub RpcSsDestroyClientContext
-@ stub RpcSsDisableAllocate
-@ stub RpcSsDontSerializeContext
-@ stub RpcSsEnableAllocate
-@ stub RpcSsFree
-@ stub RpcSsGetContextBinding
-@ stub RpcSsGetThreadHandle
-@ stub RpcSsSetClientAllocFree
-@ stub RpcSsSetThreadHandle
-@ stub RpcSsSwapClientAllocFree
-@ stdcall RpcStringBindingComposeA(str  str  str  str  str  ptr)
-@ stdcall RpcStringBindingComposeW(wstr wstr wstr wstr wstr ptr)
-@ stdcall RpcStringBindingParseA(str  ptr ptr ptr ptr ptr)
-@ stdcall RpcStringBindingParseW(wstr ptr ptr ptr ptr ptr)
-@ stdcall RpcStringFreeA(ptr)
-@ stdcall RpcStringFreeW(ptr)
-@ stub RpcTestCancel
-@ stub RpcUserFree # wxp
-@ stub SimpleTypeAlignment # wxp
-@ stub SimpleTypeBufferSize # wxp
-@ stub SimpleTypeMemorySize # wxp
-@ stub StartServiceIfNecessary # win9x
-@ stub TowerConstruct
-@ stub TowerExplode
-@ stdcall UuidCompare(ptr ptr ptr)
-@ stdcall UuidCreate(ptr)
-@ stdcall UuidCreateNil(ptr)
-@ stdcall UuidCreateSequential(ptr) # win 2000
-@ stdcall UuidEqual(ptr ptr ptr)
-@ stdcall UuidFromStringA(str ptr)
-@ stdcall UuidFromStringW(wstr ptr)
-@ stdcall UuidHash(ptr ptr)
-@ stdcall UuidIsNil(ptr ptr)
-@ stdcall UuidToStringA(ptr ptr)
-@ stdcall UuidToStringW(ptr ptr)
-@ stub char_array_from_ndr
-@ stub char_from_ndr
-@ stub data_from_ndr
-@ stub data_into_ndr
-@ stub data_size_ndr
-@ stub double_array_from_ndr
-@ stub double_from_ndr
-@ stub enum_from_ndr
-@ stub float_array_from_ndr
-@ stub float_from_ndr
-@ stub long_array_from_ndr
-@ stub long_from_ndr
-@ stub long_from_ndr_temp
-@ stub pfnFreeRoutines # wxp
-@ stub pfnMarshallRouteines # wxp
-@ stub pfnSizeRoutines # wxp
-@ stub pfnUnmarshallRouteines # wxp
-@ stub short_array_from_ndr
-@ stub short_from_ndr
-@ stub short_from_ndr_temp
-@ stub tree_into_ndr
-@ stub tree_peek_ndr
-@ stub tree_size_ndr
+@ stdcall CreateProxyFromTypeInfo(ptr ptr ptr ptr ptr)
+@ stub CreateStubFromTypeInfo
+@ stdcall CStdStubBuffer_AddRef(ptr)
+@ stdcall CStdStubBuffer_Connect(ptr ptr)
+@ stdcall CStdStubBuffer_CountRefs(ptr)
+@ stdcall CStdStubBuffer_DebugServerQueryInterface(ptr ptr)
+@ stdcall CStdStubBuffer_DebugServerRelease(ptr ptr)
+@ stdcall CStdStubBuffer_Disconnect(ptr)
+@ stdcall CStdStubBuffer_Invoke(ptr ptr ptr)
+@ stdcall CStdStubBuffer_IsIIDSupported(ptr ptr)
+@ stdcall CStdStubBuffer_QueryInterface(ptr ptr ptr)
+@ stub CreateServerInterfaceFromStub # wxp
+@ stdcall DceErrorInqTextA (long ptr)
+@ stdcall DceErrorInqTextW (long ptr)
+@ stdcall -private DllRegisterServer()
+@ stub GlobalMutexClearExternal
+@ stub GlobalMutexRequestExternal
+@ stdcall IUnknown_AddRef_Proxy(ptr)
+@ stdcall IUnknown_QueryInterface_Proxy(ptr ptr ptr)
+@ stdcall IUnknown_Release_Proxy(ptr)
+@ stub I_RpcAbortAsyncCall
+@ stub I_RpcAllocate
+@ stub I_RpcAsyncAbortCall
+@ stub I_RpcAsyncSendReceive # NT4
+@ stub I_RpcAsyncSetHandle
+@ stub I_RpcBCacheAllocate
+@ stub I_RpcBCacheFree
+@ stub I_RpcBindingCopy
+@ stub I_RpcBindingInqConnId
+@ stub I_RpcBindingInqDynamicEndPoint
+@ stub I_RpcBindingInqDynamicEndPointA
+@ stub I_RpcBindingInqDynamicEndPointW
+@ stub I_RpcBindingInqLocalClientPID # wxp
+@ stub I_RpcBindingInqSecurityContext
+@ stub I_RpcBindingInqTransportType
+@ stub I_RpcBindingInqWireIdForSnego
+@ stub I_RpcBindingIsClientLocal
+# 9x version of I_RpcBindingSetAsync has 3 arguments, not 2
+@ stdcall I_RpcBindingSetAsync(ptr ptr)
+@ stub I_RpcBindingToStaticStringBindingW
+@ stub I_RpcClearMutex
+@ stub I_RpcConnectionInqSockBuffSize2
+@ stub I_RpcConnectionInqSockBuffSize
+@ stub I_RpcConnectionSetSockBuffSize
+@ stub I_RpcDeleteMutex
+@ stub I_RpcEnableWmiTrace # wxp
+@ stub I_RpcExceptionFilter # wxp
+@ stub I_RpcFree
+@ stdcall I_RpcFreeBuffer(ptr)
+@ stub I_RpcFreePipeBuffer
+@ stub I_RpcGetAssociationContext
+@ stdcall I_RpcGetBuffer(ptr)
+@ stub I_RpcGetBufferWithObject
+@ stub I_RpcGetCurrentCallHandle
+@ stub I_RpcGetExtendedError
+@ stub I_RpcGetServerContextList
+@ stub I_RpcGetThreadEvent # win9x
+@ stub I_RpcGetThreadWindowHandle # win9x
+@ stub I_RpcIfInqTransferSyntaxes
+@ stub I_RpcLaunchDatagramReceiveThread # win9x
+@ stub I_RpcLogEvent
+@ stub I_RpcMapWin32Status
+@ stub I_RpcMonitorAssociation
+@ stub I_RpcNegotiateTransferSyntax # wxp
+@ stub I_RpcNsBindingSetEntryName
+@ stub I_RpcNsBindingSetEntryNameA
+@ stub I_RpcNsBindingSetEntryNameW
+@ stub I_RpcNsInterfaceExported
+@ stub I_RpcNsInterfaceUnexported
+@ stub I_RpcParseSecurity
+@ stub I_RpcPauseExecution
+@ stub I_RpcProxyNewConnection # wxp
+@ stub I_RpcReallocPipeBuffer
+@ stdcall I_RpcReceive(ptr)
+@ stub I_RpcRequestMutex
+@ stdcall I_RpcSend(ptr)
+@ stdcall I_RpcSendReceive(ptr)
+@ stub I_RpcServerAllocateIpPort
+@ stub I_RpcServerInqAddressChangeFn
+@ stub I_RpcServerInqLocalConnAddress # wxp
+@ stub I_RpcServerInqTransportType
+@ stub I_RpcServerRegisterForwardFunction
+@ stub I_RpcServerSetAddressChangeFn
+@ stdcall I_RpcServerStartListening(ptr) # win9x
+@ stdcall I_RpcServerStopListening() # win9x
+@ stub I_RpcServerUnregisterEndpointA # win9x
+@ stub I_RpcServerUnregisterEndpointW # win9x
+@ stub I_RpcServerUseProtseq2A
+@ stub I_RpcServerUseProtseq2W
+@ stub I_RpcServerUseProtseqEp2A
+@ stub I_RpcServerUseProtseqEp2W
+@ stub I_RpcSetAssociationContext # win9x
+@ stub I_RpcSetAsyncHandle
+@ stub I_RpcSetServerContextList
+@ stub I_RpcSetThreadParams # win9x
+@ stub I_RpcSetWMsgEndpoint # NT4
+@ stub I_RpcSsDontSerializeContext
+@ stub I_RpcStopMonitorAssociation
+@ stub I_RpcSystemFunction001 # wxp (oh, brother!)
+@ stub I_RpcTransCancelMigration # win9x
[truncated at 1000 lines; 517 more skipped]