想请教一下VC的MSComm串口控件在SetOutput发送一个数组时,是将数组的内容copy到控件的buf内,还是仅仅只引用一下数组的指针来发送?
參考答案:SetOutput()函数原型如下
void CMSComm::SetOutput(const VARIANT& newValue)
{
static BYTE parms[] =
VTS_VARIANT;
InvokeHelperparms (0x19,DISPATCH_PROPERTYPUT,VT_EMPTY, NULL, &newValue);
}
其中的CWnd::InvokeHelperparms ()原型如下:
void InvokeHelper( DISPID dwDispID, WORD wFlags, VARTYPE vtRet, void* pvRet, const BYTE* pbParamInfo, ... );
throw( COleException );
throw( COleDispatchException );
可以看出,参数传递的是数组指针的引用