我需要从客户端的组件中获取一块二进制数据(一维数组),并将其提交给server。我在vc的component中的方法是这样写的:STDMETHODIMP CVoiceMgr::GetParams(VARIANT *parray)
{
SAFEARRAY *psaParams = ::SafeArrayCreateVector(VT_UI1,0,40);
LPVOID lpArrayData;
::SafeArrayAccessData(psaParams,&lpArrayData); // The source should be binary data actually
memcpy(lpArrayData,L"This is a test",40); ::SafeArrayUnaccessData( psaParams ); V_VT(parray) = VT_ARRAY | VT_UI1;
V_ARRAY(parray) = psaParams;
return S_OK;
}JScript:var result;
result = VoiceManager.GetParams()
alert(result);这样是能够把字符串的内容显示出来的,但是我不知道result是以什么样的形式存储我的数据,并且它的大小是多少,在例子中是40还是字符串的实际长度。我担心实际应用中我copy二进制数据的时候JS会对result自动做一些处理。我的思路是用表单中的hidden元素来存储二进制数据和完成数据的提交工作,但是我不清楚如何显式地声明JScript的变量以用来存储二进制的数据,即如何保证我的二进制数据被原封不动地被JScript取得并传输给Server。如果VBScript可以完成此任务也可以考虑用VBScript来做。谁能提供例子最好了。一定给分!!!