Помогите пожалуйста протестить

Discussion in 'Болталка' started by _nic, 4 Sep 2009.

  1. _nic

    _nic Elder - Старейшина

    Joined:
    5 May 2006
    Messages:
    651
    Likes Received:
    54
    Reputations:
    3
    Просьба к людям с семеркой или вистой (и виртуальными приводами типа демон тулза)протестить этот код
    Code:
    #include <Imapi2.h>
    #include <iostream>
    #include <conio.h>
    #include <comutil.h>
    #include <windows.h>
    # pragma comment(lib, "comsuppwd.lib")
    int _tmain(int argc, _TCHAR* argv[])
    {
    	CoInitialize(NULL);
    	IDiscMaster2 *DM;
    	IEnumVARIANT *Enum;
    	unsigned long count=0;
    	long drvNums;
    	VARIANT DI;
    	BSTR volume,app=bstr_t("T_T"),vendor,prod;
    	char letter[5];
    	HRESULT hr;
    	CoCreateInstance(__uuidof(MsftDiscMaster2), NULL, CLSCTX_INPROC_SERVER, __uuidof(IDiscMaster2),(void**)&DM);		
    	DM->get_Count(&drvNums);
    	DM->get__NewEnum(&Enum);
    	for(int i=0;i<drvNums;i++)
    	{
    		IDiscRecorder2 *DR;
    		hr=CoCreateInstance(__uuidof(MsftDiscRecorder2),NULL,CLSCTX_INPROC_SERVER,__uuidof(IDiscRecorder2),(void**)&DR);
    		if(hr!=S_OK){goto Exit;}
    		Enum->Next(1,&DI,&count);
    		hr=DR->InitializeDiscRecorder(DI.bstrVal);
    		if(hr!=S_OK){goto Exit;}
    		hr=DR->AcquireExclusiveAccess(false,app);
    		if(hr!=S_OK){goto Exit;}
    		hr=DR->get_VolumeName(&volume);
    		if(hr!=S_OK){goto Exit;}
    		GetVolumePathNamesForVolumeName(_com_util::ConvertBSTRToString(volume),letter,5,NULL);
    		hr=DR->get_VendorId(&vendor);
    		if(hr!=S_OK){goto Exit;}
    		DR->get_ProductId(&prod);
    		if(hr!=S_OK){goto Exit;}
    		std::cout<<_com_util::ConvertBSTRToString(prod)<<" "<<_com_util::ConvertBSTRToString(vendor)<<" "<<letter<<"\n";
    Exit:
    		DR->ReleaseExclusiveAccess();
    		DR->Release();
    	}
    	
    	getch();
    	return 0;
    }
    
    Для тех кто неможет собрать,вот собранная прога
    http://dump.ru/file/3358564
    ЗЫ:подозреваю что баг с ИМАПИ 2.0 который меня интересует присутствует только на ХР