::GetLogicalDrives() returns a list of available (read: used) drives as bits in a mask. This should include mapped network drives. Thus, you can simply walk the bits to find bits that are zero, meaning no drive is present. If in doubt, you can always call ::GetDriveType() with the drive letter + ":"
(":"
in C code, or _T(":")
in Unicode-aware terminology, of course), and that should return DRIVE_UNKNOWN
or DRIVE_NO_ROOT_DIR
if the drive is available.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…