Aracılığıyla paylaş


_access_s, _waccess_s

Dosya okuma/yazma izinleri belirler. Bu sürümü, _access, _waccess açıklandığı gibi güvenlik geliştirmeleri ile crt güvenlik özellikleri.

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

Belirtilen mod dosya varsa, her işlevi 0 değerini döndürür. Adlandırılmış dosya yok veya belirtilen modda erişilebilir değil işlevi bir hata kodu döndürür. Bu durumda, işlev kümesinden, aşağıdaki gibi bir hata kodu verir ve ayrıca ayarlar errno için aynı değeri.

  • EACCES
    Erişim engellendi. Dosyanın izin ayarları, belirtilen erişim izin vermez.

  • ENOENT
    Dosya adı veya yolu bulunamadı.

  • EINVAL
    Geçersiz parametre.

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

Notlar

Dosyaları ile birlikte kullanıldığında _access_s işlevi, belirtilen dosya var ve olarak erişilebilir olup olmadığını belirler değeri tarafından belirtilen mode. Dizinler ile kullanıldığında _access_s yalnızca belirtilen dizin var olup olmadığını belirler. De Windows 2000 ve sonrasına, tüm dizinleri okuma ve yazma erişimi.

mod değeri

Denetim dosyası için

00

Yalnızca varlığı.

02

Yazma izni.

04

Okuma izni.

06

Okuma ve yazma izni.

Okuma veya dosya yazma izni dosya açma olanağı sağlamak yeterli değil. Dosya başka bir işlem tarafından kilitli değilse, onu bile erişilemeyebilir _access_s 0 döndürür.

_waccess_sgeniş karakter sürümü _access_s, burada path bağımsız değişkeni _waccess_s bir geniş karakter dizesidir. Aksi halde, _waccess_s ve _access_s aynı şekilde davranır.

Bu işlevler, kendi parametreleri doğrulayın. path Olan NULL veya mode geçerli bir moda belirtmiyor geçersiz parametre işleyicisi, açıklandığı şekilde çağrılır Parametre doğrulama. Yürütülmesine devam etmek için izin verilmişse, bu işlevler kümesi errno için EINVAL ve EINVAL.

Genel metin yordamı eşlemeleri

Tchar.h yordamına girildi

_UNICODE ve _mbcs tanımlı değil

Tanımlanan _mbcs

Tanımlanan _UNICODE

_taccess_s

_access_s

_access_s

_waccess_s

Gereksinimler

Yordamı

Gerekli başlık

İsteğe bağlı bir üstbilgi

_access_s

<io.h>

<errno.h>

_waccess_s

<wchar.h> veya <io.h>

<errno.h>

Örnek

Bu örnek _access_s var olup ve yazma izin verilip verilmeyeceğini görmek için crt_access_s.c adlı dosyayı denetlemek için.

// 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" );
    }
}
      

.NET Framework Eşdeğeri

System.IO.FileAccess

Ayrıca bkz.

Başvuru

Dosya işleme

_access, _waccess

_chmod, _wchmod

_fstat, _fstat32, _fstat64, _fstati64, _fstat32i64, _fstat64i32

_open, _wopen

_stat, _wstat işlevleri