윈도우 api

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

+ Recent posts