views:

99

answers:

0

I'm trying to invoke an asynchronous RPC call with a pipe parameter. I call RpcAsyncInitializeHandle(), start the call and then call the "push" function of the pipe in a loop. This works fine on Win2k and WinXP, but not on Vista.

On Vista regardless of the buffer length passed exactly the 34th call to the "push" function causes an AV in RPC runtime while trying to write to "0" address.

I tried to interleave the calls to "push" with calls to RpcAsyncGetCallStatus() or RpcAsyncCompleteCall() - none of them indicate any problems, but every time I call the "push" function on a given pipe the program crashes with AV.

It this a known issue and is there a workaround for this?

I've seen this similar question but can't decide whether it's a related problem.