IDviInvocation* pInv = ...; // Obtain a reference to the IDviInvocation object pInv->InvocationWriteStart("NewVariableName", "NewVariableValue", "NewVariableDataType");
UPnPActionMessage* pActionMessage = ...; // Obtain a reference to the UPnPActionMessage object IDviInvocation* pInv = pActionMessage->GetInvocation(); if (pInv) { pInv->InvocationWriteStart("NewVariableName", "NewVariableValue", "NewVariableDataType"); }In this code, the InvocationWriteStart method is invoked on the IDviInvocation object obtained from a UPnPActionMessage object. The method is called conditionally, only if the IDviInvocation object is found to be non-null. It is difficult to determine the package library from the code examples provided, as the code is generic and could be using any C++ library that supports UPnP. However, it is possible to speculate that the examples are from a UPnP library provided by a hardware vendor, since they are using the IDviInvocation interface, which is part of the Device Implementation Layer (DIL) of the UPnP Device Architecture.