ok(rpcMsg.RpcFlags==0,"rpcMsg.RpcFlags should have been 0 instead of 0x%x\n",rpcMsg.RpcFlags);
#undef TEST_POINTER_UNSET
#define TEST_ZERO(field, fmt) ok(stubMsg.field == 0, #field " should have been set to zero instead of " fmt "\n", stubMsg.field)
#define TEST_POINTER_UNSET(field) ok(stubMsg.field == unset_ptr, #field " should have been unset instead of %p\n", stubMsg.field)
#define TEST_ULONG_UNSET(field) ok(stubMsg.field == 0xcccccccc, #field " should have been unset instead of 0x%x\n", stubMsg.field)
#define TEST_ULONG_PTR_UNSET(field) ok(stubMsg.field == (ULONG_PTR)unset_ptr, #field " should have been unset instead of 0x%lx\n", stubMsg.field)
#define TEST_ZERO(field, fmt) ok(stubMsg->field == 0, "%s: " #field " should have been set to zero instead of " fmt "\n", prefix, stubMsg->field)
#define TEST_POINTER_UNSET(field) ok(stubMsg->field == unset_ptr, "%s: " #field " should have been unset instead of %p\n", prefix, stubMsg->field)
#define TEST_ULONG_UNSET(field) ok(stubMsg->field == 0xcccccccc, "%s: " #field " should have been unset instead of 0x%x\n", prefix, stubMsg->field)
#define TEST_ULONG_PTR_UNSET(field) ok(stubMsg->field == (ULONG_PTR)unset_ptr, "%s: " #field " should have been unset instead of 0x%lx\n", prefix, stubMsg->field)
ok(stubMsg.RpcMsg==&rpcMsg,"stubMsg.RpcMsg should have been %p instead of %p\n",&rpcMsg,stubMsg.RpcMsg);
TEST_POINTER_UNSET(Buffer);
TEST_ZERO(BufferStart,"%p");
TEST_ZERO(BufferEnd,"%p");
TEST_POINTER_UNSET(BufferMark);
TEST_ZERO(BufferLength,"%d");
TEST_ULONG_UNSET(MemorySize);
TEST_POINTER_UNSET(Memory);
ok(stubMsg.IsClient==1,"stubMsg.IsClient should have been 1 instead of %u\n",stubMsg.IsClient);
"%s: fHasMemoryValidateCallback should have been set to 0 or -1 instead of %d\n",
prefix,stubMsg->fHasMemoryValidateCallback);
ok(stubMsg->fInFree==0||
stubMsg->fInFree==-1,/* XP-SP3 */
"%s: fInFree should have been set to 0 or -1 instead of %d\n",prefix,stubMsg->fInFree);
TEST_ZERO(fNeedMCCP,"%d");
ok(stubMsg.fUnused==0||
stubMsg.fUnused==-2,/* Vista */
"fUnused should have been set to 0 or -2 instead of %d\n",stubMsg.fUnused);
ok(stubMsg.fUnused2==0xffffcccc,"stubMsg.fUnused2 should have been 0xffffcccc instead of 0x%x\n",stubMsg.fUnused2);
ok(stubMsg.dwDestContext==MSHCTX_DIFFERENTMACHINE,"stubMsg.dwDestContext should have been MSHCTX_DIFFERENTMACHINE instead of %d\n",stubMsg.dwDestContext);
ok(stubMsg->fUnused==0||
stubMsg->fUnused==-2,/* Vista */
"%s: fUnused should have been set to 0 or -2 instead of %d\n",prefix,stubMsg->fUnused);
ok(stubMsg->fUnused2==0xffffcccc,"%s: fUnused2 should have been 0xffffcccc instead of 0x%x\n",
"fHasMemoryValidateCallback should have been set to 0 or -1 instead of %d\n",stubMsg.fHasMemoryValidateCallback);
ok(stubMsg.fInFree==0||
stubMsg.fInFree==-1,/* XP-SP3 */
"fInFree should have been set to 0 or -1 instead of %d\n",stubMsg.fInFree);
TEST_ZERO(fNeedMCCP,"%d");
ok(stubMsg.fUnused==0||
stubMsg.fUnused==-2,/* Vista */
"fUnused should have been set to 0 or -2 instead of %d\n",stubMsg.fUnused);
ok(stubMsg.fUnused2==0xffffcccc,"stubMsg.fUnused2 should have been 0xffffcccc instead of 0x%x\n",stubMsg.fUnused2);
ok(stubMsg.dwDestContext==MSHCTX_DIFFERENTMACHINE,"stubMsg.dwDestContext should have been MSHCTX_DIFFERENTMACHINE instead of %d\n",stubMsg.dwDestContext);
TEST_ZERO(pvDestContext,"%p");
TEST_POINTER_UNSET(SavedContextHandles);
TEST_ULONG_UNSET(ParamNumber);
TEST_ZERO(pRpcChannelBuffer,"%p");
TEST_ZERO(pArrayInfo,"%p");
TEST_POINTER_UNSET(SizePtrCountArray);
TEST_POINTER_UNSET(SizePtrOffsetArray);
TEST_POINTER_UNSET(SizePtrLengthArray);
TEST_POINTER_UNSET(pArgQueue);
TEST_ZERO(dwStubPhase,"%d");
/* FIXME: where does this value come from? */
trace("LowStackMark is %p\n",stubMsg.LowStackMark);
TEST_ZERO(pAsyncMsg,"%p");
TEST_ZERO(pCorrInfo,"%p");
TEST_ZERO(pCorrMemory,"%p");
TEST_ZERO(pMemoryList,"%p");
TEST_POINTER_UNSET(pCSInfo);
TEST_POINTER_UNSET(ConformanceMark);
TEST_POINTER_UNSET(VarianceMark);
ok(stubMsg.Unused==(ULONG_PTR)unset_ptr,"Unused should have be unset instead of 0x%lx\n",stubMsg.Unused);
TEST_POINTER_UNSET(pContext);
TEST_POINTER_UNSET(ContextHandleHash);
TEST_POINTER_UNSET(pUserMarshalList);
TEST_ULONG_PTR_UNSET(Reserved51_3);
TEST_ULONG_PTR_UNSET(Reserved51_4);
TEST_ULONG_PTR_UNSET(Reserved51_5);
#undef TEST_ULONG_UNSET
#undef TEST_POINTER_UNSET
#undef TEST_ZERO
ok(stubMsg.FullPtrXlatTables==0,"stubMsg.BufferLength should have been 0 instead of %p\n",stubMsg.FullPtrXlatTables);