선언:

PROCESS_EXTENDED_BASIC_INFORMATION (C#)
[StructLayout(LayoutKind.Sequential)]
public struct PROCESS_EXTENDED_BASIC_INFORMATION {
    public uint dwSize;
    public PROCESS_BASIC_INFORMATION pbi;
    public uint dwFlags;
}

PROCESS_EXTENDED_BASIC_INFORMATION (VB.NET)
<StructLayout(LayoutKind.Sequential)>
Public Structure PROCESS_EXTENDED_BASIC_INFORMATION
    Public dwSize As UInteger
    Public pbi As PROCESS_BASIC_INFORMATION
    Public dwFlags As UInteger
End Structure



사용 예제:

이 구조체에 대한 예제는 없습니다
예제 없음


이 구조체에 대한 예제는 없습니다.
예제 없음




예제 실행 결과:

없음




매개변수 설명(기울임꼴로 표시된 매개변수는 생략 가능합니다):

dwSize - PROCESS_EXTENDED_BASIC_INFORMATION 구조체의 크기를 입력합니다.
pbi - 프로세스의 PROCESS_BASIC_INFORMATION 구조체가 저장되는 필드입니다.

dwFlags - 프로세스의 상태가 저장되는 필드입니다. (비고 참조)




API 설명:

NtQueryInformationProcess API를 이용하여 프로세스의 정보를 얻어올 때 사용되는 구조체입니다.




참고:

없음




문자셋:

없음




요구 사항:

없음




비고:

dwFlags 필드의 값은 프로세스의 상태를 나타냅니다.

첫 번째 비트는 프로세스의 보호 여부,

두 번째 비트는 64비트 여부,

세 번째 비트는 종료 중인지의 여부,

네 번째 비트는 크로스 세션이 만들어진 여부(?) 입니다.


상태를 쉽게 가져오기 위해선 다음 코드를 PROCESS_EXTENDED_BASIC_INFORMATION 구조체 내부에 작성하시면 됩니다.


dwFlags 값 상태
public bool IsProtectedProcess {
    get { return (dwFlags & 0x1) != 0; }
}
public bool IsWow64Process {
    get { return (dwFlags & 0x2) != 0; }
}
public bool IsProcessDeleting {
    get { return (dwFlags & 0x4) != 0; }
}
public bool IsCrossSessionCreate {
    get { return (dwFlags & 0x8) != 0; }
}




.NET Fiddle 의 .NET 보안 수준으로 인해 P/Invoke 를 직접 테스트하실 수 없습니다. .NET Fiddle 사이트는 코드 참고용으로만 이용해 주시기 바랍니다.
틀린 부분이나 개선되야할 부분을 찾으셨다면 주저없이 댓글로 남겨주세요~ 바로 반영하도록 하겠습니다!!
Powered by SlaneR & TeamDEV Korea


 

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

64. WriteProcessMemory  (0) 2015.11.13
63. ReadProcessMemory  (1) 2015.11.12
61. LoadLibraryEx  (0) 2015.10.03
60. RegisterWindowMessage  (0) 2015.10.03
59. IsWindow  (0) 2015.09.29

+ Recent posts