用IPStore接口获取IE自动保存的用户名密码

用IPStore接口获取IE自动保存的用户名密码:

//动态加载pstorec.dll,得到PStoreCreateInstance函数地址
typedef HRESULT (WINAPI *tPStoreCreateInstance)(IPStore **, DWORD, DWORD, DWORD);
HMODULE hpsDLL; 
hpsDLL = LoadLibrary("pstorec.dll");

tPStoreCreateInstance pPStoreCreateInstance;
pPStoreCreateInstance = (tPStoreCreateInstance)GetProcAddress(hpsDLL, "PStoreCreateInstance");

IPStorePtr PStore; 
HRESULT hRes = pPStoreCreateInstance(&PStore, 0, 0, 0); 

IEnumPStoreTypesPtr EnumPStoreTypes;
hRes = PStore->EnumTypes(0, 0, &EnumPStoreTypes);//指定枚举区域


if (!FAILED(hRes))
{
    GUID TypeGUID;
    char szItemName[512];       
    char szItemData[512];
    char szResName[1512];
    char szResData[512];
    char szItemGUID[50];

    //枚举密码类型
    HRESULT hr=EnumPStoreTypes->raw_Next(0,&TypeGUID,0);

最后一行总出错(可以编译通过,但hr值不对),跟踪发现raw_Next()函数运行出错了,求大侠们指点,应如何改正(Win7系统)。