====== Listar todos os drives disponíveis ======
Este code snippet é originário do site WinAPI www.winapi.net
Às vezes você precisa saber quais são os drives lógicos. A WinAPI nos fornece essa informação através da função ''GetLogicalDrives()''. Ela retorna uma //bit mask// que deverá se analisada. Aqui está um exemplo de como fazer:
#include
#include
#include
#include
#ifndef BITSPERBYTE
#define BITSPERBYTE 8
#endif
#define IS_BIT(val, bit) ((val) & (1 << (bit)))
int _tmain(void)
{
DWORD dwLogicalDrives, x;
TCHAR szRoot[32];
dwLogicalDrives = GetLogicalDrives();
for(x = 0; x < (sizeof(dwLogicalDrives) * BITSPERBYTE); x++)
{
if(IS_BIT(dwLogicalDrives, x))
{
PathBuildRoot(szRoot, x);
_tprintf(TEXT("%s - DriveType: 0x%08X\n"), szRoot, GetDriveType(szRoot));
}
}
return(0);
}