선언:
C#
[DllImport("kernel32", CharSet = CharSet.Auto)]
public static extern Int32 CreateDirectory(String PathName, IntPtr SecAttr);
VB.NET
<DllImport("kernel32", CharSet := CharSet.Auto)> _
Public Shared Function CreateDirectory(PathName As String, SecAttr As IntPtr) As Int32
End Function
사용 예제:
C#
using System;
using System.Runtime.InteropServices;
namespace ApiReference {
class ApiExample {
[DllImport("kernel32", CharSet = CharSet.Auto)]
public static extern Int32 CreateDirectory(String PathName, IntPtr SecAttr);
public static void Main(String[] args)
{
Console.Write("폴더의 경로를 입력하세요: ");
String PathName = Console.ReadLine();
if ( CreateDirectory(PathName, IntPtr.Zero) == 0 )
Console.WriteLine("폴더 만들기 실패!");
else
Console.WriteLine("폴더 만들기 성공!");
Console.ReadKey(true);
}
}
}
VB.NET
Imports System
Imports System.Runtime.InteropServices
Namespace ApiReference
Class ApiExample
<DllImport("kernel32", CharSet := CharSet.Auto)> _
Public Shared Function CreateDirectory(PathName As String, SecAttr As IntPtr) As Int32
End Function
Public Shared Sub Main(ByVal args As String())
Console.Write("폴더의 경로를 입력하세요: ")
Dim PathName As String = Console.ReadLine()
If CreateDirectory(PathName, IntPtr.Zero) = 0 Then
Console.WriteLine("폴더 만들기 실패!")
Else
Console.WriteLine("폴더 만들기 성공!")
End If
Console.ReadKey(True)
End Sub
End Class
End Namespace
예제 실행 결과:
매개 변수 설명:
PathName - 만들어질 폴더의 경로를 입력합니다.
SecAttr - 보안 특성 정보를 저장하고 있는 SECURITY_ATTRIBUTES 구조체의 포인터 값으로 기본 값을 사용하려는 경우 IntPtr.Zero 를 입력합니다.
API 설명:
폴더를 생성합니다.
참고:
CreateDirectory (MSDN)
비고:
보안 특성자를 적용하려는 경우엔 SECURITY_ATTRIBUTES 구조체를 Marshal 클래스를 통하여 포인터 식으로 변경한 후에 값을 전달하는 것이 좋습니다.
'API Reference' 카테고리의 다른 글
6. IsWow64Process (0) | 2014.09.10 |
---|---|
5. TerminateProcess (0) | 2014.09.09 |
4. OpenProcess (0) | 2013.12.12 |
3. NtQueryInformationProcess (0) | 2013.12.06 |
2. RemoveDirectory (0) | 2013.12.04 |