社区
ATL
帖子详情
大侠们,救命啊,在线等,高分,谁来告诉我SAFEARRAY具体怎么用啊??
explosun
2003-10-15 03:07:40
如题
...全文
40
4
打赏
收藏
大侠们,救命啊,在线等,高分,谁来告诉我SAFEARRAY具体怎么用啊??
如题
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
flyingjust
2003-10-16
打赏
举报
回复
SAFEARRAY* psaDataID = NULL;
long lSize=prsID->RecordCount*sizeof(long);
SAFEARRAYBOUND rgsabound[1];
rgsabound[0].lLbound = 0;
rgsabound[0].cElements = lSize;
psaDataID= SafeArrayCreate( VT_I4, 1, rgsabound );
SafeArrayAccessData( psaDataID, (void**)&plData );
for(int i=0;i<iCount;i++)
{
long lID=prsID->Fields->GetItem(L"DOCID")->Value;
plData[i]=lID;
prsID->MoveNext();
}
SafeArrayUnaccessData(psaDataID);
long lRet=-2;
SafeArrayDestroy(psaDataID);
atEleven
2003-10-15
打赏
举报
回复
http://www.codeproject.com/atl/udtdemo.asp
Eearbird
2003-10-15
打赏
举报
回复
你可以参考这个例子:
void GetScriptMaps()
{
IADsContainer* iContainer;
IADs* iAds;
VARIANT SC;
char s[5];
int i=0;
char dirName[MAX_PATH];
VARIANT path , state, sPort;
if(ADsGetObject(L"IIS://localhost/w3svc",IID_IADsContainer,(void**)&iContainer)==S_OK) {
//得到默认站点
iContainer->GetObject(_bstr_t("IIsWebServer"), _bstr_t("1"),(IDispatch**)&iAds);
if(iAds==NULL) return ;
VariantInit(&sPort);
HRESULT hr=iAds->Get(_bstr_t("ScriptMaps"),&sPort);
if(SUCCEEDED(hr))
{
if(sPort.vt ==VT_ARRAY|VT_VARIANT)
{
SAFEARRAY* psa = sPort.parray;
VARIANT* varArray=NULL;
SafeArrayAccessData(psa,(VOID**)&varArray);
UINT uDim = SafeArrayGetDim(psa);
if(1==uDim)
{
long lLbound,lRbound;
SafeArrayGetLBound(psa,1,&lLbound);
SafeArrayGetUBound(psa,1,&lRbound);
for(long i=lLbound;i<=lRbound;i++)
{
if(varArray[i].vt==VT_BSTR)
{
_bstr_t bstmp(varArray[i].bstrVal,true);
printf((LPCTSTR)bstmp);
printf("\n");
}
}
SafeArrayUnaccessData(psa);
}
}
}
iAds->Release();
}
}
drip
2003-10-15
打赏
举报
回复
不懂,帮你up
vb
saf
ear
ray
vb
saf
ear
ray
vb
saf
ear
ray
Saf
eAr
ray
使用.doc
本文档主要讲述的是
Saf
eAr
ray
使用;
Saf
eAr
ray
是VB中的数组存储方式。通过
Saf
eAr
ray
,可以在VC++和VB间相互调用。
Saf
eAr
ray
也是Automation中的标准数组存储方式。希望本文档会给有需要的朋友带来帮助;感兴趣的朋友...
Com_
Saf
eAr
ray
使用实例
使用的COM进程外组件传递的
Saf
eAr
ray
型数组。在客户端生成,在服务端接收并进行处理,然后返回到客户端。供新手参考。
saf
ear
ray
-2.zip_
Saf
eAr
ray
使用
SAF
EAR
RAY
传递二进制数据
学会使用
Saf
eAr
ray
之 Delphi篇--源码
实质上
Saf
eAr
ray
就是将通常的数组增加一个描述符,说明其维数、长度、边界、元 素类型等信息。
Saf
eAr
ray
也并不单独使用,而是将其再包装到VARIANT类型的变量中,然后才作为参数传送出去。在VARIANT的vt成员的 值如果...
ATL
3,245
社区成员
48,537
社区内容
发帖
与我相关
我的任务
ATL
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
复制链接
扫一扫
分享
社区描述
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章