Учебное пособие: Файловая система

return FALSE;}

// пишемпервыйзаголовок

_lwrite(hf, "******** GET VOLUME INFORMATION ********\r\n\r\n", 44);

SetLastError(ERROR_SUCCESS);

n = GetLogicalDriveStrings(0, NULL);

if (GetLastError() != ERROR_SUCCESS) {

// Функция GetLogicalDriveStrings нереализованав Win32s и (вкнигах

// часто утверждают) в Windows-95, возможно, иногда это и так, но у меня

// в Windows-95 версии 4.00.950a, локализованной для России, работает.

// если все же нет, то эмулируем ее работу посредством GetLogicalDrives

// которая точно есть во всех реализациях Win32

n = GetLogicalDrives();

// узнаем, сколько всего устройств

count = 0;

for (i = 1; i; i <<= 1) if (n & i) count++;

// формируем строку с именами устройств

temp = new char [ count * 4 + 1 ];

if (temp) {

p = temp;

for (i = 0; i < 32; i ++) if (n & (1L << i)) {

*p++ = (char)('A' + i); *p++ = ':'; *p++ = '\\'; *p++ = '\0';}

*p++ = '\0';}

} else {

// если функция GetLogicalDriveStrings работает, то используем ее

temp = new char [ n + 1 ];

if (temp) GetLogicalDriveStrings(n, temp);

}

if(temp) {

// исключаем обработку сообщений о критической ошибке

К-во Просмотров: 524
Бесплатно скачать Учебное пособие: Файловая система