.NET/Windows API for .NET

CreateDirectory - Directory의 생성

클리엘 2019. 8. 5. 16:55
728x90

CreateDirectory함수는 Disk에 새로운 Folder를 생성하는 함수입니다.

Declare Function CreateDirectory Lib "kernel32" Alias "CreateDirectoryA" (ByVal lpPathName As String, ByRef lpSecurityAttributes As SECURITY_ATTRIBUTES) As Integer

- VB.NET 선언

[DllImport("kernel32")]
public static extern int CreateDirectory(string lpPathName, ref SECURITY_ATTRIBUTES lpSecurityAttributes);

- C# 선언

 

CreateDirectory함수의 첫번째 인수는 생성할 Folder의 이름을 경로와 함께 기술합니다. 두번째 인수는 생성할 Folder에 대한 보안관련 구조체를 기술하는 부분인데 단순히 생성만 하는 경우에는 대부분 구조체에 대한 별도의 값을 설정하지 않습니다.

만일 C dirve에 aaa라는 Folder를 생성하는 경우 함수는 다음과 같이 호출될 수 있습니다.

Public Structure SECURITY_ATTRIBUTES
    Public nLength As Integer
    Public lpSecurityDescriptor As Integer
    Public bInheritHandle As Integer
End Structure

Dim strSec As SECURITY_ATTRIBUTES
CreateDirectory("C:\aaa", strSec)

- VB.NET 호출

public struct SECURITY_ATTRIBUTES
{
    public int nLength;
    public int lpSecurityDescriptor;
    public int bInheritHandle;
}

SECURITY_ATTRIBUTES strSec = default(SECURITY_ATTRIBUTES);
CreateDirectory("C:\\aaa", ref strSec);

- C# 호출

 

참고로 구조체를 선언하지 않고 해당 인수를 null(nothing)로 처리하여도 Folder를 생성할 수 있습니다.

이 함수는 실행에 실패하는 경우 0을 반환합니다.

728x90