Ok, so I was able to answer one of my own questions: is there a way to get Windows to notify me when volumes are deleted?
- DBT_DEVTYP_VOLUME WM_DEVICECHANGE, , , , , MSDN:
dbcv_unitmask , , . .
, , , , Microsoft ,
char FirstDriveFromMask (ULONG unitmask)
{
char i;
for (i = 0; i < 26; ++i)
{
if (unitmask & 0x1)
break;
unitmask = unitmask >> 1;
}
return (i + 'A');
}
, . , , , , .
int MaskToDriveLetters (ULONG unitmask, char* outDriveLetters)
{
int cnt = 0;
for (i = 0; i < 26; ++i)
{
if (unitmask & 0x1)
{
outDriveLetters[cnt++] = 'A' + i;
cnt++;
}
unitmask = unitmask >> 1;
}
outDriveLetters[cnt] = 0;
return cnt;
}
, : (DBT_DEVTYP_DEVICEINTERFACE DBT_DEVTYP_VOLUME)?