Aracılığıyla paylaş


_access_s, _waccess_s, taccess_s

Dosya okuma/yazma izinlerini belirler. Bu işlevler, CRT'deki _access _waccessGüvenlik özellikleri bölümünde açıklandığı gibi güvenlik geliştirmeleri içeren sürümleridir.

için taccess_sbkz . Genel metin yordamı eşlemeleri.

Sözdizimi

errno_t _access_s(
   const char *path,
   int mode
);
errno_t _waccess_s(
   const wchar_t *path,
   int mode
);

Parametreler

path
Dosya veya dizin yolu.

mode
İzin ayarı.

Dönüş değeri

Dosya belirli bir moda sahipse her işlev 0 döndürür. adlandırılmış dosya yoksa veya belirtilen modda erişilebilir değilse işlev bir hata kodu döndürür. Bu durumda işlev, kümeden aşağıdaki gibi bir hata kodu döndürür ve aynı zamanda aynı değere ayarlar errno .

errno değer Koşul
EACCES Erişim reddedildi. Dosyanın izin ayarı belirtilen erişime izin vermiyor.
ENOENT Dosya adı veya yolu bulunamadı.
EINVAL Geçersiz parametre.

Daha fazla bilgi için bkz. errno, _doserrno, _sys_errlistve _sys_nerr.

Açıklamalar

dosyalarla kullanıldığında, _access_s işlevi belirtilen dosyanın var olup olmadığını belirler ve değerine modegöre belirtilen şekilde erişilebilir. Dizinlerle kullanıldığında, _access_s yalnızca belirtilen dizinin var olup olmadığını belirler. Windows 2000 ve sonraki işletim sistemlerinde tüm dizinlerin okuma ve yazma erişimi vardır.

mode değer Dosyayı şu şekilde denetler:
00 Yalnızca varoluş.
02 Yazma izni.
04 Okuma izni.
06 Okuma ve yazma izni.

Dosyayı açma özelliğini sağlamak için dosyayı okuma veya yazma izni yeterli değildir. Örneğin, bir dosya başka bir işlem tarafından kilitlenmişse, 0 döndürse _access_s bile erişilebilir olmayabilir.

_waccess_s, bağımsız değişkeninin _access_s_waccess_s geniş karakterli bir dize olduğu path geniş karakterli bir sürümüdür. Aksi takdirde ve _waccess_s _access_s aynı şekilde davran.

Bu işlevler parametrelerini doğrular. ise path NULL veya mode geçerli bir mod belirtmiyorsa, parametre doğrulama bölümünde açıklandığı gibi geçersiz parametre işleyicisi çağrılır. Yürütmenin devam etmesi için izin verilirse, bu işlevler olarak EINVAL ayarlanır errno ve döndürürEINVAL.

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.

Genel metin yordamı eşlemeleri

Sütundaki tchar.h işlev, derleme zamanında tanımlanan karakter kümesine bağlı olarak diğer sütunlardaki işlevle eşler.

tchar.h işlevi _UNICODE ve _MBCS tanımlanmadı _MBCS tanımlanan _UNICODE tanımlanan
_taccess_s _access_s _access_s _waccess_s

Gereksinimler

Yordam Gerekli başlık İsteğe bağlı üst bilgi
_access_s <io.h> <errno.h>
_waccess_s <wchar.h> veya <io.h> <errno.h>

Örnek

Bu örnek, crt_access_s.c adlı dosyayı var olup olmadığını ve yazmaya izin verilip verilmediğini denetlemek için kullanır _access_s .

// crt_access_s.c

#include <io.h>
#include <stdio.h>
#include <stdlib.h>

int main( void )
{
    errno_t err = 0;

    // Check for existence.
    if ((err = _access_s( "crt_access_s.c", 0 )) == 0 )
    {
        printf_s( "File crt_access_s.c exists.\n" );

        // Check for write permission.
        if ((err = _access_s( "crt_access_s.c", 2 )) == 0 )
        {
            printf_s( "File crt_access_s.c does have "
                      "write permission.\n" );
        }
        else
        {
            printf_s( "File crt_access_s.c does not have "
                      "write permission.\n" );
        }
    }
    else
    {
        printf_s( "File crt_access_s.c does not exist.\n" );
    }
}
File crt_access_s.c exists.
File crt_access_s.c does not have write permission.

Ayrıca bkz.

Dosya işleme
_access, _waccess
_chmod, _wchmod
_fstat, _fstat32, _fstat64, , _fstati64, _fstat32i64, _fstat64i32
_open, _wopen
_stat, _wstat işlevler