函数指针传递的问题,为什么我返回的指针总是null呢?
定义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; //在这里都很正常
}
调用:
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; //在这里都很正常
}
...全文
相关推荐
你必须知道的495个C语言问题.pdf
;}```**1.12 这样的初始化有什么问题?char *p = malloc(10);编译器提示“非法初始式”云云。**`malloc()`函数返回的是分配的内存地址,而不是字符指针。
高级问题.txt
例如:```cvoid (*fun[2])() = {NULL, my_function};fun[0](); // 调用 NULL,通常会导致错误```#### 11. 如何在结构体之间传递指针?
函数指针和指针函数的区别
【代码】函数指针和指针函数的区别。
你必须知道的495个C语言问题
- **函数指针**:通过传递函数指针来实现多态性。
手把手教你用TLP350驱动IGBT:光耦隔离驱动电路完整设计教程
本文详细介绍了如何使用TLP350光耦隔离驱动电路设计IGBT驱动方案。从TLP350芯片特性分析到驱动电路架构设计,包括信号调理、自举电源和栅极控制网络,再到PCB布局优化和保护电路设计,提供了完整的实战指南。通过实测波形分析和故障排查,帮助工程师快速掌握IGBT驱动电路的设计要点和进阶技巧。


