IvObjectParser_GetBufferFromIvObject ( )獲取vCard数据缓冲区的問題
Dear all:
我需要一些關于使用IvObjectParser_GetBufferFromIvObject ( )獲取vCard数据缓冲区的幫助。
我创建了一個vCard并且添加了幾個propertys。我創建的這個电子名片可使用IvProperty_ParseValue和IvParm_ParseValue成功解析。但是当我使用IvObjectParser_GetBufferFromIvObject( )去獲取的根據vCard產生的data buffer時,返回值總是1.
// Create an instance of IvObjectParser
result = ISHELL_CreateInstance(
pShell,
AEECLSID_vObjectParser,
(void **)&pMe->pIvObjectParserGen
);
if (result != SUCCESS) {
pMe->pIvObjectParserGen=NULL;;
}
// Create an instance of IvCard
result = ISHELL_CreateInstance(
pShell,
AEECLSID_vCard,
(void **)&pMe->pIvCardGenerator
);
if (result != SUCCESS) {
pMe->pIvCardGenerator=NULL;
}
//init property and add them to vCard
………………
………………
//return the data buffer generated from vCard
nResult= IvObjectParser_GetBufferFromIvObject(pMe->pIvObjectParserGen,
pMe->pIvCardGenerator,
NULL,
0,
&nBufSizeReq);
DBGPRINTF("IvObjectParser_GetBufferFromIvObject=%d",nResult);
pMe->pgObjectedBuf=MALLOC(nBufSizeReq);
nResult= IvObjectParser_GetBufferFromIvObject(pMe->pIvObjectParserGen,
pMe->pIvCardGenerator,
pMe->pgObjectedBuf,
nBufSizeReq,
&nBufSizeReq);
DBGPRINTF("IvObjectParser_GetBufferFromIvObject=%d",nResult);