25 pCtx->CurrentRecord.m_bstrUUID= CComBSTR(pUuid);
26 }
27
28
void SetBinding(char *pBinding)
29 {
30 if (!g_IsCOM) return;
31
32
PTOOL_CALL_CONTEXT pCtx = (PTOOL_CALL_CONTEXT)TlsGetValue(g_dwCOMCallTls);
33
34
pCtx->CurrentRecord.m_bstrBinding = CComBSTR(pBinding);
35 }
36
37
void NextRecord()
38 {
39 if (!g_IsCOM) return;
40 PTOOL_CALL_CONTEXT pCtx = (PTOOL_CALL_CONTEXT)TlsGetValue(g_dwCOMCallTls);
41
42
// Now, we need to save the record. We'll save it in the STL
43 // vector that corresponds to the instantiated COM object.
44 pCtx->pIfaceVector->push_back(pCtx->CurrentRecord);
45 }
46 }
Analysis
All of the preceding routines are named according to the data that is provided by the
RPCDump tool. Because the data is interrelated (the binding, UUID, version, and
Interf ...