_getdrives
Şu anda kullanılabilir disk sürücülerini temsil eden bir bit maskesi döndürür.
Önemli
Bu API, Windows Çalışma Zamanı yürütülen uygulamalarda kullanılamaz. Daha fazla bilgi için bkz. Evrensel Windows Platformu uygulamalarında desteklenmeyen CRT işlevleri.
Sözdizimi
unsigned long _getdrives( void );
Dönüş değeri
İşlev başarılı olursa, dönüş değeri şu anda kullanılabilir disk sürücülerini temsil eden bir bit maskesidir. Bit konumu 0 (en az önemli bit) A sürücüsünü temsil eder. Benzer şekilde, bit konumu 1 B sürücüsünü, bit konumu 2 de C sürücüsünü temsil eder ve bu şekilde devam eder. İşlev başarısız olursa, dönüş değeri sıfır olur. Genişletilmiş hata bilgilerini almak için çağrısında bulunur GetLastError
.
Açıklamalar
Varsayılan olarak, bu işlevin genel durumunun kapsamı uygulama olarak belirlenmiştir. Bu davranışı değiştirmek için bkz. CRT'de Genel durum.
Gereksinimler
Yordam | Gerekli başlık |
---|---|
_getdrives |
<direct.h> |
Daha fazla uyumluluk bilgisi için bkz . Uyumluluk.
Örnek
// crt_getdrives.c
// This program retrieves and lists out
// all the logical drives that are
// currently mounted on the machine.
#include <windows.h>
#include <direct.h>
#include <stdio.h>
#include <tchar.h>
TCHAR g_szDrvMsg[] = _T("A:\n");
int main(int argc, char* argv[]) {
ULONG uDriveMask = _getdrives();
if (uDriveMask == 0)
{
printf( "_getdrives() failed with failure code: %d\n",
GetLastError());
}
else
{
printf("The following logical drives are being used:\n");
while (uDriveMask) {
if (uDriveMask & 1)
printf(g_szDrvMsg);
++g_szDrvMsg[0];
uDriveMask >>= 1;
}
}
}
The following logical drives are being used:
A:
C:
D:
E: