다음을 통해 공유


PEHeaderBuilder 생성자

정의

PEHeader 클래스의 새 인스턴스를 초기화합니다.

public PEHeaderBuilder (System.Reflection.PortableExecutable.Machine machine = System.Reflection.PortableExecutable.Machine.Unknown, int sectionAlignment = 8192, int fileAlignment = 512, ulong imageBase = 4194304, byte majorLinkerVersion = 48, byte minorLinkerVersion = 0, ushort majorOperatingSystemVersion = 4, ushort minorOperatingSystemVersion = 0, ushort majorImageVersion = 0, ushort minorImageVersion = 0, ushort majorSubsystemVersion = 4, ushort minorSubsystemVersion = 0, System.Reflection.PortableExecutable.Subsystem subsystem = System.Reflection.PortableExecutable.Subsystem.WindowsCui, System.Reflection.PortableExecutable.DllCharacteristics dllCharacteristics = System.Reflection.PortableExecutable.DllCharacteristics.DynamicBase | System.Reflection.PortableExecutable.DllCharacteristics.NoSeh | System.Reflection.PortableExecutable.DllCharacteristics.NxCompatible | System.Reflection.PortableExecutable.DllCharacteristics.TerminalServerAware, System.Reflection.PortableExecutable.Characteristics imageCharacteristics = System.Reflection.PortableExecutable.Characteristics.Dll, ulong sizeOfStackReserve = 1048576, ulong sizeOfStackCommit = 4096, ulong sizeOfHeapReserve = 1048576, ulong sizeOfHeapCommit = 4096);
new System.Reflection.PortableExecutable.PEHeaderBuilder : System.Reflection.PortableExecutable.Machine * int * int * uint64 * byte * byte * uint16 * uint16 * uint16 * uint16 * uint16 * uint16 * System.Reflection.PortableExecutable.Subsystem * System.Reflection.PortableExecutable.DllCharacteristics * System.Reflection.PortableExecutable.Characteristics * uint64 * uint64 * uint64 * uint64 -> System.Reflection.PortableExecutable.PEHeaderBuilder
Public Sub New (Optional machine As Machine = System.Reflection.PortableExecutable.Machine.Unknown, Optional sectionAlignment As Integer = 8192, Optional fileAlignment As Integer = 512, Optional imageBase As ULong = 4194304, Optional majorLinkerVersion As Byte = 48, Optional minorLinkerVersion As Byte = 0, Optional majorOperatingSystemVersion As UShort = 4, Optional minorOperatingSystemVersion As UShort = 0, Optional majorImageVersion As UShort = 0, Optional minorImageVersion As UShort = 0, Optional majorSubsystemVersion As UShort = 4, Optional minorSubsystemVersion As UShort = 0, Optional subsystem As Subsystem = System.Reflection.PortableExecutable.Subsystem.WindowsCui, Optional dllCharacteristics As DllCharacteristics = System.Reflection.PortableExecutable.DllCharacteristics.DynamicBase | System.Reflection.PortableExecutable.DllCharacteristics.NoSeh | System.Reflection.PortableExecutable.DllCharacteristics.NxCompatible | System.Reflection.PortableExecutable.DllCharacteristics.TerminalServerAware, Optional imageCharacteristics As Characteristics = System.Reflection.PortableExecutable.Characteristics.Dll, Optional sizeOfStackReserve As ULong = 1048576, Optional sizeOfStackCommit As ULong = 4096, Optional sizeOfHeapReserve As ULong = 1048576, Optional sizeOfHeapCommit As ULong = 4096)

매개 변수

machine
Machine

대상 머신의 CPU 아키텍처입니다.

sectionAlignment
Int32

메모리에 로드되는 섹션의 맞춤(바이트)입니다. fileAlignment보다 크거나 같아야 합니다. 기본값은 아키텍처의 페이지 크기입니다.

fileAlignment
Int32

이미지 파일의 섹션 원시 데이터를 정렬하는 데 사용되는 맞춤 요소(바이트)입니다. 값은 512~64K(포함) 사이의 2의 거듭제곱입니다. 기본값은 512입니다. sectionAlignment가 아키텍처의 페이지 크기보다 작은 경우 fileAlignmentsectionAlignment와 일치해야 합니다.

imageBase
UInt64

메모리로 로드되는 이미지의 첫 번째 바이트의 기본 주소이며, 64K의 배수입니다.

majorLinkerVersion
Byte

링커 주 버전 번호입니다.

minorLinkerVersion
Byte

링커 부 버전 번호입니다.

majorOperatingSystemVersion
UInt16

필수 운영 체제의 주 버전 번호입니다.

minorOperatingSystemVersion
UInt16

필수 운영 체제의 부 버전 번호입니다.

majorImageVersion
UInt16

브라우저의 주 버전 번호입니다.

minorImageVersion
UInt16

브라우저의 부 버전 번호입니다.

majorSubsystemVersion
UInt16

하위 시스템의 주 버전 번호입니다.

minorSubsystemVersion
UInt16

하위 시스템의 부 버전 번호입니다.

subsystem
Subsystem

이미지를 실행하는 데 필요한 하위 시스템입니다.

dllCharacteristics
DllCharacteristics

동적 연결 라이브러리의 특징을 설명하는 개체입니다.

imageCharacteristics
Characteristics

이미지의 특징을 설명하는 개체입니다.

sizeOfStackReserve
UInt64

예약할 스택의 크기입니다. sizeOfStackCommit만 커밋되고, 나머지는 예약 크기에 도달할 때까지 한 번에 한 페이지씩 사용할 수 있습니다.

sizeOfStackCommit
UInt64

커밋할 스택의 크기입니다.

sizeOfHeapReserve
UInt64

예약할 로컬 힙 공간의 크기입니다. sizeOfHeapCommit만 커밋되고, 나머지는 예약 크기에 도달할 때까지 한 번에 한 페이지씩 사용할 수 있습니다.

sizeOfHeapCommit
UInt64

커밋할 로컬 힙 공간의 크기입니다.

예외

fileAlignment는 512~64K 사이의 2의 거듭제곱이 아닙니다. 또는

sectionAlignment는 2의 거듭제곱이 아닙니다.

또는

sectionAlignmentfileAlignment보다 작은 경우

적용 대상