Win32 API

RegDeleteKey

2015. 3. 17. 19:01

지정한 하위 키와 값을 삭제한다.

* 하위 키 안에 하위 키가 있으면 삭제 되지 않는다. 삭제 하려는 하위 키 안의 모든 하위 키를 먼저 삭제한 후 호출해야 한다. 하위 키 안에 있는 모든 하위 키들을 반복적으로 삭제 하려면 RegDeleteTree 또는 SHDeleteKey 함수를 사용한다.

64bit 운영 체제에서 64bit 레지스트리 키를 32bit 응용 프로그램으로 삭제할 시 실패를 반환한다, 이 경우 RegDeleteKeyEx 함수를 사용한다.


- 출처 : MSDN


  • hKey

- 삭제하려는 키의 상위 키에 접근 가능한 핸들을 설정한다.

- 핸들값을 루트(하이브)키로 설정하면 두 번째 파라메터에서 루트(하이브)키를 제외한 삭제하려는 키의 전체 경로를 명시해 준다.


  • lpSubKey

- 삭제하고자 하는 키의 이름을 설정한다.

- 이 값은 NULL로 설정할 수 없다.


Return value : 성공 시 ERROR_SUCCESS(0)을 반환하고, 실패 시 0이 아닌 Winerror.h에 정의 되어 있는 에러 코드를 반환한다.


Header : Winreg.h(include Windows.h)


DLL : Advapi32.dll


'Win32 API' 카테고리의 다른 글

RegDeleteKeyEx  (0) 2015.03.18
RegEnumKeyEx  (0) 2015.03.17
RegFlushKey  (0) 2015.03.17
RegCloseKey  (0) 2015.03.17
RegCreateKeyEx  (0) 2015.03.17

RegFlushKey

2015. 3. 17. 18:46

열려있는 레지스트리 키의 변경된 사항을 적용한다.

*레지스트리에 대한 정보 변경 시 일정 시간 경과 후 자동 적용 되므로 이 함수를 의무적으로 호출할 필요는 없다, 레지스트리의 변경 정보를 확실히 적용 하고자 할 때 호출한다.


- 출처 : MSDN


  • hKey

- 열려있는 레지스트리 키에 대한 핸들을 설정한다.

- 키는 KEY_QUERY_VALUE 접근 권한으로 열려 있어야 한다.


Return value : 성공 시 ERROR_SUCCESS(0)을 반환하고, 실패 시 0이 아닌 Winerror.h에 정의 되어 있는 에러 코드를 반환한다.


Header : Winreg.h(include Windows.h)


DLL : Advapi32.dll


'Win32 API' 카테고리의 다른 글

RegEnumKeyEx  (0) 2015.03.17
RegDeleteKey  (0) 2015.03.17
RegCloseKey  (0) 2015.03.17
RegCreateKeyEx  (0) 2015.03.17
Module32Next  (0) 2015.03.17

RegCloseKey

2015. 3. 17. 18:36

지정한 레지스트리 키에 접근 가능한 핸들을 닫는다.


- 출처 : MSDN


  • hKey

- 닫고자 하는 레지스트리 키에 대한 핸들을 설정한다.

- RegCreateKeyEx, RegCreateKeyTransacted, RegOpenKeyEx, RegOpenKeyTransacted, RegConnectRegistry로 얻어진 핸들은 닫는다.


Return value : 성공 시 ERROR_SUCCESS(0)을 반환하고, 실패 시 0이 아닌 Winerror.h에 정의 되어 있는 에러 코드를 반환한다.


Header : Winreg.h(include Windows.h)


DLL : Advapi32.dll


'Win32 API' 카테고리의 다른 글

RegDeleteKey  (0) 2015.03.17
RegFlushKey  (0) 2015.03.17
RegCreateKeyEx  (0) 2015.03.17
Module32Next  (0) 2015.03.17
Module32First  (0) 2015.03.17

RegCreateKeyEx

2015. 3. 17. 18:10

레지스트리 키를 생성 또는 오픈한다.

* 키 이름은 대/소문자를 구분하지 않는다.  


- 출처 : MSDN


  • hKey

- 생성 또는 오픈 할 키의 루트(하이브)키, 또는 RegCreateKeyEx 나 RegOpenKeyEx로 반환된 키를 설정한다.

- 일반적으로 미리 정의되어 있는 루트(하이브)키 중 하나를 선택한다.

 

  • lpSubKey

- 생성 또는 오픈 할 하위 키를 전달한다.

- 이 값은 NULL이 될 수 없다.


  • Reserved

- 예약 영역으로 항상 0을 전달한다.


  • lpClass

- 사용자 정의 클래스 유형을 설정한다.

- 일반적으로 NULL을 설정한다.


  • dwOptions

- 옵션들 중 하나를 설정한다.

- 일반적으로 REG_OPTOIN_NON_VOLATILE(값을 파일에 기록하여 재부팅 시 지워지지 않음)를 설정한다.


  • samDesired

- 키에 대한 접근 권한을 설정한다.

- 일반적으로 KEY_ALL_ACCESS 권한을 설정한다.

- 64bit 운영체제에서 32bit 프로그램으로 이 함수를 호출할 경우 KEY_WOW64_64KEY 권한을 추가한다.(정확히 얘기하면 64bit 운영체제에서 64bit 프로그램과 32bit 프로그램은 서로 다른 경로에 레지스트리가 저장 되는데 이러한 차이 때문에32bit 프로그램이 64bit 레지스트리에 접근 할 시에는 KEY_WOW64_64KEY 권한을 요청하여 제대로 된 접근이 가능하고 반대로 64bit 프로그램이 32bit 레지스트리에 접근 할 시에는 KEY_WOW64_32KEY권한을 요청하여 제대로 된 접근을 할 수 있다.) 


  • lpSecurityAttributes

- 반환된 핸들을 자식 프로세스에게 상속할지 여부를 결정하는 SECURITY_ATTRIBUTES 구조체 변수의 주소를 설정한다.

- 상속하지 않을 경우 NULL을 설정한다.


  • phkResult

- 생성 또는 오픈 한 키에 접근할 수 있는 핸들을 저장 할 변수의 주소를 설정한다.


  • lpdwDisposition

- 생성 된 키 인지 또는 오픈된 키 인지에 대한 정보를 저장 할 변수의 주소를 설정한다.

- 해당 정보가 필요없을 시 NULL을 설정한다. 


Return value : 성공 시 ERROR_SUCCESS(0)을 반환하고, 실패 시 0이 아닌 Winerror.h에 정의 되어 있는 에러 코드를 반환한다.


Header : Winreg.h(include Windows.h)


DLL : Advapi32.dll


'Win32 API' 카테고리의 다른 글

RegFlushKey  (0) 2015.03.17
RegCloseKey  (0) 2015.03.17
Module32Next  (0) 2015.03.17
Module32First  (0) 2015.03.17
Thread32Next  (0) 2015.03.17

Module32Next

2015. 3. 17. 17:19

Module32First 호출 이후 스냅샷 정보에서 다음 프로세스의 정보를 읽어온다.


- 출처 : MSDN


  • hSnapshot

- CreateToolhelp32Snapshot 함수 호출의 반환 값인 스냅샷 정보의 핸들을 전달한다.


  • lpme

- 읽어온 프로세스의 정보를 저장 할 MODULEENTRY32 구조체 변수의 주소를 전달한다.


Return value : 성공 시 TRUE를 반환하고, 실패 시 FALSE를 반환한다. 실패에 대한 자세한 정보는 GetLastError 함수를 참고한다.


Header : TlHelp32.h


DLL : Kernel32.dll



'Win32 API' 카테고리의 다른 글

RegCloseKey  (0) 2015.03.17
RegCreateKeyEx  (0) 2015.03.17
Module32First  (0) 2015.03.17
Thread32Next  (0) 2015.03.17
Thread32First  (0) 2015.03.17

Module32First

2015. 3. 17. 17:14

스냅샷 정보에서 첫 번째 모듈의 정보를 읽어온다.


- 출처 : MSDN


  • hSnapshot

CreateToolhelp32Snapshot 함수 호출의 반환 값인 스냅샷 정보의 핸들을 전달한다.


  • lpme

- 읽어온 모듈의 정보를 저장 할 MODULEENTRY32 구조체 변수의 주소를 전달한다.

- 구조체의 크기를 나타내는 dwSize의 멤버는 sizeof 연산자로 크기를 구하여 반드시 설정 해야한다.


Return value : 성공 시 TRUE를 반환하고, 실패 시 FALSE를 반환한다. 실패에 대한 자세한 정보는 GetLastError 함수를 참고한다.


Header : TlHelp32.h


DLL : Kernel32.dll


'Win32 API' 카테고리의 다른 글

RegCreateKeyEx  (0) 2015.03.17
Module32Next  (0) 2015.03.17
Thread32Next  (0) 2015.03.17
Thread32First  (0) 2015.03.17
TerminateThread  (0) 2015.03.17

Thread32Next

2015. 3. 17. 17:00

Thread32First 호출 이후 스냅샷 정보에서 다음 스레드의 정보를 읽어온다.


- 출처 : MSDN


  • hSnapshot

CreateToolhelp32Snapshot 함수 호출의 반환 값인 스냅샷 정보의 핸들을 전달한다.


  • lpte

읽어온 스레드의 정보를 저장 할 THREADENTRY32 구조체 변수의 주소를 전달한다.


Return value : 성공 시 TRUE를 반환하고, 실패 시 FALSE를 반환한다. 실패에 대한 자세한 정보는 GetLastError 함수를 참고한다.


Header : TlHelp32.h


DLL : Kernel32.dll


'Win32 API' 카테고리의 다른 글

Module32Next  (0) 2015.03.17
Module32First  (0) 2015.03.17
Thread32First  (0) 2015.03.17
TerminateThread  (0) 2015.03.17
ExitThread  (0) 2015.03.17

Thread32First

2015. 3. 17. 16:55

스냅샷 정보에서 첫 번째 스레드 정보를 읽어온다.


- 출처 : MSDN


  • hSnapshot

- CreateToolhelp32Snapshot 함수 호출의 반환 값인 스냅샷 정보의 핸들을 전달한다.


  • lpte

- 읽어온 스레드의 정보를 저장 할 THREADENTRY32 구조체 변수의 주소를 전달한다.

- 구조체의 크기를 나타내는 dwSize의 멤버는 sizeof 연산자로 크기를 구하여 반드시 설정 해야한다.


Return value : 성공 시 TRUE를 반환하고, 실패 시 FALSE를 반환한다. 실패에 대한 자세한 정보는 GetLastError 함수를 참고한다.


Header : TlHelp32.h


DLL : Kernel32.dll


'Win32 API' 카테고리의 다른 글

Module32First  (0) 2015.03.17
Thread32Next  (0) 2015.03.17
TerminateThread  (0) 2015.03.17
ExitThread  (0) 2015.03.17
SuspendThread  (0) 2015.03.17

TerminateThread

2015. 3. 17. 16:21

지정한 스레드를 종료한다.


- 출처 : MSDN


  • hThread

- 종료 시키고자 하는 스레드의 핸들을 설정한다.

- 핸들의 접근 권한은 반드시 THREAD_TERMINATE를 가져야 한다.


  • dwExitCode

- 스레드 종료 코드를 설정한다.

- 스레드의 종료 코드를 확인하고자 할 때는 GetExitCodeThread 함수를 이용한다.


Return value : 성공 시 TRUE, 실패 시 FALSE를 반환 한다. 실패에 대한 자세한 정보는 GetLastError 함수를 통해 확인할 수 있다.


Header : WinBase.h(include Windows.h)


DLL : Kernel32.dll


'Win32 API' 카테고리의 다른 글

Thread32Next  (0) 2015.03.17
Thread32First  (0) 2015.03.17
ExitThread  (0) 2015.03.17
SuspendThread  (0) 2015.03.17
OpenThread  (0) 2015.03.17

ExitThread

2015. 3. 17. 16:10

함수를 호출한 스레드를 종료한다.


- 출처 : MSDN


  • dwExitCode

- 스레드 종료 코드를 설정한다.

- 통상적으로 정상 종료 인경우 0을 비 정상 종료인 경우 -1을 입력 한다.


Return value : 반환 값은 없다.


Header : WinBase.h(include Windows.h)


DLL : Kernel32.dll


'Win32 API' 카테고리의 다른 글

Thread32First  (0) 2015.03.17
TerminateThread  (0) 2015.03.17
SuspendThread  (0) 2015.03.17
OpenThread  (0) 2015.03.17
ResumeThread  (0) 2015.03.17

SuspendThread

2015. 3. 17. 16:05

지정한 스레드를 일시중단 시킨다.


- 출처 : MSDN


  • hThread

- 일시중단 시키고자 하는 스레드의 핸들을 설정한다.

- 이 핸들은 THREAD_SUSPEND_RESUME 접근 권한을 가지고 있어야 한다.


Return value : 성공 시 스레드의 이전 중단 카운트를 반환하고, 실패 시 -1을 반환한다. 실패에 대한 자세한 정보는 GetLastError 함수를 참고한다.


Header : WinBase.h(include Windows.h)


DLL : Kernel32.dll


'Win32 API' 카테고리의 다른 글

TerminateThread  (0) 2015.03.17
ExitThread  (0) 2015.03.17
OpenThread  (0) 2015.03.17
ResumeThread  (0) 2015.03.17
CreateThread  (0) 2015.03.17

OpenThread

2015. 3. 17. 15:56

기존 스레드의 핸들을 구한다.


- 출처 : MSDN


  • dwDesiredAccess

- 핸들을 얻어 접근 하고자 하는 스레드의 접근 권한을 설정 한다.

- 이 함수 호출의 반환 값인 핸들을 가지고 스레드에 접근할 때, 해당 핸들이 가지고 있는 권한 내에서 스레드 사용이 가능 하기 때문에 스레드에 접근 하고자 하는 목적에 맞는 접근 권한을 설정한다.

- 스레드의 전체 접근 권한을 지닌 핸들을 구하고자 할 때는 SeDebugPrivilege 특권을 활성화 시켜야 한다. 


  • bInheritHandle

- 값이 TRUE면 이 프로세스에 의해 생성 된 프로세스는 핸들을 상속받고, FALSE면 상속하지 않는다.


  • dwThreadId

- 핸들을 얻고자 하는 스레드의 ID를 설정한다.


Return value : 성공 시 지정한 스레드에 접근 가능한 핸들이 반환되고, 실패 시 NULL이 반환된다. 실패에 대한 자세한 정보는 GetLastError 함수를 참고한다.


Header : WinBase.h(include Windows.h)


DLL : Kernel32.dll


'Win32 API' 카테고리의 다른 글

ExitThread  (0) 2015.03.17
SuspendThread  (0) 2015.03.17
ResumeThread  (0) 2015.03.17
CreateThread  (0) 2015.03.17
OpenProcess  (0) 2015.03.16

ResumeThread

2015. 3. 17. 15:42

일시중단 된 스레드를 재 실행 시킨다.

* 좀더 정확히 표현하면 스레드의 중단 카운트를 하나 감소 시키며, 중단 카운트가 0이 됬을 때 스레드는 재 실행된다.


- 출처 : MSDN


  • hThread

- 재 실행 시키고자 하는 스레드의 핸들을 설정한다.

- 이 핸들은 THREAD_SUSPEND_RESUME 접근 권한을 가지고 있어야 한다.


Return value : 성공 시 스레드의 이전 중단 카운트를 반환하고, 실패 시 -1을 반환한다. 실패에 대한 자세한 정보는 GetLastError 함수를 참고한다.


Header : WinBase.h(include Windows.h)


DLL : Kernel32.dll


'Win32 API' 카테고리의 다른 글

SuspendThread  (0) 2015.03.17
OpenThread  (0) 2015.03.17
CreateThread  (0) 2015.03.17
OpenProcess  (0) 2015.03.16
Process32Next  (0) 2015.03.16

CreateThread

2015. 3. 17. 15:06

함수를 호출한 프로세스 공간에 새로운 스레드를 생성한다.

* 다른 프로세스 공간에 새로운 스레드를 생성하려면 CreateRemoteThread 함수를 사용한다. 


- 출처 : MSDN


  • lpThreadAttributes

- 반환된 핸들을 자식 프로세스에 상속 할 수 있는지 여부를 결정하는 SECURITY_ATTRIBUTES 구조체 변수의 주소를 지정한다.

- 이 값을 NULL로 설정 시, 핸들은 상속되지 않는다.


  • dwStackSize

- 스레드가 사용할 스택의 초기 크기값(바이트 단위)을 설정한다.

- 이 값을 0으로 설정 시 기본 크기 값인 1Mbyte가 설정된다.


  • lpStartAddress

- 생성된 스레드가 실행 할 명령이 정의되어 있는 스레드 함수의 시작 주소를 설정한다.(스레드 함수 이름을 설정하면 됨)

- 스레드 함수의 원형은 WinBase.h에 정의되어 있는 ThreadProc를 사용한다.


  • lpParameter

- 스레드 함수의 전달 인자를 설정한다.

- 전달 인자 없을 시 NULL을 설정한다.


  • dwCreationFlags

- 스레드 생성을 제어하는 플래그

- 일반적으로 0을 설정하며 0으로 설정 시 스레드 생성 후 바로 실행된다.


  • lpThreadId

- 생성된 스레드의 식별자인 TID를 저장할 변수의 주소를 설정한다.

- 스레드 ID값이 필요없을 경우 NULL을 설정하며, NULL 설정 시 값을 반환하지 않는다.


Return value : 성공 시 생성된 스레드의 핸들을 반환하고, 실패 시 NULL을 반환한다. 실패 에 대한 자세한 정보는 GetLastError 함수를 참고한다.


Header : WinBase.h(include Windows.h)


DLL : Kernel32.dll


'Win32 API' 카테고리의 다른 글

OpenThread  (0) 2015.03.17
ResumeThread  (0) 2015.03.17
OpenProcess  (0) 2015.03.16
Process32Next  (0) 2015.03.16
Process32First  (0) 2015.03.16

OpenProcess

2015. 3. 16. 19:08

로컬에서 실행중인 함수를 호출하는 자기자신 또는 다른 프로세스의 핸들을 구한다.


- 출처 : MSDN


  • dwDesiredAccess

- 핸들을 얻어 접근 하고자 하는 프로세스의 접근 권한을 설정 한다.

- 이 함수 호출의 반환 값인 핸들을 가지고 프로세스에 접근할 때, 해당 핸들이 가지고 있는 권한 내에서 프로세스 사용이 가능 하기 때문에 프로세스에 접근 하고자 하는 목적에 맞는 접근 권한을 설정한다.

- 함수를 호출한 프로세스가 아닌 다른 프로세스의 전체 접근 권한을 지닌 핸들을 구하고자 할 때는 SeDebugPrivilege 특권을 활성화 시켜야 한다. 


  • bInheritHandle

- 핸들의 상속여부를 지정한다.

- 이 값이 TRUE면 핸들을 상속, FALSE면 상속하지 않는다.


  • dwProcessId

- 핸들을 얻고자 하는 프로세스의 ID를 지정한다.

- 함수를 호출한 프로세스 자신의 PID를 얻고자 할 때는 GetCurrentProcessId 함수를 사용한다.



Return value : 성공 시 지정한 프로세스에 접근 가능한 핸들이 반환되고, 실패 시 NULL이 반환된다. 실패에 대한 자세한 정보는 GetLastError 함수를 참고한다.


Header : WinBase.h(include Windows.h)


DLL : Kernel32.dll


'Win32 API' 카테고리의 다른 글

ResumeThread  (0) 2015.03.17
CreateThread  (0) 2015.03.17
Process32Next  (0) 2015.03.16
Process32First  (0) 2015.03.16
CloseHandle  (0) 2015.03.16

Process32Next

2015. 3. 16. 14:33

Process32First 호출 이후 스냅샷 정보에서 다음 프로세스의 정보를 읽어온다.


- 출처 : MSDN


  • hSnapshot

CreateToolhelp32Snapshot 함수 호출의 반환 값인 스냅샷 정보의 핸들을 전달한다.


  • lppe

- 읽어온 프로세스의 정보를 저장 할 PROCESSENTRY32 구조체 변수의 주소를 전달한다.


Return value : 성공 시 TRUE를 반환하고, 실패 시 FALSE를 반환한다. 실패에 대한 자세한 정보는 GetLastError 함수를 참고한다.


Header : TlHelp32.h


DLL : Kernel32.dll


'Win32 API' 카테고리의 다른 글

CreateThread  (0) 2015.03.17
OpenProcess  (0) 2015.03.16
Process32First  (0) 2015.03.16
CloseHandle  (0) 2015.03.16
CreateToolhelp32Snapshot  (0) 2015.03.16

Process32First

2015. 3. 16. 14:24

스냅샷 정보에서 첫 번째 프로세스의 정보를 읽어온다.


- 출처 : MSDN


  • hSnapshot

- CreateToolhelp32Snapshot 함수 호출의 반환 값인 스냅샷 정보의 핸들을 전달한다.


  • lppe

- 읽어온 프로세스의 정보를 저장 할 PROCESSENTRY32 구조체 변수의 주소를 전달한다.

- 구조체의 크기를 나타내는 dwSize의 멤버는 sizeof 연산자로 크기를 구하여 반드시 설정 해야한다.


Return value : 성공 시 TRUE를 반환하고, 실패 시 FALSE를 반환한다. 실패에 대한 자세한 정보는 GetLastError 함수를 참고한다.


Header : TlHelp32.h


DLL : Kernel32.dll


'Win32 API' 카테고리의 다른 글

OpenProcess  (0) 2015.03.16
Process32Next  (0) 2015.03.16
CloseHandle  (0) 2015.03.16
CreateToolhelp32Snapshot  (0) 2015.03.16
GetTempPath  (0) 2015.03.12

CloseHandle

2015. 3. 16. 12:51
열려있는 오브젝트의 핸들을 닫는다.

* 오브젝트란 사용자의 요청 또는 운영체제 스스로 필요에 의해 생성한 대상들( 파일, 프로세스, 스레드, ...)을 말한다.

 

 

- 출처 : MSDN

 

  • hObject

- 닫기를 원하는 오브젝트의 핸들이다.

 

Return value : 성공 시 TRUE를 반환하고, 실패 시 FALSE를 반환한다. 실패에 대한 자세한 정보는 GetLastError 함수를 참고한다.

 

Header : WinBase.h(include Windows.h) 

 

DLL : Kernel32.dll

'Win32 API' 카테고리의 다른 글

Process32Next  (0) 2015.03.16
Process32First  (0) 2015.03.16
CreateToolhelp32Snapshot  (0) 2015.03.16
GetTempPath  (0) 2015.03.12
GetWindowsDirectory  (0) 2015.03.12

CreateToolhelp32Snapshot

2015. 3. 16. 12:39

지정한 또는 모든 프로세스의 스냅샷 정보를 생성한다.

* 스냅샷이란 사진을 찍듯 함수가 호출된 시점에 지정한 대상의 정보를 저장해 놓은것을 말한다. 

  스냅샷 정보로는 프로세스 정보뿐만 아니라 힙, 모듈, 스레드 정보도 생성 가능하다.

 

 

- 출처 : MSDN

 

  • dwFlags

- 생성 할 스냅샷 종류를 설정 한다.

- 프로세스 목록을 열거하기 위해서는 TH32CS_SNAPPROCESS를 사용한다.

- 스레드 목록을 열거하기 위해서는 TH32CS_SNAPTHREAD를 사용한다.

 

  • th32ProcessID

- 스냅샷 정보를 생성 할 대상을 지정한다, 일반적으로 모든 프로세스의 정보를 원하면 0을 설정한다.

- 첫 번째 파라메터의 인자로 TH32CS_SNAPHEAPLIST, TH32CS_SNAPMODULE, TH32CS_SNAPMODULE32, TH32CS_SNAPALL 값들 중 하나가 선택되면 현재 파라메터에 특정 프로세스의 ID를 설정 한다, 이 때의 0은 현재 프로세스를 나타낸다. 

 

Return value : 성공 시 생성된 스냅샷 정보에 접근하기 위한 핸들이 반환되고, 실패 시 INVALID_HANDLE_VALUE(-1)를 반환한다. 실패에 대한 자세한 정보는 GetLastError 함수를 참고한다.

 

Header : TlHelp32.h 

 

DLL : Kernel32.dll


'Win32 API' 카테고리의 다른 글

Process32First  (0) 2015.03.16
CloseHandle  (0) 2015.03.16
GetTempPath  (0) 2015.03.12
GetWindowsDirectory  (0) 2015.03.12
GetSystemDirectory  (0) 2015.03.12

GetTempPath

2015. 3. 12. 18:55

임시 파일에 대해 지정된 디렉토리 경로의 이름을 얻어온다.

 

 

- 출처 : MSDN

 

  • nBufferLength

- 임시 디렉토리 문자열을 저장할 메모리의 크기이다.

 

  • lpBuffer

- 임시 디렉토리 문자열을 저장할 메모리의 주소를 전달한다.

- 저장된 경로의 이름 값 중 마지막 디렉토리의 백슬러쉬(\)를 포함한다.("C:\TEMP\")

 

Return value : 성공 시 NULL 문자 이전까지의 메모리에 기록된 문자열의 길이가 반환되고, 저장 메모리보다 문자열이 큰 경우 NULL 문자를 포함한 문자열의 길이가 반환된다. 실패 시 0을 반환한다. 실패에 대한 자세한 정보는 GetLastError 함수를 참고한다.

 

Header : FileAPI.h(include Windows.h)

 

DLL : Kernel32.dll

'Win32 API' 카테고리의 다른 글

CloseHandle  (0) 2015.03.16
CreateToolhelp32Snapshot  (0) 2015.03.16
GetWindowsDirectory  (0) 2015.03.12
GetSystemDirectory  (0) 2015.03.12
SetCurrentDirectory  (0) 2015.03.12

GetWindowsDirectory

2015. 3. 12. 18:25

Windows 디렉토리의 경로의 이름을 얻어온다.

 

 

- 출처 : MSDN

 

  • lpBuffer

- Windows 디렉토리의 경로 및 이름을 저장할 메모리의 주소를 전달한다.

- 저장된 경로의 이름 값 중 마지막 디렉토리의 백슬러쉬(\)는 포함되지 않는다.("C:\WINDOWS")

 

  • uSize

- 저장할 메모리의 최대 사이즈를 전달한다.

- 이 값은 보통 MAX_PATH(260byte)의 크기를 설정한다.

 

Return value :  성공 시 NULL 문자 이전까지의 메모리에 기록된 문자열의 길이가 반환되고, 저장 메모리보다 문자열이 큰 경우 NULL 문자를 포함한 문자열의 길이가 반환된다. 실패 시 0을 반환한다. 실패에 대한 자세한 정보는 GetLastError 함수를 참고한다.

 

Header : WinBase.h(include Windows.h)

 

DLL : Kernel32.dll 

'Win32 API' 카테고리의 다른 글

CreateToolhelp32Snapshot  (0) 2015.03.16
GetTempPath  (0) 2015.03.12
GetSystemDirectory  (0) 2015.03.12
SetCurrentDirectory  (0) 2015.03.12
GetCurrentDirectory  (0) 2015.03.12

GetSystemDirectory

2015. 3. 12. 18:09

시스템 디렉토리의 경로의 이름을 얻어온다.

 

 

- 출처 : MSDN

 

  • lpBuffer

- 시스템 디렉토리의 경로 및 이름을 저장할 메모리의 주소를 전달한다.

- 저장된 경로의 이름 값 중 마지막 디렉토리의 백슬러쉬(\)는 포함되지 않는다.("C:\Windows\System32")

 

  • uSize

- 저장 할 메모리의 최대 사이즈를 전달한다.

 

Return value :  성공 시 NULL 문자 이전까지의 메모리에 기록된 문자열의 길이가 반환되고, 저장 메모리보다 문자열이 큰 경우 NULL 문자를 포함한 문자열의 길이가 반환된다. 실패 시 0을 반환한다. 실패에 대한 자세한 정보는 GetLastError 함수를 참고한다. 

 

Header : WinBase.h(include Windows.h)

 

DLL : Kernel32.dll 

'Win32 API' 카테고리의 다른 글

GetTempPath  (0) 2015.03.12
GetWindowsDirectory  (0) 2015.03.12
SetCurrentDirectory  (0) 2015.03.12
GetCurrentDirectory  (0) 2015.03.12
RemoveDirectory  (0) 2015.03.12

SetCurrentDirectory

2015. 3. 12. 17:52

함수를 호출한 프로세스의 현재 디렉토리를 변경한다.

 

 

- 출처 : MSDN

 

  • lpPathName

- 변경할 디렉토리의 이름을 전달한다.

- 디렉토리의 경로는 상대 경로 또는 전체 경로를 사용한다.

- 문자열은 NULL 문자를 포함하여 MAX_PATH(260byte)를 초과할 수 없다.

 

Return value : 성공 시 TRUE를 반환하고, 실패 시 FALSE를 반환한다. 실패에 대한 자세한 정보는 GetLastError 함수를 참고한다.

 

Header : WinBase.h(include Windows.h)

 

DLL : Kernel32.dll

'Win32 API' 카테고리의 다른 글

GetWindowsDirectory  (0) 2015.03.12
GetSystemDirectory  (0) 2015.03.12
GetCurrentDirectory  (0) 2015.03.12
RemoveDirectory  (0) 2015.03.12
CreateDirectory  (0) 2015.03.12

GetCurrentDirectory

2015. 3. 12. 17:41

 함수를 호출한 프로세스의 현재 디렉토리 경로의 이름을 얻어온다.

 

 

- 출처 : MSDN

 

  • nBufferLength

- 현재 디렉토리 문자열을 저장할 메모리의 크기이다.

- NULL 문자를 위한 공간을 포함하고 있어야 한다.

  

  • lpBuffer

- 현재 디렉토리 문자열을 저장할 메모리의 주소를 전달한다.

- 필요한 메모리의 크기를 확인 하려면 이 파라메터를 NULL로 nBufferLenth를 0으로 설정하여 호출 후 반환 값을 확인한다.

 

Return value : 성공 시 NULL 문자 이전까지의 메모리에 기록된 문자들의 수가 반환되고, 실패 시 0을 반환한다. 실패에 대한 자세한 정보는 GetLastError 함수를 참고한다. 

 

Header : WinBase.h(include Windows.h)

 

DLL : Kernel32.dll 

'Win32 API' 카테고리의 다른 글

GetSystemDirectory  (0) 2015.03.12
SetCurrentDirectory  (0) 2015.03.12
RemoveDirectory  (0) 2015.03.12
CreateDirectory  (0) 2015.03.12
FindClose  (0) 2015.03.12

RemoveDirectory

2015. 3. 12. 17:23
디렉토리를 삭제한다.

* 삭제 할 디렉토리에는 파일이나 서브 디렉토리가 존재해서는 안 된다. 

 

 

- 출처 : MSDN

 

  • lpPathName

- 삭제할 디렉토리를 전달한다.

- 디렉토리는 반드시 비어 있어야 하고, 호출 프로세스는 디렉토리에 대한 삭제 권한이 있어야 한다.

 

Return value : 성공 시 TRUE를 반환하고, 실패 시 FALSE를 반환한다. 실패에 대한 자세한 정보는 GetLastError 함수를 참고한다.

 

Header : FileAPI.h(include Windows.h)

 

DLL : Kernel32.dll

'Win32 API' 카테고리의 다른 글

SetCurrentDirectory  (0) 2015.03.12
GetCurrentDirectory  (0) 2015.03.12
CreateDirectory  (0) 2015.03.12
FindClose  (0) 2015.03.12
FindNextFile  (0) 2015.03.12

CreateDirectory

2015. 3. 12. 17:09

디렉토리를 생성한다.

* 파일 시스템에서 파일과 디렉토리에 대한 보안을 지원하는 경우, 이 함수는 생성된 디렉토리에 지정된 보안 디스크립터 정보를 적용한다.

 

 

 

- 출처 : MSDN

 

  • lpPathName

- 생성할 디렉토리의 경로 및 이름을 전달한다.

 

  • lpSecurityAttributes

- SECURITY_ATTRIBUTES 구조체 변수의 주소를 전달한다.

- 일반적으로 NULL을 전달한다.(NULL을 사용하면 기본 보안 디스크립터로 설정 된다, ACL의 정보는 상위 디렉토리로 부터 상속 받는다.)

 

Return value : 성공 시 TRUE를 반환하고, 실패 시 FALSE를 반환한다. 실패에 대한 자세한 정보는 GetLastError 함수를 참고한다.

 

Header : FileAPI.h(include Windows.h)

 

DLL : Kernel32.dll 

 

'Win32 API' 카테고리의 다른 글

GetCurrentDirectory  (0) 2015.03.12
RemoveDirectory  (0) 2015.03.12
FindClose  (0) 2015.03.12
FindNextFile  (0) 2015.03.12
FindFirstFile  (0) 2015.03.12

FindClose

2015. 3. 12. 16:54

열려 있는 파일 검색 핸들을 닫는다.

* 파일 검색 핸들을 반환하는 함수는 FindFirstFile, FindFirstFileEx, FindFirstFileNameW, FindFirstFileNameTransactedW, FindFirstFileTransacted, FindFirstStreamTransactedW, FindFirstStreamW가 있다.

 

 

- 출처 : MSDN

 

  • hFindFile

- 파일 검색 핸들을 전달한다.

 

Return value : 성공 시 TRUE를 반환하고, 실패 시 FALSE를 반환한다. 실패에 대한 자세한 정보는 GetLastError 함수를 참고한다. 

 

Header : FileAPI.h(include Windows.h)

 

DLL : Kernel32.dll

'Win32 API' 카테고리의 다른 글

RemoveDirectory  (0) 2015.03.12
CreateDirectory  (0) 2015.03.12
FindNextFile  (0) 2015.03.12
FindFirstFile  (0) 2015.03.12
DeleteFile  (0) 2015.03.11

FindNextFile

2015. 3. 12. 16:04

FindFirstFile의 호출  이후 디렉토리 경로에 남아있는 파일 및 디렉토리 정보를 계속 검색한다.

* 마지막 정보를 읽어 올 때까지 이 함수를 반복적으로 호출한다.

 

 

- 출처 : MSDN

 

  • hFindFile

- FindFirstFile의 호출 결과로 반환된 검색 핸들을 전달한다.

 

  • lpFindFileData

- 검색의 결과를 저장 할 WIN32_FIND_DATA 구조체 변수의 주소를 전달한다.

 

Return value : 성공 시 TRUE를 반환하며 lpFindFileData에 발견한 정보를 저장한다. 실패 시 FALSE를 반환하며 실패에 대한 자세한 정보는 GetLastError 함수를 참고한다.

 

Header : FileAPI.h(include Windows.h)

 

DLL : Kernel32.dll

'Win32 API' 카테고리의 다른 글

CreateDirectory  (0) 2015.03.12
FindClose  (0) 2015.03.12
FindFirstFile  (0) 2015.03.12
DeleteFile  (0) 2015.03.11
MoveFile  (0) 2015.03.11

FindFirstFile

2015. 3. 12. 15:29

지정된 이름(또는 와일드카드 문자를 사용하는 경우 부분 이름)과 일치하는 이름을 가진 파일 또는 하위 디렉토리를 검색한다.

* 와일드카드 문자 : 여러 파일을 한번에 지정할 목적으로 사용하는 기호를 말한다.

 

 

- 출처 : MSDN

 

  • lpFileName

- 검색할 디렉토리 또는 경로를 지정한다.

- 별표(*), 물음표(?)와 같은 와일드카드 문자를 사용할 수 있다.

 

  • lpFindFileData

- 검색의 결과를 저장 할 WIN32_FIND_DATA 구조체 변수의 주소를 전달한다.

 

 

Return value : 성공 시 FindNextFile 또는 FindClose에 대한 후속 호출에 사용 할 검색 핸들이며 lpFindFileData에 발견 된 첫 번째 파일이나 디렉토리에 대한 정보가 포함되어 있고, 실패 시 INVALID_HANDLE_VALUE(-1)가 반환된다. 실패에 대한 자세한 정보는 GetLastError 함수를 참고한다.

 

Header : FileAPI.h(include Windows.h)

 

DLL : Kernel32.dll

'Win32 API' 카테고리의 다른 글

FindClose  (0) 2015.03.12
FindNextFile  (0) 2015.03.12
DeleteFile  (0) 2015.03.11
MoveFile  (0) 2015.03.11
CopyFile  (0) 2015.03.11

DeleteFile

2015. 3. 11. 19:46

지정한 파일을 삭제한다.



- 출처 : MSDN


  • lpFileName

- 삭제 하고자 하는 파일의 이름이다.


Return value : 성공 시 0이 아닌 값을 반환하고, 실패 시 0을 반환한다. 실패에 대한 자세한 정보는 GetLastError 함수를 통해 확인할 수 있다.

 


Header : FileAPI.h(include Windows.h)


DLL : Kernel32.dll


'Win32 API' 카테고리의 다른 글

FindNextFile  (0) 2015.03.12
FindFirstFile  (0) 2015.03.12
MoveFile  (0) 2015.03.11
CopyFile  (0) 2015.03.11
GetFileSize  (0) 2015.03.11

+ Recent posts