C# (CSharp) PERWAPI Namespace

Classes

Name Description
AddressConstant Constant for a memory address
Array The IL Array type
ArrayConst Constant array
Assembly Descriptor for an assembly (.assembly)
AssemblyRef A reference to an external assembly (.assembly extern)
BoolConst Boolean constant
BoundArray Multi dimensional array with explicit bounds
BoxedSimpleConst
BranchInstr
ByteArrConst
CILByte
CILInstruction Descriptor for an IL instruction
CILInstructions The IL instructions for a method
CILInstructions.CodeBlock Stores the details of a given code block
CILLabel
CILWriter
CalliSig Signature for calli instruction
Catch The descriptor for a catch clause (.catch)
CharConst
Class The base descriptor for a class
ClassDef The descriptor for a class defined in the IL (.class) in the current assembly/module
ClassDesc
ClassLayout Layout information for a class (.class [sequential | explicit])
ClassRef Descriptor for a class/interface declared in another module of THIS assembly, or in another assembly.
ClassSpec
ClassTypeConst
CloseScope A marker instruction for when a scope should be closed.
CodeBlock
Constant Descriptor for a constant value, to be written in the blob heap
ConstantBinding Used to delcare constants that exist in a given scope.
ConstantElem Summary description for ConstantElem.
ConstructedTypeSpec wrapper for TypeSpec parent of MethodRef or FieldRef
CouldNotFindMaxStackDepth When the maximum stack depth could not be found dynamically.
CustomAttribute Descriptor for a Custom Attribute (.custom)
CustomModifiedType Descriptor for a custom modifier of a type (modopt or modreq)
DataConstant Descriptor for a constant value
DebugLocalSig Stores the signature for the debug info for a local variable.
DeclSecurity Descriptor for security permissions for a class or a method NOT YET IMPLEMENTED
DefiningScope A scope for definitions
DescriptorException Error with descriptor types
Diag Diagnostic
DoubleConst
DoubleInstr
EHClause
Event Descriptor for an event
ExternClass Descriptor for a class defined in another module of THIS assembly and exported (.class extern)
Fault Descriptor for a fault block (.fault)
Feature Base class for Event and Property descriptors
Field Descriptor for a field of a class
FieldDef Descriptor for a field defined in a class of an assembly/module
FieldInstr
FieldLayout Descriptor for layout information for a field
FieldMarshal Marshalling information for a field or param
FieldRVA Descriptor for the address of a field's value in the PE file
FieldRef Descriptor for a field of a class defined in another assembly/module
FileImage Image for a PEFile File Structure DOS Header (128 bytes) PE Signature ("PE\0\0") PEFileHeader (20 bytes) PEOptionalHeader (224 bytes) SectionHeaders (40 bytes * NumSections) Sections .text (always present - contains metadata) .sdata (contains any initialised data in the file - may not be present) (for ilams /debug this contains the Debug table) .reloc (always present - in pure CIL only has one fixup) others??? c# produces .rsrc section containing a Resource Table .text layout IAT (single entry 8 bytes for pure CIL) CLIHeader (72 bytes) CIL instructions for all methods (variable size) MetaData Root (20 bytes + UTF-8 Version String + quad align padding) StreamHeaders (8 bytes + null terminated name string + quad align padding) Streams #~ (always present - holds metadata tables) #Strings (always present - holds identifier strings) #US (Userstring heap) #Blob (signature blobs) #GUID (guids for assemblies or Modules) ImportTable (40 bytes) ImportLookupTable(8 bytes) (same as IAT for standard CIL files) Hint/Name Tables with entry "_CorExeMain" for .exe file and "_CorDllMain" for .dll (14 bytes) ASCII string "mscoree.dll" referenced in ImportTable (+ padding = 16 bytes) Entry Point (0xFF25 followed by 4 bytes 0x400000 + RVA of .text) #~ stream structure Header (24 bytes) Rows (4 bytes * numTables) Tables
FileRef
Filter The descriptor for a filter clause (.filter)
Finally Descriptor for a finally block (.finally)
FloatConst
FloatInstr
GenericParTypeSpec
GenericParam Descriptor for
GenericParamConstraint Descriptor for GenericParamConstraint
HandlerBlock
Hex Facilities for outputting hexadecimal strings
ImplMap Descriptor for pinvoke information for a method
Instr
InstructionException Error with a CIL instruction
IntConst
IntInstr
InterfaceImpl Descriptor for interface implemented by a class
InvalidStackDepth When the stack depth is not valid for the current position.
Line Defines a line instruction.
Local Descriptor for a local of a method
LocalBinding A local binding instruction that can be added to a list of CILInstructions.
LocalSig Descriptor for the locals for a method
LongInstr
MSCorLib The assembly for mscorlib.
ManagedPointer Descriptor for a managed pointer (type & or byref)
ManifestResource Descriptor for resources used in this PE file NOT YET IMPLEMENTED
MapElem Base class for elements in the PropertyMap, EventMap and NestedClass MetaData tables
Member Base class for field/methods (member of a class)
MergeBuffer
MetaData MetaData Root (20 bytes + UTF-8 Version String + quad align padding) StreamHeaders (8 bytes + null terminated name string + quad align padding) Streams #~ (always present - holds metadata tables) #Strings (always present - holds identifier strings) #US (Userstring heap) #Blob (signature blobs) #GUID (guids for assemblies or Modules)
MetaDataElement Base class for all Meta Data table elements
MetaDataInStream Stream in the Meta Data (#Strings, #US, #Blob and #GUID)
MetaDataOut
MetaDataStream Stream in the generated Meta Data (#Strings, #US, #Blob and #GUID)
MetaDataStringStream
MetaDataTables
MethInstr
MethPtrType Descriptor for a FunctionPointer type
MethSig
Method Base class for Method Descriptors
MethodDef Descriptor for a method defined in THIS assembly/module IL .method
MethodImpl Descriptor for an overriding method (.override)
MethodRef Descriptor for a method defined in another assembly/module
MethodSemantics Descriptor for Property and Event methods
MethodSpec Descriptor for an Instantiation of a generic method
Module Descriptor for a module
ModuleFile Descriptor for a file referenced in THIS assembly/module (.file)
ModuleRef Descriptor for a module in an assembly
NativeArray
NativeType Descriptors for native types used for marshalling
NestedClassDef Descriptor for a Nested Class defined in an assembly
NestedClassRef Descriptor for a reference to a Nested Class
NotYetImplementedException Exception for features yet to be implemented
NullRefConst
OpenScope A marker instruction for when a scope should be opened in the sequence of instructions.
PDBDocument A PDB document is a source file.
PDBMethod Defines debug information for a method.
PDBReader Read a given PDB file.
PDBScope Defines a scope in which local variables exist.
PDBSequencePoint Defines a reference to one section of code to be highlighted when stepping through in debug mode. Typically one line of code.
PDBVariable A PDB variable object. Stores debug information about a variable.
PDBWriter Writes PDB files
PDBWriter.Document A source file document.
PDBWriter.LocalBinding A local binding.
PDBWriter.Method A method.
PDBWriter.Scope A scope.
PDBWriter.SequencePointList A list of sequence points.
PEFile Base class for the PEFile (starting point)
PEFileException Error for invalid PE file
PEFileVersionInfo
PEReader
PEResourceData
PEResourceDirectory
PEResourceElement
PEWriter
Param Descriptor for a parameter of a method defined in this assembly/module
Pinned
PrimitiveType Descriptor for the Primitive types defined in IL
Property Descriptor for the Property of a class
PtrType Descriptor for an pointer (type * or type &)
ReferenceScope A scope for descriptors which are referenced
RepeatedConstant
ResolutionScope Base class for scopes (extended by Module, ModuleRef, Assembly, AssemblyRef)
ResourceFile Descriptor for a file containing a managed resource
Scope
Section Descriptor for a Section in a PEFile eg .text, .sdata
Sentinel
SigInstr
Signature Base descriptor for signature blobs
SourceFile Descriptor for a file containing a managed resource
StringConst
StringInstr
SwitchInstr
SystemClass Descriptor for a class defined in System (mscorlib)
TableRow Abstract class to represent a row of the Meta Data Tables
TryBlock The descriptor for a guarded block (.try)
Type Base class for all IL types
TypeInstr
TypeSignatureException Error in a type signature
TypeSpec
UIntConst
UIntInstr
UnmanagedPointer Descriptor for an unmanaged pointer (type *)
UnresolvedTypeSpec
ZeroBasedArray Single dimensional array with zero lower bound