Commit Graph

467 Commits

Author SHA1 Message Date
Mike McCormack 71fc596a05 rpcrt4: Make RPCRT4_Send more compatible with write(2). 2006-04-19 19:15:53 +02:00
Mike McCormack 9a4abffa18 rpcrt4: Make RPCRT4_Receive more compatible with read(2). 2006-04-19 15:23:37 +02:00
Mike McCormack d571441562 rpcrt4: Simplify RPCRT4_OpenConnection() a little. 2006-04-19 14:48:02 +02:00
Mike McCormack ae8197ef37 rpcrt4: Split code to open a pipe from RPCRT4_OpenConnection. 2006-04-19 14:31:01 +02:00
Mike McCormack 7e709cf258 rpcrt4: Isolate code to open named pipes out of RPCRT4_OpenConnection. 2006-04-19 14:30:15 +02:00
Mike McCormack a0f8623e2e rpcrt4: Stub implementation for rpcrt4.RpcMgmtEpEltInqBegin(). 2006-04-19 12:00:26 +02:00
Mike McCormack f0c49daedf rpcrt4: Add a stub implementation for rpcrt4.RpcMgmtInqIfIds(). 2006-04-19 12:00:09 +02:00
Dmitry Timoshkov 590f6faee1 rpcrt4: Constify NDR function tables. 2006-04-14 19:36:09 +02:00
Robert Shearman 4253b01239 rpcrt4: Change the stubless parameter attributes to using a bitfield
(as defined by the PSDK) so the ServerAllocSize part is easier to
calculate.
2006-03-01 19:54:00 +01:00
Robert Shearman e8877ede80 rpcrt4: Implement marshaling and unmarshaling for enum types. 2006-03-01 19:53:35 +01:00
Robert Shearman b7bf68f4d0 rpcrt4: Don't call IUnknown_AddRef if there is no outer unknown in
StdProxy_Construct as it will just crash anyway.
2006-02-07 16:24:33 +01:00
Robert Shearman 4d25edc298 rpcrt4: Restrict stubless FC types to the range of the type function table. 2006-02-03 18:46:40 +01:00
Robert Shearman 666baea161 rpcrt4: Raise exceptions in NdrSendReceive if I_RpcSendReceive failed. 2006-02-03 18:46:32 +01:00
Robert Shearman 7f15d9bc4f rpcrt4: Handle the RPC_FC_PROC_BYVAL flag correctly in stubless
proxies and stubs.
2006-01-31 12:21:20 +01:00
Robert Shearman 4197140738 rpcrt4: Only attempt to marshal an object if it is non-NULL. 2006-01-31 12:21:13 +01:00
Robert Shearman b670ec83fd rpcrt4: Fill in the IRpcStubBuffer vtables for interfaces that don't
already have them filled in.
2006-01-30 14:56:07 +01:00
Robert Shearman 8c55c6f053 rpc: Replace the hack that detected stubless proxies with the correct check.
Pass in the ProxyInfo and Index to StdProxy_Construct instead of just
the three members of the structure that were previously needed.
Fix the detection of stubless proxies.
2006-01-20 16:15:25 +01:00
Robert Shearman 5b629e9509 rpc: Skip over the right number of bytes in new correlation descriptors.
Skip over 6 bytes of the format descriptor if new correlation
descriptors are being used, instead of 4.
2006-01-20 16:15:11 +01:00
Robert Shearman 68b9225022 rpcrt4: Clear the newly allocated memory used for complex arrays and structs. 2006-01-18 11:29:50 +01:00
Robert Shearman a4000349f8 rpcrt4: Fix the sending of >5800 byte messages by only adding offset
to the buffer after the first batch of data has been written to the
pipe.
2006-01-18 11:29:38 +01:00
Alexandre Julliard 49c7bbe0de rpcrt4: Fixed asm syntax for rep; movsl. 2006-01-14 17:07:28 +01:00
Robert Shearman b330bd7ae9 rpcrt4: Remove the unused RPCRT4_GetPSFactory function. 2006-01-10 19:59:48 +01:00
Robert Shearman e298538459 rpcrt4: Don't release the interface pointer on failure.
Don't release the interface pointer on failure since we are not the
ones that allocated it. It is the caller's responsability to call
NdrInterfacePointerFree, where the freeing is supposed to happen.
2006-01-10 19:59:26 +01:00
Robert Shearman 1926b6da63 rpcrt4: Improve ReadVariance.
Extend ReadVariance to read the offset as well as the actual count,
since these always come in pairs.
Handle the variance not being present in ReadVariance and always call
it from the unmarshalling functions to simplify the code there and
also to fix a bug where the format pointer wasn't advanced properly
for complex arrays (introduced in the previous patch when implementing
variance).
2006-01-09 17:21:01 +01:00
Robert Shearman 2e875d5d35 rpcrt4: Validate complex array format string.
Verify that the format string being passed into the complex array
functions is a complex array one.
2006-01-09 17:20:19 +01:00
Robert Shearman c96e102fff rpcrt4: Compute variance for complex arrays 2006-01-06 21:07:27 +01:00
Robert Shearman 3180de6a98 rpcrt4: Call NdrStubCall2 when dealing with a pure interpreted stub
that has no dispatch table.
2006-01-06 21:07:20 +01:00
Robert Shearman be77b87600 rpcrt4: Implement NdrClientCall2 and NdrServerCall2. 2006-01-05 12:19:05 +01:00
Robert Shearman 03060551d6 rpcrt4: Implement callback conformance. 2006-01-03 12:07:17 +01:00
Robert Shearman 196829663a rpcrt4: Fix race condition in RpcServerListen.
The DontWait parameter is used for forcing the function not to wait
for the server to finish.
2006-01-03 12:07:04 +01:00
Robert Shearman 68fcd5d8f7 Add a function to retrieve the MIDL_SERVER_INFO struct from an object. 2005-11-29 10:42:04 +01:00
Robert Shearman 4a76473965 The CLSID can be substituted by an IID present in one of the proxy
file infos in NdrDllGetClassObject.
2005-11-29 10:41:55 +01:00
Robert Shearman 96a8f8edda Return the correct error code from NdrProxyErrorHandler. 2005-11-29 10:41:45 +01:00
Robert Shearman bb90b3e3cc Raise exceptions on failures.
Replace references of pStubMsg->BufferEnd with RpcMsg->Buffer +
pStubMsg->BufferLength.
Fix buffer calculation when no interface data is marshaled to the
stream.
2005-11-29 10:41:34 +01:00
Robert Shearman 552f18211d Fix the overflow check to not depend on pStubMsg->BufferStart and
pStubMsg->BufferEnd being valid, because they aren't filled in when
using MIDL-generated server stubs.
Don't set the pointer to NULL on unmarshaling because we may want to
unmarshal the value to an existing pointer instead of allocating a new
one.
2005-11-29 10:41:17 +01:00
Ge van Geldorp 1a1583a364 Match PSDK STATUS_* definitions. 2005-11-28 17:32:54 +01:00
Robert Shearman 386c3a5819 Make sure to fill out the MIDL_STUB_MESSAGE structure in
NdrSendReceive like we do in NdrProxySendReceive.
2005-11-28 11:31:04 +01:00
Robert Shearman d9896dec47 Implement conformant varying array functions. 2005-11-28 11:30:32 +01:00
Robert Shearman bc16c66736 Implement conformant struct functions. 2005-11-28 11:30:12 +01:00
Robert Shearman d42ff35087 Implement FC_STRUCTPAD2 for complex types. 2005-11-28 11:28:45 +01:00
Robert Shearman 5ed6dc2c1b Add functions for marshaling base types (ints, floats, etc.). 2005-11-28 11:24:21 +01:00
Robert Shearman fc17683f7d Extend conformance computation function to also compute variances.
MSDN suggests that conformance and variance are pretty much the same,
but there may be some subtleties to it.
2005-11-28 11:16:44 +01:00
Robert Shearman b73a4a9528 Fix NdrConformantArrayBufferSize to include the size of the
conformance value.
Make NdrConformantArrayMemorySize do something more useful, like
actually return the required memory.
Conformance offset can be negative and should only be two bytes.
2005-11-28 10:58:40 +01:00
Robert Shearman a1758ed6e0 We should always allocate in NdrConformantStringUnmarshal if the
memory pointer is NULL.
2005-11-28 10:39:10 +01:00
Alexandre Julliard 0ec7e1a591 Renamed all .cvsignore files to .gitignore. 2005-11-26 13:10:33 +01:00
Vincent Béron f9a27638f5 Mark some functions as implemented in the spec files. 2005-11-21 11:58:49 +00:00
Huw Davies c7462e431f Marshal enums. 2005-10-31 21:05:00 +00:00
Huw Davies c4e8f06375 Stubs for NdrStubForwardingFunction and NdrCStdStubBuffer2_Release
along with a few related defines.
2005-10-26 13:56:00 +00:00
Alexandre Julliard 7e22be4d84 We are no longer generating .dbg.c files. 2005-09-29 10:35:58 +00:00
Robert Shearman b3a4b59668 Fix ref-counting rules to match native DCOM Dlls. 2005-09-18 11:10:37 +00:00
Alexandre Julliard 20a1a203c6 Use a more portable scheme for storing the name of a critical
section.
2005-09-09 10:19:44 +00:00
Ge van Geldorp 94dc00c558 Fix NdrServerContextMarshall prototype. 2005-09-08 11:02:38 +00:00
Mike McCormack d168219849 Fix gcc 4.0 warnings. 2005-09-06 10:26:13 +00:00
Robert Shearman 0aef679535 - Implement most of the details around unmarshalling of an object
pointer.
- Fix allocation scheme in NdrConformantArrayUnmarshal to allocate if
  *ppMemory is NULL, like complex struct and user type unmarshalling.
2005-09-02 11:19:26 +00:00
Mike McCormack 4a5378efcd Fix some gcc 4.0 warnings. 2005-08-30 08:56:35 +00:00
Alexandre Julliard cc4da88563 Explicitly import kernel32 in tests that use it. 2005-08-27 09:27:09 +00:00
Alexandre Julliard d37f0abf07 Don't prefix the functions DllCanUnloadNow, DllGetClassObject and
Dll(Un)RegisterServer with the dll name so that the compiler can check
the prototypes.
2005-08-08 17:35:28 +00:00
Robert Shearman 037bbdaf24 Add stubs for NdrMapCommAndFaultStatus, conformant string marshaling
and context handle functions.
2005-08-03 14:55:57 +00:00
Robert Shearman c9e4ef73d2 Don't free previous buffer in NdrGetBuffer. 2005-08-03 14:55:05 +00:00
Stefan Huehner 4f82e547d7 Fix some missing-declarations warnings. 2005-07-24 17:11:59 +00:00
Francois Gouget c995331d27 Fix the NdrVaryingArrayUnmarshall prototype (reported by
winapi_check).
2005-07-22 09:03:42 +00:00
Robert Shearman b0b3080b2d IRpcStubBuffer_Disconnect can be called more than once. 2005-07-19 19:12:54 +00:00
Robert Shearman 8c02f6367e Add stubs for most of the NDR marshaling functions. 2005-07-18 13:14:05 +00:00
Mike McCormack bda7ace2e9 Interlocked LONG* gcc warning fixes. 2005-07-13 11:59:15 +00:00
Stefan Huehner 2440dcfe88 Fix -Wmissing-declarations warnings. 2005-07-05 12:49:14 +00:00
Mike McCormack b8fc783be2 Avoid warnings in generated tests by casting sizeof(x) to an int. 2005-07-03 11:23:30 +00:00
Francois Gouget 02c25a8981 Assorted spelling fixes. 2005-06-30 18:19:33 +00:00
Alexandre Julliard f84401aa17 Sort entry points in the same order as Windows. 2005-06-23 09:57:11 +00:00
Stefan Huehner 9213d56ae0 Make some function static. 2005-06-20 15:35:54 +00:00
Robert Shearman ff4ba9573c Fix an RPC server startup race introduced by me. 2005-06-08 18:32:30 +00:00
Robert Shearman cdb3cdf3cf - Don't pass the PROFILE_SERVER flag in to CreateNamedPipe as it is
bogus.
- Call FlushFileBuffers to make sure the other end of the pipe doesn't
  get cut off prematurely.
- Don't call CancelIo as we should never have async I/O pending.
2005-06-08 18:31:38 +00:00
Robert Shearman 8aecfff867 Make NdrInterfacePointer* more reliable. 2005-06-07 20:07:06 +00:00
Dmitry Timoshkov eba47f1dfe Make remaining OLE interface vtables const. 2005-06-06 19:50:35 +00:00
Mike Hearn f45cb12553 Initialize DataRepresentation in NdrClientInitializeNew, not
NdrSendReceive.
2005-06-05 19:19:50 +00:00
Robert Shearman acbb3f2f8d - Improve tracing.
- Implement FC_UP and partially FC_OP.
- Don't needlessly marshal 4 bytes in NdrPointer*.
2005-06-01 11:04:03 +00:00
Vincent Béron 4440a7278f Provide minimal API documentation in advapi/eventlog.c to silence some
winapi_check output.
Move around functions in riched20, richedit and rpcrt4 to achieve the
same goal.
2005-05-16 08:51:19 +00:00
Robert Shearman b5eacf9a8d - Fix RpcServerListen so that it doesn't return
RPC_S_ALREADY_LISTENING when the only interfaces it is listening on
  are auto listens.
- Only synchronize with server thread when necessary and move this
  into RpcMgmtWaitServerListen.
2005-05-13 13:55:24 +00:00
Alexandre Julliard 34fa35dc99 Added rules for building import libraries in the individual dll
makefiles, and added support for building a .def.a static import
library too.
2005-05-09 14:42:30 +00:00
Alexandre Julliard d62356aa1e Added rules to build import libraries in the individual dll makefiles.
Generate import libraries with the right name right away instead of
using an intermediate .spec.def file.
2005-05-07 12:39:52 +00:00
Hartmut Birr af384ad7a8 Clean up if named pipe is not available. 2005-05-06 14:33:11 +00:00
Francois Gouget 3ef8c51c8a Tweak the API documentation to silence winapi_check warnings. 2005-04-20 15:18:42 +00:00
Francois Gouget 6b10c324c5 Assorted spelling fixes. 2005-03-30 17:08:31 +00:00
Jakob Eriksson 9ed61de9a2 Get rid of HeapAlloc casts. 2005-03-24 21:01:35 +00:00
Robert Shearman 16779f1e5e Fix deadlock caused by not leaving the critical section on all code
paths.
2005-03-19 17:05:41 +00:00
Ralf S. Engelschall 04db693ea7 Fix incorrect random multicast MAC address creation. 2005-03-14 10:53:57 +00:00
Robert Shearman 64280a6de4 - RpcMgmtStopServerListen should not affect auto-listen interfaces.
- Implement stub for RpcRevertToSelfEx.
- Change the more verbose files to use a new debug channel, "rpc."
2005-03-14 10:11:04 +00:00
Mike Hearn 486fd1f6f4 Suppress some useless warnings in the RPC runtime, and make a few
TRACEs that were reporting problems into WARNs.
2005-03-04 10:46:36 +00:00
Alexandre Julliard d0ee9f9309 Avoid spaces before preprocessor directives, that's not portable. 2005-03-02 12:23:20 +00:00
Robert Shearman b24193c344 - Add a stub implementation of RpcImpersonateClient.
- More tracing, particularly on error paths.
2005-02-15 20:45:37 +00:00
Robert Shearman c5bb5182e8 Fix RPC server thread race. 2005-02-15 15:03:26 +00:00
Robert Shearman 1912e8896e ERROR_IO_PENDING is expected, so don't return an error. 2005-02-15 15:03:14 +00:00
Ge van Geldorp 7cf104aa52 Fix prototypes according to PSDK. 2005-01-14 15:11:40 +00:00
Mike McCormack 4a0f999859 Use CreateEventW in preference to CreateEventA for unnamed events. 2005-01-07 15:40:09 +00:00
Michael Stefaniuc 5ad7d858e0 Do not check for non NULL pointer before HeapFree'ing it. It's
redundant.
2004-12-23 17:06:43 +00:00
Bill Medland bf42021e06 Implemented DceErrorInqText. 2004-12-23 11:29:54 +00:00
Robert Shearman 67942791e2 Implement RPC_E_DISCONNECTED in proxies. 2004-12-14 11:44:11 +00:00
Eric Pouech 0a258964c2 Const correctness fixes. 2004-11-30 21:38:57 +00:00
Francois Gouget 5c033dad79 MIDL_STUB_MESSAGE.UniquePtrCount has been renamed in the latest SDK so
ignore it.
2004-10-30 02:10:22 +00:00
Vincent Béron 6c644d68cf Fix various function prototypes. 2004-10-19 23:55:15 +00:00
Mike McCormack 130f6e51f2 Add stub implementation for CreateProxyFromTypeInfo. 2004-10-18 19:37:42 +00:00
Francois Gouget 486d020c1b Don't define COBJMACROS in objbase.h.
Update the Wine sources accordingly.
2004-10-07 03:06:48 +00:00
Hans Leidekker 719a789792 Fix signed/unsigned comparison warnings. 2004-09-22 02:46:38 +00:00
Francois Gouget 02236f06a8 Fix and unify parsing of calling conventions.
Hack handling of 'struct { } *NDR_SCONTEXT;' so we don't cause a parse
error as this is a valid C construct.
Generate type tests for rpcrt4.
Remove PRPC_BINDING_VECTOR and PUUID_VECTOR, they don't exist on
Windows.
Fix the MIDL_STUB_MESSAGE, MIDL_SERVER_INFO and
MIDL_STUBLESS_PROXY_INFO structs.
Add NDR_ALLOC_ALL_NODES_CONTEXT, NDR_POINTER_QUEUE_STATE and
CS_STUB_INFO.
2004-09-08 01:27:24 +00:00
Alexandre Julliard 39a696a166 Removed some uses of the non-standard ICOM_THIS macro. 2004-09-06 20:34:29 +00:00
Mike McCormack bff122fe94 Avoid non-standard types in rpcdcep.h. 2004-09-03 01:04:05 +00:00
Alexandre Julliard f714b39762 Get rid of the no longer used ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE
macro.
2004-08-23 19:39:48 +00:00
Alexandre Julliard 936198ce45 Moved ICOM_THIS_MULTI definition out of objbase.h and into the files
that use it.
2004-08-13 00:44:22 +00:00
Alexandre Julliard 48c4bb3c31 Get rid of the non-standard ICOM_VTABLE macro. 2004-08-12 23:00:51 +00:00
Alexandre Julliard 0467ce9fd7 Get rid of the non-standard ICOM_VFIELD macro. 2004-08-12 19:52:49 +00:00
Mike Hearn 86cc2d54c7 - Don't ERR on a used connection being destroyed.
- Don't print an extra newline in the olerelay code.
2004-06-23 00:10:29 +00:00
Mike Hearn 484f1b82d2 Remove the RPC connection cache as Windows does not allow multiple
binds on the same connection.
2004-06-17 19:54:34 +00:00
Mike Hearn c71c514fec Correct connection releases on error path in RPCRT4_OpenBinding. 2004-06-16 20:07:19 +00:00
Robert Shearman bc06d4ba8e - Fix ref count on standard proxy creation.
- Release channel buffer in StdMarshal_UnmarshalInterface, since we no
  longer use it and the proxy should have taken a reference on it.
- Add a few comments.
2004-06-14 17:58:03 +00:00
Eric Pouech df93f2eeee GetModuleFileName[AW] doesn't terminate the string if the buffer is
too small.
2004-05-19 03:22:55 +00:00
Patrik Stridvall 070db4e5de Fixed some issues found by winapi_check. 2004-05-17 21:08:31 +00:00
Hans Leidekker 9faf66913a Reimplement UuidCreate() with Win32 APIs. 2004-04-28 01:04:49 +00:00
Filip Navara c5580b0355 Make RPCRT4 use Windows compatible protocol (DCE v5.0) for
communication.
2004-04-26 23:33:39 +00:00
Filip Navara 7930ada851 Fix some RPC prototypes to get it compiling with W32API. 2004-04-19 23:03:58 +00:00
Hans Leidekker 4365bd2122 Fix compiler warning. 2004-04-19 19:24:03 +00:00
Filip Navara 3e103dcabe Prevent crashes in I_RpcSend on Windows XP. 2004-04-19 02:56:12 +00:00
Filip Navara 2493529750 Fix the case of RpcNetworkIsProtseqValid[AW] (was
RpcNetworkIsProtSeqValid[AW]) names.
2004-04-14 04:28:27 +00:00
Alexandre Julliard 9e4ed6460c .spec.c files are no longer used for 32-bit dlls. 2004-03-24 03:36:44 +00:00
Alexandre Julliard 589e115233 We no longer use the .exe.spec.c files. 2004-03-02 21:16:37 +00:00
Robert Shearman d1d89a64a6 - Fix a bad use of HeapRealloc.
- Fix error return codes.
- Improve traces.
2004-02-27 04:33:41 +00:00
Alexandre Julliard 20b4585e3c Only link against libdxguid where necessary. 2004-01-27 00:11:16 +00:00
Francois Gouget 6b6ed724ae Add missing '\n's to debug traces. 2004-01-27 00:01:43 +00:00
Francois Gouget e18aa3f614 Add trailing '\n's to ok() calls. 2004-01-26 20:23:25 +00:00
Gregory M. Turner 7a513d2795 Wine also supports the ncacn_np protocol sequence. 2004-01-26 20:13:18 +00:00
Ge van Geldorp 399901e054 Rename LARGE_INTEGER and ULARGE_INTEGER members "s" to "u" to conform
with PSDK.
2004-01-23 01:51:33 +00:00
Mike Hearn eca464b679 Implemented RpcIsProtSeqValid. 2004-01-20 23:36:50 +00:00
Alexandre Julliard e8283089cb Get rid of no longer needed WINE_PACKED define. 2004-01-09 22:18:49 +00:00
Ove Kaaven 00d0406c0d Avoid freeing request packet too early if an exception occurs. 2004-01-09 00:35:04 +00:00
Ove Kaaven cb6c83dfc3 Properly handle destroying the first connection in the connection
cache.
2004-01-09 00:34:53 +00:00
Alexandre Julliard 402b79a1e8 Porting fixes. 2003-11-27 00:59:36 +00:00
Gregory M. Turner add18f77e9 Implemented RpcObjectSetType. 2003-11-21 22:14:42 +00:00
Dimitrie O. Paun f5a23da2b2 Bail when we're out of memory. 2003-11-20 23:42:38 +00:00
Gregory M. Turner 9e85bf3f87 - Trace the argument to RPCRT4_server_thread.
- ^null implies two indirections, we have one.
- Ove's intent doesn't matter, the current implementation is right.
2003-11-20 23:39:18 +00:00
Gregory M. Turner ad24c5599e - Remove an erroneous check in NdrSendReceive.
- Change fixmes.
2003-10-21 23:49:57 +00:00
Dmitry Timoshkov 2581db8f6a Fixed some problems found while compiling and linking Wine under
Cygwin.
2003-10-14 05:27:43 +00:00
Oleg Prokhorov de12a97041 Another portion of HeapReAlloc fixes. 2003-10-14 05:24:20 +00:00
Dimitrie O. Paun fbdfd910c1 Remove SYMBOLFILE and LDDLLFLAGS from Makefiles. 2003-10-11 01:09:15 +00:00
Daniel Marmier 7e0ddbc60f Fixed warnings with gcc option "-Wwrite-strings". 2003-10-07 22:54:17 +00:00
Mike Hearn a7b9936008 Move packet linked list tail forward correctly on push. 2003-09-15 19:57:11 +00:00
Gregory M. Turner ee069f7cad Updated the "TODO" comments. 2003-09-11 01:05:19 +00:00
Alexandre Julliard 20c169e0a4 Fixed a few more headers dependency issues. 2003-09-09 19:39:31 +00:00
Francois Gouget ae50013017 Fix the case of product and company names. 2003-09-08 19:38:45 +00:00
Alexandre Julliard e37c6e18d0 Fixed header dependencies to be fully compatible with the Windows
headers (with help from Dimitrie O. Paun).
2003-09-05 23:08:26 +00:00
Alexandre Julliard 19b6a49845 Allocate DebugInfo field for all critical sections (based on a patch
by Alex Pasadyn).
Get rid of the Wine-specific CRITICAL_SECTION_INIT macro.
2003-08-12 23:50:54 +00:00
Alexandre Julliard 20698b22df Make the DllRegisterServer, DllRegisterServerEx, DllUnregisterServer,
DllGetClassObject and DllCanUnloadNow functions private (suggested by
Jon Griffiths).
2003-07-30 03:48:55 +00:00
Gregory M. Turner 7120b6ea4b RPCRT4_NdrClientCall2 is ATM hardly "semi-stub". 2003-07-16 23:30:18 +00:00
Dmitry Timoshkov 4e1ef0c114 For all DLLs with defined DllMain and which do not require
DLL_THREAD_ATTACH/DLL_THREAD_DETACH notifications, call
DisableThreadLibraryCalls() in order to slightly improve performance
on thread creation/exiting.
2003-06-30 20:53:48 +00:00
Ove Kaaven c707e23675 Initial support for RPC call failures, by catching RPC server
exceptions and returning simple failure packets, and throwing
exceptions on the client side when unmarshalling the failure packet.
2003-05-22 03:36:00 +00:00
Ove Kaaven 2d56c3d62d For RPC servers, don't deallocate the RPC request packet before the
RPC reply packet is sent, in case marshalling the reply needs any of
the request data.
2003-05-21 18:23:06 +00:00
Ove Kaaven 40c9882b6c Added semi-stub for NdrProxyErrorHandler.
Fixed a case of potential stack trashing.
2003-05-21 18:22:49 +00:00
Ove Kaaven 6e67d46355 Fixed NdrDllRegisterProxy so it registers the key names that ole32
expects. Better debug traces (include name of interface).
2003-05-20 04:13:44 +00:00
Ove Kaaven a3f6bb8294 Implemented "dereference" pointer flag.
Added NdrClearOutParameters stub.
2003-05-20 02:17:49 +00:00
Ove Kaaven 571bc879c5 Portability fix. Better debug messages (display IID of interface to
marshal).
2003-05-20 02:17:15 +00:00
Francois Gouget f803e2a92d Fix miscellaneous spelling errors and typos. 2003-05-13 00:41:57 +00:00
Alexandre Julliard 056e4197f9 Added a few stubs needed by the generated oaidl_p.c. 2003-04-26 02:12:14 +00:00
Ove Kaaven 8e38233736 Implemented simple caching of client connections. 2003-04-19 20:06:42 +00:00
Ove Kaaven 097c8edc39 Fixed a race condition on RPC worker thread creation, and a typo. 2003-04-19 02:49:35 +00:00
Ove Kaaven daffdb622a Added missing AddRef. 2003-04-19 02:49:15 +00:00
Alexandre Julliard 5537dbbf40 Replaced WINE_CHECK_STRUCT_MEMBER autoconf macro by the standard
AC_CHECK_MEMBERS. Added check for si_fd in siginfo_t.
2003-03-28 00:36:12 +00:00
Alexandre Julliard 114a31a2a8 Take advantage of new winebuild syntax to remove redundant function
names in spec files.
2003-03-20 03:53:12 +00:00
Ove Kaaven def211c4c9 For better concurrency, separate the connections from the bindings. 2003-02-19 03:44:35 +00:00
Ove Kaaven cf2dea09af NDR marshalling fixes. 2003-02-17 01:48:24 +00:00
Ove Kaaven 1a0112a47d Make NdrDllRegisterProxy use the interface stub header instead of the
interface proxy header to avoid stubless proxy ambiguities.
2003-02-17 01:47:54 +00:00
Marcus Meissner e1c7202716 Fixed undefined operation compiler warning. 2003-02-11 22:20:24 +00:00
Ove Kaaven 0e85f48f9d Implemented marshalling of pointers, simple and complex structures,
conformant and complex arrays, and user-marshalled types.
Improved marshalling of conformant strings and interface pointers a
bit.
2003-02-01 00:44:51 +00:00
Ove Kaaven 9dc2584b32 ReuseBuffer should be FALSE for RPC clients.
Some cleanups and elimination of some duplicate code.
2003-01-31 03:22:53 +00:00
Ove Kaaven c3e724d047 Fixed a bug in CompleteBindingA/W. 2003-01-31 03:22:38 +00:00
Ove Kaaven 5d121fbe05 Implemented RpcRaiseException. 2003-01-31 03:22:27 +00:00
Francois Gouget 9b0b1e078a Remove (POINTER)NULL casts. 2003-01-14 23:43:41 +00:00
Dimitrie O. Paun 297f3d898d Define NONAMELESS{STRUCT,UNION} explicitly in the files that need them. 2003-01-07 20:36:20 +00:00
Dimitrie O. Paun cef5961d2b Eliminate lots of __WINE__ conditionals from the headers. 2003-01-03 19:12:55 +00:00
Dimitrie O. Paun 48be9c6e87 Fix definitions for Uuid{To,From}String, RpcStringFree. 2002-12-24 00:26:55 +00:00
Alexandre Julliard dbf8b78acd Added .spec.def files. 2002-12-12 22:04:04 +00:00
Ove Kaaven 1f5315c80f Make sure that no files except unknwn.h include wine/obj_base.h
directly.
2002-12-05 20:33:07 +00:00
Francois Gouget 938ed57cb8 Skip Unicode tests if there's no Unicode support. 2002-12-05 19:01:51 +00:00
Alexandre Julliard d77294a8ec Authors: Greg Turner <gmturner007@ameritech.net>, Ove Kaaven <ovek@transgaming.com>
- preliminary implementation of endpoint-mapping via a new on-demand
  server-ish process
- more header fixups
- (re)implement RpcEpRegisterA, RpcEpUnregister, and
  RpcEpResolveBinding using the new rpcss functionality
- update the todo list in rpcrt4_main.c a bit
- many beautifications and touch-ups
- command-line configurable timeout
- micro-client imbedded in np_server.c
2002-12-02 21:17:04 +00:00
Alberto Massari d9159093a5 Avoid crashing when releasing an NdrCStdStubBuffer that had been
previously disconnected.
2002-11-08 18:52:34 +00:00
Greg Turner b9ae9eca13 - Remove stupid indentations from trace msgs.
- Update the rpc TODO list a bit.
- Add some constants for winapi_check.
- Nil pointer support for some UUID functions (spotted by Olivier
  Evalet).
2002-11-06 21:58:21 +00:00
Alexandre Julliard 1e1313d54c Made the dll entry point default to DllMain and removed most of the
'init' spec file declarations.
2002-11-04 23:53:41 +00:00
Greg Turner 2339b83ef4 Fix some problems found by winapi_check. 2002-11-01 01:47:43 +00:00
Greg Turner d4730de333 Fix stupid clone of broken macro, found by Marcus. 2002-11-01 01:47:04 +00:00
Greg Turner eaa53a05b0 Remove #ifdef WINNT conditionals; just use the NT definitions. 2002-10-31 23:36:07 +00:00
Greg Turner f71a83a1e9 - Use appropriate per-platform NDR_LOCAL Data Representation.
- Minor housekeeping changes.
2002-10-31 23:35:46 +00:00
Greg Turner 3eafbfcd56 - Fix offset bug in the conformant string unmarshall routine.
- Fix discrepancy between headers and implementation of
  I_RpcBindingSetAsync when compiling under WINNT.
- Eliminate race conditions in the relationship between "listen_count"
  and "std_listen" in rpc_server.h.
- Code-stubs for RpcServerUnregisterIf, RpcServerUnregisterIfEx.
- Attempt to implement RpcMgmtStopServerListening (definitely not
  happy just yet).
- RpcServerUnregisterIfEx wasn't xp-sepcific after all; this leads me to
  suspect there are more such mistakes in the spec-file comments, but I
  haven't looked into it or fixed them yet (coming soon).
- Cleanups, trace-enhancements, etc.
2002-10-31 22:45:12 +00:00
Greg Turner dc3e6c571b Rename the *_32_READ macros to *_UINT32_READ for clarity. 2002-10-31 22:04:08 +00:00
Marcus Meissner f99c03b972 Fixed LITTLE_ENDIAN_32_READ macro to at least compile. 2002-10-30 20:26:51 +00:00
Greg Turner 70bb478134 - more comments and comment-cleanup
- attempt to implement NdrConformantStringMemorySize
- fix NdrConformantStringUnMarshall
- w00t!
2002-10-29 23:07:33 +00:00
Patrik Stridvall c72255c715 Fixed some issues found by winapi_check. 2002-10-29 21:31:26 +00:00
Greg Turner 7ac58a4dc9 - Pull the buffer from the rpc message into the midl stub message
during RpcServerInitializeNew.
- Attempt to implement NdrConformantStringUnmarshall.
- More assertions.
- Comments and cleanups.
2002-10-28 23:53:23 +00:00
Greg Turner cbd5afd843 Add a bunch of stubs, all of which I presume to be WXP additions. 2002-10-28 23:52:42 +00:00
Greg Turner a215f6b21a - Clean up and add some comments.
- Add NDR Data representation constants.
- Propagate DataRepresentation into and out of packet headers.
- Implement NdrServerInitializeNew
2002-10-28 21:14:16 +00:00
Greg Turner 6abd817d8e - Distinguish between actual paranoia and meaningful buffer space.
- No need to #undef BUFFER_PARANOIA here.
2002-10-28 20:40:59 +00:00
Greg Turner fc55077e52 - Clean up and enhance some traces.
- Stubs for NdrConvert, NdrConvert2, and NdrServerInitializeNew.
2002-10-28 20:07:01 +00:00
Greg Turner c36d63f436 Fix endianness dependency in the (there is only one :) ) marshall
function.
2002-10-28 18:47:41 +00:00
Greg Turner 461708c142 - Use memset instead of ZeroMemory, just to be consistent with Ove's
code.
- Add some assertions where assumptions are made (need way more).
- Plug the binding handle into the RPC_MESSAGE during NdrGetBuffer.
- Implement NdrSendReceive.
- Attempt to support client and server bindings in I_RpcSend[Receive].
2002-10-25 21:02:02 +00:00
Greg Turner 4a37d84a9d - Make explicit some missing include dependencies.
- Implement NdrGetBuffer, NdrFreeBuffer, NdrConformantStringBufferSize
  and NdrConformantStringMarshall.
- Define the RPC_FC_C_CSTRING constant.
- Perhaps I don't want those MIDL_*_FORMAT_STRING structs, after
  all. Removed.
- Add RPC todo list.
- MIDL_STUB_MESSAGE.uFlags aren't.
- Comment out the NdrClientCall2 mock-up since that stuff is in the
  process of being implemented and might cause problems.
2002-10-25 19:03:43 +00:00
Greg Turner e033578a58 Implemented NdrClientInitializeNew. 2002-10-23 23:36:53 +00:00
Greg Turner c029f8c006 Whitespace cleanup. 2002-10-23 23:36:24 +00:00
Greg Turner 641f7fa3de Fixed a tiny trace bug. 2002-10-23 23:36:05 +00:00
Greg Turner 0e2bec0e70 - Use Ove-style macros for NdrConformantStringMarshall definition.
- Move NdrConformantStringMarshall to new ndr_marshall.c.
- Stubs for NdrConformantStringBufferSize,
  NdrConformantStringMemorySize, and NdrConformantStringUnmarshall.
2002-10-22 00:41:17 +00:00
Greg Turner 36fa7d50a7 - ClientCall2 still deserves a FIXME.
- Complete bindings with NULL endpoints.
- Implement RpcServerUseProtseqA, RpcServerUseProtseqW.
2002-10-22 00:40:01 +00:00
Greg Turner c14e9ebc07 Fix return types of NdrConformantStringMarshall, NdrGetBuffer, and
NdrSendReceive.
2002-10-21 23:42:01 +00:00
Greg Turner b71535ebfd Stubs for RpcServerUseProtseqA, RpcServerUseProtseqW. 2002-10-21 23:41:35 +00:00
Greg Turner 1ecb22867f Super-crude implementation for NdrClientCall2.
Specs and headers for NdrClientInitializeNew,
NdrConformantStringMarshall, NdrGetBuffer, NdrFreeBuffer, and
NdrSendReceive.
2002-10-19 19:17:19 +00:00
Greg Turner fc4e2fe74f Fix up RpcMgmtWaitServerListen to be less incorrect. 2002-10-19 19:14:45 +00:00
Greg Turner f6673f3a95 Some MIDL constants and structures (should eventually move to rpcndr.h
I think).
Stubs for NdrClientInitializeNew, NdrConformantStringMarshall,
NdrGetBuffer, NdrFreeBuffer, and NdrSendReceive (not in specfile yet).
2002-10-19 19:14:25 +00:00
Alexandre Julliard b34fb35b31 Fixed warnings caused by conversion to -DSTRICT. 2002-10-18 23:48:57 +00:00
Greg Turner 034e4df6e7 - (try to) implement RpcMgmtWaitServerListen
- remove duplicate RpcServerListen declaration in rpcdce.h
- some TRACEs
2002-10-18 03:56:56 +00:00
Alexandre Julliard 54ba29acf0 Fixed compilation for non-i386. 2002-10-17 16:45:24 +00:00
Greg Turner 686b845593 Use the msvc way to return a struct, fixing wierd problems. 2002-10-16 18:51:11 +00:00
Ove Kaaven a2813f4a5e Added NdrOleAllocate, NdrOleFree, NdrInterfacePointerBufferSize,
NdrInterfacePointerFree, NdrInterfacePointerMarshall,
NdrInterfacePointerMemorySize, NdrInterfacePointerUnmarshall.
2002-10-11 18:45:02 +00:00
Ove Kaaven 1cc2cee66f Reimplement several RpcServer.* methods in rpc_server.c.
Implement RpcServerInqBindings, I_RpcServerStartListening,
I_RpcServerStopListening, and I_RpcWindowProc.
2002-10-11 17:52:37 +00:00
Ove Kaaven 66840f7d11 Added NdrDllCanUnloadNow, NdrDllGetClassObject, NdrDllRegisterProxy,
NdrDllUnregisterProxy, CStdPSFactory methods.
2002-10-10 23:36:52 +00:00
Ove Kaaven 528d2c4f7f Added NdrProxyFreeBuffer, NdrProxyGetBuffer, NdrProxyInitialize,
NdrProxySendReceive, NdrStubGetBuffer, NdrStubInitialize.
2002-10-10 23:26:53 +00:00
Ove Kaaven 1d5d2bd081 Implement the CStdStubBuffer methods. 2002-10-10 22:46:08 +00:00
Ove Kaaven b41d4feda1 IUnknown_[QAR]_Proxy implementations, VTbl construction, the dreaded
ObjectStubless, and other proxy-related goodies.
2002-10-10 21:18:29 +00:00
Ove Kaaven c3a78d4fbe Stubby NdrClientCall2 & some header changes. 2002-10-10 19:23:33 +00:00
Ove Kaaven 0a17edf3a5 Implemented I_RpcFreeBuffer, I_RpcGetBuffer, I_RpcReceive, I_RpcSend,
I_RpcSendReceive; administrivia.
2002-10-10 18:55:24 +00:00
Greg Turner ac89cc28dd Added skeleton for rpcrt4 unit test with some UUID tests. 2002-10-07 21:54:07 +00:00
Greg Turner 13b0f9f5ad Implemented UuidCompare. 2002-10-07 21:52:55 +00:00
Ove Kaaven 9b239925a9 Implemented RpcBindingInqObject, RpcBindingSetObject,
RpcBindingVectorFree, RpcBindingToStringBindingA/W,
RpcBindingFromStringBindingA/W, RpcStringBindingParseA/W,
I_RpcBindingSetAsync, RpcStringBindingComposeA/W, RpcBindingFree,
RPCStringFreeW, UUIDHash, UuidToStringW, and associated junk.
2002-10-07 21:49:49 +00:00
Alexandre Julliard 21eb2b5c1e Implemented UuidFromString[AW] based on CLSIDFromString
implementation.
2002-10-04 00:20:56 +00:00
Ove Kaaven f9650f40b5 Added UuidCreateNil, UuidEqual and UuidIsNil. 2002-10-03 22:51:49 +00:00
Patrik Stridvall d016f819f1 Added include protection for unistd.h and sys/time.h. 2002-08-17 00:43:16 +00:00
Ove Kaaven 29b3061bfa Some more RPC definitions. 2002-08-09 01:11:39 +00:00
Alexandre Julliard 77afd6c47e Made some more spec file entries optional or unnecessary.
Fixed a few DLLName/DLLFileName mismatches.
2002-06-21 19:15:45 +00:00
Mike McCormack 161f555a06 Added an empty implementation for UuidFromStringA/W. 2002-06-13 21:50:12 +00:00
Vincent Béron 9a62491660 Removed trailing whitespace. 2002-05-31 23:06:46 +00:00
Stefan Leichter 8550dc2fd6 Added stub for DllRegisterServer. 2002-05-19 22:22:52 +00:00
Alexandre Julliard 2ab7625934 Removed most imports of ntdll since we no longer import Wine internal
functions from there.
2002-05-17 03:37:12 +00:00
Alexandre Julliard c3e06df941 Portability fixes. 2002-05-14 23:18:23 +00:00
Alexandre Julliard ad53383f9b Added winebuild support for generating a .dbg.c file containing the
debug channels definitions.
Made win32 the default type for spec files.
Ignore C compiler in winebuild so we can simply pass it $(DEFS).
Removed type win32 and debug_channels from spec files.
Fixed winebuild to always generate correct C identifiers (reported by
Vincent Béron).
2002-05-14 20:54:58 +00:00
Alexandre Julliard 67371bcc8d Added -res option to specify resources on winebuild command-line.
Added -exe mode to generate a .spec.c for an exe without having to
provide a .spec.
Removed some no longer needed spec files.
Removed .dll extension in makefiles import specifications.
2002-05-11 23:06:32 +00:00
Alexandre Julliard 32459912dc Moved imports specification from the .spec into the Makefile so that
it can be used on platforms that don't build a .spec.c file.
2002-05-09 00:05:48 +00:00
Alexandre Julliard c1bfca04e1 Changed builtin dlls file names to make it clear they are not normal
Unix libraries, and install them in $libdir/wine instead of $libdir to
avoid name conflicts in /usr/lib.
2002-03-20 22:19:06 +00:00
Alexandre Julliard 0799c1a780 Added LGPL standard comment, and copyright notices where necessary.
Global replacement of debugtools.h by wine/debug.h.
2002-03-09 23:29:33 +00:00
Stefan Leichter 55cc7d746c Added two missing exports. 2002-02-19 18:37:26 +00:00
Patrik Stridvall 651a8ba880 Added some defines for compatibility with Windows headers. 2002-02-15 19:12:35 +00:00
Patrik Stridvall 5038c04efd Fixed some issues found by winapi_check. 2002-01-31 21:47:34 +00:00
Mike McCormack de5316b801 Added stubs for NdrDllCanUnloadNow and NdrDllGetClassObject. 2002-01-29 18:16:39 +00:00
Mark G. Adams 9aa54a9076 Fix UuidCreate() to not forget MAC address.
Remove {}'s from UuidToStringA() output.
Add UuidCreateSequential() function from Windows 2000.
2002-01-06 19:08:47 +00:00
Ove Kaaven 7e0906f194 Lots of rpcrt4.dll stubs. 2001-09-17 20:26:38 +00:00
Huw D M Davies 2356fbce9e Stub implementation for UuidHash(). 2001-09-07 15:25:51 +00:00
Patrik Stridvall 4d2b85bf99 Fixed some issues found by winapi_check. 2001-07-12 22:22:23 +00:00
Peter Hunnisett 8cec3cff1e Added a bunch of entry points.
Added some stubs and header information.
Fixed some return codes.
2001-07-11 20:19:06 +00:00
Patrik Stridvall 09da966c8c Add proper check for existance of struct sockaddr member sa_len. 2001-07-08 22:30:50 +00:00