Здравствуйте Липатов Андрей Юрьевич, Вы писали:
ЛАЮ>Надо определить установленные физ. диски и логические диски на них под NT/2000/XP, а так же в 9x.
ЛАЮ>QueryDosDevice в NT возвращает их по отдельности (в смысле непонятно какие лог. диски на каких приводах),
ЛАЮ>в реестре просто каша, черт ногу сломит. Может быть есть какие либо API функции для этого?.
ЛАЮ>Помогите пожалуйста, я уже с ума схожу!
Вот
n=GetLogicalDriveStrings(0,NULL);//получаем размер нужного буфера
pwchar=(wchar_t*)calloc(n,sizeof(wchar_t));
GetLogicalDriveStrings(n,pwchar); //получили строку с именами дисков "a:\\\0C:\\\0d:\\\0\0"(уточни по справке)
result.assign(pwchar,n-1);
int i=0;
wstring f; f=(wchar_t)0;
for(n=result.find(f,0);n!=-1;n=result.find(f,i) )
{
wstring t=result.substr(i,n);
UINT r=GetDriveType(t.c_str());
if( (DRIVE_REMOTE !=r)&&(DRIVE_FIXED!=r))