FileSystemAclExtensions.Create Metoda

Definicja

Przeciążenia

Create(DirectoryInfo, DirectorySecurity)

Tworzy nowy katalog, upewniając się, że został utworzony z określonymi zabezpieczeniami katalogu.Creates a new directory, ensuring it is created with the specified directory security. Jeśli katalog już istnieje, nic nie jest gotowe.If the directory already exists, nothing is done.

Create(FileInfo, FileMode, FileSystemRights, FileShare, Int32, FileOptions, FileSecurity)

Tworzy nowy strumień pliku, upewniając się, że został utworzony przy użyciu określonych właściwości i ustawień zabezpieczeń.Creates a new file stream, ensuring it is created with the specified properties and security settings.

Create(DirectoryInfo, DirectorySecurity)

Tworzy nowy katalog, upewniając się, że został utworzony z określonymi zabezpieczeniami katalogu.Creates a new directory, ensuring it is created with the specified directory security. Jeśli katalog już istnieje, nic nie jest gotowe.If the directory already exists, nothing is done.

public:
[System::Runtime::CompilerServices::Extension]
 static void Create(System::IO::DirectoryInfo ^ directoryInfo, System::Security::AccessControl::DirectorySecurity ^ directorySecurity);
public static void Create (this System.IO.DirectoryInfo directoryInfo, System.Security.AccessControl.DirectorySecurity directorySecurity);
static member Create : System.IO.DirectoryInfo * System.Security.AccessControl.DirectorySecurity -> unit

Parametry

directoryInfo
DirectoryInfo

Katalog, który jeszcze nie istnieje, który zostanie utworzony przez metodę.A directory that does not exist yet that will be created by the method.

directorySecurity
DirectorySecurity

Kontrola dostępu i zabezpieczenia inspekcji dla katalogu.The access control and audit security for the directory.

Wyjątki

nulldirectoryInfo lub directorySecurity.directoryInfo or directorySecurity is null.

Nie można znaleźć części ścieżki.Could not find a part of the path.

Odmowa dostępu do ścieżki.Access to the path is denied.

Przykłady

Poniższy przykład kodu tworzy nowy katalog w folderze tymczasowym użytkownika z określonym atrybutami zabezpieczeń katalogu:The following code example creates a new directory inside the user's temporary folder with the specified directory security attributes:

using System.IO;
using System.Security.AccessControl;
using System.Security.Principal;

namespace ConsoleApp
{
    class Program
    {
        static void Main()
        {
            DirectorySecurity security = new DirectorySecurity();

            SecurityIdentifier identity = new SecurityIdentifier(WellKnownSidType.BuiltinUsersSid, null);
            FileSystemAccessRule accessRule = new FileSystemAccessRule(identity, FileSystemRights.FullControl, AccessControlType.Allow);
            security.AddAccessRule(accessRule);

            string path = Path.Combine(Path.GetTempPath(), "directoryToCreate");

            DirectoryInfo dirInfo = new DirectoryInfo(path);

            dirInfo.Create(security);
        }
    }
}

Uwagi

Ta metoda rozszerzenia została dodana do programu .NET Core, aby zapewnić funkcje dostarczone przez DirectoryInfo. Create (DirectorySecurity) metodę .NET Framework.This extension method was added to .NET Core to bring the functionality that was provided by the DirectoryInfo.Create(DirectorySecurity) .NET Framework method.

Create(FileInfo, FileMode, FileSystemRights, FileShare, Int32, FileOptions, FileSecurity)

Tworzy nowy strumień pliku, upewniając się, że został utworzony przy użyciu określonych właściwości i ustawień zabezpieczeń.Creates a new file stream, ensuring it is created with the specified properties and security settings.

public:
[System::Runtime::CompilerServices::Extension]
 static System::IO::FileStream ^ Create(System::IO::FileInfo ^ fileInfo, System::IO::FileMode mode, System::Security::AccessControl::FileSystemRights rights, System::IO::FileShare share, int bufferSize, System::IO::FileOptions options, System::Security::AccessControl::FileSecurity ^ fileSecurity);
public static System.IO.FileStream Create (this System.IO.FileInfo fileInfo, System.IO.FileMode mode, System.Security.AccessControl.FileSystemRights rights, System.IO.FileShare share, int bufferSize, System.IO.FileOptions options, System.Security.AccessControl.FileSecurity fileSecurity);
static member Create : System.IO.FileInfo * System.IO.FileMode * System.Security.AccessControl.FileSystemRights * System.IO.FileShare * int * System.IO.FileOptions * System.Security.AccessControl.FileSecurity -> System.IO.FileStream

Parametry

fileInfo
FileInfo

Plik, który jeszcze nie istnieje, zostanie utworzony przez metodę.A file that does not exist yet that will be created by the method.

mode
FileMode

Jedna z wartości wyliczenia, która określa, jak system operacyjny powinien otworzyć plik.One of the enumeration values that specifies how the operating system should open a file.

rights
FileSystemRights

Jedna z wartości wyliczenia, która definiuje prawa dostępu do użycia podczas tworzenia reguł dostępu i inspekcji.One of the enumeration values that defines the access rights to use when creating access and audit rules.

share
FileShare

Jedną z wartości wyliczenia do kontrolowania rodzaju dostępu do innych obiektów strumienia plików może być ten sam plik.One of the enumeration values for controlling the kind of access other file stream objects can have to the same file.

bufferSize
Int32

Liczba bajtów buforowanych w celu odczytu i zapisu w pliku.The number of bytes buffered for reads and writes to the file.

options
FileOptions

Jedna z wartości wyliczenia, która opisuje sposób tworzenia lub zastępowania pliku.One of the enumeration values that describes how to create or overwrite the file.

fileSecurity
FileSecurity

Obiekt, który określa kontrolę dostępu i zabezpieczenia inspekcji dla pliku.An object that determines the access control and audit security for the file.

Zwraca

Strumień pliku dla nowo utworzonego pliku.A file stream for the newly created file.

Wyjątki

Kombinacja rights i mode jest nieprawidłowa.The rights and mode combination is invalid.

nullfileInfo lub fileSecurity.fileInfo or fileSecurity is null.

mode lub share są poza dozwolonym zakresem wyliczeniowym.mode or share are out of their legal enum range.

— lub —-or-

bufferSize nie jest liczbą dodatnią.bufferSize is not a positive number.

Nie można znaleźć części ścieżki.Could not find a part of the path.

Wystąpił błąd we/wy.An I/O error occurred.

Odmowa dostępu do ścieżki.Access to the path is denied.

Przykłady

Poniższy przykład kodu tworzy nowy plik tekstowy (z domyślnym rozmiarem buforu 4096) wewnątrz folderu tymczasowego użytkownika z określonymi atrybutami zabezpieczeń plików:The following code example creates a new text file (with the default buffer size of 4096) inside the user's temporary folder with the specified file security attributes:

using System.IO;
using System.Security.AccessControl;
using System.Security.Principal;

namespace ConsoleApp
{
    class Program
    {
        static void Main()
        {
            FileSecurity security = new FileSecurity();

            SecurityIdentifier identity = new SecurityIdentifier(WellKnownSidType.BuiltinUsersSid, null);
            FileSystemAccessRule accessRule = new FileSystemAccessRule(identity, FileSystemRights.FullControl, AccessControlType.Allow);
            security.AddAccessRule(accessRule);

            string path = Path.Combine(Path.GetTempPath(), "fileToCreate.txt");

            FileInfo fileInfo = new FileInfo(path);

            fileInfo.Create(FileMode.Create, FileSystemRights.FullControl, FileShare.Read, 4096, FileOptions.None, security);
        }
    }
}

Uwagi

Ta metoda rozszerzenia została dodana do programu .NET Core, aby zapewnić funkcjonalność, która została dostarczona przez:This extension method was added to .NET Core to bring the functionality that was provided by:

Dotyczy