函数指针传递的问题,为什么我返回的指针总是null呢?

xhwu3721 xhwu3721 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
定义BOOL SearchDir(WCHAR strDestDir[],IWMDMStorage** pIStorageDir);
调用:
IWMDMStorageControl* pIWMDMStorageControl;
SearchDir(strDestDirectory,&pIStorage);
但pIStorage总是返回0,我试过在SearchDir函数体中pIStorageDir指针却很正常.



BOOL SearchDir(WCHAR strDestDir[],IWMDMStorage** pIStorageDir)
{
IWMDMEnumStorage* pIEnumStorage, *pIEnumStorageFile; //枚举存储器
IWMDMStorage* pIStorage ;// *pIStorageFile; //用于访问存储媒体内容
ULONG ulNumStorage;
IWMDMStorageControl* pIWMDMStorageControl;

IWMDMEnumStorage* pEnumStorageTest = NULL;
BOOL bFoundDirectory=FALSE;
// Assume that the parameter pMetaData is a valid.
WCHAR wDeviceName[256];
memset(wDeviceName,'\0',sizeof(wDeviceName));

///////////////////////
hr = pIDevice->EnumStorage(&pIEnumStorage);
pIDevice->GetName(wDeviceName,256);

DWORD pdwAttributes = 0;
_WAVEFORMATEX *pFormat = NULL;

hr = pIEnumStorage->Next(ulNumStorage, &pIStorage, &ulNumFetched);
pIStorage->GetAttributes(&pdwAttributes,pFormat);

pIStorageDir = &pIStorage; //在这里都很正常
}
...全文

相关推荐

评论 3
收藏 已收藏
分享
返回顶部
xhwu3721
VC/MFC 16,550 成员 421,606 内容