Aracılığıyla paylaş


_access_s, _waccess_s

Dosya okuma/yazma izinleri belirler.Bu bir sürümüdür _access, _waccess 'de açıklanan güvenlik yenilikleri ile CRT'deki 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

Dosyaya verilen modu 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.Dosya izni ayarı, 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, and _sys_nerr.

Notlar

Dosyaları ile kullanıldığında _access_s işlevi, belirtilen dosya var ve olarak erişilebilir olup olmadığını belirler değeri tarafından belirtilen mode.Dizinleri ile kullanıldığında _access_s yalnızca belirtilen dizini olup olmadığını gösterir.İçinde Windows 2000 ve daha sonra tüm dizinleri okuma ve yazma erişimi.

mod değeri

Denetim dosyası için

00

Sadece varlığı.

02

Yazma izni.

04

Okuma izni.

06

Okuma ve yazma izni.

Okuma veya dosyaya yazma izni bir dosyanın açılmasını sağlamak yeterli değildir.Bir dosyayı başka bir işlem tarafından kilitli ise örneğin, onu olmasa da erişilebilir olmayan _access_s 0 değerini döndürür.

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

Bu işlevler, kendi parametrelerini doğrular.Yoksa path olan NULL veya mode geçerli bir moda belirtmiyor açıklandığı gibi geçersiz bir parametre işleyici çağrılır Parametre Doğrulama.Yürütmenin devam etmesine izin verilirse, bu işlevler errno öğesini EINVAL olarak ayarlar ve EINVAL döndürür.

Genel Metin Yordam Eşleşmeleri

Tchar.h yordamı

_UNICODE ve _MBCS tanımlanmaz

_MBCS tanımlanmış

_UNICODE tanımlanmış

_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 kullanır _access_s var olup ve yazmaya 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

FileAccess

Ayrıca bkz.

Başvuru

Dosya İşleme

_access, _waccess

_chmod, _wchmod

_fstat, _fstat32, _fstat64, _fstati64, _fstat32i64, _fstat64i32

_open, _wopen

_stat, _wstat İşlevleri