Aracılığıyla paylaş


_getdcwd, _wgetdcwd

Belirtilen sürücüdeki geçerli çalışma dizininin tam yolunu alır.

Önemli notÖnemli

Bu API, Windows Çalışma Zamanı'nda yürütülen uygulamalarda kullanılamaz.Daha fazla bilgi için bkz /ZW ile desteklenmeyen CRT işlevleri.

char *_getdcwd( 
   int drive,
   char *buffer,
   int maxlen 
);
wchar_t *_wgetdcwd( 
   int drive,
   wchar_t *buffer,
   int maxlen 
);

Parametreler

  • drive
    Sürücüyü belirten negatif olmayan tamsayı (0 = varsayılan sürücü, 1 = A, 2 = B, vb).

    Belirtilen sürücü kullanılanıma uygun değilse veya sürücü türünü (örneğin çıkarılabilir, sabit, CD-ROM, RAM disk veya ağ sürücüsü) saptanamıyorsa, geçersiz parametre işleyicisi Parametre Doğrulama konusunda açıklandığı gibi çağrılır.

  • buffer
    Yol için depolama konumu veya NULL .

    NULL belirtilirse, bu işlev malloc kullanarak en az maxlen boyutunda bir ara bellek ayırır ve _getdcwd dönüş değeri ayrılan arabelleğin işaretçisidir.Arabellek, free işlevi çağrılıp işaretçi işleve geçilerek serbest bırakılabilir.

  • maxlen
    Yolun maksimum uzunluğunu belirten sıfır olmayan pozitif bir tamsayı, karakter olarak : _getdcwd için char ve _wgetdcwd için wchar_t .

    maxlen sıfırdan büyük değilse, Parametre Doğrulama konusunda açıklanan geçersiz parametre çağrılır.

Dönüş Değeri

Belirtilen sürücüdeki geçerli çalışma dizinin tam yolunu temsil eden dizeye yönelik işaretçi veya bir hatayı gösteren NULL.

bufferNULL olarak belirtilirse ve maxlen karakterlerini ayırmak için yeterli bellek yoksa, bir hata oluşur ve errno öğesi ENOMEM olarak ayarlanır.Sondaki null karakteri de içeren yolun uzunluğu maxlen parametresini aşarsa bir hata oluşur ve errno değişkeni ERANGE olarak ayarlanır.Bu hata kodları hakkında daha fazla bilgi için bkz. errno, _doserrno, _sys_errlist, and _sys_nerr.

Notlar

_getdcwd işlevi, geçerli çalışma dizininin belirtilen sürücüdeki tam yolunu alır ve buffer içinde depolar.Geçerli çalışma dizini kök olarak ayarlarsanız, dize ters eğik çizgiyle (\) sona erer.Geçerli çalışma dizini kök dışında bir dizin olarak ayarlanırsa, dize bir ters eğik çizgiyle değil, dizinin adıyla sona erer.

_wgetdcwd, _getdcwd öğesinin geniş karakter sürümüdür ve buffer parametresi ve dönüş değeri geniş karakterli dizelerdir.Aksi takdirde, _wgetdcwd ve _getdcwd aynı şekilde davranır.

Bu işlev, kendisi iş parçacığı açısından güvenli olmayan GetFullPathName'e bağlı olsa da, iş parçacığı açısından güvenlidir.Ancak, çok iş parçacıklı uygulamanız hem bu işlevi hem de GetFullPathName işlevini çağırırsa, iş parçacığı güvenliğini ihlal edebilirsiniz.Daha fazla bilgi için MSDN Library'ye gidin ve GetFullPathName öğesini arayın.

Bu işlevin, _nolock soneki olan sürümü, iş parçacığı açısından güvenli olmaması ve başka iş parçacıklarıyla engellenmeden korunmaması hariç, bu işlevle aynı şekilde davranır.Daha fazla bilgi için bkz. _getdcwd_nolock, _wgetdcwd_nolock.

_DEBUG ve _CRTDBG_MAP_ALLOC tanımlandığında, _getdcwd ve _wgetdcwd çağrıları, _getdcwd_dbg ve _wgetdcwd_dbg çağrılarıyla değiştirilir, böylece bellek ayırmalarını ayıklayabilirsiniz.Daha fazla bilgi için bkz. _getdcwd_dbg, _wgetdcwd_dbg.

Genel Metin Yordam Eşleşmeleri

Tchar.h yordamı

_UNICODE ve _MBCS tanımlanmaz

_MBCS tanımlanmış

_UNICODE tanımlanmış

_tgetdcwd

_getdcwd

_getdcwd

_wgetdcwd

Gereksinimler

Yordam

Gerekli başlık

_getdcwd

<direct.h>

_wgetdcwd

<direct.h> veya <wchar.h>

Uyumluluk hakkında daha fazla bilgi için bkz. Uyumluluk.

Örnek

_getdrive için örneğine bakın.

.NET Framework Eşdeğeri

System::Environment::CurrentDirectory

Ayrıca bkz.

Başvuru

Dizin Denetimi

_chdir, _wchdir

_getcwd, _wgetcwd

_getdrive

_mkdir, _wmkdir

_rmdir, _wrmdir