Total
- ResumeThread 2015.03.17
- CreateThread 2015.03.17
- OpenProcess 2015.03.16
- Process32Next 2015.03.16
- Process32First 2015.03.16
- CloseHandle 2015.03.16
- CreateToolhelp32Snapshot 2015.03.16
- 하트블리드 해킹시연 2015.03.13
- 쉘쇼크 해킹시연 2015.03.13
- GetTempPath 2015.03.12
- GetWindowsDirectory 2015.03.12
- GetSystemDirectory 2015.03.12
- SetCurrentDirectory 2015.03.12
- GetCurrentDirectory 2015.03.12
- RemoveDirectory 2015.03.12
- CreateDirectory 2015.03.12
- FindClose 2015.03.12
- FindNextFile 2015.03.12
- FindFirstFile 2015.03.12
- DeleteFile 2015.03.11
- MoveFile 2015.03.11
- CopyFile 2015.03.11
- GetFileSize 2015.03.11
- SetFilePointer 2015.03.11
- WriteFile 2015.03.11
- ReadFile 2015.03.11
- CreateFile 2015.03.10
- TerminateProcess 2015.03.05
- ExitProcess 2015.03.05
- CreateProcess 2015.03.04
ResumeThread
일시중단 된 스레드를 재 실행 시킨다.
* 좀더 정확히 표현하면 스레드의 중단 카운트를 하나 감소 시키며, 중단 카운트가 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
함수를 호출한 프로세스 공간에 새로운 스레드를 생성한다.
* 다른 프로세스 공간에 새로운 스레드를 생성하려면 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
로컬에서 실행중인 함수를 호출하는 자기자신 또는 다른 프로세스의 핸들을 구한다.
- 출처 : 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
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
스냅샷 정보에서 첫 번째 프로세스의 정보를 읽어온다.
- 출처 : 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
* 오브젝트란 사용자의 요청 또는 운영체제 스스로 필요에 의해 생성한 대상들( 파일, 프로세스, 스레드, ...)을 말한다.
- 출처 : MSDN
-
hObject
- 닫기를 원하는 오브젝트의 핸들이다.
Return value : 성공 시 TRUE를 반환하고, 실패 시 FALSE를 반환한다. 실패에 대한 자세한 정보는 GetLastError 함수를 참고한다.
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
지정한 또는 모든 프로세스의 스냅샷 정보를 생성한다.
* 스냅샷이란 사진을 찍듯 함수가 호출된 시점에 지정한 대상의 정보를 저장해 놓은것을 말한다.
스냅샷 정보로는 프로세스 정보뿐만 아니라 힙, 모듈, 스레드 정보도 생성 가능하다.
- 출처 : 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 함수를 참고한다.
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 |
하트블리드 해킹시연
rekcah(리카) 세미나에서 발표한 하트블리드 해킹시연 영상입니다.
'REKCAH Group' 카테고리의 다른 글
[리카IT]리눅스강의 2-2.Basic Command (0) | 2015.10.07 |
---|---|
[리카IT]리눅스강의 2-1Directory (0) | 2015.10.07 |
[리카IT] 리눅스강의 1.About Linux (0) | 2015.10.07 |
[리카IT] 리눅스강의 0.CentOS 6.6 설치 (0) | 2015.10.07 |
쉘쇼크 해킹시연 (0) | 2015.03.13 |
쉘쇼크 해킹시연
rekcah(리카) 세미나에서 발표한 쉘쇼크 해킹시연 영상입니다.
'REKCAH Group' 카테고리의 다른 글
[리카IT]리눅스강의 2-2.Basic Command (0) | 2015.10.07 |
---|---|
[리카IT]리눅스강의 2-1Directory (0) | 2015.10.07 |
[리카IT] 리눅스강의 1.About Linux (0) | 2015.10.07 |
[리카IT] 리눅스강의 0.CentOS 6.6 설치 (0) | 2015.10.07 |
하트블리드 해킹시연 (0) | 2015.03.13 |
GetTempPath
임시 파일에 대해 지정된 디렉토리 경로의 이름을 얻어온다.
- 출처 : 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
Windows 디렉토리의 경로의 이름을 얻어온다.
- 출처 : MSDN
-
lpBuffer
- Windows 디렉토리의 경로 및 이름을 저장할 메모리의 주소를 전달한다.
- 저장된 경로의 이름 값 중 마지막 디렉토리의 백슬러쉬(\)는 포함되지 않는다.("C:\WINDOWS")
-
uSize
- 저장할 메모리의 최대 사이즈를 전달한다.
- 이 값은 보통 MAX_PATH(260byte)의 크기를 설정한다.
Return value : 성공 시 NULL 문자 이전까지의 메모리에 기록된 문자열의 길이가 반환되고, 저장 메모리보다 문자열이 큰 경우 NULL 문자를 포함한 문자열의 길이가 반환된다. 실패 시 0을 반환한다. 실패에 대한 자세한 정보는 GetLastError 함수를 참고한다.
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
시스템 디렉토리의 경로의 이름을 얻어온다.
- 출처 : MSDN
-
lpBuffer
- 시스템 디렉토리의 경로 및 이름을 저장할 메모리의 주소를 전달한다.
- 저장된 경로의 이름 값 중 마지막 디렉토리의 백슬러쉬(\)는 포함되지 않는다.("C:\Windows\System32")
-
uSize
- 저장 할 메모리의 최대 사이즈를 전달한다.
Return value : 성공 시 NULL 문자 이전까지의 메모리에 기록된 문자열의 길이가 반환되고, 저장 메모리보다 문자열이 큰 경우 NULL 문자를 포함한 문자열의 길이가 반환된다. 실패 시 0을 반환한다. 실패에 대한 자세한 정보는 GetLastError 함수를 참고한다.
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
함수를 호출한 프로세스의 현재 디렉토리를 변경한다.
- 출처 : 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
함수를 호출한 프로세스의 현재 디렉토리 경로의 이름을 얻어온다.
- 출처 : MSDN
-
nBufferLength
- 현재 디렉토리 문자열을 저장할 메모리의 크기이다.
- NULL 문자를 위한 공간을 포함하고 있어야 한다.
-
lpBuffer
- 현재 디렉토리 문자열을 저장할 메모리의 주소를 전달한다.
- 필요한 메모리의 크기를 확인 하려면 이 파라메터를 NULL로 nBufferLenth를 0으로 설정하여 호출 후 반환 값을 확인한다.
Return value : 성공 시 NULL 문자 이전까지의 메모리에 기록된 문자들의 수가 반환되고, 실패 시 0을 반환한다. 실패에 대한 자세한 정보는 GetLastError 함수를 참고한다.
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
* 삭제 할 디렉토리에는 파일이나 서브 디렉토리가 존재해서는 안 된다.
- 출처 : MSDN
-
lpPathName
- 삭제할 디렉토리를 전달한다.
- 디렉토리는 반드시 비어 있어야 하고, 호출 프로세스는 디렉토리에 대한 삭제 권한이 있어야 한다.
Return value : 성공 시 TRUE를 반환하고, 실패 시 FALSE를 반환한다. 실패에 대한 자세한 정보는 GetLastError 함수를 참고한다.
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
디렉토리를 생성한다.
* 파일 시스템에서 파일과 디렉토리에 대한 보안을 지원하는 경우, 이 함수는 생성된 디렉토리에 지정된 보안 디스크립터 정보를 적용한다.
- 출처 : 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
열려 있는 파일 검색 핸들을 닫는다.
* 파일 검색 핸들을 반환하는 함수는 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
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
지정된 이름(또는 와일드카드 문자를 사용하는 경우 부분 이름)과 일치하는 이름을 가진 파일 또는 하위 디렉토리를 검색한다.
* 와일드카드 문자 : 여러 파일을 한번에 지정할 목적으로 사용하는 기호를 말한다.
- 출처 : 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
지정한 파일을 삭제한다.
- 출처 : 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 |
MoveFile
파일 또는 디렉토리를 이동 시킨다.
* 디렉토리의 경우 디렉토리 안의 파일 및 디렉토리도 포함하여 이동 시킨다.
- 출처 : MSDN
-
lpExistingFileName
- 이동 시킬 파일 또는 디렉토리의 이름이다.
-
lpNewFileName
- 이동 후의 파일 또는 디렉토리의 이름이다.
- 이동 후 경로에 같은 이름의 파일 또는 디렉토리가 존재해서는 안 된다.
Return value : 성공 시 0이 아닌 값을 반환하고, 실패 시 0을 반환한다. 실패에 대한 자세한 정보는 GetLastError 함수를 통해 확인할 수 있다.
Header : WinBase.h(include Windows.h)
DLL : Kernel32.dll
'Win32 API' 카테고리의 다른 글
FindFirstFile (0) | 2015.03.12 |
---|---|
DeleteFile (0) | 2015.03.11 |
CopyFile (0) | 2015.03.11 |
GetFileSize (0) | 2015.03.11 |
SetFilePointer (0) | 2015.03.11 |
CopyFile
파일을 복사한다.
- 출처 : MSDN
-
lpExistingFileName
- 기존에 존재하는 복사 할 파일 이름이다.
-
lpNewFileName
- 복사 후 생성 될 파일 이름이다.
-
bFailIfExists
- 생성 될 파일이 이미 존재 하고 있을 시, 설정 값이 TRUE이면 함수는 실패를 반환하고 FALSE이면 기존 파일을 덮어쓴 후 성공을 반환한다.
Return value : 성공 시 0이 아닌 값을 반환하고, 실패 시에는 0을 반환한다. 실패에 대한 자세한 정보는 GetLastError 함수를 통해 확인할 수 있다.
Header : WinBase.h(include Windows.h)
DLL : Kernel32.dll
'Win32 API' 카테고리의 다른 글
DeleteFile (0) | 2015.03.11 |
---|---|
MoveFile (0) | 2015.03.11 |
GetFileSize (0) | 2015.03.11 |
SetFilePointer (0) | 2015.03.11 |
WriteFile (0) | 2015.03.11 |
GetFileSize
지정한 파일의 크기(Byte)를 구한다.
- 출처 : MSDN
-
hFile
- 파일의 크기를 구하고자 하는 파일의 핸들이다.
-
lpFileSizeHigh
- 파일의 크기가 큰 경우 파일의 크기가 입력 된다.(4Gbyte 이상)
- 파일의 크기가 크지 않다면 NULL을 사용한다.
Return value : 성공 시 파일 크기가 반환 되고, 실패 시 INVALID_FILE_SIZE(-1)이 반환 된다. 파일의 크기가 4Gbyte를 넘어 lpFileSizeHigh 파라메터를 사용 했다면 파일 크기 중 32bit 이하의 값은 반환 되고 32bit 이상의 값은 lpFileSizeHigh에 저장된다.
Header : FileAPI.h(include Windows.h)
DLL : Kernel32.dll
SetFilePointer
지정한 파일의 파일 포인터를 이동 시킨다.
- 출처 : MSDN
-
hFile
- 파일 포인터를 이동 시키고자 하는 파일의 핸들이다.
-
lDistanceToMove
- 이동 시킬 파일 포인터의 크기이다.
-
lpDistanceToMoveHigh
- 파일의 크기가 4Gbyte를 넘는 경우 2번째 파라메터와 조합하여 이동 시킬 크기를 지정한다.
- 사용하지 않을 경우 NULL을 설정한다.
-
dwMoveMethod
- 파일 포인터의 시작을 지정한다.
- FILE_BEGIN : 파일의 시작 위치를 포인터의 기준으로 지정한다.
- FILE_CURRENT : 파일 포인터의 현재 위치를 기준으로 지정한다.
- FILE_END : 파일의 끝 위치를 포인터의 기준으로 지정한다.
Return value : 성공 시 새로운 파일 포인터를 반환 하고, 실패 시 INVALID_SET_FILE_POINTER를 반환 한다. 에러에 관한 자세한 정보는 GetLastError 함수를 참고 한다.
Header : FileAPI.h(include Windows.h)
DLL : Kernel32.dll
'Win32 API' 카테고리의 다른 글
CopyFile (0) | 2015.03.11 |
---|---|
GetFileSize (0) | 2015.03.11 |
WriteFile (0) | 2015.03.11 |
ReadFile (0) | 2015.03.11 |
CreateFile (0) | 2015.03.10 |
WriteFile
지정한 파일 또는 I/O 장치에 데이터를 기록 한다.
일반적으로 파일을 오픈한 경우 파일의 선두부터 기록하나 파일 포인터를 조작하면 원하는 위치 부터 데이터를 기록 할 수 있다.
- 출처 : MSDN
-
hFile
- 접근 하고자 하는 파일의 핸들이다.
-
lpBuffer
- 기록할 데이터가 저장 되어 있는 메모리의 시작 주소를 설정한다.
-
nNumberOfBytesToWrite
- 기록될 수 있는 최대 크기(Byte)값을 설정한다.
- 일반적으로 lpBuffer의 크기를 계산에 전달한다.
-
lpNumberOfBytesWritten
- 함수 호출 후 실제 읽혀진 데이터의 크기를 저장 할 메모리의 주소를 전달한다.
-
lpOverlapped
- 비 동기 입출력을 위한 OVERLAPPED 구조체의 포인터이다.
- 일반적으로 NULL을 사용한다.
Return value : 성공 시 0이 아닌 값(TRUE)를 반환 하고, 실패 시 0(FALSE)를 반환 한다. 에러에 관한 자세한 정보는 GetLastError 함수를 참고 한다.
Header : FileAPI.h(include Windows.h)
DLL : Kernel32.dll
'Win32 API' 카테고리의 다른 글
GetFileSize (0) | 2015.03.11 |
---|---|
SetFilePointer (0) | 2015.03.11 |
ReadFile (0) | 2015.03.11 |
CreateFile (0) | 2015.03.10 |
TerminateProcess (0) | 2015.03.05 |
ReadFile
지정한 파일 또는 I/O 장치에서 데이터를 읽어 온다.
일반적으로 파일을 오픈한 경우 파일의 선두부터 읽어오나 파일 포인터를 조작하면 원하는 위치 부터의 데이터를 읽어 올 수 있다.
- 출처 : MSDN
- hFile
- 접근 하고자 하는 파일의 핸들이다.
- lpBuffer
- 읽어온 내용을 저장 할 메모리의 시작 주소를 설정한다.
- nNumberOfBytesToRead
- 읽어 올 데이터의 최대 크기(Byte)를 설정한다.
- lpNumberOfBytesRead
- 함수 호출 후 실제 읽혀진 데이터의 크기를 저장 할 메모리의 주소를 전달한다.
- lpOverlapped
- 비 동기 입출력을 위한 OVERLAPPED 구조체의 포인터이다.
- 일반적으로 NULL을 사용한다.
Return value : 성공 시 0이 아닌 값(TRUE)를 반환하고 실패 시 0(FALSE)를 반환한다. 에러에 관한 자세한 정보는 GetLastError 함수를 참고 한다.
Header : FileAPI.h(include Windows.h)
DLL : Kernel32.dll
'Win32 API' 카테고리의 다른 글
SetFilePointer (0) | 2015.03.11 |
---|---|
WriteFile (0) | 2015.03.11 |
CreateFile (0) | 2015.03.10 |
TerminateProcess (0) | 2015.03.05 |
ExitProcess (0) | 2015.03.05 |
CreateFile
파일 또는 I/O 장치를 생성 또는 오픈한다.
* I/O 장치 : file, file stream, directory, physical disk, volume, console buffer, tap drive, communications resource, mailslot, pipe
- 출처 : MSDN
-
lpFileName
- 생성 또는 열기 위한 파일 또는 장치의 이름이다.
- 물리 드라이브 접근 시 : "\\.\PhysicalDrive0"
- 논리 드라이브 접근 시 : "\\.\C:"
-
dwDesiredAccess
- 읽기, 쓰기와 같은 접근의 목적을 설정 한다.
-
dwShareMode
- 공유 모드를 설정 한다.
-
lpSecurityAttributes
- 자식 프로세스에 대한 핸들 상속 여부를 지정 한다.
- 사용하지 않을 경우 NULL을 설정 한다.
-
dwCreationDisposition
- 파일 생성 처리에 대한 조건을 설정 한다.
-
dwFlagsAndAttributes
- 파일 속성 및 옵션을 설정 한다.
-
hTemplateFile
- 읽기 모드를 가진 템플릿 파일의 확장 속성을 설정 한다.
- 일반적으로 사용 하지 않으며 NULL을 설정 한다.
Return value : 파일 생성 또는 열기에 성공 시 파일의 핸들을 반환 하고, 실패 시 INVALID_HANDLE_VALUE(-1)을 반환 한다.
Header : FileAPI.h(include Windows.h)
DLL : Kernel32.dll
'Win32 API' 카테고리의 다른 글
WriteFile (0) | 2015.03.11 |
---|---|
ReadFile (0) | 2015.03.11 |
TerminateProcess (0) | 2015.03.05 |
ExitProcess (0) | 2015.03.05 |
CreateProcess (0) | 2015.03.04 |
TerminateProcess
지정한 프로세스(프로세스 내 모든 스레드 포함)를 종료 한다.
- 그림 출처 : MSDN
-
hProcess
- 종료할 프로세스의 핸들을 설정 한다.
- 핸들의 접근 권한은 반드시 PROCESS_TERMINATE를 가져야 한다.
-
uExitCode
- 프로세스 종료 코드를 설정 한다.
- 통상적으로 정상 종료 인경우 0을 비 정상 종료인 경우 -1을 입력 한다.
Return value : 성공 시 TRUE, 실패 시 FALSE를 반환 한다.
실패에 대한 자세한 정보는 GetLastError 함수를 통해 확인할 수 있다.
Header : WinBase.h(include Windows.h)
DLL : Kernel32.dll
'Win32 API' 카테고리의 다른 글
WriteFile (0) | 2015.03.11 |
---|---|
ReadFile (0) | 2015.03.11 |
CreateFile (0) | 2015.03.10 |
ExitProcess (0) | 2015.03.05 |
CreateProcess (0) | 2015.03.04 |
ExitProcess
함수를 호출한 프로세스(프로세스 내 모든 스레드 포함)를 종료 한다.
- 그림 출처 : MSDN
-
uExitCode
- 프로세스 종료 코드를 설정 한다.
- 통상적으로 정상 종료 인경우 0을 비 정상 종료인 경우 -1을 입력 한다.
Return value : 반환 값은 없다.
Header : WinBase.h(include Windows.h)
DLL : Kernel32.dll
'Win32 API' 카테고리의 다른 글
WriteFile (0) | 2015.03.11 |
---|---|
ReadFile (0) | 2015.03.11 |
CreateFile (0) | 2015.03.10 |
TerminateProcess (0) | 2015.03.05 |
CreateProcess (0) | 2015.03.04 |
CreateProcess
새로운 프로세스를 생성 한다.
- 그림 출처 : MSDN
-
lpApplicationName
- 윈도우즈 기반 어플리케이션의 실행 파일 이름 이다.
- 파일 이름의 확장자를 반드시 명시해 주어야 한다.
- 이 파라메터의 값을 NULL로 설정하면 lpCommandLine에서 파일 이름을 설정 한다.
-
lpCommandLine
- 실행 시 전달 할 명령 행 인자 이다.
- lpApplicationName이 NULL일 경우 이 파라메터에서 파일 이름 또는 파일 이름과 명령행 인자를 설정할 수 있다.
- 명령행 인자가 없을 경우 NULL을 줄 수 있으나 lpApplicationName과 함께 둘 다 NULL이 될 수는 없다.
- 전달할 값을 상수로 설정할 수 없다, 반드시 배열 변수에 전달할 인자를 입력 후 배열의 시작 주소를 설정 한다.
-
lpProcessAttributes
- 프로세스 보안 속성을 설정 한다.
- 일반적으로 사용하지 않으며 NULL을 설정 한다.
-
lpThreadAttributes
- 스레드 보안 속성을 지정 한다.
- 일반적으로 사용하지 않으며 NULL을 설정 한다.
-
bInheritHandles
- 프로세스 핸들의 상속 여부를 설정 한다.
- TRUE 면 자식 프로세스에게 상속 가능한 핸들을 생성하고, FALSE 면 상속 불가능한 핸들을 생성 한다.
-
dwCreationFlags
- 우선 순위 등급 및 프로세스의 생성을 제어하는 플래그 이다.
- Process Creation Flags의 값을 설정 한다.
- 일반적인 프로세스 생성 시 0을 설정 한다.
-
lpEnvironment
- 프로세스의 환경 블록을 설정 한다, 이 값이 NULL이면 부모 프로세스의 환경 블록을 사용 한다.
- 일반적으로 NULL값을 설정 한다.
-
lpCurrentDirectory
- 프로세스의 현재 디렉토리를 설정 한다, NULL값을 설정 하면 부모 프로세스의 현재 디렉토리가 해당 프로세스의 현재 디렉토리로 설정 된다.
- 일반적으로 NULL값을 설정 한다.
-
lpStartupInfo
- 프로세스의 초기화 정보를 설정 한다.
- STARTUPINFO(또는 STARTUPINFOEX) 구조체 변수의 값을 설정 하여 주소를 전달 한다.
- 일반적으로 멤버 값들을 설정하지 않으나 구조체의 크기를 설정하는 cb의 값은 반드시 입력이 되어 있어야 한다.
- 설정하지 않은 멤버 들은 0으로 초기화하여 전달 한다.
-
lpProcessInformation
- 프로세스의 생성 후 결과 정보를 받기 위한 파라메터이다.
- PROCESS_INFORMATION 구조체 변수의 주소를 전달 한다.
Return value : 성공 시 0이 아닌 값을 반환하고, 실패 시 0을 반환 한다.
실패에 대한 자세한 정보는 GetLastError 함수를 통해 확인할 수 있다.
Header : WinBase.h(include Windows.h)
DLL : Kernel32.dll
'Win32 API' 카테고리의 다른 글
WriteFile (0) | 2015.03.11 |
---|---|
ReadFile (0) | 2015.03.11 |
CreateFile (0) | 2015.03.10 |
TerminateProcess (0) | 2015.03.05 |
ExitProcess (0) | 2015.03.05 |