diff --git a/Address format, one line per address/bc1.txt b/Address format, one line per address/bc1.txt
new file mode 100644
index 0000000..e69de29
diff --git a/Address format, one line per address/bch.txt b/Address format, one line per address/bch.txt
new file mode 100644
index 0000000..e69de29
diff --git a/Address format, one line per address/bnb.txt b/Address format, one line per address/bnb.txt
new file mode 100644
index 0000000..e69de29
diff --git a/Address format, one line per address/btc.txt b/Address format, one line per address/btc.txt
new file mode 100644
index 0000000..e69de29
diff --git a/Address format, one line per address/dash.txt b/Address format, one line per address/dash.txt
new file mode 100644
index 0000000..e69de29
diff --git a/Address format, one line per address/doge.txt b/Address format, one line per address/doge.txt
new file mode 100644
index 0000000..e69de29
diff --git a/Address format, one line per address/eth.txt b/Address format, one line per address/eth.txt
new file mode 100644
index 0000000..e69de29
diff --git a/Address format, one line per address/ltc.txt b/Address format, one line per address/ltc.txt
new file mode 100644
index 0000000..e69de29
diff --git a/Address format, one line per address/nec.txt b/Address format, one line per address/nec.txt
new file mode 100644
index 0000000..e69de29
diff --git a/Address format, one line per address/ton.txt b/Address format, one line per address/ton.txt
new file mode 100644
index 0000000..e69de29
diff --git a/Address format, one line per address/trx.txt b/Address format, one line per address/trx.txt
new file mode 100644
index 0000000..e69de29
diff --git a/Address format, one line per address/xlm.txt b/Address format, one line per address/xlm.txt
new file mode 100644
index 0000000..e69de29
diff --git a/Address format, one line per address/xmr.txt b/Address format, one line per address/xmr.txt
new file mode 100644
index 0000000..e69de29
diff --git a/Address format, one line per address/xrp.txt b/Address format, one line per address/xrp.txt
new file mode 100644
index 0000000..e69de29
diff --git a/Address format, one line per address/zcash.txt b/Address format, one line per address/zcash.txt
new file mode 100644
index 0000000..e69de29
diff --git a/Builder.exe b/Builder.exe
new file mode 100644
index 0000000..fb54b48
Binary files /dev/null and b/Builder.exe differ
diff --git a/Builder.pdb b/Builder.pdb
new file mode 100644
index 0000000..766a124
Binary files /dev/null and b/Builder.pdb differ
diff --git a/IconExtractor.dll b/IconExtractor.dll
new file mode 100644
index 0000000..d1aa356
Binary files /dev/null and b/IconExtractor.dll differ
diff --git a/IconExtractor.xml b/IconExtractor.xml
new file mode 100644
index 0000000..40f7fad
--- /dev/null
+++ b/IconExtractor.xml
@@ -0,0 +1,20 @@
+
+
+
+ IconExtractor
+
+
+
+
+ Extract .ico file
+
+
+
+
+ Extract first .ico file from Win32 resource of PE format file (.exe, .dll).
+
+ path of PE format file to extract .ico file
+ stream that written to .ico file which is extracted.
+
+
+
diff --git a/MetroFramework.Design.dll b/MetroFramework.Design.dll
new file mode 100644
index 0000000..fe69d7d
Binary files /dev/null and b/MetroFramework.Design.dll differ
diff --git a/MetroFramework.Fonts.dll b/MetroFramework.Fonts.dll
new file mode 100644
index 0000000..324ee0f
Binary files /dev/null and b/MetroFramework.Fonts.dll differ
diff --git a/MetroFramework.dll b/MetroFramework.dll
new file mode 100644
index 0000000..ebffc7e
Binary files /dev/null and b/MetroFramework.dll differ
diff --git a/README.md b/README.md
index 9d7a7ae..f3a3439 100644
--- a/README.md
+++ b/README.md
@@ -1 +1,32 @@
-# Clipper-Malware
\ No newline at end of file
+
+ PRIVATE VERSION: https://t.me/DevxStudioVip
+ For update, the code will be uploaded on 20/03/2024
+ Fenix Clipper Wallets + Auto-Run + Hiden Installer + ByPass Antiviruses
+
🇺🇸 Clipper is written in C# and replaces it with the most similar one by the first and last characters from your list of wallets. It has a hidden installation in the system, auto-loading and bypassing popular antiviruses, it is removed from the place of the initial launch.
+
+
Clipper 是用 C# 编写的,可以根据第一个和最后一个字符替换相似的钱包,从列表中找到最相似的钱包。 它在系统中隐藏安装,自动加载并绕过流行的防病毒软件,并从最初启动的位置删除。
+
+
+# :construction: Disclaimer
+This program is for educational purposes only.
+How you use this program is your responsibility.
+I will not be held accountable for any illegal activities.
+
+# 💰 Wallets:
+- [x] Bitcoin - 1*** 3*** bc1***
+- [x] Ethereum All Tokens - 0x***
+ > All Tokens, USDT, ETC...
+- [x] Monero - 4*** 8***
+- [x] Stellar - G***
+- [x] Ripple - r***
+- [x] Neocoin - A***
+- [x] Bitcoin Cash - bitcoincash:*** q*** p***
+- [x] Dogecoin - D***
+- [x] Litecoin - M*** L***
+- [x] Dashcoin - X***
+- [x] Tron - T***
+- [x] ZCash - t1***
+- [x] Binance - bnb***
+- [x] TON Coin
+# ⚙️ Builder:
+
diff --git a/Stub/Stub.exe b/Stub/Stub.exe
new file mode 100644
index 0000000..92da210
Binary files /dev/null and b/Stub/Stub.exe differ
diff --git a/Stub/Stub.exe.config b/Stub/Stub.exe.config
new file mode 100644
index 0000000..5ffd8f8
--- /dev/null
+++ b/Stub/Stub.exe.config
@@ -0,0 +1,6 @@
+
+
+
+
+
+
diff --git a/Stub/Stub.pdb b/Stub/Stub.pdb
new file mode 100644
index 0000000..64164ec
Binary files /dev/null and b/Stub/Stub.pdb differ
diff --git a/Vestris.ResourceLib.dll b/Vestris.ResourceLib.dll
new file mode 100644
index 0000000..2b7841b
Binary files /dev/null and b/Vestris.ResourceLib.dll differ
diff --git a/Vestris.ResourceLib.xml b/Vestris.ResourceLib.xml
new file mode 100644
index 0000000..ce84259
--- /dev/null
+++ b/Vestris.ResourceLib.xml
@@ -0,0 +1,6603 @@
+
+
+
+ Vestris.ResourceLib
+
+
+
+
+ Standard accelerator.
+
+
+
+
+ Read the accelerator.
+
+ Address in memory.
+
+
+
+ Write accelerator to a binary stream.
+
+ Binary stream.
+
+
+
+ String representation of the accelerator key.
+
+
+
+
+ An unsigned integer value that identifies the accelerator.
+
+
+
+
+ String representation of the accelerator.
+
+ String representation of the accelerator.
+
+
+
+ An accelerator, RT_ACCELERATOR resource.
+ An accelerator provides the user with access to an application's command set.
+
+
+
+
+ Accelerator keys.
+
+
+
+
+ A new accelerator resource.
+
+
+
+
+ An existing accelerator resource.
+
+ Module handle.
+ Resource ID.
+ Resource type.
+ Resource name.
+ Language ID.
+ Resource size.
+
+
+
+ Read the accelerators table.
+
+ Handle to a module.
+ Pointer to the beginning of the accelerator table.
+ Address of the end of the accelerator table.
+
+
+
+ String representation of the accelerators resource.
+
+
+
+
+
+ Creates an 8 bit aligned copy of the buffer if it is not already aligned
+
+
+
+
+ A bitmap file in a .bmp format.
+
+
+
+
+ Device independent bitmap.
+
+
+
+
+ An existing bitmap file.
+
+ A file in a .bmp format.
+
+
+
+ An embedded bitmap resource.
+
+
+
+
+ An existing bitmap resource.
+
+ Module handle.
+ Resource ID.
+ Resource type.
+ Resource name.
+ Language ID.
+ Resource size.
+
+
+
+ A new bitmap resource.
+
+
+
+
+ Read the resource.
+
+ Module handle.
+ Pointer to the beginning of a resource.
+ Pointer to the end of the resource.
+
+
+
+ Write the bitmap resource to a binary stream.
+
+ Binary stream.
+
+
+
+ A device independent bitmap.
+
+
+
+
+ This structure depicts the organization of data in a hardware-independent cursor resource.
+
+
+
+
+ A hardware-independent cursor resource.
+
+ Module handle.
+ Resource ID.
+ Resource type.
+ Resource name.
+ Language ID.
+ Resource size.
+
+
+
+ A new hardware-independent cursor resource.
+
+
+
+
+ A new collection of cursors that can be embedded into an executable file.
+
+
+
+
+ This structure depicts the organization of data in a cursor resource.
+
+
+
+
+ An existing cursor resource.
+
+ Module handle.
+ Resource ID.
+ Resource type.
+ Resource name.
+ Language ID.
+ Resource size.
+
+
+
+ A new cursor resource.
+
+
+
+
+ Convert into an icon resource that can be written into an executable.
+
+ Icon image.
+ Icon Id.
+ Language.
+ An icon resource.
+
+
+
+ Horizontal hotspot coordinate.
+ The hot spot of a cursor is the point to which Windows refers in tracking the cursor's position.
+
+
+
+
+ Vertical hot spot coordinate.
+ The hot spot of a cursor is the point to which Windows refers in tracking the cursor's position.
+
+
+
+
+ Write the cursor data to a file.
+
+ Target executable file.
+
+
+
+ Read DIB image.
+
+ DIB bits.
+ DIB size.
+
+
+
+ A device-independent image consists of a BITMAPINFOHEADER where
+ bmWidth is the width of the image andbmHeight is double the height
+ of the image, followed by the bitmap color table, followed by the image
+ pixels, followed by the mask pixels.
+
+
+
+
+ Raw image data.
+
+
+
+
+ Bitmap info header.
+
+
+
+
+ Bitmap size in bytes.
+
+
+
+
+ A new icon image.
+
+
+
+
+ A device-independent bitmap.
+
+ Bitmap data.
+
+
+
+ Create a copy of an image.
+
+ Source image.
+
+
+
+ Read icon data.
+
+ Pointer to the beginning of icon data.
+ Icon data size.
+
+
+
+ Size of the image mask.
+
+
+
+
+ Position of the DIB bitmap bits within a DIB bitmap array.
+
+
+
+
+ Number of colors in the palette.
+
+
+
+
+ Returns the width of a row in a DIB Bitmap given the number of bits. DIB Bitmap rows always align on a DWORD boundary.
+
+ Number of bits.
+ Width of a row in bytes.
+
+
+
+ Bitmap monochrome mask.
+
+
+
+
+ Bitmap color (XOR) part of the image.
+
+
+
+
+ Complete image.
+
+
+
+
+ A container for the DIALOGTEMPLATEEX structure.
+
+
+
+
+ Indicates the character set to use.
+
+
+
+
+ X-coordinate, in dialog box units, of the upper-left corner of the dialog box.
+
+
+
+
+ Y-coordinate, in dialog box units, of the upper-left corner of the dialog box.
+
+
+
+
+ Width, in dialog box units, of the dialog box.
+
+
+
+
+ Height, in dialog box units, of the dialog box.
+
+
+
+
+ Dialog style.
+
+
+
+
+ Extended dialog style.
+
+
+
+
+ Weight of the font.
+
+
+
+
+ Indicates whether the font is italic.
+
+
+
+
+ Number of dialog items.
+
+
+
+
+ An extended dialog structure.
+
+
+
+
+ Read the dialog resource.
+
+ Pointer to the beginning of the dialog structure.
+
+
+
+ Write dialog control to a binary stream.
+
+ Binary stream.
+
+
+
+ String representation of the dialog.
+
+ String in the DIALOGEX [dialog] format.
+
+
+
+ A container for the DIALOGTEMPLATEEX structure.
+
+
+
+
+ X-coordinate, in dialog box units, of the upper-left corner of the dialog box.
+
+
+
+
+ Y-coordinate, in dialog box units, of the upper-left corner of the dialog box.
+
+
+
+
+ Width, in dialog box units, of the dialog box.
+
+
+
+
+ Height, in dialog box units, of the dialog box.
+
+
+
+
+ Dialog style.
+
+
+
+
+ Extended dialog style.
+
+
+
+
+ Control identifier.
+
+
+
+
+ An extended dialog control template structure.
+
+
+
+
+ Read the dialog control.
+
+ Pointer to the beginning of the dialog structure.
+
+
+
+ Write the dialog control to a binary stream.
+
+ Binary stream.
+
+
+
+ Return a string representation of the dialog control.
+
+ A single line in the "CLASS name id, dimensions and styles' format.
+
+
+
+ A dialog template resource.
+
+
+
+
+ A dialog template structure that describes the dialog.
+
+
+
+
+ A structured dialog resource embedded in an executable module.
+
+ Module handle.
+ Resource handle.
+ Type of resource.
+ Resource name.
+ Language id.
+ Resource size.
+
+
+
+ A structured dialog resource embedded in an executable module.
+
+
+
+
+ Dialog resource in standard resource editor text format.
+
+ Multi-line string.
+
+
+
+ A container for the DIALOGTEMPLATE structure.
+
+
+
+
+ X-coordinate, in dialog box units, of the upper-left corner of the dialog box.
+
+
+
+
+ Y-coordinate, in dialog box units, of the upper-left corner of the dialog box.
+
+
+
+
+ Width, in dialog box units, of the dialog box.
+
+
+
+
+ Height, in dialog box units, of the dialog box.
+
+
+
+
+ Dialog style.
+
+
+
+
+ Extended dialog style.
+
+
+
+
+ Number of dialog items.
+
+
+
+
+ A standard dialog structure.
+
+
+
+
+ Read the dialog resource.
+
+ Pointer to the beginning of the dialog structure.
+
+
+
+ Write the dialog template data to a binary stream.
+
+ Binary stream.
+
+
+
+ Returns a string representation of the dialog.
+
+ String in the DIALOG ... format.
+
+
+
+ A dialog template.
+
+
+
+
+ X-coordinate, in dialog box units, of the upper-left corner of the dialog box.
+
+
+
+
+ Y-coordinate, in dialog box units, of the upper-left corner of the dialog box.
+
+
+
+
+ Width, in dialog box units, of the dialog box.
+
+
+
+
+ Height, in dialog box units, of the dialog box.
+
+
+
+
+ Style of the dialog box.
+
+
+
+
+ Optional extended style of the dialog box.
+
+
+
+
+ Number of items in this structure.
+
+
+
+
+ The name of the typeface for the font.
+
+
+
+
+ Point size of the font to use for the text in the dialog box and its controls.
+
+
+
+
+ Dialog caption.
+
+
+
+
+ Menu resource Id.
+
+
+
+
+ Window class Id.
+
+
+
+
+ Controls within this dialog.
+
+
+
+
+ Dialog template representation in a standard text format.
+
+ Multiline string.
+
+
+
+ String represetnation of a control.
+
+
+
+
+
+ Write the resource to a binary stream.
+
+ Binary stream.
+
+
+
+ A container for a control within a dialog template.
+
+
+
+
+ X-coordinate, in dialog box units, of the upper-left corner of the dialog box.
+
+
+
+
+ Y-coordinate, in dialog box units, of the upper-left corner of the dialog box.
+
+
+
+
+ Width, in dialog box units, of the dialog box.
+
+
+
+
+ Height, in dialog box units, of the dialog box.
+
+
+
+
+ Dialog style.
+
+
+
+
+ Extended dialog style.
+
+
+
+
+ Control identifier.
+
+
+
+
+ A standard dialog control structure.
+
+
+
+
+ Write the dialog control to a binary stream.
+
+ Binary stream.
+
+
+
+ String represetnation of a control.
+
+
+
+
+
+ A dialog template.
+
+
+
+
+ X-coordinate, in dialog box units, of the upper-left corner of the dialog box.
+
+
+
+
+ Y-coordinate, in dialog box units, of the upper-left corner of the dialog box.
+
+
+
+
+ Width, in dialog box units, of the dialog box.
+
+
+
+
+ Height, in dialog box units, of the dialog box.
+
+
+
+
+ Style of the dialog box.
+
+
+
+
+ Optional extended style of the dialog box.
+
+
+
+
+ Dialog caption.
+
+
+
+
+ Window class Id.
+
+
+
+
+ Window class of the control.
+
+
+
+
+ Additional creation data.
+
+
+
+
+ Write the dialog control to a binary stream.
+
+ Binary stream.
+
+
+
+ Dialog template utility functions.
+
+
+
+
+ Read a dialog resource id.
+
+ Address in memory.
+ Resource read.
+
+
+
+
+ String representation of the dialog or control style of two types.
+
+ Dialog or control style.
+ String in the "s1 | s2 | ... | s3" format.
+
+
+
+ String representation of the dialog or control styles of two types.
+
+ Dialog or control style.
+ Dialog or control extended style.
+ String in the "s1 | s2 | ... | s3" format.
+
+
+
+ String representation of the dialog or control style of one type.
+
+ Dialog or control style.
+ String in the "s1 | s2 | ... | s3" format.
+
+
+
+ This structure depicts the organization of data in a hardware-independent icon resource.
+
+
+
+
+ Returns the type of the resource in this group.
+
+
+
+
+ Icons contained in this hardware-independent icon resource.
+
+
+
+
+ A hardware-independent icon resource.
+
+ Module handle.
+ Resource ID.
+ Resource type.
+ Resource name.
+ Language ID.
+ Resource size.
+
+
+
+ A new hardware-independent icon resource.
+
+
+
+
+ Save a hardware-independent icon resource to an executable file.
+
+ Name of an executable file (.exe or .dll).
+
+
+
+ Read a hardware-independent icon resource from a loaded module.
+
+ Loaded executable module.
+ Pointer to the beginning of a hardware-independent icon resource.
+ Pointer to the end of the hardware-independent icon resource.
+
+
+
+ Write a hardware-independent icon resource to a binary stream.
+
+ Binary stream.
+
+
+
+ Fixed file information.
+
+
+
+
+ Default Windows fixed file information.
+
+
+
+
+ Fixed file info structure.
+
+
+
+
+ Read the fixed file information structure.
+
+ Address in memory.
+
+
+
+ String representation of the file version.
+
+
+
+
+ String representation of the protect version.
+
+
+
+
+ Gets or sets a bitmask that specifies the Boolean attributes of the file.
+
+
+
+
+ Write fixed file information to a binary stream.
+
+ Binary stream.
+
+
+
+ Size of the VS_FIXEDFILEINFO structure.
+
+
+
+
+ String representation of the fixed file info.
+
+ String representation of the fixed file info.
+
+
+
+ A font directory entry.
+
+
+
+
+ Font ordinal.
+
+
+
+
+ Typeface name of the font.
+
+
+
+
+ Specifies the name of the device if this font file is designated for a specific device.
+
+
+
+
+ Font information.
+
+
+
+
+ A new font directory entry.
+
+
+
+
+ Read the font directory entry.
+
+ Pointer in memory.
+ Pointer to the end of the font directory entry.
+
+
+
+ Write the font directory entry to a binary stream.
+
+ Binary stream.
+
+
+
+ A font directory, RT_FONTDIR resource.
+
+
+
+
+ Number of fonts in this directory.
+
+
+
+
+ A new font resource.
+
+
+
+
+ An existing font resource.
+
+ Module handle.
+ Resource ID.
+ Resource type.
+ Resource name.
+ Language ID.
+ Resource size.
+
+
+
+ Read the font resource.
+
+ Handle to a module.
+ Pointer to the beginning of the font structure.
+ Address of the end of the font structure.
+
+
+
+ Write the font directory to a binary stream.
+
+ Binary stream.
+
+
+
+ A font, RT_FONT resource.
+
+
+
+
+ A new font resource.
+
+
+
+
+ An existing font resource.
+
+ Module handle.
+ Resource ID.
+ Resource type.
+ Resource name.
+ Language ID.
+ Resource size.
+
+
+
+ Read the font resource.
+
+ Handle to a module.
+ Pointer to the beginning of the font structure.
+ Address of the end of the font structure.
+
+
+
+ Write the font resource to a binary writer.
+
+ Binary writer.
+
+
+
+ Gdi32.dll interop functions.
+
+
+
+
+ Bitmap compression options.
+
+
+
+
+ An uncompressed format.
+
+
+
+
+ A run-length encoded (RLE) format for bitmaps with 8 bpp. The compression format is a 2-byte format consisting of a count byte followed by a byte containing a color index. For more information, see Bitmap Compression.
+
+
+
+
+ An RLE format for bitmaps with 4 bpp. The compression format is a 2-byte format consisting of a count byte followed by two word-length color indexes. For more information, see Bitmap Compression.
+
+
+
+
+ Specifies that the bitmap is not compressed and that the color table consists of three DWORD color masks that specify the red, green, and blue components, respectively, of each pixel. This is valid when used with 16- and 32-bpp bitmaps.
+
+
+
+
+ Windows 98/Me, Windows 2000/XP: Indicates that the image is a JPEG image.
+
+
+
+
+ Windows 98/Me, Windows 2000/XP: Indicates that the image is a PNG image.
+
+
+
+
+ A bitmap info header.
+ See http://msdn.microsoft.com/en-us/library/ms532290.aspx for more information.
+
+
+
+
+ Bitmap information size.
+
+
+
+
+ Bitmap width.
+
+
+
+
+ Bitmap height.
+
+
+
+
+ Number of logical planes.
+
+
+
+
+ Bitmap bitrate.
+
+
+
+
+ Bitmap compression.
+
+
+
+
+ Image size.
+
+
+
+
+ Horizontal pixel resolution.
+
+
+
+
+ Vertical pixel resolution.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Returns the current bitmap compression.
+
+
+
+
+ Bitmap pixel format.
+
+
+
+
+ Bitmap pixel format English standard string.
+
+
+
+
+ Defines the dimensions and color information of a Windows-based device-independent bitmap (DIB).
+ http://msdn.microsoft.com/en-us/library/dd183375(VS.85).aspx.
+
+
+
+
+ Specifies a bitmap information header structure that contains information about the dimensions of color format.
+
+
+
+
+ An array of RGBQUAD. The elements of the array make up the color table.
+
+
+
+
+ Store colors in a paletised icon (2, 4 or 8 bit).
+ http://msdn.microsoft.com/en-us/library/ms997538.aspx
+
+
+
+
+ Blue.
+
+
+
+
+ Green.
+
+
+
+
+ Red.
+
+
+
+
+ Reserved.
+
+
+
+
+ The BITMAPFILEHEADER structure contains information about the type, size, and layout of a file that contains a DIB.
+ http://msdn.microsoft.com/en-us/library/dd183374(VS.85).aspx
+
+
+
+
+ The file type; must be BM.
+
+
+
+
+ The size, in bytes, of the bitmap file.
+
+
+
+
+ Reserved; must be zero.
+
+
+
+
+ Reserved; must be zero.
+
+
+
+
+ The offset, in bytes, from the beginning of the BITMAPFILEHEADER structure to the bitmap bits.
+
+
+
+
+ Set the pixels in the specified rectangle on the device that is associated with the destination device
+ context using color data from a DIB, JPEG, or PNG image.
+ http://msdn.microsoft.com/en-us/library/dd162974(VS.85).aspx
+
+ A handle to the device context.
+ The x-coordinate, in logical units, of the upper-left corner of the destination rectangle.
+ The y-coordinate, in logical units, of the upper-left corner of the destination rectangle.
+ The width, in logical units, of the image.
+ The height, in logical units, of the image.
+ The x-coordinate, in logical units, of the lower-left corner of the image.
+ The y-coordinate, in logical units, of the lower-left corner of the image.
+ The starting scan line in the image.
+ The number of DIB scan lines contained in the array pointed to by the lpvBits parameter.
+ A pointer to the color data stored as an array of bytes.
+ A pointer to a BITMAPINFOHEADER structure that contains information about the DIB.
+ Indicates whether the bmiColors member of the BITMAPINFOHEADER structure contains explicit red, green, blue (RGB) values or indexes into a palette.
+
+ If the function succeeds, the return value is the number of scan lines set.
+ If zero scan lines are set (such as when dwHeight is 0) or the function fails, the function returns zero.
+ If the driver cannot support the JPEG or PNG file image passed to SetDIBitsToDevice, the function will fail and return GDI_ERROR.
+
+
+
+
+ Set the pixels in the specified rectangle on the device that is associated with the destination device
+ context using color data from a DIB, JPEG, or PNG image.
+ http://msdn.microsoft.com/en-us/library/dd162974(VS.85).aspx
+
+ A handle to the device context.
+ The x-coordinate, in logical units, of the upper-left corner of the destination rectangle.
+ The y-coordinate, in logical units, of the upper-left corner of the destination rectangle.
+ The width, in logical units, of the image.
+ The height, in logical units, of the image.
+ The x-coordinate, in logical units, of the lower-left corner of the image.
+ The y-coordinate, in logical units, of the lower-left corner of the image.
+ The starting scan line in the image.
+ The number of DIB scan lines contained in the array pointed to by the lpvBits parameter.
+ A pointer to the color data stored as an array of bytes.
+ A pointer to a BITMAPINFOHEADER structure that contains information about the DIB.
+ Indicates whether the bmiColors member of the BITMAPINFOHEADER structure contains explicit red, green, blue (RGB) values or indexes into a palette.
+
+ If the function succeeds, the return value is the number of scan lines set.
+ If zero scan lines are set (such as when dwHeight is 0) or the function fails, the function returns zero.
+ If the driver cannot support the JPEG or PNG file image passed to SetDIBitsToDevice, the function will fail and return GDI_ERROR.
+
+
+
+
+ Retrieves the bits of the specified compatible bitmap and copies them into a buffer as
+ a DIB using the specified format
+
+ A handle to the device context.
+ A handle to the bitmap. This must be a compatible bitmap (DDB).
+ The first scan line to retrieve.
+ The number of scan lines to retrieve.
+ A pointer to a buffer to receive the bitmap data.
+ A pointer to a BITMAPINFO structure that specifies the desired format for the DIB data.
+ The format of the bmiColors member of the BITMAPINFO structure.
+
+ If the lpvBits parameter is non-NULL and the function succeeds, the return value is the number of scan lines copied from the bitmap.
+ If the lpvBits parameter is NULL and GetDIBits successfully fills the BITMAPINFO structure, the return value is non-zero.
+ If the function fails, the return value is zero.
+
+
+
+
+ Create a DIB that applications can write to directly. The function gives you a pointer to the location
+ of the bitmap bit values. You can supply a handle to a file-mapping object that the function will use
+ to create the bitmap, or you can let the system allocate the memory for the bitmap.
+
+ Handle to a device context.
+ A pointer to a BITMAPINFO structure that specifies various attributes of the DIB, including the bitmap dimensions and colors.
+ The type of data contained in the bmiColors array member of the BITMAPINFO structure pointed to by pbmi (either logical palette indexes or literal RGB values).
+ A pointer to a variable that receives a pointer to the location of the DIB bit values.
+ A handle to a file-mapping object that the function will use to create the DIB. This parameter can be NULL.
+ The offset from the beginning of the file-mapping object referenced by hSection where storage for the bitmap bit values is to begin.
+
+ If the function succeeds, the return value is a handle to the newly created DIB, and *ppvBits points to the bitmap bit values.
+ If the function fails, the return value is NULL, and *ppvBits is NULL.
+
+
+
+
+ Defines how to interpret the values in the color table of a DIB.
+
+
+
+
+ The color table contains literal RGB values.
+
+
+
+
+ The color table consists of an array of 16-bit indexes into the LogPalette
+ object that is currently defined in the playback device context.
+
+
+
+
+ No color table exists. The pixels in the DIB are indices into the current logical
+ palette in the playback device context.
+
+
+
+
+
+
+
+
+
+ Creates a memory device context (DC) compatible with the specified device.
+
+ Handle to an existing device context.
+
+ The handle to a memory device context indicates success.
+ NULL indicates failure.
+
+
+
+
+
+
+ Specifies either DISPLAY or the name of a specific display device or the name of a print provider, which is usually WINSPOOL.
+ Specifies the name of the specific output device being used, as shown by the Print Manager (for example, Epson FX-80).
+ This parameter is ignored and should be set to NULL. It is provided only for compatibility with 16-bit Windows.
+ A pointer to a DEVMODE structure containing device-specific initialization data for the device driver.
+
+
+
+
+ Creates a bitmap compatible with the device that is associated with the specified device context.
+
+ A handle to a device context.
+ The bitmap width, in pixels.
+ The bitmap height, in pixels.
+
+ If the function succeeds, the return value is a handle to the compatible bitmap (DDB).
+ If the function fails, the return value is NULL.
+
+
+
+
+ Selects an object into a specified device context. The new object replaces the previous object of the same type.
+
+ Handle to the device context.
+ Handle to the object to be selected.
+
+ If the selected object is not a region, the handle of the object being replaced indicates success.
+ If the selected object is a region, one of the following values indicates success.
+
+
+
+
+ Deletes a logical pen, brush, font, bitmap, region, or palette, freeing all system resources associated with the object.
+
+ Handle to a logical pen, brush, font, bitmap, region, or palette.
+
+ Nonzero indicates success.
+ Zero indicates that the specified handle is not valid or that the handle is currently selected into a device context.
+
+
+
+
+ Deletes the specified device context.
+
+ A handle to the device context.
+
+ If the function succeeds, the return value is nonzero.
+ If the function fails, the return value is zero.
+
+
+
+
+ A generic resource.
+
+
+
+
+ Raw resource data.
+
+
+
+
+ Raw resource data.
+
+
+
+
+ An unstructured generic resource embedded in an executable module.
+
+ Module handle.
+ Resource handle.
+ Type of resource.
+ Resource name.
+ Language id.
+ Resource size.
+
+
+
+ A generic resource.
+
+ Resource name.
+ Resource type.
+ Resource language.
+
+
+
+ Read a generic resource.
+
+ Module handle.
+ Pointer to the beginning of a resource.
+ Pointer to the end of the resource.
+
+
+
+ Write the resource to a binary stream.
+
+ Binary stream.
+
+
+
+ This structure depicts the organization of data in a hardware-independent icon resource.
+
+
+
+
+ A hardware-independent icon resource.
+
+ Module handle.
+ Resource ID.
+ Resource type.
+ Resource name.
+ Language ID.
+ Resource size.
+
+
+
+ A new hardware-independent icon resource.
+
+
+
+
+ A new collection of icons that can be embedded into an executable file.
+
+
+
+
+ This structure depicts the organization of data in a .ico file.
+
+
+
+
+ Resource type.
+
+
+
+
+ Icon.
+
+
+
+
+ Cursor.
+
+
+
+
+ Type of the group icon resource.
+
+
+
+
+ Collection of icons in an .ico file.
+
+
+
+
+ An existing .ico file.
+
+ An existing icon (.ico) file.
+
+
+
+ Load from a .ico file.
+
+ An existing icon (.ico) file.
+
+
+
+ Read icons.
+
+ Pointer to the beginning of a FILEGRPICONDIR structure.
+ Pointer to the end of a FILEGRPICONDIR structure.
+
+
+
+ This structure depicts the organization of icon data in a .ico file.
+
+
+
+
+ Icon header.
+
+
+
+
+ Icon bitmap.
+
+
+
+
+ New icon data.
+
+
+
+
+ Icon width.
+
+
+
+
+ Icon height.
+
+
+
+
+ Image size in bytes.
+
+
+
+
+ Read a single icon (.ico).
+
+ Pointer to the beginning of this icon's data.
+ Pointer to the beginning of all icon data.
+ Pointer to the end of this icon's data.
+
+
+
+ Icon size as a string.
+
+ Icon size in the width x height format.
+
+
+
+ This structure depicts the organization of data in an icon resource.
+
+
+
+
+ Directory header.
+
+
+
+
+ Actual image.
+
+
+
+
+ Hardware-independent icon directory header.
+
+
+
+
+ Embedded icon Id.
+
+
+
+
+ An icon image.
+
+
+
+
+ An existing icon resource.
+
+ Module handle.
+ Resource ID.
+ Resource type.
+ Resource name.
+ Language ID.
+ Resource size.
+
+
+
+ A new icon resource.
+
+
+
+
+ Create a new icon image resource from a file icon.
+
+ File icon.
+ Resource type.
+ Resource id.
+ Resource language.
+
+
+
+ Icon width in pixels.
+
+
+
+
+ Icon height in pixels.
+
+
+
+
+ Image size in bytes.
+
+
+
+
+ Read an icon resource from a previously loaded module.
+
+ Module handle.
+ Pointer to a directory entry in the hardware-independent icon resource.
+ Pointer to the end of the icon resource.
+
+
+
+ Read the bitmap image.
+
+ DIB bits.
+ Size of image.
+
+
+
+ Icon pixel format.
+
+
+
+
+ Icon pixel format English standard string.
+
+
+
+
+ String representation of the icon.
+
+ A string in a format of width x height followed by the pixel format.
+
+
+
+ Write icon resource data to a binary stream.
+
+ Binary stream.
+
+
+
+ Save icon to a file.
+
+ Target executable file.
+
+
+
+ This structure depicts the organization of data in an icon resource.
+
+
+
+
+ An existing icon resource.
+
+ Module handle.
+ Resource ID.
+ Resource type.
+ Resource name.
+ Language ID.
+ Resource size.
+
+
+
+ A new icon resource.
+
+
+
+
+ Convert into an icon resource that can be written into an executable.
+
+ Icon image.
+ Icon Id.
+ Resource language.
+ An icon resource.
+
+
+
+ Kernel32.dll interop functions.
+
+
+
+
+ A resource header.
+
+
+
+
+ Header length.
+
+
+
+
+ Data length.
+
+
+
+
+ Resource type.
+
+
+
+
+ A new resource header of a given length.
+
+
+
+
+
+ Resource header type.
+
+
+
+
+ Binary data.
+
+
+
+
+ String data.
+
+
+
+
+ Language and code page combinations.
+ The low-order word of each DWORD must contain a Microsoft language identifier,
+ and the high-order word must contain the IBM code page number.
+ Either high-order or low-order word can be zero, indicating that the file is language
+ or code page independent.
+
+
+
+
+ Microsoft language identifier.
+
+
+
+
+ IBM code page number.
+
+
+
+
+ This structure contains version information about a file.
+ This information is language- and code page–independent.
+ http://msdn.microsoft.com/en-us/library/ms647001.aspx
+
+
+
+
+ Contains the value 0xFEEF04BD. This is used with the szKey member of the VS_VERSIONINFO structure when searching a file for the VS_FIXEDFILEINFO structure.
+
+
+
+
+ Specifies the binary version number of this structure. The high-order word of this member contains the major version number, and the low-order word contains the minor version number.
+
+
+
+
+ Specifies the most significant 32 bits of the file's binary version number. This member is used with dwFileVersionLS to form a 64-bit value used for numeric comparisons.
+
+
+
+
+ Specifies the least significant 32 bits of the file's binary version number. This member is used with dwFileVersionMS to form a 64-bit value used for numeric comparisons.
+
+
+
+
+ Specifies the most significant 32 bits of the binary version number of the product with which this file was distributed. This member is used with dwProductVersionLS to form a 64-bit value used for numeric comparisons.
+
+
+
+
+ Specifies the least significant 32 bits of the binary version number of the product with which this file was distributed. This member is used with dwProductVersionMS to form a 64-bit value used for numeric comparisons.
+
+
+
+
+ Contains a bitmask that specifies the valid bits in dwFileFlags. A bit is valid only if it was defined when the file was created.
+
+
+
+
+ Contains a bitmask that specifies the Boolean attributes of the file.
+
+
+
+
+ Specifies the operating system for which this file was designed.
+
+
+
+
+ Specifies the general type of file.
+
+
+
+
+ Specifies the function of the file.
+
+
+
+
+ Specifies the most significant 32 bits of the file's 64-bit binary creation date and time stamp.
+
+
+
+
+ Specifies the least significant 32 bits of the file's 64-bit binary creation date and time stamp.
+
+
+
+
+ Creates a default Windows VS_FIXEDFILEINFO structure.
+
+ A default Windows VS_FIXEDFILEINFO.
+
+
+
+ A hardware-independent icon directory resource header.
+ http://msdn.microsoft.com/en-us/library/ms997538.aspx
+
+
+
+
+ Reserved, must be zero.
+
+
+
+
+ Resource type, 1 for icons.
+
+
+
+
+ Number of images.
+
+
+
+
+ Hardware-independent icon directory entry.
+ See http://msdn.microsoft.com/en-us/library/ms997538.aspx for more information.
+
+
+
+
+ Width of the image. Starting with Windows 95 a value of 0 represents width of 256.
+
+
+
+
+ Height of the image. Starting with Windows 95 a value of 0 represents height of 256.
+
+
+
+
+ Number of colors in the image.
+ bColors = 1 << (wBitsPerPixel * wPlanes)
+ If wBitsPerPixel* wPlanes is greater orequal to 8, then bColors = 0.
+
+
+
+
+ Reserved.
+
+
+
+
+ Number of bitmap planes.
+ 1: monochrome bitmap
+
+
+
+
+ Bits per pixel.
+ 1: monochrome bitmap
+
+
+
+
+ Image size in bytes.
+
+
+
+
+ Icon ID.
+
+
+
+
+ Hardware-independent icon directory entry in an .ico file.
+
+
+
+
+ Icon width.
+
+
+
+
+ Icon height.
+
+
+
+
+ Colors; 0 means 256 or more.
+
+
+
+
+ Reserved.
+
+
+
+
+ Number of bitmap planes for icons.
+ Horizontal hotspot for cursors.
+
+
+
+
+ Bits per pixel for icons.
+ Vertical hostpot for cursors.
+
+
+
+
+ Image size in bytes.
+
+
+
+
+ Offset of bitmap data from the beginning of the file.
+
+
+
+
+ Hardware-independent icon structure in an .ico file.
+
+
+
+
+ Reserved, must be zero.
+
+
+
+
+ Resource Type (1 for icons).
+
+
+
+
+ Number of images.
+
+
+
+
+ If this value is used, the system maps the file into the calling process's virtual address space as if it were a data file.
+
+
+
+
+ If this value is used, and the executable module is a DLL, the system does not call DllMain for process and thread initialization and termination.
+
+
+
+
+ If this value is used and lpFileName specifies an absolute path, the system uses the alternate file search strategy.
+
+
+
+
+ If this value is used, the system does not perform automatic trust comparisons on the DLL or its dependents when they are loaded.
+
+
+
+
+ Loads the specified module into the address space of the calling process.
+ The specified module may cause other modules to be loaded.
+
+ The name of the module.
+ This parameter is reserved for future use.
+ The action to be taken when loading the module.
+
+
+
+
+ Frees the loaded dynamic-link library (DLL) module and, if necessary, decrements its reference count.
+
+ A handle to the loaded library module.
+ If the function succeeds, the return value is nonzero.
+
+
+
+ Predefined resource types.
+
+
+
+
+ Hardware-dependent cursor resource.
+
+
+
+
+ Bitmap resource.
+
+
+
+
+ Hardware-dependent icon resource.
+
+
+
+
+ Menu resource.
+
+
+
+
+ Dialog box.
+
+
+
+
+ String-table entry.
+
+
+
+
+ Font directory resource.
+
+
+
+
+ Font resource.
+
+
+
+
+ Accelerator table.
+
+
+
+
+ Application-defined resource (raw data).
+
+
+
+
+ Message-table entry.
+
+
+
+
+ Hardware-independent cursor resource.
+
+
+
+
+ Hardware-independent icon resource.
+
+
+
+
+ Version resource.
+
+
+
+
+ Allows a resource editing tool to associate a string with an .rc file.
+
+
+
+
+ Plug and Play resource.
+
+
+
+
+ VXD.
+
+
+
+
+ Animated cursor.
+
+
+
+
+ Animated icon.
+
+
+
+
+ HTML.
+
+
+
+
+ Microsoft Windows XP: Side-by-Side Assembly XML Manifest.
+
+
+
+
+ Enumerates resource types within a binary module.
+
+ Handle to a module to search.
+ Pointer to the callback function to be called for each enumerated resource type.
+ Specifies an application-defined value passed to the callback function.
+ Returns TRUE if successful; otherwise, FALSE.
+
+
+
+ An application-defined callback function used with the EnumResourceTypes and EnumResourceTypesEx functions.
+
+ The handle to the module whose executable file contains the resources for which the types are to be enumerated.
+ Pointer to a null-terminated string specifying the type name of the resource for which the type is being enumerated.
+ Specifies the application-defined parameter passed to the EnumResourceTypes or EnumResourceTypesEx function.
+ Returns TRUE if successful; otherwise, FALSE.
+
+
+
+ Enumerates resources of a specified type within a binary module.
+
+ Handle to a module to search.
+ Pointer to a null-terminated string specifying the type of the resource for which the name is being enumerated.
+ Pointer to the callback function to be called for each enumerated resource name or ID.
+ Specifies an application-defined value passed to the callback function.
+ Returns TRUE if the function succeeds or FALSE if the function does not find a resource of the type specified, or if the function fails for another reason.
+
+
+
+ An application-defined callback function used with the EnumResourceNames and EnumResourceNamesEx functions.
+
+ The handle to the module whose executable file contains the resources that are being enumerated.
+ Pointer to a null-terminated string specifying the type of resource that is being enumerated.
+ Specifies the name of a resource of the type being enumerated.
+ Specifies the application-defined parameter passed to the EnumResourceNames or EnumResourceNamesEx function.
+ Returns TRUE if the function succeeds or FALSE if the function does not find a resource of the type specified, or if the function fails for another reason.
+
+
+
+ Enumerates language-specific resources, of the specified type and name, associated with a binary module.
+
+ The handle to a module to search.
+ Pointer to a null-terminated string specifying the type of resource for which the language is being enumerated.
+ Pointer to a null-terminated string specifying the name of the resource for which the language is being enumerated.
+ Pointer to the callback function to be called for each enumerated resource language.
+ Specifies an application-defined value passed to the callback function.
+ Returns TRUE if successful or FALSE otherwise.
+
+
+
+ An application-defined callback function used with the EnumResourceLanguages and EnumResourceLanguagesEx functions.
+
+ The handle to the module whose executable file contains the resources for which the languages are being enumerated.
+ Pointer to a null-terminated string specifying the type name of the resource for which the language is being enumerated.
+ Pointer to a null-terminated string specifying the name of the resource for which the language is being enumerated.
+ Specifies the language identifier for the resource for which the language is being enumerated.
+ Specifies the application-defined parameter passed to the EnumResourceLanguages or EnumResourceLanguagesEx function.
+ Returns TRUE if successful or FALSE otherwise.
+
+
+
+ Determines the location of the resource with the specified type, name, and language in the specified module.
+
+ Handle to the module whose executable file contains the resource.
+ Pointer to a null-terminated string specifying the type name of the resource.
+ Pointer to a null-terminated string specifying the name of the resource.
+ Specifies the language of the resource.
+ If the function succeeds, the return value is a handle to the specified resource's information block.
+
+
+
+ Locks the specified resource in memory.
+
+ Handle to the resource to be locked.
+ If the loaded resource is locked, the return value is a pointer to the first byte of the resource; otherwise, it is NULL.
+
+
+
+ Loads the specified resource into global memory.
+
+ Handle to the module whose executable file contains the resource.
+ Handle to the resource to be loaded.
+ If the function succeeds, the return value is a handle to the data associated with the resource.
+
+
+
+ Returns the size, in bytes, of the specified resource.
+
+ Handle to the module whose executable file contains the resource.
+ Handle to the resource. This handle must be created by using the FindResource or FindResourceEx function.
+ If the function succeeds, the return value is the number of bytes in the resource.
+
+
+
+ Closes an open object handle.
+
+ A valid handle to an open object.
+ If the function succeeds, the return value is nonzero.
+
+
+
+ Returns a handle to either a language-neutral portable executable file (LN file) or a
+ language-specific resource file (.mui file) that can be used by the UpdateResource function
+ to add, delete, or replace resources in a binary module.
+
+ Pointer to a null-terminated string that specifies the binary file in which to update resources.
+ Specifies whether to delete the pFileName parameter's existing resources.
+ If the function succeeds, the return value is a handle that can be used by the UpdateResource and EndUpdateResource functions.
+
+
+
+ Adds, deletes, or replaces a resource in a portable executable (PE) file.
+ There are some restrictions on resource updates in files that contain Resource Configuration (RC Config) data:
+ language-neutral (LN) files and language-specific resource (.mui) files.
+
+ A module handle returned by the BeginUpdateResource function, referencing the file to be updated.
+ Pointer to a null-terminated string specifying the resource type to be updated.
+ Pointer to a null-terminated string specifying the name of the resource to be updated.
+ Specifies the language identifier of the resource to be updated.
+ Pointer to the resource data to be inserted into the file indicated by hUpdate.
+ Specifies the size, in bytes, of the resource data at lpData.
+ Returns TRUE if successful or FALSE otherwise.
+
+
+
+ Commits or discards changes made prior to a call to UpdateResource.
+
+ A module handle returned by the BeginUpdateResource function, and used by UpdateResource, referencing the file to be updated.
+ Specifies whether to write the resource updates to the file. If this parameter is TRUE, no changes are made. If it is FALSE, the changes are made: the resource updates will take effect.
+ Returns TRUE if the function succeeds; FALSE otherwise.
+
+
+
+ Neutral primary language ID.
+
+
+
+
+ US-English primary language ID.
+
+
+
+
+ Neutral sublanguage ID.
+
+
+
+
+ US-English sublanguage ID.
+
+
+
+
+ CREATEPROCESS_MANIFEST_RESOURCE_ID is used primarily for EXEs. If an executable has a resource of type RT_MANIFEST,
+ ID CREATEPROCESS_MANIFEST_RESOURCE_ID, Windows will create a process default activation context for the process.
+ The process default activation context will be used by all components running in the process.
+ CREATEPROCESS_MANIFEST_RESOURCE_ID can also used by DLLs. When Windows probe for dependencies, if the dll has
+ a resource of type RT_MANIFEST, ID CREATEPROCESS_MANIFEST_RESOURCE_ID, Windows will use that manifest as the
+ dependency.
+
+
+
+
+ ISOLATIONAWARE_MANIFEST_RESOURCE_ID is used primarily for DLLs. It should be used if the dll wants private
+ dependencies other than the process default. For example, if an dll depends on comctl32.dll version 6.0.0.0.
+ It should have a resource of type RT_MANIFEST, ID ISOLATIONAWARE_MANIFEST_RESOURCE_ID to depend on comctl32.dll
+ version 6.0.0.0, so that even if the process executable wants comctl32.dll version 5.1, the dll itself will still
+ use the right version of comctl32.dll.
+
+
+
+
+ When ISOLATION_AWARE_ENABLED is defined, Windows re-defines certain APIs. For example LoadLibraryExW
+ is redefined to IsolationAwareLoadLibraryExW.
+
+
+
+
+ Resource manifest type.
+
+
+
+
+ CREATEPROCESS_MANIFEST_RESOURCE_ID
+
+
+
+
+ ISOLATIONAWARE_MANIFEST_RESOURCE_ID
+
+
+
+
+ ISOLATIONAWARE_NOSTATICIMPORT_MANIFEST_RESOURCE_ID
+
+
+
+
+ Copies the contents of a source memory block to a destination memory block, and supports overlapping source and destination memory blocks.
+
+ A pointer to the starting address of the copied block's destination.
+ A pointer to the starting address of the block of memory to copy.
+ The size of the block of memory to copy, in bytes.
+
+
+
+ A resource load exception.
+
+
+
+
+ The Win32 exception from a resource enumeration function.
+
+
+
+
+ A new resource load exception.
+
+ Error message.
+ The inner exception thrown within a single resource.
+ The outer exception from the Win32 API.
+
+
+
+ A combined message of the inner and outer exception.
+
+
+
+
+ An embedded SxS manifest.
+
+
+
+
+ Embedded XML manifest.
+
+
+
+
+ Manifest type.
+
+
+
+
+ An existing embedded manifest resource.
+
+ Module handle.
+ Resource ID.
+ Resource type.
+ Resource name.
+ Language ID.
+ Resource size.
+
+
+
+ A new executable CreateProcess manifest.
+
+
+
+
+ A new executable manifest.
+
+ Manifest type.
+
+
+
+ Read the resource.
+
+ Module handle.
+ Pointer to the beginning of a resource.
+ Pointer to the end of the resource.
+
+
+
+ Write the resource to a binary stream.
+
+ Binary stream.
+
+
+
+ Load a manifest resource from an executable file.
+
+ Name of an executable file (.exe or .dll).
+ Manifest resource type.
+
+
+
+ Extended menu template.
+
+
+
+
+ Menu items.
+
+
+
+
+ Read the menu template.
+
+ Address in memory.
+
+
+
+ Write the menu template.
+
+ Binary stream.
+
+
+
+ String representation of the menu in the MENUEX format.
+
+ String representation of the menu.
+
+
+
+ A base menu template item.
+
+
+
+
+ Menu item header.
+
+
+
+
+ Menu string.
+
+
+
+
+ Menu text.
+
+
+
+
+ Read the menu item.
+
+ Address in memory.
+ End of the menu item structure.
+
+
+
+ Write the menu item to a binary stream.
+
+ Binary stream.
+
+
+
+ String representation in the MENU format.
+
+ Indent.
+ String representation.
+
+
+
+ String representation in the MENU format.
+
+ String representation.
+
+
+
+ A collection of menu items.
+
+
+
+
+ A collection of extended menu items.
+
+
+
+
+ Read the menu item collection.
+
+ Address in memory.
+ End of the menu item structure.
+
+
+
+ Write the menu collection to a binary stream.
+
+ Binary stream.
+
+
+
+ String representation in the MENU format.
+
+ String representation.
+
+
+
+ String representation in the MENU format.
+
+ Indent.
+ String representation.
+
+
+
+ A command menu item.
+
+
+
+
+ A command menu item.
+
+
+
+
+ Returns true if the item is a separator.
+
+
+
+
+ String representation in the MENU format.
+
+ Indent.
+ String representation.
+
+
+
+ An extended popup menu item.
+
+
+
+
+ Sub menu items.
+
+
+
+
+ An extended popup menu item.
+
+
+
+
+ Read an extended popup menu item.
+
+ Address in memory.
+ End of the menu item structure.
+
+
+
+ Write the menu item to a binary stream.
+
+ Binary stream.
+
+
+
+ String representation in the MENUEX format.
+
+ String representation.
+
+
+
+ A generic resource.
+
+
+
+
+ Menu template.
+
+
+
+
+ A structured menu resource.
+
+
+
+
+ A structured menu resource embedded in an executable module.
+
+ Module handle.
+ Resource handle.
+ Type of resource.
+ Resource name.
+ Language id.
+ Resource size.
+
+
+
+ Read a menu resource.
+
+ Module handle.
+ Pointer to the beginning of a resource.
+ Pointer to the end of the resource.
+
+
+
+ Write the menu resource to a binary stream.
+
+ Binary stream.
+
+
+
+ String representation of the menu resource in the MENU format.
+
+ String representation of the menu resource.
+
+
+
+ Standard menu template.
+
+
+
+
+ Menu items.
+
+
+
+
+ Read the menu template.
+
+ Address in memory.
+
+
+
+ Write menu template to a binary stream.
+
+ Binary stream.
+
+
+
+ String representation of the menu in the MENU format.
+
+ String representation of the menu.
+
+
+
+ A menu template header.
+
+
+
+
+ Read the menu template header.
+
+ Address in memory.
+
+
+
+ Write the menu to a binary stream.
+
+ Binary stream.
+
+
+
+ A base menu template item.
+
+
+
+
+ Menu item header.
+
+
+
+
+ Menu string.
+
+
+
+
+ Menu text.
+
+
+
+
+ Read the menu item.
+
+ Address in memory.
+ End of the menu item structure.
+
+
+
+ String representation in the MENU format.
+
+ Indent.
+ String representation.
+
+
+
+ String representation in the MENU format.
+
+ String representation.
+
+
+
+ A collection of menu items.
+
+
+
+
+ A collection of menu items.
+
+
+
+
+ Read the menu item collection.
+
+ Address in memory.
+ End of the menu item structure.
+
+
+
+ Write the menu collection to a binary stream.
+
+ Binary stream.
+
+
+
+ String representation in the MENU format.
+
+ String representation.
+
+
+
+ String representation in the MENU format.
+
+ Indent.
+ String representation.
+
+
+
+ A command menu item.
+
+
+
+
+ Command menu id.
+
+
+
+
+ A command menu item.
+
+
+
+
+ Read a command menu item.
+
+ Address in memory.
+ End of the menu item structure.
+
+
+
+ Write menu item to a binary stream.
+
+ Binary stream.
+
+
+
+ Returns true if the item is a separator.
+
+
+
+
+ String representation in the MENU format.
+
+ Indent.
+ String representation.
+
+
+
+ A popup menu item.
+
+
+
+
+ Sub menu items.
+
+
+
+
+ A popup menu item.
+
+
+
+
+ Read a popup menu item.
+
+ Address in memory.
+ End of the menu item structure.
+
+
+
+ Write menu item to a binary stream.
+
+ Binary stream.
+
+
+
+ String representation in the MENU format.
+
+ String representation.
+
+
+
+ A version resource.
+
+
+
+
+ Resource type.
+
+
+
+
+ Resource name.
+
+
+
+
+ Resource language.
+
+
+
+
+ Loaded binary nodule.
+
+
+
+
+ Pointer to the resource.
+
+
+
+
+ Resource size.
+
+
+
+
+ Version resource size in bytes.
+
+
+
+
+ Language ID.
+
+
+
+
+ Resource type.
+
+
+
+
+ String representation of the resource type.
+
+
+
+
+ Resource name.
+
+
+
+
+ A new resource.
+
+
+
+
+ A structured resource embedded in an executable module.
+
+ Module handle.
+ Resource handle.
+ Resource type.
+ Resource name.
+ Language ID.
+ Resource size.
+
+
+
+ Lock and read the resource.
+
+ Module handle.
+ Resource handle.
+
+
+
+ Load a resource from an executable (.exe or .dll) file.
+
+ An executable (.exe or .dll) file.
+
+
+
+ Load a resource from an executable (.exe or .dll) file.
+
+ An executable (.exe or .dll) file.
+ Resource name.
+ Resource type.
+ Resource language.
+
+
+
+ Load a resource from an executable (.exe or .dll) module.
+
+ An executable (.exe or .dll) module.
+ Resource type.
+ Resource name.
+ Resource language.
+
+
+
+ Read a resource from a previously loaded module.
+
+ Module handle.
+ Pointer to the beginning of the resource.
+ Pointer to the end of the resource.
+
+
+
+ Write the resource to a memory stream.
+
+ Binary stream.
+
+
+
+ Return resource data.
+
+ Resource data.
+
+
+
+ Save a resource.
+
+ Name of an executable file (.exe or .dll).
+
+
+
+ Save a resource to an executable (.exe or .dll) file.
+
+ Path to an executable file.
+ Resource name.
+ Resource type.
+ Language id.
+
+
+
+ Delete a resource from an executable (.exe or .dll) file.
+
+ Path to an executable file.
+
+
+
+ Delete a resource from an executable (.exe or .dll) file.
+
+ Path to an executable file.
+ Resource name.
+ Resource type.
+ Resource language.
+
+
+
+ Save a resource to an executable (.exe or .dll) file.
+
+ Path to an executable file.
+ Resource name.
+ Resource type.
+ Resource language.
+ Resource data.
+
+
+
+ Save a batch of resources to a given file.
+
+ Path to an executable file.
+ The resources to write.
+
+
+
+ A resource Id.
+ There're two types of resource Ids, reserved integer numbers (eg. RT_ICON) and custom string names (eg. "CUSTOM").
+
+
+
+
+ A resource identifier.
+
+ A integer or string resource id.
+
+
+
+ A resource identifier.
+
+ A integer resource id.
+
+
+
+ A well-known resource-type identifier.
+
+ A well known resource type.
+
+
+
+ A custom resource identifier.
+
+
+
+
+
+ Resource Id.
+
+
+ If the resource Id is a string, it will be copied.
+
+
+
+
+ String representation of a resource type name.
+
+
+
+
+ An enumerated resource type for built-in resource types only.
+
+
+
+
+ Returns true if the resource is an integer resource.
+
+
+
+
+ Returns true if the resource is an integer resource.
+
+ Resource pointer.
+
+
+
+ Resource Id in a string format.
+
+
+
+
+ String representation of the resource Id.
+
+ Resource name.
+
+
+
+ Resource Id hash code.
+ Resource Ids of the same type have the same hash code.
+
+ Resource Id.
+
+
+
+ Compares two resource Ids by value.
+
+ Resource Id.
+ True if both resource Ids represent the same resource.
+
+
+
+ Resource info manager.
+
+
+
+
+ A dictionary of resources, the key is the resource type, eg. "REGISTRY" or "16" (version).
+
+
+
+
+ A shortcut for available resource types.
+
+
+
+
+ A new resource info.
+
+
+
+
+ Unload the previously loaded module.
+
+
+
+
+ Load an executable or a DLL and read its resources.
+
+ Source filename.
+
+
+
+ Enumerate resource types.
+
+ Module handle.
+ Resource type.
+ Additional parameter.
+ TRUE if successful.
+
+
+
+ Enumerate resource names within a resource by type
+
+ Module handle.
+ Resource type.
+ Resource name.
+ Additional parameter.
+ TRUE if successful.
+
+
+
+ Create a resource of a given type.
+
+ Module handle.
+ Pointer to the resource in memory.
+ Resource type.
+ Resource name.
+ Language ID.
+ Size of resource.
+ A specialized or a generic resource.
+
+
+
+ Enumerate resource languages within a resource by name
+
+ Module handle.
+ Resource type.
+ Resource name.
+ Language ID.
+ Additional parameter.
+ TRUE if successful.
+
+
+
+ Save resource to a file.
+
+ Target filename.
+
+
+
+ Dispose resource info object.
+
+
+
+
+ A collection of resources.
+
+ Resource type.
+ A collection of resources of a given type.
+
+
+
+ A collection of resources.
+
+ Resource type.
+ A collection of resources of a given type.
+
+
+
+ Enumerates all resources within this resource info collection.
+
+ Resources enumerator.
+
+
+
+ Enumerates all resources within this resource info collection.
+
+ Resources enumerator.
+
+
+
+ A resource table header.
+
+
+
+
+ Resource table header.
+
+
+
+
+ Resource table key.
+
+
+
+
+ Resource table key.
+
+
+
+
+ Resource header.
+
+
+
+
+ A new resource table header.
+
+
+
+
+ An resource table header with a specific key.
+
+ resource key
+
+
+
+ An existing resource table.
+
+ Pointer to resource table data.
+
+
+
+ Read the resource header, return a pointer to the end of it.
+
+ Top of header.
+ End of header, after the key, aligned at a 32 bit boundary.
+
+
+
+ Write the resource table.
+
+ Binary stream.
+
+
+
+ String representation.
+
+ String representation.
+
+
+
+ String representation.
+
+ Indent.
+ String representation.
+
+
+
+ Resource utilities.
+
+
+
+
+ Align an address to a 4-byte boundary.
+
+ Address in memory.
+ 4-byte aligned pointer.
+
+
+
+ Align a pointer to a 4-byte boundary.
+
+ Pointer to an address in memory.
+ 4-byte aligned pointer.
+
+
+
+ Pad data to a WORD.
+
+ Binary stream.
+ New position within the binary stream.
+
+
+
+ Pad data to a DWORD.
+
+ Binary stream.
+ New position within the binary stream.
+
+
+
+ Returns the high WORD from a DWORD value.
+
+ WORD value.
+ High WORD.
+
+
+
+ Returns the high WORD from a DWORD value.
+
+ WORD value.
+ High WORD.
+
+
+
+ Write a value at a given position.
+ Used to write a size of data in an earlier located header.
+
+ Binary stream.
+ Value to write.
+ Address to write the value at.
+
+
+
+ Pad bytes.
+
+ Binary stream.
+ Number of bytes to write.
+ New position within the stream.
+
+
+
+ Neutral language ID.
+
+
+
+
+ US-English language ID.
+
+
+
+
+ Make a language ID from a primary language ID (low-order 10 bits) and a sublanguage (high-order 6 bits).
+
+ Primary language ID.
+ Sublanguage ID.
+ Microsoft language ID.
+
+
+
+ Return the primary language ID from a Microsoft language ID.
+
+ Microsoft language ID
+ primary language ID (low-order 10 bits)
+
+
+
+ Return the sublanguage ID from a Microsoft language ID.
+
+ Microsoft language ID.
+ Sublanguage ID (high-order 6 bits).
+
+
+
+ Returns the memory representation of an object.
+
+ Object type.
+ Data.
+ Object's representation in memory.
+
+
+
+ Get a collection of flags from a flag value.
+
+ Flag collection type.
+ Flag value.
+ Collection of flags.
+
+
+
+ Get a string representation of flags.
+
+ Flag collection type.
+ Flag vlaue
+ String representation of flags in the f1 | ... | fn format.
+
+
+
+ This structure depicts the organization of data in a file-version resource.
+ It contains version information that can be displayed for a particular language and code page.
+ http://msdn.microsoft.com/en-us/library/aa908808.aspx
+
+
+
+
+ Resource strings.
+
+
+
+
+ A new string file-version resource.
+
+
+
+
+ An existing string file-version resource.
+
+ Pointer to the beginning of a string file-version resource.
+
+
+
+ Read an existing string file-version resource.
+
+ Pointer to the beginning of a string file-version resource.
+ Pointer to the end of the string file-version resource.
+
+
+
+ Write the string file-version resource to a binary stream.
+
+ Binary stream.
+
+
+
+ Default (first) string table.
+
+
+
+
+ Indexed string table.
+
+ Key.
+ A string table at a given index.
+
+
+
+ String representation of StringFileInfo.
+
+ Indent.
+ String in the StringFileInfo format.
+
+
+
+ A string, RT_STRING resource.
+ Each string resource block has 16 strings, each represented as an ordered pair
+ (length, text). Length is a WORD that specifies the size, in terms of the number of characters,
+ in the text that follows. Text follows length and contains the string in Unicode without the
+ NULL terminating character. There may be no characters in text, in which case length is zero.
+
+
+
+
+ String collection in this resource.
+
+
+
+
+ Returns a string of a given Id.
+
+ String Id.
+ A string of a given Id.
+
+
+
+ A new string resource.
+
+
+
+
+ A new string resource of a given block id.
+
+ Block id.
+
+
+
+ A new string resource of a given block id.
+
+ Block id.
+
+
+
+ An existing string resource.
+
+ Module handle.
+ Resource ID.
+ Resource type.
+ Resource name.
+ Language ID.
+ Resource size.
+
+
+
+ A string with ID, stringId, is located in the block with ID given by the following formula.
+ http://support.microsoft.com/kb/q196774/
+
+
+
+
+ String table block id.
+
+
+
+
+ Read the strings.
+
+ Handle to a module.
+ Pointer to the beginning of the string table.
+ Address of the end of the string table.
+
+
+
+ String representation of the strings resource.
+
+
+
+
+
+ This structure depicts the organization of data in a file-version resource. It contains language
+ and code page formatting information for the strings. A code page is an ordered character set.
+ See http://msdn.microsoft.com/en-us/library/aa909192.aspx for more information.
+
+
+
+
+ Resource strings.
+
+
+
+
+ A new string table.
+
+
+
+
+ A new string table.
+
+ String table key.
+
+
+
+ An existing string table.
+
+ Pointer to the beginning of the table.
+
+
+
+ Read a string table.
+
+ Pointer to the beginning of the string table.
+ Pointer to the end of the string table.
+
+
+
+ Write the string table to a binary stream.
+
+ Binary stream.
+ Last unpadded position.
+
+
+
+ The four most significant digits of the key represent the language identifier.
+ Each Microsoft Standard Language identifier contains two parts: the low-order 10 bits
+ specify the major language, and the high-order 6 bits specify the sublanguage.
+
+
+
+
+ The four least significant digits of the key represent the code page for which the data is formatted.
+
+
+
+
+ Returns an entry within the string table.
+
+ Key.
+ An entry within the string table.
+
+
+
+ String representation of the string table.
+
+ Indent.
+ String representation of the strings table.
+
+
+
+ This structure depicts the organization of data in a file-version resource. It contains a string
+ that describes a specific aspect of a file, such as a file's version, its copyright notices,
+ or its trademarks.
+ http://msdn.microsoft.com/en-us/library/aa909025.aspx
+
+
+
+
+ The value is always stored double-null-terminated.
+
+
+
+
+ When set to true the length in the header will also contain the padding bytes when writing to a stream.
+ The MSDN reference (http://www.webcitation.org/6zBLYbvww) does not clarify which variant is 'right'.
+
+
+
+
+ String resource header.
+
+
+
+
+ Key.
+
+
+
+
+ String value (removing the double-null-terminator).
+
+
+
+
+ Value.
+
+
+
+
+ A new string resource.
+
+ Key.
+
+
+
+ An existing string resource.
+
+ Pointer to the beginning of a string resource.
+
+
+
+ Read a string resource.
+
+ Pointer to the beginning of a string resource.
+
+
+
+ Write a string resource to a binary stream.
+
+ Binary stream.
+
+
+
+ User32.dll functions.
+
+
+
+
+ Contains information about an icon or a cursor.
+
+
+
+
+ Specifies whether this structure defines an icon or a cursor.
+ A value of TRUE specifies an icon; FALSE specifies a cursor.
+
+
+
+
+ Specifies the x-coordinate of a cursor's hot spot. If this structure defines an icon, the hot spot is
+ always in the center of the icon, and this member is ignored.
+
+
+
+
+ Specifies the y-coordinate of the cursor's hot spot. If this structure defines an icon, the hot spot
+ is always in the center of the icon, and this member is ignored.
+
+
+
+
+ Specifies the icon bitmask bitmap.
+
+
+
+
+ Handle to the icon color bitmap.
+
+
+
+
+ Retrieve a handle to a device context (DC) for the client area of a specified window or for the entire screen.
+
+ A handle to the window whose DC is to be retrieved. If this value is NULL, GetDC retrieves the DC for the entire screen.
+
+ If the function succeeds, the return value is a handle to the DC for the specified window's client area.
+ If the function fails, the return value is NULL.
+
+
+
+
+ Releases a device context (DC), freeing it for use by other applications.
+
+ A handle to the window whose DC is to be released.
+ A handle to the DC to be released.
+
+ The return value indicates whether the DC was released. If the DC was released, the return value is 1.
+ If the DC was not released, the return value is zero.
+
+
+
+
+ The DIALOGTEMPLATE structure defines the dimensions and style of a dialog box.
+ This structure, always the first in a standard template for a dialog box,
+ also specifies the number of controls in the dialog box and therefore specifies
+ the number of subsequent DIALOGITEMTEMPLATE structures in the template.
+
+
+
+
+ Specifies the style of the dialog box.
+
+
+
+
+ Extended styles for a window.
+
+
+
+
+ Specifies the number of items in the dialog box.
+
+
+
+
+ Specifies the x-coordinate, in dialog box units, of the upper-left corner of the dialog box.
+
+
+
+
+ Specifies the y-coordinate, in dialog box units, of the upper-left corner of the dialog box.
+
+
+
+
+ Specifies the width, in dialog box units, of the dialog box.
+
+
+
+
+ Specifies the height, in dialog box units, of the dialog box.
+
+
+
+
+ The DIALOGITEMTEMPLATE structure defines the dimensions and style of a control in a dialog box.
+
+
+
+
+ Specifies the style of the control.
+
+
+
+
+ Extended styles for a window.
+
+
+
+
+ Specifies the x-coordinate, in dialog box units, of the upper-left corner of the control.
+
+
+
+
+ Specifies the y-coordinate, in dialog box units, of the upper-left corner of the control.
+
+
+
+
+ Specifies the width, in dialog box units, of the control.
+
+
+
+
+ Specifies the height, in dialog box units, of the control.
+
+
+
+
+ Specifies the control identifier.
+
+
+
+
+ An extended dialog box template begins with a DIALOGEXTEMPLATE header that describes
+ the dialog box and specifies the number of controls in the dialog box. For each
+ control in a dialog box, an extended dialog box template has a block of data that
+ uses the DIALOGEXITEMTEMPLATE format to describe the control.
+
+
+
+
+ Specifies the version number of the extended dialog box template. This member must be 1.
+
+
+
+
+ Indicates whether a template is an extended dialog box template.
+
+
+
+
+ Specifies the help context identifier for the dialog box window. When the system
+ sends a WM_HELP message, it passes this value in the wContextId member of the
+ HELPINFO structure.
+
+
+
+
+ Specifies extended windows styles.
+
+
+
+
+ Specifies the style of the dialog box.
+
+
+
+
+ Specifies the number of controls in the dialog box.
+
+
+
+
+ Specifies the x-coordinate, in dialog box units, of the upper-left corner of the dialog box.
+
+
+
+
+ Specifies the y-coordinate, in dialog box units, of the upper-left corner of the dialog box.
+
+
+
+
+ Specifies the width, in dialog box units, of the dialog box.
+
+
+
+
+ Specifies the height, in dialog box units, of the dialog box.
+
+
+
+
+ A control entry in an extended dialog template.
+
+
+
+
+ Specifies the help context identifier for the dialog box window. When the system
+ sends a WM_HELP message, it passes this value in the wContextId member of the
+ HELPINFO structure.
+
+
+
+
+ Specifies extended windows styles.
+
+
+
+
+ Specifies the style of the dialog box.
+
+
+
+
+ Specifies the x-coordinate, in dialog box units, of the upper-left corner of the dialog box.
+
+
+
+
+ Specifies the y-coordinate, in dialog box units, of the upper-left corner of the dialog box.
+
+
+
+
+ Specifies the width, in dialog box units, of the dialog box.
+
+
+
+
+ Specifies the height, in dialog box units, of the dialog box.
+
+
+
+
+ Specifies the control identifier.
+
+
+
+
+ Window styles.
+ http://msdn.microsoft.com/en-us/library/ms632600(VS.85).aspx
+
+
+
+
+ Creates an overlapped window. An overlapped window has a title bar and
+ a border. Same as the WS_TILED style.
+
+
+
+
+ Creates a pop-up window. This style cannot be used with the WS_CHILD style.
+
+
+
+
+ Creates a child window. A window with this style cannot have
+ a menu bar. This style cannot be used with the WS_POPUP style.
+
+
+
+
+ Creates a window that is initially minimized. Same as the WS_ICONIC style.
+
+
+
+
+ Creates a window that is initially visible.
+
+
+
+
+ Creates a window that is initially disabled. A disabled window cannot receive
+ input from the user.
+
+
+
+
+ Clips child windows relative to each other; that is, when a particular
+ child window receives a WM_PAINT message, the WS_CLIPSIBLINGS style clips
+ all other overlapping child windows out of the region of the child window
+ to be updated. If WS_CLIPSIBLINGS is not specified and child windows overlap,
+ it is possible, when drawing within the client area of a child window, to draw
+ within the client area of a neighboring child window.
+
+
+
+
+ Excludes the area occupied by child windows when drawing occurs
+ within the parent window. This style is used when creating the parent window.
+
+
+
+
+ Creates a window that is initially maximized.
+
+
+
+
+ Creates a window that has a title bar (includes the WS_BORDER style).
+
+
+
+
+ Creates a window that has a thin-line border.
+
+
+
+
+ Creates a window that has a border of a style typically used with dialog
+ boxes. A window with this style cannot have a title bar.
+
+
+
+
+ Creates a window that has a vertical scroll bar.
+
+
+
+
+ Creates a window that has a horizontal scroll bar.
+
+
+
+
+ Creates a window that has a window menu on its title bar. The WS_CAPTION
+ style must also be specified.
+
+
+
+
+ Creates a window that has a sizing border. Same as the WS_SIZEBOX style.
+
+
+
+
+ Specifies the first control of a group of controls. The group consists of this
+ first control and all controls defined after it, up to the next control with
+ the WS_GROUP style. The first control in each group usually has the WS_TABSTOP
+ style so that the user can move from group to group. The user can subsequently
+ change the keyboard focus from one control in the group to the next control in
+ the group by using the direction keys.
+
+
+
+
+ Specifies a control that can receive the keyboard focus when the user presses
+ the TAB key. Pressing the TAB key changes the keyboard focus to the next
+ control with the WS_TABSTOP style.
+
+
+
+
+ Dialog styles.
+ http://msdn.microsoft.com/en-us/library/ms644994(VS.85).aspx
+
+
+
+
+ Specifying this style in the dialog template tells Windows that the dtX and dtY values
+ of the DIALOGTEMPLATE struct are relative to the screen origin, not the owner of the
+ dialog box.
+
+
+
+
+ Create a dialog box with the WS_EX_TOPMOST flag. This flag cannot be combined with the
+ DS_CONTROL style. This flag is obsolete and is included for compatibility with 16-bit
+ versions of Windows.
+
+
+
+
+ Applies to 16-bit applications only. This style directs edit controls in the dialog
+ box to allocate memory from the application data segment. Otherwise, edit controls
+ allocate storage from a global memory object.
+
+
+
+
+ Indicates that the header of the dialog box template contains additional data specifying
+ the font to use for text in the client area and controls of the dialog box.
+
+
+
+
+ Creates a dialog box with a modal dialog-box frame that can be combined with a title
+ bar and window menu by specifying the WS_CAPTION and WS_SYSMENU styles.
+
+
+
+
+ Suppresses WM_ENTERIDLE messages that the system would otherwise send to the owner of the
+ dialog box while the dialog box is displayed.
+
+
+
+
+ Causes the system to use the SetForegroundWindow function to bring the dialog
+ box to the foreground.
+
+
+
+
+ Gives the dialog box a nonbold font and draws three-dimensional borders around
+ control windows in the dialog box.
+
+
+
+
+ Causes the dialog box to use the SYSTEM_FIXED_FONT instead of the default SYSTEM_FONT.
+ This is a monospace font compatible with the System font in 16-bit versions of Windows
+ earlier than 3.0.
+
+
+
+
+ Creates the dialog box even if errors occur — for example, if a child window cannot be
+ created or if the system cannot create a special data segment for an edit control.
+
+
+
+
+ Creates a dialog box that works well as a child window of another dialog box,
+ much like a page in a property sheet. This style allows the user to tab among
+ the control windows of a child dialog box, use its accelerator keys, and so on.
+
+
+
+
+ Centers the dialog box in the working area; that is, the area not obscured by the tray.
+
+
+
+
+ Centers the dialog box on the mouse cursor.
+
+
+
+
+ Includes a question mark in the title bar of the dialog box. When the user clicks the
+ question mark, the cursor changes to a question mark with a pointer. If the user then
+ clicks a control in the dialog box, the control receives a WM_HELP message. The control
+ should pass the message to the dialog box procedure, which should call the function
+ using the HELP_WM_HELP command. The help application displays a pop-up window that
+ typically contains help for the control.
+
+
+
+
+ Indicates that the dialog box should use the system font.
+
+
+
+
+
+
+
+
+
+ Extended dialog styles.
+
+
+
+
+ Creates a window that has a double border; the window can, optionally, be created
+ with a title bar by specifying the WS_CAPTION style in the dwStyle parameter.
+
+
+
+
+ Specifies that a child window created with this style does not send the WM_PARENTNOTIFY
+ message to its parent window when it is created or destroyed.
+
+
+
+
+ Specifies that a window created with this style should be placed above all non-topmost
+ windows and should stay above them, even when the window is deactivated. To add or remove
+ this style, use the SetWindowPos function.
+
+
+
+
+ Specifies that a window created with this style accepts drag-drop files.
+
+
+
+
+ Specifies that a window created with this style should not be painted until siblings beneath
+ the window (that were created by the same thread) have been painted. The window appears
+ transparent because the bits of underlying sibling windows have already been painted.
+
+
+
+
+ Creates a multiple-document interface (MDI) child window.
+
+
+
+
+ Creates a tool window; that is, a window intended to be used as a floating toolbar.
+ A tool window has a title bar that is shorter than a normal title bar, and the
+ window title is drawn using a smaller font. A tool window does not appear in
+ the taskbar or in the dialog that appears when the user presses ALT+TAB. If a
+ tool window has a system menu, its icon is not displayed on the title bar. However,
+ you can display the system menu by right-clicking or by typing ALT+SPACE.
+
+
+
+
+ Specifies that a window has a border with a raised edge.
+
+
+
+
+ Specifies that a window has a border with a sunken edge.
+
+
+
+
+ Includes a question mark in the title bar of the window. When the user clicks the question mark,
+ the cursor changes to a question mark with a pointer. If the user then clicks a child window,
+ the child receives a WM_HELP message. The child window should pass the message to the parent
+ window procedure, which should call the WinHelp function using the HELP_WM_HELP command. The
+ Help application displays a pop-up window that typically contains help for the child window.
+
+
+
+
+ The window has generic "right-aligned" properties. This depends on the window class. This style has
+ an effect only if the shell language is Hebrew, Arabic, or another language that supports reading-order
+ alignment; otherwise, the style is ignored. Using the WS_EX_RIGHT style for static or edit controls
+ has the same effect as using the SS_RIGHT or ES_RIGHT style, respectively. Using this style with
+ button controls has the same effect as using BS_RIGHT and BS_RIGHTBUTTON styles.
+
+
+
+
+ Creates a window that has generic left-aligned properties. This is the default.
+
+
+
+
+ If the shell language is Hebrew, Arabic, or another language that supports reading-order
+ alignment, the window text is displayed using right-to-left reading-order properties.
+ For other languages, the style is ignored.
+
+
+
+
+ The window text is displayed using left-to-right reading-order properties. This is the default.
+
+
+
+
+ If the shell language is Hebrew, Arabic, or another language that supports reading order
+ alignment, the vertical scroll bar (if present) is to the left of the client area. For other
+ languages, the style is ignored.
+
+
+
+
+ Vertical scroll bar (if present) is to the right of the client area. This is the default.
+
+
+
+
+ The window itself contains child windows that should take part in dialog box navigation.
+ If this style is specified, the dialog manager recurses into children of this window when
+ performing navigation operations such as handling the TAB key, an arrow key, or a
+ keyboard mnemonic.
+
+
+
+
+ Creates a window with a three-dimensional border style intended to be used for items that
+ do not accept user input.
+
+
+
+
+ Forces a top-level window onto the taskbar when the window is visible.
+
+
+
+
+ Combines the WS_EX_CLIENTEDGE and WS_EX_WINDOWEDGE styles.
+
+
+
+
+ Combines the WS_EX_WINDOWEDGE, WS_EX_TOOLWINDOW, and WS_EX_TOPMOST styles.
+
+
+
+
+ Windows 2000/XP: Creates a layered window. Note that this cannot be used for child
+ windows. Also, this cannot be used if the window has a class style of either CS_OWNDC
+ or CS_CLASSDC.
+
+
+
+
+ Windows 2000/XP: A window created with this style does not pass its window layout to its child windows.
+
+
+
+
+ Arabic and Hebrew versions of Windows 98/Me, Windows 2000/XP: Creates a window whose
+ horizontal origin is on the right edge. Increasing horizontal values advance to the left.
+
+
+
+
+ Windows XP: Paints all descendants of a window in bottom-to-top painting order
+ using double-buffering. For more information, see Remarks. This cannot be used
+ if the window has a class style of either CS_OWNDC or CS_CLASSDC.
+
+
+
+
+ Windows 2000/XP: A top-level window created with this style does not become the foreground
+ window when the user clicks it. The system does not bring this window to the foreground
+ when the user minimizes or closes the foreground window.
+
+
+
+
+ Possible DIALOGEXITEMTEMPLATE WindowClass ordinals.
+
+
+
+
+ A button.
+
+
+
+
+ An edit box.
+
+
+
+
+ A static control.
+
+
+
+
+ A list box.
+
+
+
+
+ A scroll bar.
+
+
+
+
+ A combo box.
+
+
+
+
+ Static control styles.
+ A static control specifies the STATIC class, appropriate window style constants,
+ and a combination of the following static control styles.
+ http://msdn.microsoft.com/en-us/library/bb760773(VS.85).aspx
+
+
+
+
+ Specifies a simple rectangle and left-aligns the text in the rectangle.
+ The text is formatted before it is displayed. Words that extend past the
+ end of a line are automatically wrapped to the beginning of the next left-aligned
+ line. Words that are longer than the width of the control are truncated.
+
+
+
+
+ Specifies a simple rectangle and centers the text in the rectangle.
+ The text is formatted before it is displayed. Words that extend past the
+ end of a line are automatically wrapped to the beginning of the next centered
+ line. Words that are longer than the width of the control are truncated.
+
+
+
+
+ Specifies a simple rectangle and right-aligns the text in the rectangle.
+ The text is formatted before it is displayed. Words that extend past the
+ end of a line are automatically wrapped to the beginning of the next
+ right-aligned line. Words that are longer than the width of the control
+ are truncated.
+
+
+
+
+ Specifies an icon to be displayed in the dialog box. If the control is created
+ as part of a dialog box, the text is the name of an icon (not a filename) defined
+ elsewhere in the resource file. If the control is created via CreateWindow or a
+ related function, the text is the name of an icon (not a filename) defined in the
+ resource file associated with the module specified by the hInstance parameter to
+ CreateWindow. The icon can be an animated cursor.
+
+
+
+
+ Specifies a rectangle filled with the current window frame color.
+ This color is black in the default color scheme.
+
+
+
+
+ Specifies a rectangle filled with the current screen background color.
+ This color is gray in the default color scheme.
+
+
+
+
+ Specifies a rectangle filled with the current window background color. This color is white
+ in the default color scheme.
+
+
+
+
+ Specifies a box with a frame drawn in the same color as the window frames.
+ This color is black in the default color scheme.
+
+
+
+
+ Specifies a box with a frame drawn with the same color as the screen background (desktop).
+ This color is gray in the default color scheme.
+
+
+
+
+ Specifies a box with a frame drawn with the same color as the window background. This color is
+ white in the default color scheme.
+
+
+
+
+
+
+
+
+
+ Specifies a simple rectangle and displays a single line of left-aligned text in the rectangle.
+ The text line cannot be shortened or altered in any way. Also, if the control is disabled,
+ the control does not gray its text.
+
+
+
+
+ Specifies a simple rectangle and left-aligns the text in the rectangle.
+ Tabs are expanded, but words are not wrapped. Text that extends past the
+ end of a line is clipped.
+
+
+
+
+ Specifies that the owner of the static control is responsible for drawing
+ the control. The owner window receives a WM_DRAWITEM message whenever the
+ control needs to be drawn.
+
+
+
+
+ Specifies that a bitmap is to be displayed in the static control.
+ The text is the name of a bitmap (not a filename) defined elsewhere in the
+ resource file. The style ignores the nWidth and nHeight parameters; the control
+ automatically sizes itself to accommodate the bitmap.
+
+
+
+
+ Specifies that an enhanced metafile is to be displayed in the static control.
+ The text is the name of a metafile. An enhanced metafile static control has a
+ fixed size; the metafile is scaled to fit the static control's client area.
+
+
+
+
+ Draws the top and bottom edges of the static control using the EDGE_ETCHED edge style.
+
+
+
+
+ Draws the left and right edges of the static control using the EDGE_ETCHED edge style.
+
+
+
+
+ Draws the frame of the static control using the EDGE_ETCHED edge style.
+
+
+
+
+ Windows 2000: A composite style bit that results from using the OR operator on
+ SS_* style bits. Can be used to mask out valid SS_* bits from a given bitmask.
+ Note that this is out of date and does not correctly include all valid styles.
+ Thus, you should not use this style.
+
+
+
+
+ Windows XP or later: Adjusts the bitmap to fit the size of the static control.
+ For example, changing the locale can change the system font, and thus controls
+ might be resized. If a static control had a bitmap, the bitmap would no longer
+ fit the control. This style bit dictates automatic redimensioning of bitmaps
+ to fit their controls.
+
+
+
+
+ Prevents interpretation of any ampersand characters in the control's text as
+ accelerator prefix characters. These are displayed with the ampersand removed and
+ the next character in the string underlined. This static control style may be
+ included with any of the defined static controls. You can combine SS_NOPREFIX
+ with other styles. This can be useful when filenames or other strings that may
+ contain an ampersand must be displayed in a static control in a dialog box.
+
+
+
+
+ Sends the parent window STN_CLICKED, STN_DBLCLK, STN_DISABLE, and STN_ENABLE
+ notification messages when the user clicks or double-clicks the control.
+
+
+
+
+ Specifies that a bitmap is centered in the static control that contains it.
+ The control is not resized, so that a bitmap too large for the control will
+ be clipped. If the static control contains a single line of text, the text
+ is centered vertically in the client area of the control.
+
+
+
+
+ Specifies that the lower right corner of a static control with the SS_BITMAP
+ or SS_ICON style is to remain fixed when the control is resized. Only the top
+ and left sides are adjusted to accommodate a new bitmap or icon.
+
+
+
+
+ Specifies that the actual resource width is used and the icon is loaded using
+ LoadImage. SS_REALSIZEIMAGE is always used in conjunction with SS_ICON.
+
+
+
+
+ Draws a half-sunken border around a static control.
+
+
+
+
+ Microsoft Windows 2000: Specifies that the static control duplicates the
+ text-displaying characteristics of a multiline edit control. Specifically, the
+ average character width is calculated in the same manner as with an edit control,
+ and the function does not display a partially visible last line.
+
+
+
+
+ Microsoft Windows NT or later: If the end of a string does not fit in the rectangle,
+ it is truncated and ellipses are added. If a word that is not at the end of the string
+ goes beyond the limits of the rectangle, it is truncated without ellipses. Using this
+ style will force the controls text to be on one line with no word wrap. Compare with
+ SS_PATHELLIPSIS and SS_WORDELLIPSIS.
+
+
+
+
+ Windows NT or later: Replaces characters in the middle of the string with ellipses so
+ that the result fits in the specified rectangle. If the string contains backslash (\)
+ characters, SS_PATHELLIPSIS preserves as much as possible of the text after the last
+ backslash. Using this style will force the controls text to be on one line with no
+ word wrap. Compare with SS_ENDELLIPSIS and SS_WORDELLIPSIS.
+
+
+
+
+ Windows NT or later: Truncates any word that does not fit in the rectangle and adds ellipses.
+ Using this style will force the controls text to be on one line with no word wrap.
+
+
+
+
+
+
+
+
+
+ Push button styles.
+ http://msdn.microsoft.com/en-us/library/bb775951(VS.85).aspx
+
+
+
+
+ Creates a push button that posts a WM_COMMAND message to the owner window when the
+ user selects the button.
+
+
+
+
+ Creates a push button that behaves like a BS_PUSHBUTTON style button, but has a distinct
+ appearance. If the button is in a dialog box, the user can select the button by pressing
+ the ENTER key, even when the button does not have the input focus. This style is useful
+ for enabling the user to quickly select the most likely (default) option.
+
+
+
+
+ Creates a small, empty check box with text. By default, the text is displayed to
+ the right of the check box. To display the text to the left of the check box,
+ combine this flag with the BS_LEFTTEXT style (or with the equivalent BS_RIGHTBUTTON style).
+
+
+
+
+ Creates a button that is the same as a check box, except that the check state
+ automatically toggles between checked and cleared each time the user selects the
+ check box.
+
+
+
+
+ Creates a small circle with text. By default, the text is displayed to the right of the
+ circle. To display the text to the left of the circle, combine this flag with the
+ BS_LEFTTEXT style (or with the equivalent BS_RIGHTBUTTON style). Use radio buttons for
+ groups of related, but mutually exclusive choices.
+
+
+
+
+ Creates a button that is the same as a check box, except that the box can be grayed
+ as well as checked or cleared. Use the grayed state to show that the state of the
+ check box is not determined.
+
+
+
+
+ Creates a button that is the same as a three-state check box, except that the box
+ changes its state when the user selects it. The state cycles through checked,
+ indeterminate, and cleared.
+
+
+
+
+ Creates a rectangle in which other controls can be grouped. Any text associated with
+ this style is displayed in the rectangle's upper left corner.
+
+
+
+
+ Obsolete, but provided for compatibility with 16-bit versions of Windows. Applications
+ should use BS_OWNERDRAW instead.
+
+
+
+
+ Creates a button that is the same as a radio button, except that when the user selects it,
+ the system automatically sets the button's check state to checked and automatically sets
+ the check state for all other buttons in the same group to cleared.
+
+
+
+
+
+
+
+
+
+ Creates an owner-drawn button. The owner window receives a WM_DRAWITEM message when a visual
+ aspect of the button has changed. Do not combine the BS_OWNERDRAW style with any other
+ button styles.
+
+
+
+
+ Microsoft Windows 2000: A composite style bit that results from using the OR operator on
+ BS_* style bits. It can be used to mask out valid BS_* bits from a given bitmask.
+
+
+
+
+ Places text on the left side of the radio button or check box when combined with a radio button
+ or check box style. Same as the BS_RIGHTBUTTON style.
+
+
+
+
+ Specifies that the button displays text.
+
+
+
+
+ Specifies that the button displays an icon.
+
+
+
+
+ Specifies that the button displays a bitmap. See the Remarks section for its interaction
+ with BS_ICON.
+
+
+
+
+ Left-justifies the text in the button rectangle. However, if the button is a check box or radio
+ button that does not have the BS_RIGHTBUTTON style, the text is left justified on the right side
+ of the check box or radio button.
+
+
+
+
+ Right-justifies text in the button rectangle. However, if the button is a check box or radio
+ button that does not have the BS_RIGHTBUTTON style, the text is right justified on the right
+ side of the check box or radio button.
+
+
+
+
+ Centers text horizontally in the button rectangle.
+
+
+
+
+ Places text at the top of the button rectangle.
+
+
+
+
+ Places text at the bottom of the button rectangle.
+
+
+
+
+ Places text in the middle (vertically) of the button rectangle.
+
+
+
+
+ Makes a button (such as a check box, three-state check box, or radio button) look and
+ act like a push button. The button looks raised when it isn't pushed or checked, and
+ sunken when it is pushed or checked.
+
+
+
+
+ Wraps the button text to multiple lines if the text string is too long to fit on a
+ single line in the button rectangle.
+
+
+
+
+ Enables a button to send BN_KILLFOCUS and BN_SETFOCUS notification messages to its
+ parent window.
+
+
+
+
+ Specifies that the button is two-dimensional; it does not use the default
+ shading to create a 3-D image.
+
+
+
+
+ Microsoft Windows Vista and Version 6.00. Creates a split button that behaves like a
+ BS_PUSHBUTTON style button, but also has a distinctive appearance. If the split button
+ is in a dialog box, the user can select the split button by pressing the ENTER key, even
+ when the split button does not have the input focus. This style is useful for enabling
+ the user to quickly select the most likely (default) option.
+
+
+
+
+ Microsoft Windows Vista and Version 6.00. Creates a command link button that behaves like a
+ BS_PUSHBUTTON style button, but the command link button has a green arrow on the left pointing
+ to the button text. A caption for the button text can be set by sending the BCM_SETNOTE
+ message to the button.
+
+
+
+
+ Microsoft Windows Vista and Version 6.00. Creates a command link button that behaves like
+ a BS_PUSHBUTTON style button. If the button is in a dialog box, the user can select the
+ command link button by pressing the ENTER key, even when the command link button does
+ not have the input focus. This style is useful for enabling the user to quickly select
+ the most likely (default) option.
+
+
+
+
+ Edit control styles.
+ http://msdn.microsoft.com/en-us/library/bb775464(VS.85).aspx
+
+
+
+
+ Aligns text with the left margin.
+
+
+
+
+ Windows 98/Me, Windows 2000/XP: Centers text in a single-line or multiline edit control.
+ Windows 95, Windows NT 4.0 and earlier: Centers text in a multiline edit control.
+
+
+
+
+ Windows 98/Me, Windows 2000/XP: Right-aligns text in a single-line or multiline edit control.
+ Windows 95, Windows NT 4.0 and earlier: Right aligns text in a multiline edit control.
+
+
+
+
+ Designates a multiline edit control. The default is single-line edit control.
+
+
+
+
+ Converts all characters to uppercase as they are typed into the edit control.
+
+
+
+
+ Converts all characters to lowercase as they are typed into the edit control.
+
+
+
+
+ Displays an asterisk (*) for each character typed into the edit control.
+ This style is valid only for single-line edit controls.
+
+
+
+
+ Automatically scrolls text up one page when the user presses the ENTER key on
+ the last line.
+
+
+
+
+ Automatically scrolls text to the right by 10 characters when the user types
+ a character at the end of the line. When the user presses the ENTER key,
+ the control scrolls all text back to position zero.
+
+
+
+
+ Negates the default behavior for an edit control.
+
+
+
+
+ Converts text entered in the edit control.
+
+
+
+
+ Prevents the user from typing or editing text in the edit control.
+
+
+
+
+ Specifies that a carriage return be inserted when the user presses the
+ ENTER key while entering text into a multiline edit control in a dialog box.
+ If you do not specify this style, pressing the ENTER key has the same effect
+ as pressing the dialog box's default push button. This style has no effect
+ on a single-line edit control.
+
+
+
+
+ Allows only digits to be entered into the edit control.
+
+
+
+
+ Defines the header for a menu template.
+ A complete menu template consists of a header and one or more menu item lists.
+
+
+
+
+ Specifies the version number. This member must be zero.
+
+
+
+
+ Specifies the offset, in bytes, from the end of the header.
+ The menu item list begins at this offset. Usually, this member is zero, and the menu
+ item list follows immediately after the header.
+
+
+
+
+ Defines a menu item in a menu template.
+
+
+
+
+ Specifies one or more of the following predefined menu options that control the appearance of the menu item.
+ TODO
+
+
+
+
+ Defines the header for an extended menu template.
+
+
+
+
+ Template version number. This member must be 1 for extended menu templates.
+
+
+
+
+ Offset of the first MENUEXITEMTEMPLATE structure, relative to the end of
+ this structure member. If the first item definition immediately follows the
+ dwHelpId member, this member should be 4.
+
+
+
+
+ Drop-down menu or submenu item.
+
+
+
+
+ Menu item type. This member can be a combination of the type (beginning with MFT) values
+ listed with the MENUITEMINFO structure.
+
+
+
+
+ Menu item state. This member can be a combination of the state (beginning with MFS) values
+ listed with the MENUITEMINFO structure.
+
+
+
+
+ Menu item identifier. This is an application-defined value that identifies the menu item.
+
+
+
+
+ Value specifying whether the menu item is the last item in the menu bar, drop-down menu,
+ submenu, or shortcut menu and whether it is an item that opens a drop-down menu or submenu.
+
+
+
+
+ Specifies one or more of the following predefined menu options that control the
+ appearance of the menu item.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Indicates that the menu item is initially inactive and drawn with a gray effect.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Indicates that the menu item has a check mark next to it.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Indicates that the owner window of the menu is responsible for drawing all visual
+ aspects of the menu item, including highlighted, selected, and inactive states.
+ This option is not valid for an item in a menu bar.
+
+
+
+
+ Indicates that the item is one that opens a drop-down menu or submenu.
+
+
+
+
+ Indicates that the menu item is placed in a new column. The old and new columns
+ are separated by a bar.
+
+
+
+
+ Indicates that the menu item is placed in a new column.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Indicates that the menu item has a vertical separator to its left.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Specifies whether the menu item is the last item in the menu bar, drop-down menu, submenu, or shortcut
+ menu and whether it is an item that opens a drop-down menu or submenu. This member can be zero or more
+ of these values.
+
+
+
+
+ Defines the last menu item in the menu bar, drop-down menu, submenu, or shortcut menu.
+
+
+
+
+ Defines a item that opens a drop-down menu or submenu. Subsequent structures define menu
+ items in the corresponding drop-down menu or submenu.
+
+
+
+
+ Defines an accelerator key used in an accelerator table.
+ http://msdn.microsoft.com/en-us/library/ms646340(VS.85).aspx
+
+
+
+
+ Accelerator flags.
+
+
+
+
+ Accelerator key. This member can be either a virtual-key code or an ASCII character code.
+
+
+
+
+ Accelerator identifier.
+
+
+
+
+ Flags, fVirt field of the Accelerator table structure.
+
+
+
+
+ Virtual key.
+
+
+
+
+ Specifies that no top-level menu item is highlighted when the accelerator is used.
+ This is useful when defining accelerators for actions such as scrolling that do not
+ correspond to a menu item. If NOINVERT is omitted, a top-level menu item will be
+ highlighted (if possible) when the accelerator is used.
+
+
+
+
+ Causes the accelerator to be activated only if the SHIFT key is down.
+ Applies only to virtual keys.
+
+
+
+
+ Causes the accelerator to be activated only if the CONTROL key is down.
+ Applies only to virtual keys.
+
+
+
+
+ Causes the accelerator to be activated only if the ALT key is down.
+ Applies only to virtual keys.
+
+
+
+
+ Virtual key definitions.
+
+
+
+
+ Standard virtual left mouse button.
+
+
+
+
+ Standard virtual right mouse button.
+
+
+
+
+ Ctrl-Break / Ctrl-C.
+
+
+
+
+ Standard virtual middle mouse button.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Backspace.
+
+
+
+
+ Tab.
+
+
+
+
+ Delete.
+
+
+
+
+ Return.
+
+
+
+
+ Shift.
+
+
+
+
+ Control.
+
+
+
+
+ Menu.
+
+
+
+
+ Pause.
+
+
+
+
+ Caps lock.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Escape.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Space.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ End.
+
+
+
+
+ Home.
+
+
+
+
+ Left arrow.
+
+
+
+
+ Up arrow.
+
+
+
+
+ Right arrow.
+
+
+
+
+ Down arrow.
+
+
+
+
+
+
+
+
+
+ Print Screen.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Insert.
+
+
+
+
+ Delete.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ NEC PC-9800 keyboard '=' key on numpad.
+
+
+
+
+ Fujitsu/OASYS keyboard 'Dictionary' key.
+
+
+
+
+ Fujitsu/OASYS keyboard 'Unregister word' key.
+
+
+
+
+ Fujitsu/OASYS keyboard 'Register word' key.
+
+
+
+
+ Fujitsu/OASYS keyboard 'Left OYAYUBI' key.
+
+
+
+
+ Fujitsu/OASYS keyboard 'Right OYAYUBI' key.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ';:' for US
+
+
+
+
+ '+' any country
+
+
+
+
+ ',' any country
+
+
+
+
+ '-' any country
+
+
+
+
+ '.' any country
+
+
+
+
+ '/?' for US
+
+
+
+
+ '`~' for US
+
+
+
+
+ '[{' for US
+
+
+
+
+ '\|' for US
+
+
+
+
+ ']}' for US
+
+
+
+
+ ''"' for US
+
+
+
+
+
+
+
+
+
+ 'AX' key on Japanese AX kbd
+
+
+
+
+ "<>" or "\|" on RT 102-key kbd.
+
+
+
+
+ Help key on ICO
+
+
+
+
+ 00 key on ICO
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Contains information about an individual font in a font resource group.
+
+
+
+
+ Specifies a user-defined version number for the resource data that tools can
+ use to read and write resource files.
+
+
+
+
+ Specifies the size of the file, in bytes.
+
+
+
+
+ Contains a 60-character string with the font supplier's copyright information.
+
+
+
+
+ Specifies the type of font file.
+
+
+
+
+ Specifies the point size at which this character set looks best.
+
+
+
+
+ Specifies the vertical resolution, in dots per inch, at which this character set was digitized.
+
+
+
+
+ Specifies the horizontal resolution, in dots per inch, at which this character set was digitized.
+
+
+
+
+ Specifies the distance from the top of a character definition cell to the baseline of the
+ typographical font.
+
+
+
+
+ Specifies the amount of leading inside the bounds set by the dfPixHeight member. Accent marks and
+ other diacritical characters can occur in this area.
+
+
+
+
+ Specifies the amount of extra leading that the application adds between rows.
+
+
+
+
+ Specifies an italic font if not equal to zero.
+
+
+
+
+ Specifies an underlined font if not equal to zero.
+
+
+
+
+ Specifies a strikeout font if not equal to zero.
+
+
+
+
+ Specifies the weight of the font in the range 0 through 1000. For example, 400 is roman and
+ 700 is bold. If this value is zero, a default weight is used.
+
+
+
+
+ Specifies the character set of the font.
+
+
+
+
+ Specifies the width of the grid on which a vector font was digitized. For raster fonts,
+ if the member is not equal to zero, it represents the width for all the characters in the
+ bitmap. If the member is equal to zero, the font has variable-width characters.
+
+
+
+
+ Specifies the height of the character bitmap for raster fonts or the height of the grid
+ on which a vector font was digitized.
+
+
+
+
+ Specifies the pitch and the family of the font.
+
+
+
+
+ Specifies the average width of characters in the font (generally defined as the width of
+ the letter x). This value does not include the overhang required for bold or italic characters.
+
+
+
+
+ Specifies the width of the widest character in the font.
+
+
+
+
+ Specifies the first character code defined in the font.
+
+
+
+
+ Specifies the last character code defined in the font.
+
+
+
+
+ Specifies the character to substitute for characters not in the font.
+
+
+
+
+ Specifies the character that will be used to define word breaks for text justification.
+
+
+
+
+ Specifies the number of bytes in each row of the bitmap. This value is always even so
+ that the rows start on word boundaries. For vector fonts, this member has no meaning.
+
+
+
+
+ Specifies the offset in the file to a null-terminated string that specifies a device name.
+ For a generic font, this value is zero.
+
+
+
+
+ Specifies the offset in the file to a null-terminated string that names the typeface.
+
+
+
+
+ This member is reserved.
+
+
+
+
+ This structure depicts the organization of data in a file-version resource.
+ It contains version information not dependent on a particular language and code page combination.
+ http://msdn.microsoft.com/en-us/library/aa909193.aspx
+
+
+
+
+ A hardware independent dictionary of language and code page identifier tables.
+
+
+
+
+ A new hardware independent dictionary of language and code page identifier tables.
+
+
+
+
+ An existing hardware independent dictionary of language and code page identifier tables.
+
+ Pointer to the beginning of data.
+
+
+
+ Read a hardware independent dictionary of language and code page identifier tables.
+
+ Pointer to the beginning of data.
+ Pointer to the end of data.
+
+
+
+ Write the hardware independent dictionary of language and code page identifier tables to a binary stream.
+
+ Binary stream.
+
+
+
+ The default language and code page identifier table.
+
+
+
+
+ Returns a language and code page identifier table.
+
+ Language ID.
+ A language and code page identifier table.
+
+
+
+ String representation of VarFileInfo.
+
+ Indent.
+ String in the VarFileInfo format.
+
+
+
+ This structure depicts the organization of data in a file-version resource. It typically contains a
+ list of language and code page identifier pairs that the version of the application or DLL supports.
+ http://msdn.microsoft.com/en-us/library/bb202818.aspx
+
+
+
+
+ A dictionary of language and code page identifier pairs.
+
+
+
+
+ A new table of language and code page identifier pairs.
+
+
+
+
+ A new table of language and code page identifier pairs.
+
+ Table key.
+
+
+
+ An existing table of language and code page identifier pairs.
+
+ Pointer to the beginning of the data.
+
+
+
+ Read a table of language and code page identifier pairs.
+
+ Pointer to the beginning of the data.
+
+
+
+
+ Write the table of language and code page identifier pairs to a binary stream.
+
+ Binary stream.
+ Last unpadded position.
+
+
+
+ Returns a code page identifier for a given language.
+
+ Language ID.
+ Code page identifier.
+
+
+
+ String representation of the var table.
+
+ Indent.
+ String representation of the var table.
+
+
+
+ VS_VERSIONINFO
+ This structure depicts the organization of data in a file-version resource. It is the root structure
+ that contains all other file-version information structures.
+ http://msdn.microsoft.com/en-us/library/aa914916.aspx
+
+
+
+
+ The resource header.
+
+
+
+
+ A dictionary of resource tables.
+
+
+
+
+ An existing version resource.
+
+ Module handle.
+ Resource ID.
+ Resource type.
+ Resource name.
+ Language ID.
+ Resource size.
+
+
+
+ A new language-netural version resource.
+
+
+
+
+ Read a version resource from a previously loaded module.
+
+ Module handle.
+ Pointer to the beginning of the resource.
+ Pointer to the end of the resource.
+
+
+
+ String representation of the file version.
+
+
+
+
+ Gets or sets a bitmask that specifies the Boolean attributes of the file.
+
+
+
+
+ String representation of the protect version.
+
+
+
+
+ Write this version resource to a binary stream.
+
+ Binary stream.
+
+
+
+ Returns an entry within this resource table.
+
+ Entry key.
+ A resource table.
+
+
+
+ Returns an entry within this resource table.
+
+ Entry index.
+ A resource table.
+
+
+
+ Return string representation of the version resource.
+
+
+
+
+
+ winver.h, version management functions, types and definitions
+
+
+
+
+ VS_VERSION signature.
+
+
+
+
+ VS_VERSION structure version.
+
+
+
+
+ VS_VERSION file flags mask.
+
+
+
+
+ VS_VERSION file flags.
+
+
+
+
+ The file contains debugging information.
+
+
+
+
+ The file is a prerelease development version, not a final commercial release.
+
+
+
+
+ PThe file has been modified somehow and is not identical to the original file
+ that shipped with the product.
+
+
+
+
+ The file was not built using standard release procedures. There should be data
+ in the file's "PrivateBuild" version information string.
+
+
+
+
+ The version information in this structure was not found inside the file,
+ but instead was created when needed based on the best information available.
+ Therefore, this structure's information may differ slightly from what the "real"
+ values are.
+
+
+
+
+ The file was built using standard release procedures, but is somehow different
+ from the normal file having the same version number. There should be data in the
+ file's "SpecialBuild" version information string.
+
+
+
+
+ VS_VERSION file OSs.
+
+
+
+
+ The operating system under which the file was designed to run could not be determined.
+
+
+
+
+ The file was designed to run under MS-DOS.
+
+
+
+
+ The file was designed to run under a 16-bit version of OS/2.
+
+
+
+
+ The file was designed to run under a 32-bit version of OS/2.
+
+
+
+
+ The file was designed to run under Windows NT/2000.
+
+
+
+
+
+
+
+
+
+ The file was designed to run under the 16-bit Windows API.
+
+
+
+
+ The file was designed to be run under a 16-bit version of Presentation Manager.
+
+
+
+
+ The file was designed to be run under a 32-bit version of Presentation Manager.
+
+
+
+
+ The file was designed to run under the 32-bit Windows API.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ VS_VERSION file types.
+
+
+
+
+ The type of file could not be determined.
+
+
+
+
+ The file is an application.
+
+
+
+
+ The file is a Dynamic Link Library (DLL).
+
+
+
+
+ The file is a device driver. dwFileSubtype contains more information.
+
+
+
+
+ The file is a font. dwFileSubtype contains more information.
+
+
+
+
+ The file is a virtual device.
+
+
+
+
+ The file is a static link library.
+
+
+
+
+ File sub-type.
+
+
+
+
+ The type of driver could not be determined.
+
+
+
+
+ The file is a printer driver.
+
+
+
+
+ The file is a keyboard driver.
+
+
+
+
+ The file is a language driver.
+
+
+
+
+ The file is a display driver.
+
+
+
+
+ The file is a mouse driver.
+
+
+
+
+ The file is a network driver.
+
+
+
+
+ The file is a system driver.
+
+
+
+
+ The file is an installable driver.
+
+
+
+
+ The file is a sound driver.
+
+
+
+
+ The file is a communications driver.
+
+
+
+
+ The file is an input method driver.
+
+
+
+
+ The file is a versioned printer driver.
+
+
+
+
+ The file is a raster font.
+
+
+
+
+ The file is a vector font.
+
+
+
+
+ The file is a TrueType font.
+
+
+
+
diff --git a/dnlib.dll b/dnlib.dll
new file mode 100644
index 0000000..11ba648
Binary files /dev/null and b/dnlib.dll differ
diff --git a/dnlib.xml b/dnlib.xml
new file mode 100644
index 0000000..344165d
--- /dev/null
+++ b/dnlib.xml
@@ -0,0 +1,39485 @@
+
+
+
+ dnlib
+
+
+
+
+ Returns types without getting stuck in an infinite loop
+
+
+
+
+ Gets a list of all types and nested types
+
+ A list of types
+
+
+
+ Assembly flags from Assembly.Flags column.
+
+ See CorHdr.h/CorAssemblyFlags
+
+
+ No flags set
+
+
+ The assembly ref holds the full (unhashed) public key.
+
+
+ Processor Architecture unspecified
+
+
+ Processor Architecture: neutral (PE32)
+
+
+ Processor Architecture: x86 (PE32)
+
+
+ Processor Architecture: Itanium (PE32+)
+
+
+ Processor Architecture: AMD X64 (PE32+)
+
+
+ Processor Architecture: ARM (PE32)
+
+
+ Processor Architecture: ARM64 (PE32+)
+
+
+ applies to any platform but cannot run on any (e.g. reference assembly), should not have "specified" set
+
+
+ Propagate PA flags to AssemblyRef record
+
+
+ Bits describing the processor architecture
+
+
+ Bits describing the PA incl. Specified
+
+
+ NOT A FLAG, shift count in PA flags <--> index conversion
+
+
+ From "DebuggableAttribute".
+
+
+ From "DebuggableAttribute".
+
+
+ The assembly can be retargeted (at runtime) to an assembly from a different publisher.
+
+
+
+
+
+
+
+
+ Bits describing ContentType
+
+
+
+ A high-level representation of a row in the Assembly table
+
+
+
+
+ The row id in its table
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ From column Assembly.HashAlgId
+
+
+
+
+
+
+
+ From columns Assembly.MajorVersion, Assembly.MinorVersion, Assembly.BuildNumber,
+ Assembly.RevisionNumber.
+
+ If is null
+
+
+
+
+
+
+ From column Assembly.Flags
+
+
+
+ Attributes
+
+
+
+ From column Assembly.PublicKey
+
+ An empty is created if the caller writes null
+
+
+
+
+
+
+ Gets the public key token which is calculated from
+
+
+
+
+ From column Assembly.Name
+
+
+
+ Name
+
+
+
+ From column Assembly.Locale
+
+
+
+ Name
+
+
+
+
+
+
+
+
+ Initializes
+
+
+
+
+
+
+
+
+
+
+
+
+ Gets all modules. The first module is always the .
+
+
+
+
+
+
+ Initializes
+
+
+
+ Gets all custom attributes
+
+
+
+
+
+
+ Initializes
+
+
+
+
+
+
+
+
+
+
+
+
+ Gets all custom debug infos
+
+
+
+
+
+
+ Initializes
+
+
+
+
+
+
+ true if is not empty
+
+
+
+
+ Gets the manifest (main) module. This is always the first module in .
+ null is returned if is empty.
+
+
+
+
+ Modify property: =
+ ( & ) | .
+
+ Value to AND
+ Value to OR
+
+
+
+ Set or clear flags in
+
+ true if flags should be set, false if flags should
+ be cleared
+ Flags to set or clear
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the processor architecture
+
+
+
+
+ Gets/sets the processor architecture
+
+
+
+
+ true if unspecified processor architecture
+
+
+
+
+ true if neutral (PE32) architecture
+
+
+
+
+ true if x86 (PE32) architecture
+
+
+
+
+ true if IA-64 (PE32+) architecture
+
+
+
+
+ true if x64 (PE32+) architecture
+
+
+
+
+ true if ARM (PE32) architecture
+
+
+
+
+ true if eg. reference assembly (not runnable)
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the content type
+
+
+
+
+ true if content type is Default
+
+
+
+
+ true if content type is WindowsRuntime
+
+
+
+
+ Finds a module in this assembly
+
+ Name of module
+ A instance or null if it wasn't found.
+
+
+
+ Creates an instance from a file
+
+ File name of an existing .NET assembly
+ Module context or null
+ A new instance
+ If is null
+ If it's not a .NET assembly (eg. not a .NET file or only a .NET module)
+
+
+
+ Creates an instance from a file
+
+ File name of an existing .NET assembly
+ Module creation options or null
+ A new instance
+ If is null
+ If it's not a .NET assembly (eg. not a .NET file or only a .NET module)
+
+
+
+ Creates an instance from a byte[]
+
+ Contents of a .NET assembly
+ Module context or null
+ A new instance
+ If is null
+ If it's not a .NET assembly (eg. not a .NET file or only a .NET module)
+
+
+
+ Creates an instance from a byte[]
+
+ Contents of a .NET assembly
+ Module creation options or null
+ A new instance
+ If is null
+ If it's not a .NET assembly (eg. not a .NET file or only a .NET module)
+
+
+
+ Creates an instance from a memory location
+
+ Address of a .NET assembly
+ Module context or null
+ A new instance
+ If is null
+ If it's not a .NET assembly (eg. not a .NET file or only a .NET module)
+
+
+
+ Creates an instance from a memory location
+
+ Address of a .NET assembly
+ Module creation options or null
+ A new instance
+ If is null
+ If it's not a .NET assembly (eg. not a .NET file or only a .NET module)
+
+
+
+ Creates an instance from a stream
+
+ This will read all bytes from the stream and call .
+ It's better to use one of the other Load() methods.
+ The stream
+ Module context or null
+ A new instance
+ If is null
+ If it's not a .NET assembly (eg. not a .NET file or only a .NET module)
+
+
+
+ Creates an instance from a stream
+
+ This will read all bytes from the stream and call .
+ It's better to use one of the other Load() methods.
+ The stream
+ Module creation options or null
+ A new instance
+ If is null
+ If it's not a .NET assembly (eg. not a .NET file or only a .NET module)
+
+
+
+ Gets the assembly name with the public key
+
+
+
+
+ Gets the assembly name with the public key token
+
+
+
+
+ Finds a . For speed, enable
+ if possible (read the documentation first).
+
+ Full name of the type (no assembly information)
+ true if it's a reflection name, and nested
+ type names are separated by a + character. If false, nested type names
+ are separated by a / character.
+ An existing or null if it wasn't found.
+
+
+
+ Finds a . Its scope (i.e., module or assembly) is ignored when
+ looking up the type. For speed, enable
+ if possible (read the documentation first).
+
+ The type ref
+ An existing or null if it wasn't found.
+
+
+
+ Writes the assembly to a file on disk. If the file exists, it will be truncated.
+
+ Filename
+ Writer options
+
+
+
+ Writes the assembly to a stream.
+
+ Destination stream
+ Writer options
+
+
+
+ Checks whether this assembly is a friend assembly of
+
+ Target assembly
+
+
+
+ Adds or updates an existing System.Reflection.AssemblySignatureKeyAttribute
+ attribute. This attribute is used in enhanced strong naming with key migration.
+ See http://msdn.microsoft.com/en-us/library/hh415055.aspx
+
+ Identity public key
+ Identity strong name key pair
+ Signature public key
+
+
+
+ Gets the original System.Runtime.Versioning.TargetFrameworkAttribute custom attribute information if possible.
+ It reads this from the original metadata and doesn't use .
+ Returns false if the custom attribute isn't present or if it is invalid.
+
+ Framework name
+ Version
+ Profile
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ An Assembly row created by the user and not present in the original .NET file
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ Simple name
+ If any of the args is invalid
+
+
+
+ Constructor
+
+ Simple name
+ Version
+ If any of the args is invalid
+
+
+
+ Constructor
+
+ Simple name
+ Version
+ Public key
+ If any of the args is invalid
+
+
+
+ Constructor
+
+ Simple name
+ Version
+ Public key
+ Locale
+ If any of the args is invalid
+
+
+
+ Constructor
+
+ Assembly name info
+ If is null
+
+
+
+ Constructor
+
+ Assembly name info
+ If is null
+
+
+
+ Created from a row in the Assembly table
+
+
+
+ The module where this instance is located
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor
+
+ The module which contains this Assembly row
+ Row ID
+ If is null
+ If is invalid
+
+
+
+ Hashes some data according to a
+
+
+
+
+ Constructor
+
+ If is an unsupported hash algorithm, then
+ will be used as the hash algorithm.
+ The algorithm to use
+
+
+
+
+
+
+ Hash data
+
+ If is an unsupported hash algorithm, then
+ will be used as the hash algorithm.
+ The data
+ The algorithm to use
+ Hashed data or null if was null
+
+
+
+ Hash data
+
+ Data
+
+
+
+ Hash data
+
+ Data
+ Offset
+ Length
+
+
+
+ Hash stream data
+
+ Stream
+ Number of bytes to hash
+ Temp buffer
+
+
+
+ Computes the hash
+
+
+
+
+ Creates a public key token from the hash of some
+
+ A public key is hashed, and the last 8 bytes of the hash, in reverse
+ order, is used as the public key token
+ The data
+ A new instance
+
+
+
+ Any ALG_CLASS_HASH type in WinCrypt.h can be used by Microsoft's CLI implementation
+
+
+
+
+
+
+
+
+
+
+
+
+ This is a reserved value in the CLI
+
+
+ The only algorithm supported by the CLI
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Extension methods
+
+
+
+
+ Gets the field type
+
+ this
+ Field type or null if none
+
+
+
+ Gets the return type
+
+ this
+ Return type or null if none
+
+
+
+ Gets the parameters
+
+ this
+ The parameters
+
+
+
+ Gets the parameter count
+
+ this
+ Parameter count
+
+
+
+ Gets the generic parameter count
+
+ this
+ Generic parameter count
+
+
+
+ Gets the parameters after the sentinel
+
+ this
+ Parameters after sentinel or null if none
+
+
+
+ Gets the locals
+
+ this
+ All locals
+
+
+
+ Gets the generic arguments
+
+ this
+ All generic arguments
+
+
+
+ Gets the property
+
+ this
+ The type's property or
+ false if input isnull
+
+
+
+ Returns true if it's an integer or a floating point type
+
+ Element type
+
+
+
+
+ Returns the size of the element type in bytes or -1 if it's unknown
+
+ Element type
+ Size of a pointer
+
+
+
+
+ Checks whether it's a value type
+
+ this
+ true if it's a value type, false if it's not a value type or
+ if we couldn't determine whether it's a value type. Eg., it could be a generic
+ instance type.
+
+
+
+ Finds and returns an
+
+ this
+ The assembly to find
+ The module that needs to resolve an assembly or null
+ An instance owned by the assembly resolver or
+ null if the assembly couldn't be found.
+
+
+
+ Finds and returns an
+
+ this
+ The assembly to find
+ The module that needs to resolve an assembly or null
+ An instance owned by the assembly resolver or
+ null if the assembly couldn't be found.
+
+
+
+ Finds and returns an
+
+ this
+ The assembly to find
+ The module that needs to resolve an assembly or null
+ An instance owned by the assembly resolver
+ If the assembly couldn't be found.
+
+
+
+ Finds and returns an
+
+ this
+ The assembly to find
+ The module that needs to resolve an assembly or null
+ An instance owned by the assembly resolver
+ If the assembly couldn't be found.
+
+
+
+ Finds and returns an
+
+ this
+ The assembly to find
+ The module that needs to resolve an assembly or null
+ An instance owned by the assembly resolver
+ If the assembly couldn't be found.
+
+
+
+ Checks whether appears to be the core library (eg.
+ mscorlib, System.Runtime or corefx).
+
+ If is a reference to a private corlib (eg. System.Private.CoreLib),
+ this method returns false unless is an
+ whose manifest (first) module defines System.Object. This check is performed in
+ the constructor and the result can be found in .
+
+ Note that this method also returns true if it appears to be a 'public' corlib,
+ eg. mscorlib, etc, even if it internally possibly references a private corlib.
+
+ The assembly
+
+
+
+ Converts to a instance
+
+ The assembly
+ A new instance
+
+
+
+ Converts to a
+
+ The type
+ true if we should try to resolve in order to figure out whether
+ is a
+ A instance or null if
+ is invalid
+
+
+
+ Returns a
+
+ The type
+ A or null if it's not a
+
+
+
+
+ Returns a
+
+ The type
+ A or null if it's not a
+
+
+
+
+ Returns a
+
+ The type
+ A or null if it's not a
+
+
+
+
+ Returns a
+
+ The type
+ A or null if it's not a
+
+
+
+
+ Returns a
+
+ The type
+ A or null if it's not a
+
+
+
+
+ Returns a
+
+ The type
+ A or null if it's not a
+
+
+
+
+ Returns a
+
+ The type
+ A or null if it's not a
+
+
+
+
+ Returns a
+
+ The type
+ A or null if it's not a
+
+
+
+
+ Returns a
+
+ The type
+ A or null if it's not a
+
+
+
+
+ Returns a
+
+ The type
+ A or null if it's not a
+
+
+
+
+ Returns a
+
+ The type
+ A or null if it's not a
+
+
+
+
+ Returns a
+
+ The type
+ A or null if it's not a
+
+
+
+
+ Returns the base type of . Throws if we can't resolve
+ a .
+
+ The type
+ The base type or null if there's no base type
+
+
+
+ Returns the base type of
+
+ The type
+ true if we should throw if we can't
+ resolve a . false if we should ignore the error and
+ just return null.
+ The base type or null if there's no base type, or if
+ is true and we couldn't resolve
+ a
+
+
+
+ Gets the scope type, resolves it, and returns the
+
+ Type
+ A or null if input was null or if we
+ couldn't resolve the reference.
+
+
+
+ Gets the scope type, resolves it, and returns the
+
+ Type
+ A instance.
+ If the type couldn't be resolved
+
+
+
+ Resolves an to a . Returns null if it
+ was not possible to resolve it. See also
+
+ Field to resolve
+ The or null if is
+ null or if it wasn't possible to resolve it (the field doesn't exist or its
+ assembly couldn't be loaded)
+
+
+
+ Resolves an to a and throws an exception if
+ it was not possible to resolve it. See also
+
+ Field to resolve
+ The
+
+
+
+ Resolves an to a . Returns null if it
+ was not possible to resolve it. See also . If
+ is a , then the
+ property is resolved and returned.
+
+ Method to resolve
+ The or null if is
+ null or if it wasn't possible to resolve it (the method doesn't exist or its
+ assembly couldn't be loaded)
+
+
+
+ Resolves an to a and throws an exception
+ if it was not possible to resolve it. See also . If
+ is a , then the
+ property is resolved and returned.
+
+ Method to resolve
+ The
+
+
+
+ Returns the definition assembly of a
+
+ Member reference
+
+
+
+
+ Gets the normal visible parameters, doesn't include the hidden 'this' parameter
+
+ this
+ The normal visible parameters
+
+
+
+ Gets the normal visible parameter count, doesn't include the hidden 'this' parameter
+
+ this
+ Normal visible parameter count
+
+
+
+ Checks whether any normal visible parameter exists, doesn't include the hidden 'this' parameter
+
+ this
+ true if there's at least one normal visible parameter
+
+
+
+ Gets a normal visible parameter, doesn't include the hidden 'this' parameter
+
+ this
+ Normal visible parameter index
+
+
+
+
+ Converts a to a
+
+ The sig
+
+
+
+ Returns true if it's an integer or a floating point type
+
+ Type
+
+
+
+
+ Gets a if matches a primitive type.
+
+ this
+ The type
+ A or null if it didn't match any primitive type
+
+
+
+ Gets a if and
+ matches a primitive type.
+
+ this
+ Namespace
+ Name
+ Definition assembly
+ A or null if it didn't match any primitive type
+
+
+
+ Gets a if and
+ matches a primitive type.
+
+ this
+ Namespace
+ Name
+ Definition assembly
+ A or null if it didn't match any primitive type
+
+
+
+ Log an error message
+
+ this
+ Sender or null
+ Message
+
+
+
+ Log an error message
+
+ this
+ Sender or null
+ Message
+ Message arg #1
+
+
+
+ Log an error message
+
+ this
+ Sender or null
+ Message
+ Message arg #1
+ Message arg #2
+
+
+
+ Log an error message
+
+ this
+ Sender or null
+ Message
+ Message arg #1
+ Message arg #2
+ Message arg #3
+
+
+
+ Log an error message
+
+ this
+ Sender or null
+ Message
+ Message arg #1
+ Message arg #2
+ Message arg #3
+ Message arg #4
+
+
+
+ Log an error message
+
+ this
+ Sender or null
+ Message
+ Message arguments
+
+
+
+ Log a warning message
+
+ this
+ Sender or null
+ Message
+
+
+
+ Log a warning message
+
+ this
+ Sender or null
+ Message
+ Message arg #1
+
+
+
+ Log a warning message
+
+ this
+ Sender or null
+ Message
+ Message arg #1
+ Message arg #2
+
+
+
+ Log a warning message
+
+ this
+ Sender or null
+ Message
+ Message arg #1
+ Message arg #2
+ Message arg #3
+
+
+
+ Log a warning message
+
+ this
+ Sender or null
+ Message
+ Message arg #1
+ Message arg #2
+ Message arg #3
+ Message arg #4
+
+
+
+ Log a warning message
+
+ this
+ Sender or null
+ Message
+ Message arguments
+
+
+
+ Log an info message
+
+ this
+ Sender or null
+ Message
+
+
+
+ Log an info message
+
+ this
+ Sender or null
+ Message
+ Message arg #1
+
+
+
+ Log an info message
+
+ this
+ Sender or null
+ Message
+ Message arg #1
+ Message arg #2
+
+
+
+ Log an info message
+
+ this
+ Sender or null
+ Message
+ Message arg #1
+ Message arg #2
+ Message arg #3
+
+
+
+ Log an info message
+
+ this
+ Sender or null
+ Message
+ Message arg #1
+ Message arg #2
+ Message arg #3
+ Message arg #4
+
+
+
+ Log an info message
+
+ this
+ Sender or null
+ Message
+ Message arguments
+
+
+
+ Log a verbose message
+
+ this
+ Sender or null
+ Message
+
+
+
+ Log a verbose message
+
+ this
+ Sender or null
+ Message
+ Message arg #1
+
+
+
+ Log a verbose message
+
+ this
+ Sender or null
+ Message
+ Message arg #1
+ Message arg #2
+
+
+
+ Log a verbose message
+
+ this
+ Sender or null
+ Message
+ Message arg #1
+ Message arg #2
+ Message arg #3
+
+
+
+ Log a verbose message
+
+ this
+ Sender or null
+ Message
+ Message arg #1
+ Message arg #2
+ Message arg #3
+ Message arg #4
+
+
+
+ Log a verbose message
+
+ this
+ Sender or null
+ Message
+ Message arguments
+
+
+
+ Log a very verbose message
+
+ this
+ Sender or null
+ Message
+
+
+
+ Log a very verbose message
+
+ this
+ Sender or null
+ Message
+ Message arg #1
+
+
+
+ Log a very verbose message
+
+ this
+ Sender or null
+ Message
+ Message arg #1
+ Message arg #2
+
+
+
+ Log a very verbose message
+
+ this
+ Sender or null
+ Message
+ Message arg #1
+ Message arg #2
+ Message arg #3
+
+
+
+ Log a very verbose message
+
+ this
+ Sender or null
+ Message
+ Message arg #1
+ Message arg #2
+ Message arg #3
+ Message arg #4
+
+
+
+ Log a very verbose message
+
+ this
+ Sender or null
+ Message
+ Message arguments
+
+
+
+ Resolves a type
+
+ this
+ The type
+ A instance or null if it couldn't be resolved
+
+
+
+ Resolves a type
+
+ this
+ The type
+ A instance
+ If the type couldn't be resolved
+
+
+
+ Resolves a type
+
+ this
+ The type
+ The module that needs to resolve the type or null
+ A instance
+ If the type couldn't be resolved
+
+
+
+ Resolves a method or a field
+
+ this
+ A method/field reference
+ A or a instance
+ If the method/field couldn't be resolved
+
+
+
+ Resolves a field
+
+ this
+ A field reference
+ A instance or null if it couldn't be resolved.
+
+
+
+ Resolves a field
+
+ this
+ A field reference
+ A instance or null if it couldn't be resolved.
+ If the field couldn't be resolved
+
+
+
+ Resolves a method
+
+ this
+ A method reference
+ A instance or null if it couldn't be resolved.
+
+
+
+ Resolves a method
+
+ this
+ A method reference
+ A instance or null if it couldn't be resolved.
+ If the method couldn't be resolved
+
+
+
+ Resolves a token
+
+ This
+ The metadata token
+ A or null if is invalid
+
+
+
+ Returns , but if it's a nested ,
+ return the non-nested
+
+ this
+ The scope type
+
+
+
+ Finds a . Its scope (i.e., module or assembly) is ignored when
+ looking up the type.
+
+ this
+ The type ref
+ An existing or null if it wasn't found.
+ If type couldn't be found
+
+
+
+ Finds a
+
+ this
+ Full name of the type (no assembly information)
+ true if it's a reflection name, and nested
+ type names are separated by a + character. If false, nested type names
+ are separated by a / character.
+ An existing
+ If type couldn't be found
+
+
+
+ Finds a
+
+ this
+ Full name of the type (no assembly information). Nested types are separated by /
+ An existing or null if it wasn't found.
+
+
+
+ Finds a
+
+ this
+ Full name of the type (no assembly information). Nested types are separated by /
+ An existing
+ If type couldn't be found
+
+
+
+ Finds a
+
+ this
+ Full name of the type (no assembly information). Nested types are separated by +
+ An existing or null if it wasn't found.
+
+
+
+ Finds a
+
+ this
+ Full name of the type (no assembly information). Nested types are separated by +
+ An existing
+ If type couldn't be found
+
+
+
+ Checks whether a exists. 's scope (i.e.,
+ module or assembly) is ignored when looking up the type.
+
+ this
+ The type ref
+ true if the exists, false otherwise
+
+
+
+ Checks whether a exists
+
+ this
+ Full name of the type (no assembly information)
+ true if it's a reflection name, and nested
+ type names are separated by a + character. If false, nested type names
+ are separated by a / character.
+ true if the exists, false otherwise
+
+
+
+ Checks whether a exists
+
+ this
+ Full name of the type (no assembly information). Nested types are separated by /
+ true if the exists, false otherwise
+
+
+
+ Checks whether a exists
+
+ this
+ Full name of the type (no assembly information). Nested types are separated by +
+ true if the exists, false otherwise
+
+
+
+ Removes all C optional/required modifiers
+
+ A instance
+ Input after all modifiers
+
+
+
+ Removes pinned signature
+
+ The type
+ Input after pinned signature
+
+
+
+ Removes all modifiers and pinned sig
+
+ The type
+ Inputer after modifiers and pinned signature
+
+
+
+ Returns a
+
+ The type
+ A or null if it's not a
+
+
+
+
+ Returns a
+
+ The type
+ A or null if it's not a
+
+
+
+
+ Returns a
+
+ The type
+ A or null if it's not a
+
+
+
+
+ Returns a
+
+ The type
+ A or null if it's not a
+
+
+
+
+ Returns a
+
+ The type
+ A or null if it's not a
+
+
+
+
+ Returns a
+
+ The type
+ A or null if it's not a
+
+
+
+
+ Returns a
+
+ The type
+ A or null if it's not a
+
+
+
+
+ Returns a
+
+ The type
+ A or null if it's not a
+
+
+
+
+ Returns a
+
+ The type
+ A or null if it's not a
+
+
+
+
+ Returns a
+
+ The type
+ A or null if it's not a
+
+
+
+
+ Returns a
+
+ The type
+ A or null if it's not a
+
+
+
+
+ Returns a
+
+ The type
+ A or null if it's not a
+
+
+
+
+ Gets the next field or null
+
+ this
+
+
+
+
+ Gets the value or false if
+ is null
+
+ this
+
+
+
+
+ Gets the value or false if
+ is null
+
+ this
+
+
+
+
+ Gets the element type
+
+ this
+ The element type
+
+
+
+ Gets the full name of the type
+
+ this
+ Full name of the type
+
+
+
+ Gets the name of the type
+
+ this
+ Name of the type
+
+
+
+ Gets the namespace of the type
+
+ this
+ Namespace of the type
+
+
+
+ Returns the if it is a .
+
+ this
+ A or null if none found
+
+
+
+ Returns the if it is a .
+
+ this
+ A or null if none found
+
+
+
+ Returns the if it is a .
+ Nothing is resolved.
+
+ this
+ A or null if none found
+
+
+
+ Returns the if it is a .
+
+ this
+ A or null if none found
+
+
+
+ Flags used by
+
+
+
+
+ Compare assembly simple name
+
+
+
+
+ Compare assembly version
+
+
+
+
+ Compare assembly public key token
+
+
+
+
+ Compare assembly culture
+
+
+
+
+ Compare content type
+
+
+
+
+ Compare assembly simple name, version, public key token, locale and content type
+
+
+
+
+ Compares two assembly names
+
+
+
+
+ Compares the name, version, public key token, culture and content type
+
+
+
+
+ Compares only the name and the public key token
+
+
+
+
+ Compares only the name
+
+
+
+
+ Gets the bit
+
+
+
+
+ Gets the bit
+
+
+
+
+ Gets the bit
+
+
+
+
+ Gets the bit
+
+
+
+
+ Gets the bit
+
+
+
+
+ Constructor
+
+ Comparison flags
+
+
+
+ Compares two assembly names
+
+ First
+ Second
+ < 0 if a < b, 0 if a == b, > 0 if a > b
+
+
+
+ Compares two assembly names
+
+ First
+ Second
+ true if equal, false otherwise
+
+
+
+ Figures out which of two assembly names is closer to another assembly name
+
+ Requested assembly name
+ First
+ Second
+ -1 if both are equally close, 0 if is closest, 1 if
+ is closest
+
+
+
+ Gets the hash code of an assembly name
+
+ Assembly name
+ The hash code
+
+
+
+ Stores assembly name information
+
+
+
+
+ Gets/sets the
+
+
+
+
+ Gets/sets the or null if none specified
+
+
+
+
+ Gets/sets the
+
+
+
+
+ Gets/sets the public key or token
+
+
+
+
+ Gets/sets the name
+
+
+
+
+ Gets/sets the culture or null if none specified
+
+
+
+
+ Gets the full name of the assembly
+
+
+
+
+ Gets the full name of the assembly but use a public key token
+
+
+
+
+ Modify property: =
+ ( & ) | .
+
+ Value to AND
+ Value to OR
+
+
+
+ Set or clear flags in
+
+ true if flags should be set, false if flags should
+ be cleared
+ Flags to set or clear
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the processor architecture
+
+
+
+
+ Gets/sets the processor architecture
+
+
+
+
+ true if unspecified processor architecture
+
+
+
+
+ true if neutral (PE32) architecture
+
+
+
+
+ true if x86 (PE32) architecture
+
+
+
+
+ true if IA-64 (PE32+) architecture
+
+
+
+
+ true if x64 (PE32+) architecture
+
+
+
+
+ true if ARM (PE32) architecture
+
+
+
+
+ true if eg. reference assembly (not runnable)
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the content type
+
+
+
+
+ true if content type is Default
+
+
+
+
+ true if content type is WindowsRuntime
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ An assembly name
+
+
+
+ Constructor
+
+ The assembly
+
+
+
+ Constructor
+
+ Assembly name info
+
+
+
+
+
+
+ A high-level representation of a row in the AssemblyRef table
+
+
+
+
+ An assembly ref that can be used to indicate that it references the current assembly
+ when the current assembly is not known (eg. a type string without any assembly info
+ when it references a type in the current assembly).
+
+
+
+
+ The row id in its table
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ From columns AssemblyRef.MajorVersion, AssemblyRef.MinorVersion,
+ AssemblyRef.BuildNumber, AssemblyRef.RevisionNumber
+
+ If is null
+
+
+
+
+
+
+ From column AssemblyRef.Flags
+
+
+
+ Attributes
+
+
+
+ From column AssemblyRef.PublicKeyOrToken
+
+ If is null
+
+
+
+
+
+
+ From column AssemblyRef.Name
+
+
+
+ Name
+
+
+
+ From column AssemblyRef.Locale
+
+
+
+ Culture
+
+
+
+ From column AssemblyRef.HashValue
+
+
+
+
+
+
+
+ Gets all custom attributes
+
+
+
+
+
+
+ Initializes
+
+
+
+
+
+
+
+
+
+
+
+
+ Gets all custom debug infos
+
+
+
+
+
+
+ Initializes
+
+
+
+
+
+
+ Same as , except that it uses the PublicKey if available.
+
+
+
+
+ Gets the full name of the assembly but use a public key token
+
+
+
+
+ Modify property: =
+ ( & ) | .
+
+ Value to AND
+ Value to OR
+
+
+
+ Set or clear flags in
+
+ true if flags should be set, false if flags should
+ be cleared
+ Flags to set or clear
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the processor architecture
+
+
+
+
+ Gets/sets the processor architecture
+
+
+
+
+ true if unspecified processor architecture
+
+
+
+
+ true if neutral (PE32) architecture
+
+
+
+
+ true if x86 (PE32) architecture
+
+
+
+
+ true if IA-64 (PE32+) architecture
+
+
+
+
+ true if x64 (PE32+) architecture
+
+
+
+
+ true if ARM (PE32) architecture
+
+
+
+
+ true if eg. reference assembly (not runnable)
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the content type
+
+
+
+
+ true if content type is Default
+
+
+
+
+ true if content type is WindowsRuntime
+
+
+
+
+
+
+
+ An AssemblyRef row created by the user and not present in the original .NET file
+
+
+
+
+ Creates a reference to CLR 1.0's mscorlib
+
+
+
+
+ Creates a reference to CLR 1.1's mscorlib
+
+
+
+
+ Creates a reference to CLR 2.0's mscorlib
+
+
+
+
+ Creates a reference to CLR 4.0's mscorlib
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ Simple name
+ If any of the args is invalid
+
+
+
+ Constructor
+
+ Simple name
+ Version
+ If any of the args is invalid
+
+
+
+ Constructor
+
+ Simple name
+ Version
+ Public key or public key token
+ If any of the args is invalid
+
+
+
+ Constructor
+
+ Simple name
+ Version
+ Public key or public key token
+ Locale
+ If any of the args is invalid
+
+
+
+ Constructor
+
+ Assembly name info
+ If is null
+
+
+
+ Constructor
+
+ Assembly
+
+
+
+ Created from a row in the AssemblyRef table
+
+
+
+ The module where this instance is located
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor
+
+ The module which contains this AssemblyRef row
+ Row ID
+ If is null
+ If is invalid
+
+
+
+ Resolves assemblies
+
+
+
+
+ Gets/sets the default
+
+
+
+
+ true if should find an assembly that matches exactly.
+ false if it first tries to match exactly, and if that fails, it picks an
+ assembly that is closest to the requested assembly.
+
+
+
+
+ true if resolved .NET framework assemblies can be redirected to the source
+ module's framework assembly version. Eg. if a resolved .NET Framework 3.5 assembly can be
+ redirected to a .NET Framework 4.0 assembly if the source module is a .NET Framework 4.0 assembly. This is
+ ignored if is true.
+
+
+
+
+ If true, all modules in newly resolved assemblies will have their
+ property set to true. This is
+ enabled by default since these modules shouldn't be modified by the user.
+
+
+
+
+ true to search the Global Assembly Cache. Default value is true.
+
+
+
+
+ Gets paths searched before trying the standard locations
+
+
+
+
+ Gets paths searched after trying the standard locations
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ Module context for all resolved assemblies
+
+
+
+
+
+
+ Add a module's assembly to the assembly cache
+
+ The module whose assembly should be cached
+ true if 's assembly is cached, false
+ if it's not cached because some other assembly with the exact same full name has
+ already been cached or if or its assembly is null.
+
+
+
+ Add an assembly to the assembly cache
+
+ The assembly
+ true if is cached, false if it's not
+ cached because some other assembly with the exact same full name has already been
+ cached or if is null.
+
+
+
+ Removes a module's assembly from the cache
+
+ The module
+ true if its assembly was removed, false if it wasn't removed
+ since it wasn't in the cache, it has no assembly, or was
+ null
+
+
+
+ Removes the assembly from the cache
+
+ The assembly
+ true if it was removed, false if it wasn't removed since it
+ wasn't in the cache or if was null
+
+
+
+ Clears the cache and calls on each cached module.
+ Use to remove any assemblies you added yourself
+ using before calling this method if you don't want
+ them disposed.
+
+
+
+
+ Gets the cached assemblies in this resolver.
+
+ The cached assemblies.
+
+
+
+ Finds an assembly that exactly matches the requested assembly
+
+ Assembly to find
+ Search paths or null if none
+ Module context
+ An instance or null if an exact match
+ couldn't be found.
+
+
+
+ Finds the closest assembly from the already cached assemblies
+
+ Assembly to find
+ The closest or null if none found
+
+
+
+ Returns true if is inserted in
+
+ Assembly to check
+
+
+
+ Called before
+
+ Assembly to find
+ The module that needs to resolve an assembly or null
+ We're trying to find an exact match
+ null or an enumerable of full paths to try
+
+
+
+ Called after (if it fails)
+
+ Assembly to find
+ The module that needs to resolve an assembly or null
+ We're trying to find an exact match
+ null or an enumerable of full paths to try
+
+
+
+ Called after (if it fails)
+
+ Assembly to find
+ The module that needs to resolve an assembly or null
+ We're trying to find an exact match
+ null or an enumerable of full paths to try
+
+
+
+ Gets all search paths to use for this module
+
+ The module or null if unknown
+ A list of all search paths to use for this module
+
+
+
+ Gets all module search paths. This is usually empty unless its assembly has
+ a .config file specifying any additional private search paths in a
+ <probing/> element.
+
+ The module or null if unknown
+ A list of search paths
+
+
+
+ Gets all private assembly search paths as found in the module's .config file.
+
+ The module or null if unknown
+ A list of search paths
+
+
+
+ See CorHdr.h/CorCallingConvention
+
+
+
+ The managed calling convention
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Unmanaged calling convention encoded as modopts
+
+
+ generic method instantiation
+
+
+ used ONLY for 64bit vararg PInvoke calls
+
+
+ Calling convention is bottom 4 bits
+
+
+ Generic method
+
+
+ Method needs a 'this' parameter
+
+
+ 'this' parameter is the first arg if set (else it's hidden)
+
+
+ Used internally by the CLR
+
+
+
+ Base class for sigs with a calling convention
+
+
+
+
+ The calling convention
+
+
+
+
+ Gets/sets the extra data found after the signature
+
+
+
+
+ Returns true if is set
+
+
+
+
+ Returns true if is set
+
+
+
+
+ Returns true if is set
+
+
+
+
+ Returns true if is set
+
+
+
+
+ Returns true if is set
+
+
+
+
+ Returns true if is set
+
+
+
+
+ Returns true if is set
+
+
+
+
+ Returns true if is set
+
+
+
+
+ Returns true if is set
+
+
+
+
+ Returns true if is set
+
+
+
+
+ Returns true if is set
+
+
+
+
+ Returns true if is set
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ true if there's an implicit this parameter
+
+
+
+
+ true if this contains a
+ or a .
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ The calling convention
+
+
+
+ Gets the calling convention
+
+
+
+
+ A field signature
+
+
+
+
+ Gets/sets the field type
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ Field type
+
+
+
+ Constructor
+
+ Field type
+ The calling convention (must have Field set)
+
+
+
+ Clone this
+
+
+
+
+
+
+
+ Method sig base class
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Gets/sets the calling convention
+
+
+
+
+ Gets/sets the return type
+
+
+
+
+ Gets the parameters. This is never null
+
+
+
+
+ Gets/sets the generic param count
+
+
+
+
+ Gets the parameters that are present after the sentinel. Note that this is null
+ if there's no sentinel. It can still be empty even if it's not null.
+
+
+
+
+ A method signature
+
+
+
+
+ Gets/sets the original token. It's set when reading calli instruction operands
+ and it's a hint to the module writer if it tries to re-use the same token.
+
+
+
+
+ Creates a static MethodSig
+
+ Return type
+
+
+
+ Creates a static MethodSig
+
+ Return type
+ Arg type #1
+
+
+
+ Creates a static MethodSig
+
+ Return type
+ Arg type #1
+ Arg type #2
+
+
+
+ Creates a static MethodSig
+
+ Return type
+ Arg type #1
+ Arg type #2
+ Arg type #3
+
+
+
+ Creates a static MethodSig
+
+ Return type
+ Argument types
+
+
+
+ Creates an instance MethodSig
+
+ Return type
+
+
+
+ Creates an instance MethodSig
+
+ Return type
+ Arg type #1
+
+
+
+ Creates an instance MethodSig
+
+ Return type
+ Arg type #1
+ Arg type #2
+
+
+
+ Creates an instance MethodSig
+
+ Return type
+ Arg type #1
+ Arg type #2
+ Arg type #3
+
+
+
+ Creates an instance MethodSig
+
+ Return type
+ Argument types
+
+
+
+ Creates a static generic MethodSig
+
+ Number of generic parameters
+ Return type
+
+
+
+ Creates a static generic MethodSig
+
+ Number of generic parameters
+ Return type
+ Arg type #1
+
+
+
+ Creates a static generic MethodSig
+
+ Number of generic parameters
+ Return type
+ Arg type #1
+ Arg type #2
+
+
+
+ Creates a static generic MethodSig
+
+ Number of generic parameters
+ Return type
+ Arg type #1
+ Arg type #2
+ Arg type #3
+
+
+
+ Creates a static generic MethodSig
+
+ Number of generic parameters
+ Return type
+ Argument types
+
+
+
+ Creates an instance generic MethodSig
+
+ Number of generic parameters
+ Return type
+
+
+
+ Creates an instance generic MethodSig
+
+ Number of generic parameters
+ Return type
+ Arg type #1
+
+
+
+ Creates an instance generic MethodSig
+
+ Number of generic parameters
+ Return type
+ Arg type #1
+ Arg type #2
+
+
+
+ Creates an instance generic MethodSig
+
+ Number of generic parameters
+ Return type
+ Arg type #1
+ Arg type #2
+ Arg type #3
+
+
+
+ Creates an instance generic MethodSig
+
+ Number of generic parameters
+ Return type
+ Argument types
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ Calling convention
+
+
+
+ Constructor
+
+ Calling convention
+ Number of generic parameters
+
+
+
+ Constructor
+
+ Calling convention
+ Number of generic parameters
+ Return type
+
+
+
+ Constructor
+
+ Calling convention
+ Number of generic parameters
+ Return type
+ Arg type #1
+
+
+
+ Constructor
+
+ Calling convention
+ Number of generic parameters
+ Return type
+ Arg type #1
+ Arg type #2
+
+
+
+ Constructor
+
+ Calling convention
+ Number of generic parameters
+ Return type
+ Arg type #1
+ Arg type #2
+ Arg type #3
+
+
+
+ Constructor
+
+ Calling convention
+ Number of generic parameters
+ Return type
+ Argument types
+
+
+
+ Constructor
+
+ Calling convention
+ Number of generic parameters
+ Return type
+ Argument types
+
+
+
+ Constructor
+
+ Calling convention
+ Number of generic parameters
+ Return type
+ Argument types
+ Parameters after sentinel
+
+
+
+ Clone this
+
+
+
+
+
+
+
+ A property signature
+
+
+
+
+ Creates a static PropertySig
+
+ Return type
+
+
+
+ Creates a static PropertySig
+
+ Return type
+ Arg type #1
+
+
+
+ Creates a static PropertySig
+
+ Return type
+ Arg type #1
+ Arg type #2
+
+
+
+ Creates a static PropertySig
+
+ Return type
+ Arg type #1
+ Arg type #2
+ Arg type #3
+
+
+
+ Creates a static PropertySig
+
+ Return type
+ Argument types
+
+
+
+ Creates an instance PropertySig
+
+ Return type
+
+
+
+ Creates an instance PropertySig
+
+ Return type
+ Arg type #1
+
+
+
+ Creates an instance PropertySig
+
+ Return type
+ Arg type #1
+ Arg type #2
+
+
+
+ Creates an instance PropertySig
+
+ Return type
+ Arg type #1
+ Arg type #2
+ Arg type #3
+
+
+
+ Creates an instance PropertySig
+
+ Return type
+ Argument types
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ Calling convention (must have Property set)
+
+
+
+ Constructor
+
+ true if instance, false if static
+
+
+
+ Constructor
+
+ true if instance, false if static
+ Return type
+
+
+
+ Constructor
+
+ true if instance, false if static
+ Return type
+ Arg type #1
+
+
+
+ Constructor
+
+ true if instance, false if static
+ Return type
+ Arg type #1
+ Arg type #2
+
+
+
+ Constructor
+
+ true if instance, false if static
+ Return type
+ Arg type #1
+ Arg type #2
+ Arg type #3
+
+
+
+ Constructor
+
+ true if instance, false if static
+ Return type
+ Argument types
+
+
+
+ Constructor
+
+ Calling convention
+ Number of generic parameters
+ Return type
+ Argument types
+ Parameters after sentinel
+
+
+
+ Clone this
+
+
+
+
+
+
+
+ A local variables signature
+
+
+
+
+ All local types. This is never null.
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ Calling convention (must have LocalSig set)
+ Number of locals
+
+
+
+ Constructor
+
+ Local type #1
+
+
+
+ Constructor
+
+ Local type #1
+ Local type #2
+
+
+
+ Constructor
+
+ Local type #1
+ Local type #2
+ Local type #3
+
+
+
+ Constructor
+
+ All locals
+
+
+
+ Constructor
+
+ All locals
+
+
+
+ Constructor
+
+ All locals (this instance now owns it)
+ Dummy
+
+
+
+ Clone this
+
+
+
+
+ An instantiated generic method signature
+
+
+
+
+ Gets the generic arguments (must be instantiated types, i.e., closed types)
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ Calling convention (must have GenericInst set)
+ Number of generic args
+
+
+
+ Constructor
+
+ Generic arg #1
+
+
+
+ Constructor
+
+ Generic arg #1
+ Generic arg #2
+
+
+
+ Constructor
+
+ Generic arg #1
+ Generic arg #2
+ Generic arg #3
+
+
+
+ Constructor
+
+ Generic args
+
+
+
+ Constructor
+
+ Generic args
+
+
+
+ Clone this
+
+
+
+
+ A high-level representation of a row in the ClassLayout table
+
+
+
+
+ The row id in its table
+
+
+
+
+
+
+
+
+
+
+ From column ClassLayout.PackingSize
+
+
+
+
+
+
+
+ From column ClassLayout.ClassSize
+
+
+
+
+
+
+
+ A ClassLayout row created by the user and not present in the original .NET file
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ PackingSize
+ ClassSize
+
+
+
+ Created from a row in the ClassLayout table
+
+
+
+
+
+
+
+ Constructor
+
+ The module which contains this ClassLayout row
+ Row ID
+ If is null
+ If is invalid
+
+
+
+ A high-level representation of a row in the Constant table
+
+
+
+
+ The row id in its table
+
+
+
+
+
+
+
+
+
+
+ From column Constant.Type
+
+
+
+
+
+
+
+ From column Constant.Value
+
+
+
+
+
+
+
+ A Constant row created by the user and not present in the original .NET file
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ Value
+
+
+
+ Constructor
+
+ Value
+ Type
+
+
+
+ Created from a row in the Constant table
+
+
+
+
+
+
+
+ Constructor
+
+ The module which contains this Constant row
+ Row ID
+ If is null
+ If is invalid
+
+
+
+ Default implementation of
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor
+
+ The owner module
+
+
+
+ Constructor
+
+ The owner module
+ Corlib assembly reference or null if a default
+ assembly reference should be created
+
+
+
+
+
+
+ Gets the required alignment for the stubs, must be a power of 2
+
+ Stub type
+
+
+
+
+ Gets the size of a stub, it doesn't have to be a multiple of
+
+ Stub type
+
+
+
+
+ Gets the offset of the code (entry point) relative to the start of the stub
+
+ Stub type
+
+
+
+
+ Gets the RVA of the func field that the stub jumps to
+
+ Reader, positioned at the stub func
+ PE image
+ Updated with RVA of func field
+
+
+
+
+ Writes stub relocs, if needed
+
+ Stub type
+ Reloc directory
+ The chunk where this stub will be written to
+ Offset of this stub in
+
+
+
+ Writes the stub that jumps to the managed function
+
+ Stub type
+ Writer
+ Image base
+ RVA of this stub
+ RVA of a pointer-sized field that contains the absolute address of the managed function
+
+
+
+ A custom attribute
+
+
+
+
+ Gets/sets the custom attribute constructor
+
+
+
+
+ Gets the attribute type
+
+
+
+
+ Gets the full name of the attribute type
+
+
+
+
+ Gets the name of the attribute type
+
+
+
+
+ true if the raw custom attribute blob hasn't been parsed
+
+
+
+
+ Gets the raw custom attribute blob or null if the CA was successfully parsed.
+
+
+
+
+ Gets all constructor arguments
+
+
+
+
+ true if is not empty
+
+
+
+
+ Gets all named arguments (field and property values)
+
+
+
+
+ true if is not empty
+
+
+
+
+ Gets all s that are field arguments
+
+
+
+
+ Gets all s that are property arguments
+
+
+
+
+ Gets the #Blob offset or 0 if unknown
+
+
+
+
+ Constructor
+
+ Custom attribute constructor
+ Raw custom attribute blob
+
+
+
+ Constructor
+
+ Custom attribute constructor
+
+
+
+ Constructor
+
+ Custom attribute constructor
+ Constructor arguments or null if none
+
+
+
+ Constructor
+
+ Custom attribute constructor
+ Named arguments or null if none
+
+
+
+ Constructor
+
+ Custom attribute constructor
+ Constructor arguments or null if none
+ Named arguments or null if none
+
+
+
+ Constructor
+
+ Custom attribute constructor
+ Constructor arguments or null if none
+ Named arguments or null if none
+ Original custom attribute #Blob offset or 0
+
+
+
+ Constructor
+
+ Custom attribute constructor
+ Constructor arguments. The list is now owned by this instance.
+ Named arguments. The list is now owned by this instance.
+ Original custom attribute #Blob offset or 0
+
+
+
+ Gets the field named
+
+ Name of field
+ A instance or null if not found
+
+
+
+ Gets the field named
+
+ Name of field
+ A instance or null if not found
+
+
+
+ Gets the property named
+
+ Name of property
+ A instance or null if not found
+
+
+
+ Gets the property named
+
+ Name of property
+ A instance or null if not found
+
+
+
+ Gets the property/field named
+
+ Name of property/field
+ true if it's a field, false if it's a property
+ A instance or null if not found
+
+
+
+ Gets the property/field named
+
+ Name of property/field
+ true if it's a field, false if it's a property
+ A instance or null if not found
+
+
+
+
+
+
+ A custom attribute constructor argument
+
+
+
+
+ Gets/sets the argument type
+
+
+
+
+ Gets/sets the argument value
+
+
+
+
+ Constructor
+
+ Argument type
+
+
+
+ Constructor
+
+ Argument type
+ Argument value
+
+
+
+ Clones this instance and any s and s
+ referenced from this instance.
+
+
+
+
+
+
+
+
+ A custom attribute field/property argument
+
+
+
+
+ true if it's a field
+
+
+
+
+ true if it's a property
+
+
+
+
+ Gets/sets the field/property type
+
+
+
+
+ Gets/sets the property/field name
+
+
+
+
+ Gets/sets the argument
+
+
+
+
+ Gets/sets the argument type
+
+
+
+
+ Gets/sets the argument value
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ true if field, false if property
+
+
+
+ Constructor
+
+ true if field, false if property
+ Field/property type
+
+
+
+ Constructor
+
+ true if field, false if property
+ Field/property type
+ Name of field/property
+
+
+
+ Constructor
+
+ true if field, false if property
+ Field/property type
+ Name of field/property
+ Field/property argument
+
+
+
+ Clones this instance and any s referenced from this instance.
+
+
+
+
+
+
+
+
+ Stores s
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ Initial length of the list
+ Context passed to
+ Delegate instance that returns original values
+
+
+
+ Checks whether a custom attribute is present
+
+ Full name of custom attribute type
+ true if the custom attribute type is present, false otherwise
+
+
+
+ Removes all custom attributes of a certain type
+
+ Full name of custom attribute type that should be removed
+
+
+
+ Finds a custom attribute
+
+ Full name of custom attribute type
+ A or null if it wasn't found
+
+
+
+ Finds all custom attributes of a certain type
+
+ Full name of custom attribute type
+ All s of the requested type
+
+
+
+ Finds a custom attribute
+
+ Custom attribute type
+ The first found or null if none found
+
+
+
+ Finds a custom attribute
+
+ Custom attribute type
+ Attribute type comparison flags
+ The first found or null if none found
+
+
+
+ Finds all custom attributes of a certain type
+
+ Custom attribute type
+ All s of the requested type
+
+
+
+ Finds all custom attributes of a certain type
+
+ Custom attribute type
+ Attribute type comparison flags
+ All s of the requested type
+
+
+
+ Searches for a type according to custom attribute search rules: first try the
+ current assembly, and if that fails, try mscorlib
+
+
+
+
+ Constructor
+
+ The module to search first
+
+
+
+
+
+
+ Thrown by CustomAttributeReader when it fails to parse a custom attribute blob
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ Error message
+
+
+
+ Constructor
+
+ Error message
+ Other exception
+
+
+
+ Constructor
+
+
+
+
+
+
+ Reads custom attributes from the #Blob stream
+
+
+
+
+ Reads a custom attribute
+
+ Reader module
+ Custom attribute constructor
+ Offset of custom attribute in the #Blob stream
+ A new instance
+
+
+
+ Reads a custom attribute
+
+ Reader module
+ Custom attribute constructor
+ Offset of custom attribute in the #Blob stream
+ Generic parameter context
+ A new instance
+
+
+
+ Reads a custom attribute
+
+ Owner module
+ CA blob
+ Custom attribute constructor
+ A new instance
+
+
+
+ Reads a custom attribute
+
+ Owner module
+ A reader positioned at the the first byte of the CA blob
+ Custom attribute constructor
+ A new instance
+
+
+
+ Reads a custom attribute
+
+ Owner module
+ CA blob
+ Custom attribute constructor
+ Generic parameter context
+ A new instance
+
+
+
+ Reads a custom attribute
+
+ Owner module
+ A stream positioned at the the first byte of the CA blob
+ Custom attribute constructor
+ Generic parameter context
+ A new instance
+
+
+
+ Reads a custom attribute
+
+ Owner module
+ A stream positioned at the the first byte of the CA blob
+ Custom attribute constructor
+ Generic parameter context
+ A new instance
+
+
+
+ Reads custom attribute named arguments
+
+ Owner module
+ A reader positioned at the the first byte of the CA blob
+ Number of named arguments to read from
+ Generic parameter context
+ A list of s or null if some error
+ occurred.
+
+
+
+ Gets the enum's underlying type
+
+ An enum type
+ The underlying type or null if we couldn't resolve the type ref
+ If is not an enum or null
+
+
+
+ Converts to a , possibly resolving
+ a
+
+ The type
+ A or null if we couldn't resolve the
+ or if is a type spec
+
+
+
+ A high-level representation of a row in the DeclSecurity table
+
+
+
+
+ The row id in its table
+
+
+
+
+
+
+
+
+
+
+
+
+
+ From column DeclSecurity.Action
+
+
+
+
+
+
+
+ From column DeclSecurity.PermissionSet
+
+
+
+
+
+
+ Initializes
+
+
+
+ Gets all custom attributes
+
+
+
+
+
+
+ Initializes
+
+
+
+
+
+
+
+
+
+
+
+
+ Gets all custom debug infos
+
+
+
+
+
+
+ Initializes
+
+
+
+ true if is not empty
+
+
+
+
+ Gets the blob data or null if there's none
+
+ Blob data or null
+
+
+
+ Returns the .NET Framework 1.x XML string or null if it's not a .NET Framework 1.x format
+
+
+
+
+
+ A DeclSecurity row created by the user and not present in the original .NET file
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ The security action
+ The security attributes (now owned by this)
+
+
+
+
+
+
+ Created from a row in the DeclSecurity table
+
+
+
+ The module where this instance is located
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor
+
+ The module which contains this DeclSecurity row
+ Row ID
+ If is null
+ If is invalid
+
+
+
+
+
+
+ Reads DeclSecurity blobs
+
+
+
+
+ Reads a DeclSecurity blob
+
+ Module that will own the returned list
+ #Blob offset of DeclSecurity signature
+ A list of s
+
+
+
+ Reads a DeclSecurity blob
+
+ Module that will own the returned list
+ #Blob offset of DeclSecurity signature
+ Generic parameter context
+ A list of s
+
+
+
+ Reads a DeclSecurity blob
+
+ Module that will own the returned list
+ DeclSecurity blob
+ A list of s
+
+
+
+ Reads a DeclSecurity blob
+
+ Module that will own the returned list
+ DeclSecurity blob
+ Generic parameter context///
+ A list of s
+
+
+
+ Reads a DeclSecurity blob
+
+ Module that will own the returned list
+ DeclSecurity stream that will be owned by us
+ A list of s
+
+
+
+ Reads a DeclSecurity blob
+
+ Module that will own the returned list
+ DeclSecurity stream that will be owned by us
+ Generic parameter context
+ A list of s
+
+
+
+ Reads the new (.NET Framework 2.0+) DeclSecurity blob format
+
+
+
+
+
+ Reads the old (.NET Framework 1.x) DeclSecurity blob format
+
+
+
+
+
+ See CorHdr.h/CorElementType
+
+
+
+
+
+
+ System.Void
+
+
+ System.Boolean
+
+
+ System.Char
+
+
+ System.SByte
+
+
+ System.Byte
+
+
+ System.Int16
+
+
+ System.UInt16
+
+
+ System.Int32
+
+
+ System.UInt32
+
+
+ System.Int64
+
+
+ System.UInt64
+
+
+ System.Single
+
+
+ System.Double
+
+
+ System.String
+
+
+ Pointer type (*)
+
+
+ ByRef type (&)
+
+
+ Value type
+
+
+ Reference type
+
+
+ Type generic parameter
+
+
+ Multidimensional array ([*], [,], [,,], ...)
+
+
+ Generic instance type
+
+
+ Typed byref
+
+
+ Value array (don't use)
+
+
+ System.IntPtr
+
+
+ System.UIntPtr
+
+
+ native real (don't use)
+
+
+ Function pointer
+
+
+ System.Object
+
+
+ Single-dimension, zero lower bound array ([])
+
+
+ Method generic parameter
+
+
+ Required C modifier
+
+
+ Optional C modifier
+
+
+ Used internally by the CLR (don't use)
+
+
+ Module (don't use)
+
+
+ Sentinel (method sigs only)
+
+
+ Pinned type (locals only)
+
+
+
+ A CIL opcode. If the high byte is 0 or if it's , it's a 1-byte opcode,
+ else it's a two-byte opcode and the highest byte is the first byte of the opcode.
+
+
+
+
+ Extension methods
+
+
+
+
+ Determines whether a is experimental
+
+ The code
+ true if the is experimental; otherwise, false
+
+
+
+ Converts a to an
+
+ The code
+ A or null if it's invalid
+
+
+
+ Converts a to an , using a module context to look
+ up potential experimental opcodes
+
+ The code
+ The module context
+ A or null if it's invalid
+
+
+
+ Gets the opcode or if is null
+
+ this
+
+
+
+
+ Gets the operand or null if is null
+
+ this
+
+
+
+
+ Gets the offset or 0 if is null
+
+ this
+
+
+
+
+ Gets the sequence point or null if is null
+
+ this
+
+
+
+
+ Resolves a token
+
+ An object
+ The metadata token
+ A or null if is invalid
+
+
+
+ options
+
+
+
+
+ No option is enabled
+
+
+
+
+ Some fields/methods have an unknown declaring type and don't have a context with
+ that information. If this is enabled, the reader will try to guess it but it doesn't
+ always work. If you get an , try enabling this option.
+
+
+
+
+ Reads code from a DynamicMethod
+
+
+
+
+ Constructor
+
+ Module that will own the method body
+ This can be one of several supported types: the delegate instance
+ created by DynamicMethod.CreateDelegate(), a DynamicMethod instance, a RTDynamicMethod
+ instance or a DynamicResolver instance.
+
+
+
+ Constructor
+
+ Module that will own the method body
+ This can be one of several supported types: the delegate instance
+ created by DynamicMethod.CreateDelegate(), a DynamicMethod instance, a RTDynamicMethod
+ instance or a DynamicResolver instance.
+ Generic parameter context
+
+
+
+ Constructor
+
+ Module that will own the method body
+ This can be one of several supported types: the delegate instance
+ created by DynamicMethod.CreateDelegate(), a DynamicMethod instance, a RTDynamicMethod
+ instance or a DynamicResolver instance.
+ Importer
+
+
+
+ Constructor
+
+ Module that will own the method body
+ This can be one of several supported types: the delegate instance
+ created by DynamicMethod.CreateDelegate(), a DynamicMethod instance, a RTDynamicMethod
+ instance or a DynamicResolver instance.
+ Importer
+ Options
+
+
+
+ Reads the code
+
+
+
+
+
+ Returns the created method. Must be called after .
+
+ A new instance
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ A CIL method exception handler
+
+
+
+
+ First instruction of try block
+
+
+
+
+ One instruction past the end of try block or null if it ends at the end
+ of the method.
+
+
+
+
+ Start of filter handler or null if none. The end of filter handler is
+ always .
+
+
+
+
+ First instruction of try handler block
+
+
+
+
+ One instruction past the end of try handler block or null if it ends at the end
+ of the method.
+
+
+
+
+ The catch type if is
+
+
+
+
+ Type of exception handler clause
+
+
+
+
+ Checks if it's a `catch` handler
+
+
+
+
+ Checks if it's a `filter` handler
+
+
+
+
+ Checks if it's a `finally` handler
+
+
+
+
+ Checks if it's a `fault` handler
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ Exception clause type
+
+
+
+ Type of exception handler. See CorHdr.h/CorExceptionFlag
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ CIL opcode flow control
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ A CIL instruction (opcode + operand)
+
+
+
+
+ The opcode
+
+
+
+
+ The opcode operand
+
+
+
+
+ Offset of the instruction in the method body
+
+
+
+
+ PDB sequence point or null if none
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ Opcode
+
+
+
+ Constructor
+
+ Opcode
+ The operand
+
+
+
+ Creates a new instruction with no operand
+
+ The opcode
+ A new instance
+
+
+
+ Creates a new instruction with a operand
+
+ The opcode
+ The value
+ A new instance
+
+
+
+ Creates a new instruction with a operand
+
+ The opcode
+ The value
+ A new instance
+
+
+
+ Creates a new instruction with an operand
+
+ The opcode
+ The value
+ A new instance
+
+
+
+ Creates a new instruction with a operand
+
+ The opcode
+ The value
+ A new instance
+
+
+
+ Creates a new instruction with a operand
+
+ The opcode
+ The value
+ A new instance
+
+
+
+ Creates a new instruction with a operand
+
+ The opcode
+ The value
+ A new instance
+
+
+
+ Creates a new instruction with a string operand
+
+ The opcode
+ The string
+ A new instance
+
+
+
+ Creates a new instruction with an instruction target operand
+
+ The opcode
+ Target instruction
+ A new instance
+
+
+
+ Creates a new instruction with an instruction target list operand
+
+ The opcode
+ The targets
+ A new instance
+
+
+
+ Creates a new instruction with a type operand
+
+ The opcode
+ The type
+ A new instance
+
+
+
+ Creates a new instruction with a type operand
+
+ The opcode
+ The type
+ A new instance
+
+
+
+ Creates a new instruction with a method/field operand
+
+ The opcode
+ The method/field
+ A new instance
+
+
+
+ Creates a new instruction with a field operand
+
+ The opcode
+ The field
+ A new instance
+
+
+
+ Creates a new instruction with a method operand
+
+ The opcode
+ The method
+ A new instance
+
+
+
+ Creates a new instruction with a token operand
+
+ The opcode
+ The token
+ A new instance
+
+
+
+ Creates a new instruction with a method signature operand
+
+ The opcode
+ The method signature
+ A new instance
+
+
+
+ Creates a new instruction with a method parameter operand
+
+ The opcode
+ The method parameter
+ A new instance
+
+
+
+ Creates a new instruction with a method local operand
+
+ The opcode
+ The method local
+ A new instance
+
+
+
+ Creates a ldci4 instruction
+
+ Operand value
+ A new instance
+
+
+
+ Gets the size in bytes of the instruction
+
+
+
+
+
+ Updates with the new stack size
+
+ Current stack size
+
+
+
+ Updates with the new stack size
+
+ Current stack size
+ true if the method has a return value,
+ false otherwise
+
+
+
+ Calculates stack usage
+
+ Updated with number of stack pushes
+ Updated with number of stack pops or -1 if the stack should
+ be cleared.
+
+
+
+ Calculates stack usage
+
+ true if method has a return value
+ Updated with number of stack pushes
+ Updated with number of stack pops or -1 if the stack should
+ be cleared.
+
+
+
+ Checks whether it's one of the leave instructions
+
+
+
+
+ Checks whether it's one of the br instructions
+
+
+
+
+ Checks whether it's one of the brfalse instructions
+
+
+
+
+ Checks whether it's one of the brtrue instructions
+
+
+
+
+ Checks whether it's one of the conditional branch instructions (bcc, brtrue, brfalse)
+
+
+
+
+ Checks whether this is one of the ldc.i4 instructions
+
+
+
+
+ Returns a ldc.i4 instruction's operand
+
+ The integer value
+ isn't one of the
+ ldc.i4 opcodes
+
+
+
+ Checks whether it's one of the ldarg instructions, but does not check
+ whether it's one of the ldarga instructions.
+
+
+
+
+ Checks whether it's one of the ldloc instructions, but does not check
+ whether it's one of the ldloca instructions.
+
+
+
+
+ Checks whether it's one of the starg instructions
+
+
+
+
+ Checks whether it's one of the stloc instructions
+
+
+
+
+ Returns the local if it's a ldloc, stloc or ldloca instruction
+
+ The locals
+ The local or null if it's not a ldloc, stloc or ldloca
+ instruction or if the local doesn't exist.
+
+
+
+ Gets the index of the instruction's parameter operand or -1 if the parameter
+ is missing or if it's not an instruction with a parameter operand.
+
+
+
+
+ Returns a method parameter
+
+ All parameters
+ A parameter or null if it doesn't exist
+
+
+
+ Returns an argument type
+
+ Method signature
+ Declaring type (only needed if it's an instance method)
+ The type or null if it doesn't exist
+
+
+
+ Clone this instance. The and fields
+ are shared by this instance and the created instance.
+
+
+
+
+
+
+
+ Converts instructions to strings
+
+
+
+
+ Converts an instruction to a string
+
+ The instruction
+ The result
+
+
+
+ Gets the instruction's operand as a string
+
+ The instruction
+ The operand as a string
+
+
+
+ Add an instruction's operand to
+
+ Place result here
+ The instruction
+
+
+
+ Add an instruction's operand to
+
+ Place result here
+ The instruction
+ A string that will be added before the operand, if there's
+ an operand.
+
+
+
+ Thrown when invalid data is detected while parsing a .NET method
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ Error message
+
+
+
+ Constructor
+
+ Error message
+ The inner exception or null if none
+
+
+
+ Constructor
+
+
+
+
+
+
+ A collection of s
+
+
+
+
+ Gets the number of locals
+
+
+
+
+ Gets the list of locals
+
+
+
+
+ Gets the N'th local
+
+ The local index
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ All locals that will be owned by this instance
+
+
+
+ Adds a new local and then returns it
+
+ The local that should be added to the list
+ The input is always returned
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ A method local
+
+
+
+
+ Gets/sets the type of the local
+
+
+
+
+ Local index
+
+
+
+
+ Gets the name. This property is obsolete, use to get/set the name stored in the PDB file.
+
+
+
+
+ Gets the attributes. This property is obsolete, use to get/set the attributes stored in the PDB file.
+
+
+
+
+ Constructor
+
+ The type
+
+
+
+ Constructor
+
+ The type
+ Name of local
+
+
+
+ Constructor
+
+ The type
+ Name of local
+ Index, should only be used if you don't add it to the locals list
+
+
+
+
+
+
+ Method body base class
+
+
+
+
+ A native method body
+
+
+
+
+ Gets/sets the RVA of the native method body
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ RVA of method body
+
+
+
+ CIL (managed code) body
+
+
+
+
+ Size of a small header
+
+
+
+
+ Gets/sets a flag indicating whether the original max stack value should be used.
+
+
+
+
+ Gets/sets the init locals flag. This is only valid if the method has any locals.
+
+
+
+
+ Gets/sets the size in bytes of the method body header. The instructions immediately follow
+ the header.
+
+
+
+
+ true if it was a small body header ( is 1)
+
+
+
+
+ true if it was a big body header
+
+
+
+
+ Gets/sets max stack value from the fat method header.
+
+
+
+
+ Gets/sets the locals metadata token
+
+
+
+
+ true if is not empty
+
+
+
+
+ Gets the instructions
+
+
+
+
+ true if is not empty
+
+
+
+
+ Gets the exception handlers
+
+
+
+
+ true if is not empty
+
+
+
+
+ Gets the locals
+
+
+
+
+ Gets/sets the PDB method. This is null if no PDB has been loaded or if there's
+ no PDB info for this method.
+
+
+
+
+ true if is not null
+
+
+
+
+ Gets the total size of the body in the PE file, including header, IL bytes, and exception handlers.
+ This property returns 0 if the size is unknown.
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ Init locals flag
+ All instructions. This instance will own the list.
+ All exception handlers. This instance will own the list.
+ All locals. This instance will own the locals in the list.
+
+
+
+ Shorter instructions are converted to the longer form, eg. Ldc_I4_1 is
+ converted to Ldc_I4 with a 1 as the operand.
+
+ All method parameters, including the hidden 'this' parameter
+ if it's an instance method. Use .
+
+
+
+ Optimizes instructions by using the shorter form if possible. Eg. Ldc_I4 1
+ will be replaced with Ldc_I4_1.
+
+
+
+
+ Short branch instructions are converted to the long form, eg. Beq_S is
+ converted to Beq.
+
+
+
+
+ Optimizes branches by using the smallest possible branch
+
+
+
+
+ Updates each instruction's offset
+
+ Total size in bytes of all instructions
+
+
+
+ Reads strings from #US heap
+
+
+
+
+ Reads a string from the #US heap
+
+ String token
+ A string
+
+
+
+ Resolves instruction operands
+
+
+
+
+ Reads a .NET method body (header, locals, instructions, exception handlers)
+
+
+
+
+ Creates a CIL method body or returns an empty one if doesn't
+ point to the start of a valid CIL method body.
+
+ The operand resolver
+ A reader positioned at the start of a .NET method body
+ Use parameters from this method
+
+
+
+ Creates a CIL method body or returns an empty one if doesn't
+ point to the start of a valid CIL method body.
+
+ The operand resolver
+ A reader positioned at the start of a .NET method body
+ Use parameters from this method
+ Generic parameter context
+
+
+
+ Creates a CIL method body or returns an empty one if doesn't
+ point to the start of a valid CIL method body.
+
+ The operand resolver
+ A reader positioned at the start of a .NET method body
+ Method parameters
+
+
+
+ Creates a CIL method body or returns an empty one if doesn't
+ point to the start of a valid CIL method body.
+
+ The operand resolver
+ A reader positioned at the start of a .NET method body
+ Method parameters
+ Generic parameter context
+
+
+
+ Creates a CIL method body or returns an empty one if doesn't
+ point to the start of a valid CIL method body.
+
+ The operand resolver
+ A reader positioned at the start of a .NET method body
+ Method parameters
+ Generic parameter context
+ The module context
+
+
+
+ Creates a CIL method body or returns an empty one if is not
+ a valid CIL method body.
+
+ The operand resolver
+ All code
+ Exceptions or null if all exception handlers are in
+
+ Method parameters
+
+
+
+ Creates a CIL method body or returns an empty one if is not
+ a valid CIL method body.
+
+ The operand resolver
+ All code
+ Exceptions or null if all exception handlers are in
+
+ Method parameters
+ Generic parameter context
+
+
+
+ Creates a CIL method body or returns an empty one if doesn't
+ point to the start of a valid CIL method body.
+
+ The operand resolver
+ A reader positioned at the start of a .NET method body
+ Exception handler reader or null if exceptions aren't
+ present or if contains the exception handlers
+ Method parameters
+
+
+
+ Creates a CIL method body or returns an empty one if doesn't
+ point to the start of a valid CIL method body.
+
+ The operand resolver
+ A reader positioned at the start of a .NET method body
+ Exception handler reader or null if exceptions aren't
+ present or if contains the exception handlers
+ Method parameters
+ Generic parameter context
+
+
+
+ Creates a CIL method body or returns an empty one if doesn't
+ point to the start of a valid CIL method body.
+
+ The operand resolver
+ A reader positioned at the start of a .NET method body
+ Exception handler reader or null if exceptions aren't
+ present or if contains the exception handlers
+ Method parameters
+ Generic parameter context
+ The module context
+
+
+
+ Creates a CIL method body or returns an empty one if is not
+ a valid CIL method body.
+
+ The operand resolver
+ All code
+ Exceptions or null if all exception handlers are in
+
+ Method parameters
+ Method header flags, eg. 2 if tiny method
+ Max stack
+ Code size
+ Local variable signature token or 0 if none
+
+
+
+ Creates a CIL method body or returns an empty one if is not
+ a valid CIL method body.
+
+ The operand resolver
+ All code
+ Exceptions or null if all exception handlers are in
+
+ Method parameters
+ Method header flags, eg. 2 if tiny method
+ Max stack
+ Code size
+ Local variable signature token or 0 if none
+ Generic parameter context
+
+
+
+ Creates a CIL method body or returns an empty one if is not
+ a valid CIL method body.
+
+ The operand resolver
+ All code
+ Exceptions or null if all exception handlers are in
+
+ Method parameters
+ Method header flags, eg. 2 if tiny method
+ Max stack
+ Code size
+ Local variable signature token or 0 if none
+ Generic parameter context
+ The module context
+
+
+
+ Constructor
+
+ The operand resolver
+ A reader positioned at the start of a .NET method body
+ Use parameters from this method
+
+
+
+ Constructor
+
+ The operand resolver
+ A reader positioned at the start of a .NET method body
+ Use parameters from this method
+ Generic parameter context
+
+
+
+ Constructor
+
+ The operand resolver
+ A reader positioned at the start of a .NET method body
+ Method parameters
+
+
+
+ Constructor
+
+ The operand resolver
+ A reader positioned at the start of a .NET method body
+ Method parameters
+ Generic parameter context
+
+
+
+ Constructor
+
+ The operand resolver
+ A reader positioned at the start of a .NET method body
+ Exception handler reader or null if exceptions aren't
+ present or if contains the exception handlers
+ Method parameters
+
+
+
+ Constructor
+
+ The operand resolver
+ A reader positioned at the start of a .NET method body
+ Exception handler reader or null if exceptions aren't
+ present or if contains the exception handlers
+ Method parameters
+ Generic parameter context
+
+
+
+ Constructor
+
+ The operand resolver
+ A reader positioned at the start of a .NET method body
+ Exception handler reader or null if exceptions aren't
+ present or if contains the exception handlers
+ Method parameters
+ Generic parameter context
+ Module context
+
+
+
+ Initializes the method header
+
+ Header flags, eg. 2 if it's a tiny method
+ Max stack
+ Code size
+ Local variable signature token
+
+
+
+ Reads the method body header, locals, all instructions, and the exception handlers (if any)
+
+ true if it worked, and false if something failed
+
+
+
+ Reads the method header
+
+
+
+
+ Reads the locals
+
+ All locals or null if there are none
+
+
+
+ Reads all instructions
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Reads all exception handlers
+
+
+
+
+ Creates a CIL body. Must be called after , and can only be
+ called once.
+
+ A new instance
+
+
+
+ Method body reader base class
+
+
+
+ The method reader
+
+
+ All parameters
+
+
+ All locals
+
+
+ All instructions
+
+
+ All exception handlers
+
+
+ First byte after the end of the code
+
+
+ Start offset of method
+
+
+
+ Gets all parameters
+
+
+
+
+ Gets all locals
+
+
+
+
+ Gets all instructions
+
+
+
+
+ Gets all exception handlers
+
+
+
+
+ Constructor
+
+
+
+
+ Constructor
+
+ The module context
+
+
+
+ Constructor
+
+ The reader
+
+
+
+ Constructor
+
+ The reader
+ Method parameters or null if they're not known yet
+
+
+
+ Constructor
+
+ The reader
+ Method parameters or null if they're not known yet
+ The module context
+
+
+
+ Sets new locals
+
+ A list of types of all locals or null if none
+
+
+
+ Sets new locals
+
+ A list of types of all locals or null if none
+
+
+
+ Reads all instructions
+
+ Number of instructions to read
+
+
+
+ Reads all instructions
+
+ Size of code
+
+
+
+ Fixes all branch instructions so their operands are set to an
+ instead of an offset.
+
+
+
+
+ Finds an instruction
+
+ Offset of instruction
+ The instruction or null if there's no instruction at .
+
+
+
+ Finds an instruction and throws if it's not present
+
+ Offset of instruction
+ The instruction
+ There's no instruction at
+
+
+
+
+ Reads the next instruction
+
+
+
+
+ Reads the next OpCode from the current position
+
+
+
+
+ Reads the instruction operand (if any)
+
+ The instruction
+
+
+
+ Reads a operand
+
+ The current instruction
+ The operand
+
+
+
+ Reads a operand
+
+ The current instruction
+ The operand
+
+
+
+ Reads a operand
+
+ The current instruction
+ The operand
+
+
+
+ Reads a operand
+
+ The current instruction
+ The operand
+
+
+
+ Reads a operand
+
+ The current instruction
+ The operand
+
+
+
+ Reads a operand
+
+ The current instruction
+ The operand
+
+
+
+ Reads a operand
+
+ The current instruction
+ The operand
+
+
+
+ Reads a operand
+
+ The current instruction
+ The operand
+
+
+
+ Reads a operand
+
+ The current instruction
+ The operand
+
+
+
+ Reads a operand
+
+ The current instruction
+ The operand
+
+
+
+ Reads a operand
+
+ The current instruction
+ The operand
+
+
+
+ Reads a operand
+
+ The current instruction
+ The operand
+
+
+
+ Reads a operand
+
+ The current instruction
+ The operand
+
+
+
+ Reads a operand
+
+ The current instruction
+ The operand
+
+
+
+ Reads a (a parameter) operand
+
+ The current instruction
+ The operand
+
+
+
+ Reads a (a local) operand
+
+ The current instruction
+ The operand
+
+
+
+ Reads a operand
+
+ The current instruction
+ The operand
+
+
+
+ Reads a operand
+
+ The current instruction
+ The operand
+
+
+
+ Reads a operand
+
+ The current instruction
+ The operand
+
+
+
+ Reads a operand
+
+ The current instruction
+ The operand
+
+
+
+ Reads a (a parameter) operand
+
+ The current instruction
+ The operand
+
+
+
+ Reads a (a local) operand
+
+ The current instruction
+ The operand
+
+
+
+ Returns true if it's one of the ldarg/starg instructions that have an operand
+
+ The instruction to check
+
+
+
+ Returns a parameter
+
+ A parameter index
+ A or null if is invalid
+
+
+
+ Returns a local
+
+ A local index
+ A or null if is invalid
+
+
+
+ Add an exception handler if it appears valid
+
+ The exception handler
+ true if it was added, false otherwise
+
+
+
+ Gets the offset of an instruction
+
+ The instruction or null if the offset is the first offset
+ at the end of the method.
+ The instruction offset
+
+
+
+ Restores a 's body with the parsed method instructions
+ and exception handlers
+
+ The method that gets updated with the instructions, locals, and
+ exception handlers.
+
+
+
+ Converts a type address to a . The address can be found in
+ RuntimeTypeHandle.Value and it's the same address you use with the WinDbg SOS command
+ !dumpmt.
+
+
+
+
+ Converts to a .
+
+ Address of type
+ The or null
+
+
+
+ Instruction utility methods
+
+
+
+
+ Shorter instructions are converted to the longer form, eg. Ldc_I4_1 is
+ converted to Ldc_I4 with a 1 as the operand.
+
+ All instructions
+ All locals
+ All method parameters, including the hidden 'this' parameter
+ if it's an instance method. Use .
+
+
+
+ Optimizes instructions by using the shorter form if possible. Eg. Ldc_I4 1
+ will be replaced with Ldc_I4_1.
+
+ All instructions
+
+
+
+ Short branch instructions are converted to the long form, eg. Beq_S is
+ converted to Beq.
+
+ All instructions
+
+
+
+ Optimizes branches by using the smallest possible branch
+
+ All instructions
+
+
+
+ Updates each instruction's offset
+
+ All instructions
+ Total size in bytes of all instructions
+
+
+
+ A CIL opcode
+
+
+
+
+ The opcode name
+
+
+
+
+ The opcode as a enum
+
+
+
+
+ Operand type
+
+
+
+
+ Flow control info
+
+
+
+
+ Opcode type
+
+
+
+
+ Push stack behavior
+
+
+
+
+ Pop stack behavior
+
+
+
+
+ Gets the value which is compatible with
+
+
+
+
+ Gets the size of the opcode. It's either 1 or 2 bytes.
+
+
+
+
+ Constructs an experimental opcode.
+
+
+
+
+ Creates a new instruction with no operand
+
+ A new instance
+
+
+
+ Creates a new instruction with a operand
+
+ The value
+ A new instance
+
+
+
+ Creates a new instruction with a operand
+
+ The value
+ A new instance
+
+
+
+ Creates a new instruction with an operand
+
+ The value
+ A new instance
+
+
+
+ Creates a new instruction with a operand
+
+ The value
+ A new instance
+
+
+
+ Creates a new instruction with a operand
+
+ The value
+ A new instance
+
+
+
+ Creates a new instruction with a operand
+
+ The value
+ A new instance
+
+
+
+ Creates a new instruction with a string operand
+
+ The string
+ A new instance
+
+
+
+ Creates a new instruction with an instruction target operand
+
+ Target instruction
+ A new instance
+
+
+
+ Creates a new instruction with an instruction target list operand
+
+ The targets
+ A new instance
+
+
+
+ Creates a new instruction with a type operand
+
+ The type
+ A new instance
+
+
+
+ Creates a new instruction with a type operand
+
+ The type
+ A new instance
+
+
+
+ Creates a new instruction with a method/field operand
+
+ The method/field
+ A new instance
+
+
+
+ Creates a new instruction with a field operand
+
+ The field
+ A new instance
+
+
+
+ Creates a new instruction with a method operand
+
+ The method
+ A new instance
+
+
+
+ Creates a new instruction with a token operand
+
+ The token
+ A new instance
+
+
+
+ Creates a new instruction with a method signature operand
+
+ The method signature
+ A new instance
+
+
+
+ Creates a new instruction with a method parameter operand
+
+ The method parameter
+ A new instance
+
+
+
+ Creates a new instruction with a method local operand
+
+ The method local
+ A new instance
+
+
+
+
+
+
+ Contains all valid CIL opcodes
+
+
+
+
+ All one-byte opcodes
+
+
+
+
+ All two-byte opcodes (first byte is 0xFE)
+
+
+
+
+ CIL opcode type
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ CIL opcode operand type
+
+
+
+ 4-byte relative instruction offset
+
+
+ 4-byte field token ( or )
+
+
+ int32
+
+
+ int64
+
+
+ 4-byte method token (,
+ or )
+
+
+ No operand
+
+
+ Never used
+
+
+ 64-bit real
+
+
+
+
+
+ 4-byte method sig token ()
+
+
+ 4-byte string token (0x70xxxxxx)
+
+
+ 4-byte count N followed by N 4-byte relative instruction offsets
+
+
+ 4-byte token (, ,
+ , , ,
+ or )
+
+
+ 4-byte type token (, or
+ )
+
+
+ 2-byte param/local index
+
+
+ 1-byte relative instruction offset
+
+
+ 1-byte sbyte () or byte (the rest)
+
+
+ 32-bit real
+
+
+ 1-byte param/local index
+
+
+
+ CIL opcode stack behavior
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Event attributes, see CorHdr.h/CorEventAttr
+
+
+
+ event is special. Name describes how.
+
+
+ Runtime(metadata internal APIs) should check name encoding.
+
+
+
+ A high-level representation of a row in the Event table
+
+
+
+
+ The row id in its table
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ From column Event.EventFlags
+
+
+
+
+
+
+
+ From column Event.Name
+
+
+
+ Name
+
+
+
+ From column Event.EventType
+
+
+
+
+
+
+
+ Gets all custom attributes
+
+
+
+
+
+
+ Initializes
+
+
+
+
+
+
+
+
+
+ Gets all custom debug infos
+
+
+
+
+
+
+ Initializes
+
+
+
+ Gets/sets the adder method
+
+
+
+
+ Gets/sets the invoker method
+
+
+
+
+ Gets/sets the remover method
+
+
+
+
+ Gets the other methods
+
+
+
+
+ Initializes , ,
+ and .
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Reset , , ,
+
+
+
+ true if there are no methods attached to this event
+
+
+
+
+
+
+
+ true if is not empty
+
+
+
+
+ Gets/sets the declaring type (owner type)
+
+
+
+
+
+
+
+ Called by and should normally not be called by any user
+ code. Use instead. Only call this if you must set the
+ declaring type without inserting it in the declaring type's method list.
+
+
+
+
+
+
+
+
+
+
+ Gets the full name of the event
+
+
+
+
+ Set or clear flags in
+
+ true if flags should be set, false if flags should
+ be cleared
+ Flags to set or clear
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+
+
+
+ An Event row created by the user and not present in the original .NET file
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ Name
+
+
+
+ Constructor
+
+ Name
+ Type
+
+
+
+ Constructor
+
+ Name
+ Type
+ Flags
+
+
+
+ Created from a row in the Event table
+
+
+
+ The module where this instance is located
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor
+
+ The module which contains this Event row
+ Row ID
+ If is null
+ If is invalid
+
+
+
+
+
+
+ A high-level representation of a row in the ExportedType table
+
+
+
+
+ The row id in its table
+
+
+
+
+ The owner module
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Gets all custom attributes
+
+
+
+
+
+
+ Initializes
+
+
+
+
+
+
+
+
+
+
+
+
+ Gets all custom debug infos
+
+
+
+
+
+
+ Initializes
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Always returns false since a does not contain any
+ or .
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ From column ExportedType.Flags
+
+
+
+ Attributes
+
+
+
+ From column ExportedType.TypeDefId
+
+
+
+
+
+
+
+ From column ExportedType.TypeName
+
+
+
+
+
+
+
+ From column ExportedType.TypeNamespace
+
+
+
+
+
+
+
+ From column ExportedType.Implementation
+
+
+
+
+
+
+
+
+
+ Called to initialize
+
+
+
+ true if it's nested within another
+
+
+
+
+ Gets the declaring type, if any
+
+
+
+
+ Modify property: =
+ ( & ) | .
+
+ Value to AND
+ Value to OR
+
+
+
+ Set or clear flags in
+
+ true if flags should be set, false if flags should
+ be cleared
+ Flags to set or clear
+
+
+
+ Gets/sets the visibility
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ Gets/sets the layout
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the string format
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit. See also
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ true if this type has been moved to another assembly
+
+
+
+
+ Resolves the type
+
+ A instance or null if it couldn't be resolved
+
+
+
+ Resolves the type
+
+ Source module or null
+ A instance or null if it couldn't be resolved
+
+
+
+ Resolves the type
+
+ A instance
+ If the type couldn't be resolved
+
+
+
+ Converts this instance to a
+
+ A new instance
+
+
+
+
+
+
+ An ExportedType row created by the user and not present in the original .NET file
+
+
+
+
+ Constructor
+
+ Owner module
+
+
+
+ Constructor
+
+ Owner module
+ TypeDef ID
+ Type name
+ Type namespace
+ Flags
+ Implementation
+
+
+
+ Created from a row in the ExportedType table
+
+
+
+ The module where this instance is located
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor
+
+ The module which contains this ExportedType row
+ Row ID
+ If is null
+ If is invalid
+
+
+
+ Field flags, see CorHdr.h/CorFieldAttr
+
+
+
+ member access mask - Use this mask to retrieve accessibility information.
+
+
+ Member not referenceable.
+
+
+ Member not referenceable.
+
+
+ Accessible only by the parent type.
+
+
+ Accessible by sub-types only in this Assembly.
+
+
+ Accessibly by anyone in the Assembly.
+
+
+ Accessible only by type and sub-types.
+
+
+ Accessibly by sub-types anywhere, plus anyone in assembly.
+
+
+ Accessibly by anyone who has visibility to this scope.
+
+
+ Defined on type, else per instance.
+
+
+ Field may only be initialized, not written to after init.
+
+
+ Value is compile time constant.
+
+
+ Field does not have to be serialized when type is remoted.
+
+
+ field is special. Name describes how.
+
+
+ Implementation is forwarded through pinvoke.
+
+
+ Runtime(metadata internal APIs) should check name encoding.
+
+
+ Field has marshalling information.
+
+
+ Field has default.
+
+
+ Field has RVA.
+
+
+
+ A high-level representation of a row in the Field table
+
+
+
+
+ The row id in its table
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Gets all custom attributes
+
+
+
+
+
+
+ Initializes
+
+
+
+
+
+
+
+
+
+ Gets all custom debug infos
+
+
+
+
+
+
+ Initializes
+
+
+
+ From column Field.Flags
+
+
+
+ Attributes
+
+
+
+ From column Field.Name
+
+
+
+ Name
+
+
+
+ From column Field.Signature
+
+
+
+
+
+
+
+ Gets/sets the field layout offset
+
+
+
+
+
+
+
+
+
+ Called to initialize
+
+
+
+
+
+
+
+
+
+
+
+ Called to initialize
+
+
+ Reset
+
+
+
+ Gets/sets the field RVA
+
+
+
+
+
+
+
+
+
+ Called to initialize
+
+
+ Reset
+
+
+
+ Gets/sets the initial value. Be sure to set to true if
+ you write to this field.
+
+
+
+
+
+
+
+
+
+ Called to initialize
+
+
+ Reset
+
+
+
+
+
+
+
+
+
+
+
+ Called to initialize
+
+
+
+
+
+
+
+
+
+
+
+ Called to initialize
+
+
+ Reset
+
+
+
+
+
+
+
+
+
+ Gets/sets the declaring type (owner type)
+
+
+
+
+
+
+
+ Called by and should normally not be called by any user
+ code. Use instead. Only call this if you must set the
+ declaring type without inserting it in the declaring type's method list.
+
+
+
+
+
+
+
+ Gets/sets the
+
+
+
+
+
+
+
+ true if is not null
+
+
+
+
+ true if is not null
+
+
+
+
+ Gets the constant element type or if there's no constant
+
+
+
+
+ true if is not null
+
+
+
+
+ Gets/sets the field type
+
+
+
+
+ Modify field: =
+ ( & ) | .
+
+ Value to AND
+ Value to OR
+
+
+
+ Set or clear flags in
+
+ true if flags should be set, false if flags should
+ be cleared
+ Flags to set or clear
+
+
+
+ Gets/sets the field access
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Returns the full name of this field
+
+
+
+
+ Gets the size of this field in bytes or 0 if unknown.
+
+
+
+
+ Gets the size of this field in bytes or 0 if unknown.
+
+ Updated with size
+ true if is valid, false otherwise
+
+
+
+ Gets the size of this field in bytes or 0 if unknown.
+
+ The declaring type of this
+ The field signature of this
+ Updated with size
+ true if is valid, false otherwise
+
+
+
+ Gets the size of this field in bytes or 0 if unknown.
+
+ The declaring type of this
+ The field signature of this
+ Size of a pointer
+ Updated with size
+ true if is valid, false otherwise
+
+
+
+
+
+
+ A Field row created by the user and not present in the original .NET file
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ Name
+
+
+
+ Constructor
+
+ Name
+ Signature
+
+
+
+ Constructor
+
+ Name
+ Signature
+ Flags
+
+
+
+ Created from a row in the Field table
+
+
+
+ The module where this instance is located
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor
+
+ The module which contains this Field row
+ Row ID
+ If is null
+ If is invalid
+
+
+
+ File row flags. See CorHdr.h/CorFileFlags
+
+
+
+ This is not a resource file
+
+
+ This is a resource file or other non-metadata-containing file
+
+
+
+ A high-level representation of a row in the File table
+
+
+
+
+ The row id in its table
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ From column File.Flags
+
+
+
+ Attributes
+
+
+
+ From column File.Name
+
+
+
+ Name
+
+
+
+ From column File.HashValue
+
+
+
+
+
+
+
+ Gets all custom attributes
+
+
+
+
+
+
+ Initializes
+
+
+
+
+
+
+
+
+
+
+
+
+ Gets all custom debug infos
+
+
+
+
+
+
+ Initializes
+
+
+
+ Set or clear flags in
+
+ true if flags should be set, false if flags should
+ be cleared
+ Flags to set or clear
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+
+
+
+
+
+
+ A File row created by the user and not present in the original .NET file
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ Name of file
+ Flags
+ File hash
+
+
+
+ Created from a row in the File table
+
+
+
+ The module where this instance is located
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor
+
+ The module which contains this File row
+ Row ID
+ If is null
+ If is invalid
+
+
+
+ Redirects .NET framework assembly references from older to newer versions
+
+
+
+
+ Redirects a .NET Framework assembly from an older version to the correct version
+ loaded at runtime.
+
+ Current assembly reference that might get updated
+ Module using the assembly reference
+
+
+
+ Tries to redirect a .NET Framework assembly from an older version to the correct version
+ loaded at runtime.
+
+ Assembly reference
+ Module using the assembly reference
+ Updated with the redirected assembly if successful
+
+
+
+
+ Redirects a .NET Framework 2.0-3.5 assembly from an older version to the correct version
+ loaded at runtime.
+
+ Current assembly reference that might get updated
+
+
+
+ Redirects a .NET Framework 4.0+ assembly from an older version to the correct version
+ loaded at runtime.
+
+ Current assembly reference that might get updated
+
+
+
+ Tries to redirect a .NET Framework 2.0-3.5 assembly from an older version to the correct version
+ loaded at runtime.
+
+ Assembly reference
+ Updated with the redirected assembly if successful
+
+
+
+
+ Tries to redirect a .NET Framework 4.0+ assembly from an older version to the correct version
+ loaded at runtime.
+
+ Assembly reference
+ Updated with the redirected assembly if successful
+
+
+
+
+ Helps create a name
+
+
+
+
+ Checks whether the assembly name should be included when printing
+ the full type name. The assembly name isn't required in custom attributes
+ when the type already exists in the same module as the CA, or if the type
+ exists in mscorlib.
+
+ The type (TypeDef, TypeRef or ExportedType)
+ or null
+ true if the assembly name must be included, false otherwise
+
+
+
+ Creates type names, method names, etc.
+
+
+
+
+ Checks whether the assembly name should be included when printing the full name.
+ See for more info.
+
+ Owner module
+ The type (TypeDef, TypeRef or ExportedType)
+ or null
+ true if the assembly name must be included, false otherwise
+
+
+
+ Checks whether the assembly name should be included when printing the full name.
+ See for more info.
+
+ Owner module
+ The type (TypeDef, TypeRef or ExportedType)
+ or null
+ If false, don't add an assembly name if it's a type in ,
+ if true, don't add an assembly name if it's a type in or the corlib.
+ true if the assembly name must be included, false otherwise
+
+
+
+ Returns the full name of a
+
+ The TypeRef
+ Set if output should be compatible with reflection
+ Helps print the name
+ String builder to use or null
+ The full name
+
+
+
+ Returns the full name of a
+
+ The TypeRef
+ Set if output should be compatible with reflection
+ Helps print the name
+ String builder to use or null
+ The full name
+
+
+
+ Returns the name of a
+
+ The TypeRef
+ Set if output should be compatible with reflection
+ String builder to use or null
+ The full name
+
+
+
+ Returns the name of a
+
+ The TypeRef
+ Set if output should be compatible with reflection
+ String builder to use or null
+ The full name
+
+
+
+ Returns the namespace of a
+
+ The TypeRef
+ Set if output should be compatible with reflection
+ String builder to use or null
+ The full name
+
+
+
+ Returns the namespace of a
+
+ The TypeRef
+ Set if output should be compatible with reflection
+ String builder to use or null
+ The full name
+
+
+
+ Returns the assembly qualified full name of a
+
+ The IType
+ Helps print the name
+ String builder to use or null
+ The assembly qualified full name
+
+
+
+ Returns the assembly qualified full name of a
+
+ The IType
+ Helps print the name
+ String builder to use or null
+ The assembly qualified full name
+
+
+
+ Returns the full name of a property
+
+ Declaring type full name or null if none
+ Name of property
+ Property signature
+ Type generic arguments or null if none
+ String builder to use or null
+ Property full name
+
+
+
+ Returns the full name of a property
+
+ Declaring type full name or null if none
+ Name of property
+ Property signature
+ Type generic arguments or null if none
+ String builder to use or null
+ Property full name
+
+
+
+ Returns the full name of a property
+
+ Declaring type full name or null if none
+ Name of property
+ Event type
+ Type generic arguments or null if none
+ String builder to use or null
+ Property full name
+
+
+
+ Returns the full name of a property
+
+ Declaring type full name or null if none
+ Name of property
+ Event type
+ Type generic arguments or null if none
+ String builder to use or null
+ Property full name
+
+
+
+ Returns the full name of a field
+
+ Declaring type full name or null if none
+ Name of field
+ Field signature
+ Type generic arguments or null if none
+ String builder to use or null
+ Field full name
+
+
+
+ Returns the full name of a field
+
+ Declaring type full name or null if none
+ Name of field
+ Field signature
+ Type generic arguments or null if none
+ String builder to use or null
+ Field full name
+
+
+
+ Returns the full name of a method
+
+ Declaring type full name or null if none
+ Name of method or null if none
+ Method signature
+ Type generic arguments or null if none
+ Method generic arguments or null if none
+ Generic parameter owner method or null
+ String builder to use or null
+ Method full name
+
+
+
+ Returns the full name of a method
+
+ Declaring type full name or null if none
+ Name of method or null if none
+ Method signature
+ Type generic arguments or null if none
+ Method generic arguments or null if none
+ Generic parameter owner method or null
+ String builder to use or null
+ Method full name
+
+
+
+ Returns the full name of a property sig
+
+ Property sig
+ String builder to use or null
+ Property sig full name
+
+
+
+ Returns the full name of a property sig
+
+ Property sig
+ String builder to use or null
+ Property sig full name
+
+
+
+ Returns the full name of a sig
+
+ Declaring type or null
+ Name or null
+ Method sig
+ Owner method or null
+ String builder to use or null
+ Sig full name
+
+
+
+ Returns the full name of a sig
+
+ Declaring type or null
+ Name or null
+ Method sig
+ Owner method or null
+ String builder to use or null
+ Sig full name
+
+
+
+ Returns the namespace of a
+
+ The TypeRef
+ Set if output should be compatible with reflection
+ String builder to use or null
+ The namespace
+
+
+
+ Returns the namespace of a
+
+ The TypeRef
+ Set if output should be compatible with reflection
+ String builder to use or null
+ The namespace
+
+
+
+ Returns the name of a
+
+ The TypeRef
+ Set if output should be compatible with reflection
+ String builder to use or null
+ The name
+
+
+
+ Returns the name of a
+
+ The TypeRef
+ Set if output should be compatible with reflection
+ String builder to use or null
+ The name
+
+
+
+ Returns the full name of a
+
+ The TypeRef
+ Set if output should be compatible with reflection
+ Helps print the name
+ String builder to use or null
+ The full name
+
+
+
+ Returns the full name of a
+
+ The TypeRef
+ Set if output should be compatible with reflection
+ Helps print the name
+ String builder to use or null
+ The full name
+
+
+
+ Returns the assembly qualified full name of a
+
+ The TypeRef
+ Helps print the name
+ String builder to use or null
+ The assembly qualified full name
+
+
+
+ Returns the assembly qualified full name of a
+
+ The TypeRef
+ Helps print the name
+ String builder to use or null
+ The assembly qualified full name
+
+
+
+ Returns the assembly where this type is defined
+
+ The TypeRef
+ A or null if none found
+
+
+
+ Gets the scope
+
+ The TypeRef
+ The or null if none found
+
+
+
+ Returns the owner module. The type was created from metadata in this module.
+
+ The TypeRef
+ A or null if none found
+
+
+
+ Returns the namespace of a
+
+ The TypeDef
+ Set if output should be compatible with reflection
+ String builder to use or null
+ The namespace
+
+
+
+ Returns the namespace of a
+
+ The TypeDef
+ Set if output should be compatible with reflection
+ String builder to use or null
+ The namespace
+
+
+
+ Returns the name of a
+
+ The TypeDef
+ Set if output should be compatible with reflection
+ String builder to use or null
+ The name
+
+
+
+ Returns the name of a
+
+ The TypeDef
+ Set if output should be compatible with reflection
+ String builder to use or null
+ The name
+
+
+
+ Returns the full name of a
+
+ The TypeDef
+ Set if output should be compatible with reflection
+ Helps print the name
+ String builder to use or null
+ The full name
+
+
+
+ Returns the full name of a
+
+ The TypeDef
+ Set if output should be compatible with reflection
+ Helps print the name
+ String builder to use or null
+ The full name
+
+
+
+ Returns the assembly qualified full name of a
+
+ The TypeDef
+ Helps print the name
+ String builder to use or null
+ The assembly qualified full name
+
+
+
+ Returns the assembly qualified full name of a
+
+ The TypeDef
+ Helps print the name
+ String builder to use or null
+ The assembly qualified full name
+
+
+
+ Returns the assembly where this type is defined
+
+ The TypeDef
+ A or null if none found
+
+
+
+ Returns the owner module. The type was created from metadata in this module.
+
+ The TypeDef
+ A or null if none found
+
+
+
+ Returns the namespace of a
+
+ The TypeSpec
+ Set if output should be compatible with reflection
+ String builder to use or null
+ The namespace
+
+
+
+ Returns the namespace of a
+
+ The TypeSpec
+ Set if output should be compatible with reflection
+ String builder to use or null
+ The namespace
+
+
+
+ Returns the name of a
+
+ The TypeSpec
+ Set if output should be compatible with reflection
+ String builder to use or null
+ The name
+
+
+
+ Returns the name of a
+
+ The TypeSpec
+ Set if output should be compatible with reflection
+ String builder to use or null
+ The name
+
+
+
+ Returns the full name of a
+
+ The TypeSpec
+ Set if output should be compatible with reflection
+ Helps print the name
+ String builder to use or null
+ The full name
+
+
+
+ Returns the full name of a
+
+ The TypeSpec
+ Set if output should be compatible with reflection
+ Helps print the name
+ String builder to use or null
+ The full name
+
+
+
+ Returns the assembly qualified full name of a
+
+ The TypeSpec
+ Helps print the name
+ String builder to use or null
+ The assembly qualified full name
+
+
+
+ Returns the assembly qualified full name of a
+
+ The TypeSpec
+ Helps print the name
+ String builder to use or null
+ The assembly qualified full name
+
+
+
+ Returns the assembly where this type is defined
+
+ The TypeSpec
+ A or null if none found
+
+
+
+ Gets the scope type
+
+ The TypeSpec
+ The scope type or null if none found
+
+
+
+ Gets the scope
+
+ The TypeSpec
+ The or null if none found
+
+
+
+ Returns the owner module. The type was created from metadata in this module.
+
+ The TypeSpec
+ A or null if none found
+
+
+
+ Returns the namespace of a
+
+ The type sig
+ Set if output should be compatible with reflection
+ String builder to use or null
+ The namespace
+
+
+
+ Returns the namespace of a
+
+ The type sig
+ Set if output should be compatible with reflection
+ String builder to use or null
+ The namespace
+
+
+
+ Returns the name of a
+
+ The type sig
+ Set if output should be compatible with reflection
+ String builder to use or null
+ The name
+
+
+
+ Returns the name of a
+
+ The type sig
+ Set if output should be compatible with reflection
+ String builder to use or null
+ The name
+
+
+
+ Returns the full name of a
+
+ The type sig
+ Set if output should be compatible with reflection
+ Helps print the name
+ Type generic args or null if none
+ Method generic args or null if none
+ String builder to use or null
+ The full name
+
+
+
+ Returns the full name of a
+
+ The type sig
+ Set if output should be compatible with reflection
+ Helps print the name
+ Type generic args or null if none
+ Method generic args or null if none
+ String builder to use or null
+ The full name
+
+
+
+ Returns the assembly qualified full name of a
+
+ The TypeSig
+ Helps print the name
+ String builder to use or null
+ The assembly qualified full name
+
+
+
+ Returns the assembly qualified full name of a
+
+ The TypeSig
+ Helps print the name
+ String builder to use or null
+ The assembly qualified full name
+
+
+
+ Returns the assembly where this type is defined
+
+ The TypeSig
+ A or null if none found
+
+
+
+ Gets the scope
+
+ The TypeSig
+ The or null if none found
+
+
+
+ Gets the scope type
+
+ The TypeSig
+ The scope type or null if none found
+
+
+
+ Returns the owner module. The type was created from metadata in this module.
+
+ The TypeSig
+ A or null if none found
+
+
+
+ Returns the namespace of a
+
+ The ExportedType
+ Set if output should be compatible with reflection
+ String builder to use or null
+ The namespace
+
+
+
+ Returns the namespace of a
+
+ The ExportedType
+ Set if output should be compatible with reflection
+ String builder to use or null
+ The namespace
+
+
+
+ Returns the name of a
+
+ The ExportedType
+ Set if output should be compatible with reflection
+ String builder to use or null
+ The name
+
+
+
+ Returns the name of a
+
+ The ExportedType
+ Set if output should be compatible with reflection
+ String builder to use or null
+ The name
+
+
+
+ Returns the full name of a
+
+ The ExportedType
+ Set if output should be compatible with reflection
+ Helps print the name
+ String builder to use or null
+ The full name
+
+
+
+ Returns the full name of a
+
+ The ExportedType
+ Set if output should be compatible with reflection
+ Helps print the name
+ String builder to use or null
+ The full name
+
+
+
+ Returns the assembly qualified full name of a
+
+ The ExportedType
+ Helps print the name
+ String builder to use or null
+ The assembly qualified full name
+
+
+
+ Returns the assembly qualified full name of a
+
+ The ExportedType
+ Helps print the name
+ String builder to use or null
+ The assembly qualified full name
+
+
+
+ Returns the assembly where this type is defined
+
+ The ExportedType
+ A or null if none found
+
+
+
+ Gets the scope type
+
+ The ExportedType
+ The scope type or null if none found
+
+
+
+ Gets the scope
+
+ The ExportedType
+ The or null if none found
+
+
+
+ Returns the owner module. The type was created from metadata in this module.
+
+ The ExportedType
+ A or null if none found
+
+
+
+ Returns the full assembly name of a
+
+ The IAssembly
+ true to use public key token in name even if a public key is available
+ String builder to use or null
+ The full assembly name
+
+
+
+ Returns the full assembly name of a
+
+ The IAssembly
+ true to use public key token in name even if a public key is available
+ String builder to use or null
+ The full assembly name
+
+
+
+
+
+
+ Constructor
+
+ true if it's for generic types, false if generic methods
+
+
+
+ Pushes generic arguments
+
+ The generic arguments
+
+
+
+ Pops generic arguments
+
+ The popped generic arguments
+
+
+
+ Resolves a generic argument
+
+ Generic variable number
+ A or null if none was found
+
+
+
+ Replaces generic type/method var with its generic argument
+
+
+
+
+ Pushes generic arguments
+
+ The generic arguments
+
+
+
+ Pops generic arguments
+
+ The popped generic arguments
+
+
+
+ Pushes generic arguments
+
+ The generic arguments
+
+
+
+ Pops generic arguments
+
+ The popped generic arguments
+
+
+
+ Replaces a generic type/method var with its generic argument (if any). If
+ isn't a generic type/method var or if it can't
+ be resolved, it itself is returned. Else the resolved type is returned.
+
+ Type signature
+ New which is never null unless
+ is null
+
+
+
+ A high-level representation of a row in the GenericParam table
+
+
+
+
+ The row id in its table
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Gets the owner type/method
+
+
+
+
+
+
+
+ Gets the declaring type or null if none or if is
+ not a
+
+
+
+
+
+
+
+ Gets the declaring method or null if none or if is
+ not a
+
+
+
+
+ From column GenericParam.Number
+
+
+
+
+
+
+
+ From column GenericParam.Flags
+
+
+
+ Attributes
+
+
+
+ From column GenericParam.Name
+
+
+
+ Name
+
+
+
+ From column GenericParam.Kind (v1.1 only)
+
+
+
+
+
+
+
+ Gets the generic param constraints
+
+
+
+
+
+
+ Initializes
+
+
+
+ Gets all custom attributes
+
+
+
+
+
+
+ Initializes
+
+
+
+
+
+
+
+
+
+
+
+
+ Gets all custom debug infos
+
+
+
+
+
+
+ Initializes
+
+
+
+ true if is not empty
+
+
+
+
+
+
+
+
+
+
+ Modify property: =
+ ( & ) | .
+
+ Value to AND
+ Value to OR
+
+
+
+ Set or clear flags in
+
+ true if flags should be set, false if flags should
+ be cleared
+ Flags to set or clear
+
+
+
+ Gets/sets variance (non, contra, co)
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ Gets/sets the special constraint
+
+
+
+
+ true if there are no special constraints
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ A GenericParam row created by the user and not present in the original .NET file
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ The generic param number
+
+
+
+ Constructor
+
+ The generic param number
+ Flags
+
+
+
+ Constructor
+
+ The generic param number
+ Flags
+ Name
+
+
+
+ Created from a row in the GenericParam table
+
+
+
+ The module where this instance is located
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor
+
+ The module which contains this GenericParam row
+ Row ID
+ If is null
+ If is invalid
+
+
+
+
+
+
+ Generic parameter flags. See CorHdr.h/CorGenericParamAttr
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ type argument must be a reference type
+
+
+ type argument must be a value type but not Nullable
+
+
+ type argument must have a public default constructor
+
+
+
+ A high-level representation of a row in the GenericParamConstraint table
+
+
+
+
+ The row id in its table
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Gets the owner generic param
+
+
+
+
+
+
+
+ From column GenericParamConstraint.Constraint
+
+
+
+
+
+
+
+ Gets all custom attributes
+
+
+
+
+
+
+ Initializes
+
+
+
+
+
+
+
+
+
+
+
+
+ Gets all custom debug infos
+
+
+
+
+
+
+ Initializes
+
+
+
+ A GenericParamConstraintAssembly row created by the user and not present in the original .NET file
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ The constraint
+
+
+
+ Created from a row in the GenericParamConstraint table
+
+
+
+ The module where this instance is located
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor
+
+ The module which contains this GenericParamConstraint row
+ Row ID
+ Generic parameter context
+ If is null
+ If is invalid
+
+
+
+ Generic parameter context
+
+
+
+
+ Type context
+
+
+
+
+ Method context
+
+
+
+
+ true if and are both null
+
+
+
+
+ Creates a new instance and initializes the
+ field to 's
+ and the field to .
+
+ Method
+ A new instance
+
+
+
+ Creates a new instance and initializes the
+ field to and the field
+ to null
+
+ Type
+ A new instance
+
+
+
+ Constructor
+
+ Type context
+
+
+
+ Constructor. The field is set to null and NOT to
+ 's . Use
+ if you want that behavior.
+
+ Method context
+
+
+
+ Constructor
+
+ Type context
+ Method context
+
+
+
+ Resolves assemblies
+
+
+
+
+ Finds and returns an
+
+ The assembly to find
+ The module that needs to resolve an assembly or null
+ An instance owned by the assembly resolver or
+ null if the assembly couldn't be found.
+
+
+
+ The table row can be referenced by a MD token
+
+
+
+
+ Returns the metadata token
+
+
+
+
+ Gets/sets the row ID
+
+
+
+
+ All *MD classes implement this interface.
+
+
+
+
+ Gets the original row ID
+
+
+
+
+ An assembly. Implemented by , and
+ .
+
+
+
+
+ The assembly version
+
+
+
+
+ Assembly flags
+
+
+
+
+ Public key or public key token
+
+
+
+
+ Locale, aka culture
+
+
+
+
+ Gets the full name of the assembly but use a public key token
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the processor architecture
+
+
+
+
+ Gets/sets the processor architecture
+
+
+
+
+ true if unspecified processor architecture
+
+
+
+
+ true if neutral (PE32) architecture
+
+
+
+
+ true if x86 (PE32) architecture
+
+
+
+
+ true if IA-64 (PE32+) architecture
+
+
+
+
+ true if x64 (PE32+) architecture
+
+
+
+
+ true if ARM (PE32) architecture
+
+
+
+
+ true if eg. reference assembly (not runnable)
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the content type
+
+
+
+
+ true if content type is Default
+
+
+
+
+ true if content type is WindowsRuntime
+
+
+
+
+ Implemented by and , which are the only
+ valid managed entry point tokens.
+
+
+
+
+ Interface to access a module def/ref
+
+
+
+
+ Type of scope
+
+
+
+
+ It's an instance
+
+
+
+
+ It's a instance
+
+
+
+
+ It's a instance
+
+
+
+
+ Implemented by modules and assemblies
+
+
+
+
+ Gets the scope type
+
+
+
+
+ Gets the scope name
+
+
+
+
+ Interface to get the full name of a type, field, or method
+
+
+
+
+ Gets the full name
+
+
+
+
+ Simple name of implementer
+
+
+
+
+ Implemented by all member refs and types
+
+
+
+
+ Gets the owner module
+
+
+
+
+ Methods to check whether the implementer is a type or a method.
+
+
+
+
+ true if it's a type
+
+
+
+
+ true if it's a method
+
+
+
+
+ Implemented by types, fields, methods, properties, events
+
+
+
+
+ Gets the declaring type
+
+
+
+
+ true if it's a or a that's
+ referencing a field.
+
+
+
+
+ true if it's a
+
+
+
+
+ true if it's a
+
+
+
+
+ true if it's a
+
+
+
+
+ true if it's a
+
+
+
+
+ true if it's a
+
+
+
+
+ true if it's a
+
+
+
+
+ true if it's a
+
+
+
+
+ true if it's a
+
+
+
+
+ true if it's a
+
+
+
+
+ true if it's a
+
+
+
+
+ All member definitions implement this interface: ,
+ , , ,
+ , and .
+
+
+
+
+ Gets the declaring type
+
+
+
+
+ Implemented by the following classes: ,
+ , , ,
+ , , ,
+ and
+
+
+
+
+ Implemented by types and methods
+
+
+
+
+ Gets the number of generic parameters / arguments
+
+
+
+
+ Implemented by fields ( and )
+
+
+
+
+ Gets/sets the field signature
+
+
+
+
+ Implemented by methods (, and )
+
+
+
+
+ Method signature
+
+
+
+
+ Implemented by tables that can be a token in the ldtoken instruction
+
+
+
+
+ The table row can be referenced by a coded token
+
+
+
+
+ TypeDefOrRef coded token interface
+
+
+
+
+ The coded token tag
+
+
+
+
+ HasConstant coded token interface
+
+
+
+
+ The coded token tag
+
+
+
+
+ Gets/sets the constant value
+
+
+
+
+ HasCustomAttribute coded token interface
+
+
+
+
+ The coded token tag
+
+
+
+
+ Gets all custom attributes
+
+
+
+
+ true if is not empty
+
+
+
+
+ HasFieldMarshal coded token interface
+
+
+
+
+ The coded token tag
+
+
+
+
+ Gets/sets the marshal type
+
+
+
+
+ true if is not null
+
+
+
+
+ HasDeclSecurity coded token interface
+
+
+
+
+ The coded token tag
+
+
+
+
+ Gets the permission sets
+
+
+
+
+ true if is not empty
+
+
+
+
+ MemberRefParent coded token interface
+
+
+
+
+ The coded token tag
+
+
+
+
+ HasSemantic coded token interface
+
+
+
+
+ The coded token tag
+
+
+
+
+ MethodDefOrRef coded token interface
+
+
+
+
+ The coded token tag
+
+
+
+
+ MemberForwarded coded token interface
+
+
+
+
+ The coded token tag
+
+
+
+
+ Gets/sets the impl map
+
+
+
+
+ true if is not null
+
+
+
+
+ Implementation coded token interface
+
+
+
+
+ The coded token tag
+
+
+
+
+ CustomAttributeType coded token interface
+
+
+
+
+ The coded token tag
+
+
+
+
+ ResolutionScope coded token interface
+
+
+
+
+ The coded token tag
+
+
+
+
+ TypeOrMethodDef coded token interface
+
+
+
+
+ The coded token tag
+
+
+
+
+ Gets the generic parameters
+
+
+
+
+ true if is not empty
+
+
+
+
+ HasCustomDebugInformation interface
+
+
+
+
+ The custom debug information tag
+
+
+
+
+ Gets the custom debug infos
+
+
+
+
+ true if is not empty
+
+
+
+
+ Access to .NET core library's simple types
+
+
+
+
+ Gets a System.Void
+
+
+
+
+ Gets a System.Boolean
+
+
+
+
+ Gets a System.Char
+
+
+
+
+ Gets a System.SByte
+
+
+
+
+ Gets a System.Byte
+
+
+
+
+ Gets a System.Int16
+
+
+
+
+ Gets a System.UInt16
+
+
+
+
+ Gets a System.Int32
+
+
+
+
+ Gets a System.UInt32
+
+
+
+
+ Gets a System.Int64
+
+
+
+
+ Gets a System.UInt64
+
+
+
+
+ Gets a System.Single
+
+
+
+
+ Gets a System.Double
+
+
+
+
+ Gets a System.String
+
+
+
+
+ Gets a System.TypedReference
+
+
+
+
+ Gets a System.IntPtr
+
+
+
+
+ Gets a System.UIntPtr
+
+
+
+
+ Gets a System.Object
+
+
+
+
+ Gets the assembly reference to the core library
+
+
+
+
+ Gets a that references a type in the core library assembly
+
+ Namespace of type (eg. "System")
+ Name of type
+ A instance. This instance may be a cached instance.
+
+
+
+ Custom attribute interface. Implemented by and
+
+
+
+
+
+ Gets the attribute type
+
+
+
+
+ Gets the full name of the attribute type
+
+
+
+
+ Gets all named arguments (field and property values)
+
+
+
+
+ true if is not empty
+
+
+
+
+ Gets all s that are field arguments
+
+
+
+
+ Gets all s that are property arguments
+
+
+
+
+ Interface to decrypt methods
+
+
+
+
+ Gets the method's body
+
+ Method rid
+ The found in the method's Method row
+ The method's parameters
+ Generic parameter context
+ Updated with the method's if this
+ method returns true
+ true if the method body was decrypted, false if the method isn't
+ encrypted and the default body reader code should be used.
+
+
+
+ Interface to decrypt strings
+
+
+
+
+ Reads a string
+
+ String token
+ A string or null if we should read it from the #US heap
+
+
+
+ events
+
+
+
+
+ An error was detected. An exception should normally be thrown but the error
+ can be ignored.
+
+
+
+
+ Just a warning and can be ignored.
+
+
+
+
+ A normal message
+
+
+
+
+ A verbose message
+
+
+
+
+ A very verbose message
+
+
+
+
+ Simple logger
+
+
+
+
+ Log something
+
+ Caller or null
+ Logger event
+ Format
+ Arguments
+
+
+
+ true if this event is ignored. If the event is ignored, the caller can
+ choose not to call . This is useful if it can take time to
+ prepare the message.
+
+ The logger event
+
+
+
+ Dummy logger which ignores all messages, but can optionally throw on errors.
+
+
+
+
+ It ignores everything and doesn't throw anything.
+
+
+
+
+ Throws a on errors, but ignores anything else.
+
+
+
+
+ Constructor
+
+ If non-null, this exception type is thrown on
+ errors. It must have a public constructor that takes a as the only
+ argument.
+
+
+
+
+
+
+
+
+
+ A high-level representation of a row in the ImplMap table
+
+
+
+
+ The row id in its table
+
+
+
+
+
+
+
+
+
+
+ From column ImplMap.MappingFlags
+
+
+
+ Attributes
+
+
+
+ From column ImplMap.ImportName
+
+
+
+ Name
+
+
+
+ From column ImplMap.ImportScope
+
+
+
+
+
+
+
+ Modify property: =
+ ( & ) | .
+
+ Value to AND
+ Value to OR
+
+
+
+ Set or clear flags in
+
+ true if flags should be set, false if flags should
+ be cleared
+ Flags to set or clear
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the char set
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ Gets/sets best fit
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ Gets/sets throw on unmappable char
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets calling convention
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ Checks whether this is a certain P/Invoke method
+
+ Name of the DLL
+ Name of the function within the DLL
+ true if it's the specified P/Invoke method, else false
+
+
+
+ Checks whether this is a certain P/Invoke method
+
+ Name of the DLL
+ Name of the function within the DLL
+ Treat as Windows
+ true if it's the specified P/Invoke method, else false
+
+
+
+ An ImplMap row created by the user and not present in the original .NET file
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ Scope
+ Name
+ Flags
+
+
+
+ Created from a row in the ImplMap table
+
+
+
+
+
+
+
+ Constructor
+
+ The module which contains this ImplMap row
+ Row ID
+ If is null
+ If is invalid
+
+
+
+ options
+
+
+
+
+ Use s whenever possible if the is located
+ in this module.
+
+
+
+
+ Use s whenever possible if the is located
+ in this module.
+
+
+
+
+ Use s whenever possible if the is located
+ in this module.
+
+
+
+
+ Use s, s and s
+ whenever possible if the definition is located in this module.
+
+
+
+
+
+
+
+ Use already existing s whenever possible
+
+
+
+
+ Don't set this flag. For internal use only.
+
+
+
+
+ Re-maps entities that were renamed in the target module
+
+
+
+
+ Matches source to the one that is already present in the target module under a different name.
+
+ referenced by the entity that is being imported.
+ matching or null if there's no match.
+
+
+
+ Matches source to the one that is already present in the target module under a different name.
+
+ referenced by the entity that is being imported.
+ matching or null if there's no match.
+
+
+
+ Matches source to the one that is already present in the target module under a different name.
+
+ referenced by the entity that is being imported.
+ matching or null if there's no match.
+
+
+
+ Matches source to the one that is already present in the target module under a different name.
+
+ referenced by the entity that is being imported.
+ matching or null if there's no match.
+
+
+
+ Overrides default behavior of
+ May be used to use reference assemblies for resolution, for example.
+
+ to create for. is non-generic type or generic type without generic arguments.
+ or null to use default 's type resolution
+
+
+
+ Imports s, s, s
+ and s as references
+
+
+
+
+ Constructor
+
+ The module that will own all references
+
+
+
+ Constructor
+
+ The module that will own all references
+ Generic parameter context
+
+
+
+ Constructor
+
+ The module that will own all references
+ Importer options
+
+
+
+ Constructor
+
+ The module that will own all references
+ Importer options
+ Generic parameter context
+
+
+
+ Constructor
+
+ The module that will own all references
+ Importer options
+ Generic parameter context
+ Mapper for renamed entities
+
+
+
+ Imports a as a .
+
+ The type
+ The imported type or null if is invalid
+
+
+
+ Imports a as a . See also
+
+ The type
+
+
+
+
+ Imports a as a
+
+ The type
+ A list of all required modifiers or null
+ A list of all optional modifiers or null
+ The imported type or null if is invalid
+
+
+
+ Imports a as a
+
+ The type
+ The imported type or null if is invalid
+
+
+
+ Imports a as a
+
+ The type
+ A list of all required modifiers or null
+ A list of all optional modifiers or null
+ The imported type or null if is invalid
+
+
+
+ Imports a as a . This will be either
+ a or a .
+
+ The method
+ The imported method or null if is invalid
+ or if we failed to import the method
+
+
+
+ Imports a as a . This will be either
+ a or a .
+
+ The method
+ Always verify method signature to make sure the
+ returned reference matches the metadata in the source assembly
+ The imported method or null if is invalid
+ or if we failed to import the method
+
+
+
+ Imports a as a
+
+ The field
+ The imported field or null if is invalid
+ or if we failed to import the field
+
+
+
+ Imports a as a
+
+ The field
+ Always verify field signature to make sure the
+ returned reference matches the metadata in the source assembly
+ The imported field or null if is invalid
+ or if we failed to import the field
+
+
+
+ Imports a
+
+ The type
+ The imported type or null
+
+
+
+ Imports a as a
+
+ The type
+ The imported type or null
+
+
+
+ Imports a
+
+ The type
+ The imported type or null
+
+
+
+ Imports a
+
+ The type
+ The imported type or null
+
+
+
+ Imports a
+
+ The type
+ The imported type or null
+
+
+
+ Imports a
+
+ The type
+ The imported type or null
+
+
+
+ Imports a
+
+ The sig
+ The imported sig or null if input is invalid
+
+
+
+ Imports a
+
+ The sig
+ The imported sig or null if input is invalid
+
+
+
+ Imports a
+
+ The sig
+ The imported sig or null if input is invalid
+
+
+
+ Imports a
+
+ The sig
+ The imported sig or null if input is invalid
+
+
+
+ Imports a
+
+ The sig
+ The imported sig or null if input is invalid
+
+
+
+ Imports a
+
+ The sig
+ The imported sig or null if input is invalid
+
+
+
+ Imports a
+
+ The field
+ The imported type or null if is invalid
+
+
+
+ Imports a
+
+ The method
+ The imported method or null if is invalid
+
+
+
+ Imports a as an
+
+ The field
+ The imported type or null if is invalid
+
+
+
+ Imports a as an
+
+ The method
+ The imported method or null if is invalid
+
+
+
+ Imports a
+
+ The method
+ The imported method or null if is invalid
+
+
+
+ Imports a
+
+ The member ref
+ The imported member ref or null if is invalid
+
+
+
+ A high-level representation of a row in the InterfaceImpl table
+
+
+
+
+ The row id in its table
+
+
+
+
+
+
+
+
+
+
+
+
+
+ From column InterfaceImpl.Interface
+
+
+
+
+
+
+
+ Gets all custom attributes
+
+
+
+
+
+
+ Initializes
+
+
+
+
+
+
+
+
+
+
+
+
+ Gets all custom debug infos
+
+
+
+
+
+
+ Initializes
+
+
+
+ An InterfaceImpl row created by the user and not present in the original .NET file
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ The interface the type implements
+
+
+
+ Created from a row in the InterfaceImpl table
+
+
+
+ The module where this instance is located
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor
+
+ The module which contains this InterfaceImpl row
+ Row ID
+ Generic parameter context
+ If is null
+ If is invalid
+
+
+
+ Resolves types, methods, fields
+
+
+
+
+ Resolves types
+
+
+
+
+ Resolves a type
+
+ The type
+ The module that needs to resolve the type or null
+ A instance or null if it couldn't be resolved
+
+
+
+ Resolves fields and methods
+
+
+
+
+ Resolves a method or a field
+
+ A method/field reference
+ A or a instance or null
+ if it couldn't be resolved.
+
+
+
+ Resolves tokens
+
+
+
+
+ Resolves a token
+
+ The metadata token
+ Generic parameter context
+ A or null if is invalid
+
+
+
+ Interface to get the full name of a type
+
+
+
+
+ true if it's a value type
+
+
+
+
+ Returns the name of this type
+
+
+
+
+ Returns the reflection name of this type
+
+
+
+
+ Returns the namespace of this type
+
+
+
+
+ Returns the reflection namespace of this type
+
+
+
+
+ Returns the reflection name of this type. See also .
+
+
+
+
+ Returns the reflection name of this type, and includes the assembly name where the
+ type is located. It can be passed to to
+ load the type.
+
+
+
+
+ Gets the assembly where this type is defined
+
+
+
+
+ Gets the scope, which is different from since it
+ can differentiate between modules within the same assembly.
+
+
+
+
+ Gets the type whose scope is returned by and whose assembly
+ is returned by . This is always a
+ , or null. It can also be a
+ nested .
+ For example, if this type is a System.String&, then this value is a System.String.
+ If it's a generic instance type (eg. List<int>), then the generic type is
+ returned (eg. List<T>). In other words, the first or
+ that is found (without searching generic arguments) is returned.
+
+
+
+
+ true if it's an integer or a floating point type
+
+
+
+
+ Implemented by types and calling convention signatures.
+
+
+
+
+ true if this contains a or a .
+
+
+
+
+ Finds s
+
+
+
+
+ Finds a
+
+ Full name of the type (no assembly information)
+ true if it's a reflection name, and nested
+ type names are separated by a + character. If false, nested type names
+ are separated by a / character.
+ An existing or null if it wasn't found.
+
+
+
+ Finds a . 's scope (i.e., module or
+ assembly) is ignored when looking up the type.
+
+ The type ref
+ An existing or null if it wasn't found.
+
+
+
+ Interface to access a local or a parameter
+
+
+
+
+ Gets the variable type
+
+
+
+
+ Gets the 0-based position
+
+
+
+
+ Gets/sets the variable name
+
+
+
+
+ A high-level representation of a row in the ManifestResource table
+
+
+
+
+ The row id in its table
+
+
+
+
+
+
+
+
+
+
+
+
+
+ From column ManifestResource.Offset
+
+
+
+
+
+
+
+ From column ManifestResource.Flags
+
+
+
+ Attributes
+
+
+
+ From column ManifestResource.Name
+
+
+
+ Name
+
+
+
+ From column ManifestResource.Implementation
+
+
+
+
+
+
+
+ Gets all custom attributes
+
+
+
+
+
+
+ Initializes
+
+
+
+
+
+
+
+
+
+
+
+
+ Gets all custom debug infos
+
+
+
+
+
+
+ Initializes
+
+
+
+ Modify property: =
+ ( & ) | .
+
+ Value to AND
+ Value to OR
+
+
+
+ Gets/sets the visibility
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ A ManifestResource row created by the user and not present in the original .NET file
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ Name
+ Implementation
+
+
+
+ Constructor
+
+ Name
+ Implementation
+ Flags
+
+
+
+ Constructor
+
+ Name
+ Implementation
+ Flags
+ Offset
+
+
+
+ Created from a row in the ManifestResource table
+
+
+
+ The module where this instance is located
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor
+
+ The module which contains this ManifestResource row
+ Row ID
+ If is null
+ If is invalid
+
+
+
+ ManifestResource flags. See CorHdr.h/CorManifestResourceFlags
+
+
+
+
+
+
+ The Resource is exported from the Assembly.
+
+
+ The Resource is private to the Assembly.
+
+
+
+ Reads s
+
+
+
+
+ Reads a from the #Blob heap
+
+ Module
+ Blob offset
+ A new instance
+
+
+
+ Reads a from the #Blob heap
+
+ Module
+ Blob offset
+ Generic parameter context
+ A new instance
+
+
+
+ Reads a from
+
+ Owner module
+ Marshal data
+ A new instance
+
+
+
+ Reads a from
+
+ Owner module
+ Marshal data
+ Generic parameter context
+ A new instance
+
+
+
+ Reads a from
+
+ Owner module
+ A reader that will be owned by us
+ A new instance
+
+
+
+ Reads a from
+
+ Owner module
+ A reader that will be owned by us
+ Generic parameter context
+ A new instance
+
+
+
+ Base class of all marshal types
+
+
+
+
+ The native type
+
+
+
+
+ Gets the
+
+
+
+
+ Constructor
+
+ Native type
+
+
+
+
+
+
+ Contains the raw marshal blob data
+
+
+
+
+ Gets/sets the raw data
+
+
+
+
+ Constructor
+
+ Raw data
+
+
+
+ A marshal type
+
+
+
+
+ Gets/sets the size
+
+
+
+
+ true if is valid
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ Size
+
+
+
+
+
+
+ A marshal type
+
+
+
+
+ Gets/sets the variant type
+
+
+
+
+ Gets/sets the user-defined sub type (it's usually null)
+
+
+
+
+ true if is valid
+
+
+
+
+ true if is valid
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ Variant type
+
+
+
+ Constructor
+
+ User-defined sub type
+
+
+
+ Constructor
+
+ Variant type
+ User-defined sub type
+
+
+
+
+
+
+ A marshal type
+
+
+
+
+ Gets/sets the element type
+
+
+
+
+ Gets/sets the size
+
+
+
+
+ true if is valid
+
+
+
+
+ true if is valid
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ Size
+
+
+
+ Constructor
+
+ Size
+ Element type
+
+
+
+
+
+
+ A marshal type
+
+
+
+
+ Gets/sets the element type
+
+
+
+
+ Gets/sets the parameter number
+
+
+
+
+ Gets/sets the size of the array
+
+
+
+
+ Gets/sets the flags
+
+
+
+
+ true if is valid
+
+
+
+
+ true if is valid
+
+
+
+
+ true if is valid
+
+
+
+
+ true if is valid
+
+
+
+
+ true if ntaSizeParamIndexSpecified bit is set, false if it's not
+ set or if is invalid.
+
+
+
+
+ true if ntaSizeParamIndexSpecified bit is not set, false if it's
+ set or if is invalid.
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ Element type
+
+
+
+ Constructor
+
+ Element type
+ Parameter number
+
+
+
+ Constructor
+
+ Element type
+ Parameter number
+ Number of elements
+
+
+
+ Constructor
+
+ Element type
+ Parameter number
+ Number of elements
+ Flags
+
+
+
+
+
+
+ A marshal type
+
+
+
+
+ Gets/sets the GUID string
+
+
+
+
+ Gets/sets the native type name string
+
+
+
+
+ Gets/sets the custom marshaler
+
+
+
+
+ Gets/sets the cookie string
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ GUID string
+
+
+
+ Constructor
+
+ GUID string
+ Native type name string
+
+
+
+ Constructor
+
+ GUID string
+ Native type name string
+ Custom marshaler name string
+
+
+
+ Constructor
+
+ GUID string
+ Native type name string
+ Custom marshaler name string
+ Cookie string
+
+
+
+
+
+
+ A , or a
+ marshal type
+
+
+
+
+ Gets/sets the IID parameter index
+
+
+
+
+ true if is valid
+
+
+
+
+ Constructor
+
+ Native type
+
+
+
+ Constructor
+
+ Native type
+ IID parameter index
+
+
+
+
+
+
+ Metadata token
+
+
+
+
+ Mask to get the rid from a raw metadata token
+
+
+
+
+ Max rid value
+
+
+
+
+ Number of bits to right shift a raw metadata token to get the table index
+
+
+
+
+ Returns the table type
+
+
+
+
+ Returns the row id
+
+
+
+
+ Returns the raw token
+
+
+
+
+ Returns true if it's a null token
+
+
+
+
+ Constructor
+
+ Raw token
+
+
+
+ Constructor
+
+ Raw token
+
+
+
+ Constructor
+
+ The table type
+ Row id
+
+
+
+ Constructor
+
+ The table type
+ Row id
+
+
+
+ Returns the rid (row ID)
+
+ A raw metadata token
+ A rid
+
+
+
+ Returns the rid (row ID)
+
+ A raw metadata token
+ A rid
+
+
+
+ Returns the table
+
+ A raw metadata token
+ A metadata table index
+
+
+
+ Returns the table
+
+ A raw metadata token
+ A metadata table index
+
+
+
+ Gets the token as a raw 32-bit signed integer
+
+
+
+
+ Gets the token as a raw 32-bit unsigned integer
+
+
+
+ Overloaded operator
+
+
+ Overloaded operator
+
+
+ Overloaded operator
+
+
+ Overloaded operator
+
+
+ Overloaded operator
+
+
+ Overloaded operator
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Represents the #Blob stream
+
+
+
+
+
+
+
+
+
+
+ Reads data
+
+ Offset of data
+ The data or null if invalid offset
+
+
+
+ Reads data just like , but returns an empty array if
+ offset is invalid
+
+ Offset of data
+ The data
+
+
+
+ Creates a reader that can access a blob
+
+ Offset of blob
+ A new stream
+
+
+
+ Creates a reader that can access a blob or returns false on failure
+
+ Offset of blob
+ Updated with the reader
+
+
+
+
+ Contains all possible coded token classes
+
+
+
+ TypeDefOrRef coded token
+
+
+ HasConstant coded token
+
+
+ HasCustomAttribute coded token
+
+
+ HasFieldMarshal coded token
+
+
+ HasDeclSecurity coded token
+
+
+ MemberRefParent coded token
+
+
+ HasSemantic coded token
+
+
+ MethodDefOrRef coded token
+
+
+ MemberForwarded coded token
+
+
+ Implementation coded token
+
+
+ CustomAttributeType coded token
+
+
+ ResolutionScope coded token
+
+
+ TypeOrMethodDef coded token
+
+
+ HasCustomDebugInformation coded token
+
+
+
+ Returns all types of tables
+
+
+
+
+ Returns the number of bits that is used to encode table type
+
+
+
+
+ Constructor
+
+ Number of bits used to encode token type
+ All table types
+
+
+
+ Encodes a token
+
+ The token
+ Coded token
+
+
+
+
+ Encodes a token
+
+ The token
+ Coded token
+
+
+
+
+ Encodes a token
+
+ The token
+ Coded token
+ true if successful
+
+
+
+ Encodes a token
+
+ The token
+ Coded token
+ true if successful
+
+
+
+ Decodes a coded token
+
+ The coded token
+ Decoded token or 0 on failure
+
+
+
+
+ Decodes a coded token
+
+ The coded token
+ Decoded token or 0 on failure
+
+
+
+
+ Decodes a coded token
+
+ The coded token
+ Decoded token
+ true if successful
+
+
+
+ Decodes a coded token
+
+ The coded token
+ Decoded token
+ true if successful
+
+
+
+ Info about one column in a MD table
+
+
+
+
+ Gets the column index
+
+
+
+
+ Returns the column offset within the table row
+
+
+
+
+ Returns the column size
+
+
+
+
+ Returns the column name
+
+
+
+
+ Returns the ColumnSize enum value
+
+
+
+
+ Constructor
+
+ Column index
+ The column name
+ Column size
+
+
+
+ Constructor
+
+ Column index
+ The column name
+ Column size
+ Offset of column
+ Size of column
+
+
+
+ Reads the column
+
+ A reader positioned on this column
+ The column value
+
+
+
+ Writes a column
+
+ The writer position on this column
+ The column value
+
+
+
+ MD table column size
+
+
+
+ RID into Module table
+
+
+ RID into TypeRef table
+
+
+ RID into TypeDef table
+
+
+ RID into FieldPtr table
+
+
+ RID into Field table
+
+
+ RID into MethodPtr table
+
+
+ RID into Method table
+
+
+ RID into ParamPtr table
+
+
+ RID into Param table
+
+
+ RID into InterfaceImpl table
+
+
+ RID into MemberRef table
+
+
+ RID into Constant table
+
+
+ RID into CustomAttribute table
+
+
+ RID into FieldMarshal table
+
+
+ RID into DeclSecurity table
+
+
+ RID into ClassLayout table
+
+
+ RID into FieldLayout table
+
+
+ RID into StandAloneSig table
+
+
+ RID into EventMap table
+
+
+ RID into EventPtr table
+
+
+ RID into Event table
+
+
+ RID into PropertyMap table
+
+
+ RID into PropertyPtr table
+
+
+ RID into Property table
+
+
+ RID into MethodSemantics table
+
+
+ RID into MethodImpl table
+
+
+ RID into ModuleRef table
+
+
+ RID into TypeSpec table
+
+
+ RID into ImplMap table
+
+
+ RID into FieldRVA table
+
+
+ RID into ENCLog table
+
+
+ RID into ENCMap table
+
+
+ RID into Assembly table
+
+
+ RID into AssemblyProcessor table
+
+
+ RID into AssemblyOS table
+
+
+ RID into AssemblyRef table
+
+
+ RID into AssemblyRefProcessor table
+
+
+ RID into AssemblyRefOS table
+
+
+ RID into File table
+
+
+ RID into ExportedType table
+
+
+ RID into ManifestResource table
+
+
+ RID into NestedClass table
+
+
+ RID into GenericParam table
+
+
+ RID into MethodSpec table
+
+
+ RID into GenericParamConstraint table
+
+
+ RID into Document table
+
+
+ RID into MethodDebugInformation table
+
+
+ RID into LocalScope table
+
+
+ RID into LocalVariable table
+
+
+ RID into LocalConstant table
+
+
+ RID into ImportScope table
+
+
+ RID into StateMachineMethod table
+
+
+ RID into CustomDebugInformation table
+
+
+ 8-bit byte
+
+
+ 16-bit signed int
+
+
+ 16-bit unsigned int
+
+
+ 32-bit signed int
+
+
+ 32-bit unsigned int
+
+
+ Index into #Strings stream
+
+
+ Index into #GUID stream
+
+
+ Index into #Blob stream
+
+
+ TypeDefOrRef encoded token
+
+
+ HasConstant encoded token
+
+
+ HasCustomAttribute encoded token
+
+
+ HasFieldMarshal encoded token
+
+
+ HasDeclSecurity encoded token
+
+
+ MemberRefParent encoded token
+
+
+ HasSemantic encoded token
+
+
+ MethodDefOrRef encoded token
+
+
+ MemberForwarded encoded token
+
+
+ Implementation encoded token
+
+
+ CustomAttributeType encoded token
+
+
+ ResolutionScope encoded token
+
+
+ TypeOrMethodDef encoded token
+
+
+ HasCustomDebugInformation encoded token
+
+
+
+ See COMIMAGE_FLAGS_XXX in CorHdr.h in the Windows SDK
+
+
+
+
+ See COMIMAGE_FLAGS_ILONLY in the Windows SDK
+
+
+
+
+ See COMIMAGE_FLAGS_32BITREQUIRED in the Windows SDK
+
+
+
+
+ Set if a native header exists (COMIMAGE_FLAGS_IL_LIBRARY)
+
+
+
+
+ See COMIMAGE_FLAGS_STRONGNAMESIGNED in the Windows SDK
+
+
+
+
+ See COMIMAGE_FLAGS_NATIVE_ENTRYPOINT in the Windows SDK
+
+
+
+
+ See COMIMAGE_FLAGS_TRACKDEBUGDATA in the Windows SDK
+
+
+
+
+ See COMIMAGE_FLAGS_32BITPREFERRED in the Windows SDK
+
+
+
+
+ Used when a #~ stream is present in the metadata
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Gets a rid list (eg. field list)
+
+ Source table, eg. TypeDef
+ Row ID in
+ Column index in , eg. 4 for TypeDef.FieldList
+ Destination table, eg. Field
+ A new instance
+
+
+
+
+
+
+ A custom .NET metadata stream
+
+
+
+
+ Constructor
+
+
+
+
+ Constructor
+
+ Data reader factory
+ Offset of metadata
+ The stream header
+
+
+
+ .NET metadata stream
+
+
+
+
+ Reader that can access the whole stream.
+
+ NOTE: Always copy this field to a local variable before using it since it must be thread safe.
+
+
+
+
+ null if it wasn't present in the file
+
+
+
+
+
+
+
+
+
+
+ Gets the length of this stream in the metadata
+
+
+
+
+ Gets the stream header
+
+
+
+
+ Gets the name of the stream
+
+
+
+
+ Gets a data reader that can read the full stream
+
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ Data reader factory
+ Offset of metadata
+ The stream header
+
+
+
+ Called after gets recreated
+
+
+
+
+
+
+
+ Dispose method
+
+ true if called by
+
+
+
+ Checks whether an index is valid
+
+ The index
+ true if the index is valid
+
+
+
+ Check whether an offset is within the stream
+
+ Stream offset
+ true if the offset is valid
+
+
+
+ Check whether an offset is within the stream
+
+ Stream offset
+ Size of data
+ true if the offset is valid
+
+
+
+ Base class of #US, #Strings, #Blob, and #GUID classes
+
+
+
+
+
+
+
+
+
+
+ Initializes .NET table row sizes
+
+
+
+
+ Initializes the table sizes
+
+ true if #Strings size >= 0x10000
+ true if #GUID size >= 0x10000
+ true if #Blob size >= 0x10000
+ Count of rows in each table
+ Count of rows in each table (debug tables)
+
+
+
+ Initializes the table sizes
+
+ true if #Strings size >= 0x10000
+ true if #GUID size >= 0x10000
+ true if #Blob size >= 0x10000
+ Count of rows in each table
+ Count of rows in each table (debug tables)
+ Force all columns to 4 bytes instead of 2 or 4 bytes
+
+
+
+ Creates the table infos
+
+ Major table version
+ Minor table version
+ All table infos (not completely initialized)
+
+
+
+ Creates the table infos
+
+ Major table version
+ Minor table version
+ Initialized to max present tables (eg. 42 or 45)
+ All table infos (not completely initialized)
+
+
+
+ Used when a #- stream is present in the metadata
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Converts a logical Field rid to a physical Field rid
+
+ A valid rid
+ Converted rid or any invalid rid value if is invalid
+
+
+
+ Converts a logical Method rid to a physical Method rid
+
+ A valid rid
+ Converted rid or any invalid rid value if is invalid
+
+
+
+ Converts a logical Param rid to a physical Param rid
+
+ A valid rid
+ Converted rid or any invalid rid value if is invalid
+
+
+
+ Converts a logical Event rid to a physical Event rid
+
+ A valid rid
+ Converted rid or any invalid rid value if is invalid
+
+
+
+ Converts a logical Property rid to a physical Property rid
+
+ A valid rid
+ Converted rid or any invalid rid value if is invalid
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Gets a rid list (eg. field list)
+
+ Source table, eg. TypeDef
+ Row ID in
+ Column index in , eg. 4 for TypeDef.FieldList
+ Destination table, eg. Field
+ A new instance
+
+
+
+
+
+
+
+
+
+ Represents the #GUID stream
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Read a
+
+ Index into this stream
+ A or null if is 0 or invalid
+
+
+
+ Heap type. The values are set in stone by MS. Don't change.
+
+
+
+ #Strings heap
+
+
+ #GUID heap
+
+
+ #Blob heap
+
+
+ #US heap
+
+
+
+ Represents the IMAGE_COR20_HEADER structure
+
+
+
+
+ Returns true if it has a native header
+
+
+
+
+ Returns the IMAGE_COR20_HEADER.cb field
+
+
+
+
+ Returns the IMAGE_COR20_HEADER.MajorRuntimeVersion field
+
+
+
+
+ Returns the IMAGE_COR20_HEADER.MinorRuntimeVersion field
+
+
+
+
+ Returns the IMAGE_COR20_HEADER.Metadata field
+
+
+
+
+ Returns the IMAGE_COR20_HEADER.Flags field
+
+
+
+
+ Returns the IMAGE_COR20_HEADER.EntryPointToken/EntryPointTokenRVA field
+
+
+
+
+ Returns the IMAGE_COR20_HEADER.Resources field
+
+
+
+
+ Returns the IMAGE_COR20_HEADER.StrongNameSignature field
+
+
+
+
+ Returns the IMAGE_COR20_HEADER.CodeManagerTable field
+
+
+
+
+ Returns the IMAGE_COR20_HEADER.VTableFixups field
+
+
+
+
+ Returns the IMAGE_COR20_HEADER.ExportAddressTableJumps field
+
+
+
+
+ Returns the IMAGE_COR20_HEADER.ManagedNativeHeader field
+
+
+
+
+ Constructor
+
+ PE file reader pointing to the start of this section
+ Verify section
+ Thrown if verification fails
+
+
+
+ Reads metadata table columns
+
+
+
+
+ Reads a column
+
+ The table to read from
+ Table row id
+ The column to read
+ Result
+ true if was updated, false if
+ the column should be read from the original table.
+
+
+
+ Reads table rows
+
+ Raw row
+
+
+
+ Reads a table row or returns false if the row should be read from the original table
+
+ Row id
+ The row
+
+
+
+
+ Version strings found in the meta data header
+
+
+
+
+ MS CLR 1.0 version string (.NET Framework 1.0)
+
+
+
+
+ MS CLR 1.0 version string (.NET Framework 1.0). This is an incorrect version that shouldn't be used.
+
+
+
+
+ MS CLR 1.0 version string (.NET Framework 1.0). This is an incorrect version that shouldn't be used.
+
+
+
+
+ MS CLR 1.0 version string (.NET Framework 1.0). This is an incorrect version that shouldn't be used.
+
+
+
+
+ MS CLR 1.1 version string (.NET Framework 1.1)
+
+
+
+
+ MS CLR 2.0 version string (.NET Framework 2.0-3.5)
+
+
+
+
+ MS CLR 4.0 version string (.NET Framework 4.0-4.5)
+
+
+
+
+ MS CLR 1.0 any version
+
+
+
+
+ MS CLR 1.0 any version
+
+
+
+
+ MS CLR 1.1 any version
+
+
+
+
+ MS CLR 2.0 any version
+
+
+
+
+ MS CLR 4.0 any version
+
+
+
+
+ ECMA 2002 version string
+
+
+
+
+ ECMA 2005 version string
+
+
+
+
+ Portable PDB v1.0
+
+
+
+
+ MDStream flags
+
+
+
+ #Strings stream is big and requires 4 byte offsets
+
+
+ #GUID stream is big and requires 4 byte offsets
+
+
+ #Blob stream is big and requires 4 byte offsets
+
+
+
+
+
+
+
+
+ Extra data follows the row counts
+
+
+ Set if certain tables can contain deleted rows. The name column (if present) is set to "_Deleted"
+
+
+
+ A MD table (eg. Method table)
+
+
+
+
+
+
+
+
+
+
+ Gets the table
+
+
+
+
+ Gets the name of this table
+
+
+
+
+ Returns total number of rows
+
+
+
+
+ Gets the total size in bytes of one row in this table
+
+
+
+
+ Returns all the columns
+
+
+
+
+ Returns true if there are no valid rows
+
+
+
+
+ Returns info about this table
+
+
+
+
+ Constructor
+
+ The table
+ Number of rows in this table
+ Info about this table
+
+
+
+ Checks whether the row exists
+
+ Row ID
+
+
+
+ Checks whether the row does not exist
+
+ Row ID
+
+
+
+
+
+
+ Reads .NET metadata
+
+
+
+
+ true if the compressed (normal) metadata is used, false if the non-compressed
+ (Edit N' Continue) metadata is used. This can be false even if the table stream
+ is #~ but that's very uncommon.
+
+
+
+
+ true if this is standalone Portable PDB metadata
+
+
+
+
+ Gets the .NET header
+
+
+
+
+ Gets the version found in the metadata header. The major version number is in the high 16 bits
+ and the lower version number is in the low 16 bits.
+
+
+
+
+ Gets the version string found in the metadata header
+
+
+
+
+ Gets the
+
+
+
+
+ Gets the metadata header
+
+
+
+
+ Returns the #Strings stream or a default empty one if it's not present
+
+
+
+
+ Returns the #US stream or a default empty one if it's not present
+
+
+
+
+ Returns the #Blob stream or a default empty one if it's not present
+
+
+
+
+ Returns the #GUID stream or a default empty one if it's not present
+
+
+
+
+ Returns the #~ or #- tables stream
+
+
+
+
+ Returns the #Pdb stream or null if it's not a standalone portable PDB file
+
+
+
+
+ Gets all streams
+
+
+
+
+ Gets a list of all the valid TypeDef rids. It's usually every rid in the
+ TypeDef table, but could be less if a type has been deleted.
+
+
+
+
+ Gets a list of all the valid ExportedType rids. It's usually every rid in the
+ ExportedType table, but could be less if a type has been deleted.
+
+
+
+
+ Gets the Field rid list
+
+ TypeDef rid
+ A new instance
+
+
+
+ Gets the Method rid list
+
+ TypeDef rid
+ A new instance
+
+
+
+ Gets the Param rid list
+
+ Method rid
+ A new instance
+
+
+
+ Gets the Event rid list
+
+ EventMap rid
+ A new instance
+
+
+
+ Gets the Property rid list
+
+ PropertyMap rid
+ A new instance
+
+
+
+ Finds all InterfaceImpl rids owned by
+
+ Owner TypeDef rid
+ A instance containing the valid InterfaceImpl rids
+
+
+
+ Finds all GenericParam rids owned by in table
+
+ A TypeOrMethodDef table
+ Owner rid
+ A instance containing the valid GenericParam rids
+
+
+
+ Finds all GenericParamConstraint rids owned by
+
+ Owner GenericParam rid
+ A instance containing the valid GenericParamConstraint rids
+
+
+
+ Finds all CustomAttribute rids owned by in table
+
+ A HasCustomAttribute table
+ Owner rid
+ A instance containing the valid CustomAttribute rids
+
+
+
+ Finds all DeclSecurity rids owned by in table
+
+ A HasDeclSecurity table
+ Owner rid
+ A instance containing the valid DeclSecurity rids
+
+
+
+ Finds all MethodSemantics rids owned by in table
+
+ A HasSemantic table
+ Owner rid
+ A instance containing the valid MethodSemantics rids
+
+
+
+ Finds all MethodImpl rids owned by
+
+ Owner TypeDef rid
+ A instance containing the valid MethodImpl rids
+
+
+
+ Finds a ClassLayout rid
+
+ Owner TypeDef rid
+ The ClassLayout rid or 0 if is invalid
+ or if it has no row in the ClassLayout table.
+
+
+
+ Finds a FieldLayout rid
+
+ Owner Field rid
+ The FieldLayout rid or 0 if is invalid
+ or if it has no row in the FieldLayout table.
+
+
+
+ Finds a FieldMarshal rid
+
+ A HasFieldMarshal table
+ Owner rid
+ The FieldMarshal rid or 0 if is invalid
+ or if it has no row in the FieldMarshal table.
+
+
+
+ Finds a FieldRVA rid
+
+ Owner Field rid
+ The FieldRVA rid or 0 if is invalid
+ or if it has no row in the FieldRVA table.
+
+
+
+ Finds an ImplMap rid
+
+ A MemberForwarded table
+ Owner rid
+ The ImplMap rid or 0 if is invalid
+ or if it has no row in the ImplMap table.
+
+
+
+ Finds a NestedClass rid
+
+ Owner TypeDef rid
+ The NestedClass rid or 0 if is invalid
+ or if it has no row in the NestedClass table.
+
+
+
+ Finds an EventMap rid
+
+ Owner TypeDef rid
+ The EventMap rid or 0 if is invalid
+ or if it has no row in the EventMap table.
+
+
+
+ Finds a PropertyMap rid
+
+ Owner TypeDef rid
+ The PropertyMap rid or 0 if is invalid
+ or if it has no row in the PropertyMap table.
+
+
+
+ Finds a Constant rid
+
+ A HasConstant table
+ Owner rid
+ The Constant rid or 0 if is invalid
+ or if it has no row in the Constant table.
+
+
+
+ Returns the owner TypeDef rid
+
+ A Field rid
+ The owner TypeDef rid or 0 if is invalid
+ or if it has no owner.
+
+
+
+ Returns the owner TypeDef rid
+
+ A Method rid
+ The owner TypeDef rid or 0 if is invalid
+ or if it has no owner.
+
+
+
+ Returns the owner TypeDef rid
+
+ A Event rid
+ The owner TypeDef rid or 0 if is invalid
+ or if it has no owner.
+
+
+
+ Returns the owner TypeDef rid
+
+ A Property rid
+ The owner TypeDef rid or 0 if is invalid
+ or if it has no owner.
+
+
+
+ Returns the owner TypeOrMethodDef rid
+
+ A GenericParam rid
+ The owner TypeOrMethodDef rid or 0 if is
+ invalid or if it has no owner.
+
+
+
+ Returns the owner GenericParam rid
+
+ A GenericParamConstraint rid
+ The owner GenericParam rid or 0 if is
+ invalid or if it has no owner.
+
+
+
+ Returns the owner Method rid
+
+ A Param rid
+ The owner Method rid or 0 if is invalid
+ or if it has no owner.
+
+
+
+ Gets a list of all nested classes owned by
+
+ A TypeDef rid
+ A new instance
+
+
+
+ Gets a list of all non-nested classes. A type is a non-nested type if
+ returns an empty list.
+
+ A new instance
+
+
+
+ Finds all LocalScope rids owned by
+
+ Owner Method rid
+ A instance containing the valid LocalScope rids
+
+
+
+ Finds all LocalVariable rids owned by
+
+ Owner LocalScope rid
+ A instance containing the valid LocalVariable rids
+
+
+
+ Finds all LocalConstant rids owned by
+
+ Owner LocalScope rid
+ A instance containing the valid LocalConstant rids
+
+
+
+ Gets the StateMachineMethod rid or 0 if it's not a state machine method
+
+ Owner Method rid
+
+
+
+
+ Finds all CustomDebugInformation rids owned by in table
+
+ A HasCustomDebugInformation table
+ Owner rid
+ A instance containing the valid CustomDebugInformation rids
+
+
+
+ Disposes of this instance
+
+
+
+
+ Common base class for #~ and #- metadata classes
+
+
+
+
+ The PE image
+
+
+
+
+ The .NET header
+
+
+
+
+ The MD header
+
+
+
+
+ The #Strings stream
+
+
+
+
+ The #US stream
+
+
+
+
+ The #Blob stream
+
+
+
+
+ The #GUID stream
+
+
+
+
+ The #~ or #- stream
+
+
+
+
+ The #Pdb stream
+
+
+
+
+ All the streams that are present in the PE image
+
+
+
+ true if this is standalone Portable PDB metadata
+
+
+
+ Sorts a table by key column
+
+
+
+
+ Remembers rid and key
+
+
+
+
+ Constructor
+
+ Row ID
+ Key
+
+
+
+ Constructor
+
+ The MD table
+ Index of key column
+
+
+
+ Binary searches for a row with a certain key
+
+ The key
+ The row or 0 if not found
+
+
+
+ Find all rids that contain
+
+ The key
+ A new instance
+
+
+
+ Constructor
+
+ The PE image
+ The .NET header
+ The MD header
+
+
+
+ Initializes the metadata, tables, streams
+
+
+
+
+ Creates empty heap objects if they're not present in the metadata
+
+
+
+
+ Called by
+
+
+
+
+ Binary searches the table for a rid whose key column at index
+ is equal to .
+
+ Table to search
+ Key column index
+ Key
+ The rid of the found row, or 0 if none found
+
+
+
+ Finds all rows owned by in table
+ whose index is
+
+ Table to search
+ Key column index
+ Key
+ A instance
+
+
+
+ Finds all rows owned by in table
+ whose index is . Should be called if
+ could be unsorted.
+
+ Table to search
+ Key column index
+ Key
+ A instance
+
+
+
+ Dispose method
+
+ true if called by
+
+
+
+ Low level access to a .NET file's metadata
+
+
+
+
+ Create a instance
+
+ The PE image
+ A new instance
+
+
+
+ Create a instance
+
+ The PE image
+ Runtime reader kind
+ A new instance
+
+
+
+ Create a instance
+
+ The PE image
+ true if we should verify that it's a .NET PE file
+ A new instance
+
+
+
+ Create a instance
+
+ The PE image
+ Runtime reader kind
+ true if we should verify that it's a .NET PE file
+ A new instance
+
+
+
+ Create a instance
+
+ The PE image
+ Runtime reader kind
+ true if we should verify that it's a .NET PE file
+ A new instance
+
+
+
+ Create a standalone portable PDB instance
+
+ Metadata stream
+ true if we should verify that it's a .NET PE file
+ A new instance
+
+
+
+ Represents the .NET metadata header
+
+ IMAGE_COR20_HEADER.Metadata points to this header
+
+
+
+ Returns the signature (should be 0x424A5342)
+
+
+
+
+ Returns the major version
+
+
+
+
+ Returns the minor version
+
+
+
+
+ Returns the reserved dword (pointer to extra header data)
+
+
+
+
+ Returns the version string length value
+
+
+
+
+ Returns the version string
+
+
+
+
+ Returns the offset of STORAGEHEADER
+
+
+
+
+ Returns the flags (reserved)
+
+
+
+
+ Returns the reserved byte (padding)
+
+
+
+
+ Returns the number of streams
+
+
+
+
+ Returns all stream headers
+
+
+
+
+ Constructor
+
+ PE file reader pointing to the start of this section
+ Verify section
+ Thrown if verification fails
+
+
+
+ Constructor
+
+ PE file reader pointing to the start of this section
+ Runtime reader kind
+ Verify section
+ Thrown if verification fails
+
+
+
+ #Pdb stream
+
+
+
+
+ Gets the PDB id
+
+
+
+
+ Gets the entry point token or 0
+
+
+
+
+ Gets the referenced type system tables in the PE metadata file
+
+
+
+
+ Gets all type system table rows. This array has exactly 64 elements.
+
+
+
+
+
+
+
+ Equality comparer for all raw rows
+
+
+
+
+ Default instance
+
+
+
+
+ Raw contents of an uncompressed Module table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed TypeRef table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed TypeDef table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed FieldPtr table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed Field table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed MethodPtr table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed Method table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed ParamPtr table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed Param table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed InterfaceImpl table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed MemberRef table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed Constant table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed CustomAttribute table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed FieldMarshal table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed DeclSecurity table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed ClassLayout table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed FieldLayout table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed StandAloneSig table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed EventMap table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed EventPtr table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed Event table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed PropertyMap table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed PropertyPtr table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed Property table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed MethodSemantics table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed MethodImpl table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed ModuleRef table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed TypeSpec table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed ImplMap table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed FieldRVA table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed ENCLog table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed ENCMap table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed Assembly table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed AssemblyProcessor table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed AssemblyOS table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed AssemblyRef table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed AssemblyRefProcessor table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed AssemblyRefOS table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed File table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed ExportedType table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed ManifestResource table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed NestedClass table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed GenericParam table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed MethodSpec table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed GenericParamConstraint table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed Document table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed MethodDebugInformation table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed LocalScope table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed LocalVariable table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed LocalConstant table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed ImportScope table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed StateMachineMethod table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed CustomDebugInformation table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Stores a list of rids
+
+
+
+
+ Gets the empty instance
+
+
+
+
+ Creates a new instance
+
+
+
+
+
+
+
+ Creates a new instance
+
+ List of valid rids
+
+
+
+
+ Gets the 'th rid
+
+ Index. Must be <
+ A rid or 0 if is invalid
+
+
+
+ Gets the number of rids it will iterate over
+
+
+
+
+ Enumerator
+
+
+
+
+ Gets the current rid
+
+
+
+
+ Disposes this instance
+
+
+
+
+ Moves to the next rid
+
+
+
+
+
+ Gets the enumerator
+
+
+
+
+
+ Storage flags found in the MD header
+
+
+
+
+ Normal flags
+
+
+
+
+ More data after the header but before the streams.
+
+ The CLR will fail to load the file if this flag (or any other bits) is set.
+
+
+
+ A metadata stream header
+
+
+
+
+ The offset of the stream relative to the start of the metadata header
+
+
+
+
+ The size of the stream
+
+
+
+
+ The name of the stream
+
+
+
+
+ Constructor
+
+ PE file reader pointing to the start of this section
+ Verify section
+ Thrown if verification fails
+
+
+
+ Represents the #Strings stream
+
+
+
+
+
+
+
+
+
+
+ Reads a
+
+ Offset of string
+ A instance or null if invalid offset
+
+
+
+ Reads a . The empty string is returned if
+ is invalid.
+
+ Offset of string
+ A instance
+
+
+
+ The metadata tables
+
+
+
+ Module table (00h)
+
+
+ TypeRef table (01h)
+
+
+ TypeDef table (02h)
+
+
+ FieldPtr table (03h)
+
+
+ Field table (04h)
+
+
+ MethodPtr table (05h)
+
+
+ Method table (06h)
+
+
+ ParamPtr table (07h)
+
+
+ Param table (08h)
+
+
+ InterfaceImpl table (09h)
+
+
+ MemberRef table (0Ah)
+
+
+ Constant table (0Bh)
+
+
+ CustomAttribute table (0Ch)
+
+
+ FieldMarshal table (0Dh)
+
+
+ DeclSecurity table (0Eh)
+
+
+ ClassLayout table (0Fh)
+
+
+ FieldLayout table (10h)
+
+
+ StandAloneSig table (11h)
+
+
+ EventMap table (12h)
+
+
+ EventPtr table (13h)
+
+
+ Event table (14h)
+
+
+ PropertyMap table (15h)
+
+
+ PropertyPtr table (16h)
+
+
+ Property table (17h)
+
+
+ MethodSemantics table (18h)
+
+
+ MethodImpl table (19h)
+
+
+ ModuleRef table (1Ah)
+
+
+ TypeSpec table (1Bh)
+
+
+ ImplMap table (1Ch)
+
+
+ FieldRVA table (1Dh)
+
+
+ ENCLog table (1Eh)
+
+
+ ENCMap table (1Fh)
+
+
+ Assembly table (20h)
+
+
+ AssemblyProcessor table (21h)
+
+
+ AssemblyOS table (22h)
+
+
+ AssemblyRef table (23h)
+
+
+ AssemblyRefProcessor table (24h)
+
+
+ AssemblyRefOS table (25h)
+
+
+ File table (26h)
+
+
+ ExportedType table (27h)
+
+
+ ManifestResource table (28h)
+
+
+ NestedClass table (29h)
+
+
+ GenericParam table (2Ah)
+
+
+ MethodSpec table (2Bh)
+
+
+ GenericParamConstraint table (2Ch)
+
+
+ (Portable PDB) Document table (30h)
+
+
+ (Portable PDB) MethodDebugInformation table (31h)
+
+
+ (Portable PDB) LocalScope table (32h)
+
+
+ (Portable PDB) LocalVariable table (33h)
+
+
+ (Portable PDB) LocalConstant table (34h)
+
+
+ (Portable PDB) ImportScope table (35h)
+
+
+ (Portable PDB) StateMachineMethod table (36h)
+
+
+ (Portable PDB) CustomDebugInformation table (37h)
+
+
+
+ Info about one MD table
+
+
+
+
+ Returns the table type
+
+
+
+
+ Returns the total size of a row in bytes
+
+
+
+
+ Returns all the columns
+
+
+
+
+ Returns the name of the table
+
+
+
+
+ Constructor
+
+ Table type
+ Table name
+ All columns
+
+
+
+ Constructor
+
+ Table type
+ Table name
+ All columns
+ Row size
+
+
+
+ .NET metadata tables stream
+
+
+
+
+ Gets/sets the column reader
+
+
+
+
+ Gets/sets the Method table reader
+
+
+
+
+ Gets the reserved field
+
+
+
+
+ Gets the version. The major version is in the upper 8 bits, and the minor version
+ is in the lower 8 bits.
+
+
+
+
+ Gets
+
+
+
+
+ Gets the reserved log2 rid field
+
+
+
+
+ Gets the valid mask
+
+
+
+
+ Gets the sorted mask
+
+
+
+
+ Gets the extra data
+
+
+
+
+ Gets the MD tables
+
+
+
+
+ Gets the bit
+
+
+
+
+ Gets the bit
+
+
+
+
+ Gets the bit
+
+
+
+
+ Gets the bit
+
+
+
+
+ Gets the bit
+
+
+
+
+ Gets the bit
+
+
+
+
+ Gets the bit
+
+
+
+
+ Constructor
+
+ factory
+ Offset of metadata
+ Stream header
+
+
+
+ Constructor
+
+ factory
+ Offset of metadata
+ Stream header
+ Runtime kind
+
+
+
+ Initializes MD tables
+
+ Type system table rows (from #Pdb stream)
+
+
+
+ Initializes MD tables
+
+ Type system table rows (from #Pdb stream)
+ Force all columns to 4 bytes instead of 2 or 4 bytes
+
+
+
+
+
+
+
+
+
+ Returns a MD table
+
+ The table type
+ A or null if table doesn't exist
+
+
+
+ Checks whether a table exists
+
+ The table type
+ true if the table exists
+
+
+
+ Checks whether table is sorted
+
+ The table
+
+
+
+ Reads a raw Module row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw TypeRef row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw TypeDef row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw FieldPtr row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw Field row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw MethodPtr row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw Method row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw ParamPtr row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw Param row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw InterfaceImpl row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw MemberRef row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw Constant row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw CustomAttribute row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw FieldMarshal row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw DeclSecurity row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw ClassLayout row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw FieldLayout row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw StandAloneSig row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw EventMap row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw EventPtr row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw Event row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw PropertyMap row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw PropertyPtr row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw Property row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw MethodSemantics row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw MethodImpl row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw ModuleRef row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw TypeSpec row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw ImplMap row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw FieldRVA row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw ENCLog row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw ENCMap row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw Assembly row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw AssemblyProcessor row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw AssemblyOS row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw AssemblyRef row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw AssemblyRefProcessor row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw AssemblyRefOS row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw File row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw ExportedType row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw ManifestResource row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw NestedClass row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw GenericParam row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw MethodSpec row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw GenericParamConstraint row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw Document row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw MethodDebugInformation row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw LocalScope row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw LocalVariable row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw LocalConstant row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw ImportScope row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw StateMachineMethod row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw CustomDebugInformation row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a column
+
+ The table
+ Row ID
+ Column index in
+ Result is put here or 0 if we return false
+ true if we could read the column, false otherwise
+
+
+
+ Reads a column
+
+ The table
+ Row ID
+ Column
+ Result is put here or 0 if we return false
+ true if we could read the column, false otherwise
+
+
+
+ Represents the #US stream
+
+
+
+
+
+
+
+
+
+
+ Reads a unicode string
+
+ Offset of unicode string
+ A string or null if is invalid
+
+
+
+ Reads data just like , but returns an empty string if
+ offset is invalid
+
+ Offset of unicode string
+ The string
+
+
+
+ Finds types, fields, methods, etc in a module. If nothing has been added to the module, it's
+ faster to call ResolveMethodDef(), ResolveTypeRef() etc.
+
+
+
+
+ All found s
+
+
+
+
+ All found s
+
+
+
+
+ All found s
+
+
+
+
+ All found s
+
+
+
+
+ All found s
+
+
+
+
+ All found s
+
+
+
+
+ All found s
+
+
+
+
+ All found s
+
+
+
+
+ All found s
+
+
+
+
+ All found s
+
+
+
+
+ All found s
+
+
+
+
+ All found s
+
+
+
+
+ All found s
+
+
+
+
+ Finds all types, fields, etc
+
+ The module to scan
+ Itself
+
+
+
+ Methods to load properties to make sure they're initialized
+
+
+
+
+ Read every collection element
+
+ Collection element type
+ Collection
+
+
+
+ Load the object instance
+
+ The value (ignored)
+
+
+
+ A high-level representation of a row in the MemberRef table
+
+
+
+
+ The row id in its table
+
+
+
+
+ The owner module
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ From column MemberRef.Class
+
+
+
+
+
+
+
+ From column MemberRef.Name
+
+
+
+ Name
+
+
+
+ From column MemberRef.Signature
+
+
+
+
+
+
+
+ Gets all custom attributes
+
+
+
+
+
+
+ Initializes
+
+
+
+
+
+
+
+
+
+
+
+
+ Gets all custom debug infos
+
+
+
+
+
+
+ Initializes
+
+
+
+
+
+
+ true if this is a method reference ( != null)
+
+
+
+
+ true if this is a field reference ( != null)
+
+
+
+
+ Gets/sets the method sig
+
+
+
+
+ Gets/sets the field sig
+
+
+
+
+
+
+
+ true if the method has a hidden 'this' parameter
+
+
+
+
+ true if the method has an explicit 'this' parameter
+
+
+
+
+ Gets the calling convention
+
+
+
+
+ Gets/sets the method return type
+
+
+
+
+
+
+
+ Gets the full name
+
+
+
+
+ Get the declaring type's full name
+
+ Full name or null if there's no declaring type
+
+
+
+ Get the declaring type's name
+
+ Name or null if there's no declaring type
+
+
+
+ Resolves the method/field
+
+ A or a instance or null
+ if it couldn't be resolved.
+
+
+
+ Resolves the method/field
+
+ A or a instance
+ If the method/field couldn't be resolved
+
+
+
+ Resolves the field
+
+ A instance or null if it couldn't be resolved.
+
+
+
+ Resolves the field
+
+ A instance
+ If the field couldn't be resolved
+
+
+
+ Resolves the method
+
+ A instance or null if it couldn't be resolved.
+
+
+
+ Resolves the method
+
+ A instance
+ If the method couldn't be resolved
+
+
+
+ Gets a that can be used as signature context
+
+ Context passed to the constructor
+ Field/method class owner
+
+
+
+
+
+
+
+ A MemberRef row created by the user and not present in the original .NET file
+
+
+
+
+ Constructor
+
+ Owner module
+
+
+
+ Constructor
+
+ Owner module
+ Name of ref
+
+
+
+ Constructor
+
+ Owner module
+ Name of field ref
+ Field sig
+
+
+
+ Constructor
+
+ Owner module
+ Name of field ref
+ Field sig
+ Owner of field
+
+
+
+ Constructor
+
+ Owner module
+ Name of method ref
+ Method sig
+
+
+
+ Constructor
+
+ Owner module
+ Name of method ref
+ Method sig
+ Owner of method
+
+
+
+ Created from a row in the MemberRef table
+
+
+
+ The module where this instance is located
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor
+
+ The module which contains this MemberRef row
+ Row ID
+ Generic parameter context
+ If is null
+ If is invalid
+
+
+
+ Method attributes, see CorHdr.h/CorMethodAttr
+
+
+
+ member access mask - Use this mask to retrieve accessibility information.
+
+
+ Member not referenceable.
+
+
+ Member not referenceable.
+
+
+ Accessible only by the parent type.
+
+
+ Accessible by sub-types only in this Assembly.
+
+
+ Accessibly by anyone in the Assembly.
+
+
+ Accessible only by type and sub-types.
+
+
+ Accessibly by sub-types anywhere, plus anyone in assembly.
+
+
+ Accessibly by anyone who has visibility to this scope.
+
+
+ Defined on type, else per instance.
+
+
+ Method may not be overridden.
+
+
+ Method virtual.
+
+
+ Method hides by name+sig, else just by name.
+
+
+ vtable layout mask - Use this mask to retrieve vtable attributes.
+
+
+ The default.
+
+
+ Method always gets a new slot in the vtable.
+
+
+ Overridability is the same as the visibility.
+
+
+ Method does not provide an implementation.
+
+
+ Method is special. Name describes how.
+
+
+ Implementation is forwarded through pinvoke.
+
+
+ Managed method exported via thunk to unmanaged code.
+
+
+ Runtime should check name encoding.
+
+
+ Method has security associate with it.
+
+
+ Method calls another method containing security code.
+
+
+
+ A high-level representation of a row in the Method table
+
+
+
+
+ The row id in its table
+
+
+
+
+ All parameters
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ From column Method.RVA
+
+
+
+
+
+
+
+ From column Method.ImplFlags
+
+
+
+ Implementation attributes
+
+
+
+ From column Method.Flags
+
+
+
+ Attributes
+
+
+
+ From column Method.Name
+
+
+
+ Name
+
+
+
+ From column Method.Signature
+
+
+
+
+
+
+
+ From column Method.ParamList
+
+
+
+
+
+
+ Initializes
+
+
+
+
+
+
+
+
+ Initializes
+
+
+
+
+
+
+
+
+ Initializes
+
+
+
+
+
+
+
+
+
+
+
+ Called to initialize
+
+
+ Reset
+
+
+
+ Gets/sets the method body. See also
+
+
+
+
+
+
+
+
+
+
+ Frees the method body if it has been loaded. This does nothing if
+ returns false.
+
+
+
+ Called to initialize
+
+
+
+ true if can free the method body
+
+
+
+
+ Gets all custom attributes
+
+
+
+
+
+
+ Initializes
+
+
+
+
+
+
+
+
+
+ Gets all custom debug infos
+
+
+
+
+
+
+ Initializes
+
+
+
+ Gets the methods this method implements
+
+
+
+
+
+
+ Initializes
+
+
+
+ Gets the export info or null if the method isn't exported to unmanaged code.
+
+
+
+
+
+
+
+
+
+
+
+
+
+ true if is not empty
+
+
+
+
+ Gets/sets the declaring type (owner type)
+
+
+
+
+
+
+
+ Called by and should normally not be called by any user
+ code. Use instead. Only call this if you must set the
+ declaring type without inserting it in the declaring type's method list.
+
+
+
+
+
+
+
+
+
+
+ Gets/sets the CIL method body. See also
+
+
+
+
+ Gets/sets the native method body
+
+
+
+
+ true if there's at least one in
+
+
+
+
+ true if it has a
+
+
+
+
+ true if there's at least one in
+
+
+
+
+ true if is not null
+
+
+
+
+ Gets the full name
+
+
+
+
+ Gets/sets the
+
+
+
+
+ Gets the parameters
+
+
+
+
+
+
+
+ true if the method has a hidden 'this' parameter
+
+
+
+
+ true if the method has an explicit 'this' parameter
+
+
+
+
+ Gets the calling convention
+
+
+
+
+ Gets/sets the method return type
+
+
+
+
+ true if the method returns a value (i.e., return type is not )
+
+
+
+
+ Gets/sets the method semantics attributes. If you remove/add a method to a property or
+ an event, you must manually update this property or eg. won't
+ work as expected.
+
+
+
+ Set when has been initialized
+
+
+
+
+
+ Initializes
+
+
+
+ Set or clear flags in
+
+ true if flags should be set, false if flags should
+ be cleared
+ Flags to set or clear
+
+
+
+ Modify property: =
+ ( & ) | .
+
+ Value to AND
+ Value to OR
+
+
+
+ Set or clear flags in
+
+ true if flags should be set, false if flags should
+ be cleared
+ Flags to set or clear
+
+
+
+ Modify property: =
+ ( & ) | .
+
+ Value to AND
+ Value to OR
+
+
+
+ Set or clear flags in
+
+ true if flags should be set, false if flags should
+ be cleared
+ Flags to set or clear
+
+
+
+ Gets/sets the method access
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the code type
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ true if this is the static type constructor
+
+
+
+
+ true if this is an instance constructor
+
+
+
+
+ true if this is a static or an instance constructor
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ A Method row created by the user and not present in the original .NET file
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ Method name
+
+
+
+ Constructor
+
+ Method name
+ Method sig
+
+
+
+ Constructor
+
+ Method name
+ Method sig
+ Flags
+
+
+
+ Constructor
+
+ Method name
+ Method sig
+ Impl flags
+
+
+
+ Constructor
+
+ Method name
+ Method sig
+ Impl flags
+ Flags
+
+
+
+ Created from a row in the Method table
+
+
+
+ The module where this instance is located
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor
+
+ The module which contains this Method row
+ Row ID
+ If is null
+ If is invalid
+
+
+
+
+
+
+
+
+
+ Contains the name and ordinal of a method that gets exported to unmanaged code.
+
+
+
+
+ Gets the ordinal or null
+
+
+
+
+ Gets the name. If it's null, and is also null, the name of the method
+ () is used as the exported name.
+
+
+
+
+ Gets the options
+
+
+
+
+ Constructor
+
+
+
+
+ Constructor
+
+ Name or null to export by ordinal
+
+
+
+ Constructor
+
+ Ordinal
+
+
+
+ Constructor
+
+ Name or null to export by ordinal
+ Ordinal or null to export by name
+
+
+
+ Constructor
+
+ Name or null to export by ordinal
+ Ordinal or null to export by name
+ Options
+
+
+
+ Exported method options
+
+
+
+
+ No bit is set
+
+
+
+
+ Transition from unmanaged code
+
+
+
+
+ Also retain app domain
+
+
+
+
+ Call most derived method
+
+
+
+
+ Method impl attributes, see CorHdr.h/CorMethodImpl
+
+
+
+ Flags about code type.
+
+
+ Method impl is IL.
+
+
+ Method impl is native.
+
+
+ Method impl is OPTIL
+
+
+ Method impl is provided by the runtime.
+
+
+ Flags specifying whether the code is managed or unmanaged.
+
+
+ Method impl is unmanaged, otherwise managed.
+
+
+ Method impl is managed.
+
+
+ Indicates method is defined; used primarily in merge scenarios.
+
+
+ Indicates method sig is not to be mangled to do HRESULT conversion.
+
+
+ Reserved for internal use.
+
+
+ Method is single threaded through the body.
+
+
+ Method may not be inlined.
+
+
+ Method should be inlined if possible.
+
+
+ Method may not be optimized.
+
+
+ Method may contain hot code and should be aggressively optimized.
+
+
+ The JIT compiler should look for security mitigation attributes, such as the user-defined System.Runtime.CompilerServices.SecurityMitigationsAttribute. If found, the JIT compiler applies any related security mitigations. Available starting with .NET Framework 4.8.
+
+
+
+ Describes which method some method implements
+
+
+
+
+ The method body. Usually a but could be a
+
+
+
+
+ The method implements
+
+
+
+
+ Constructor
+
+ Method body
+ The method implements
+
+
+
+ Method semantics flags, see CorHdr.h/CorMethodSemanticsAttr
+
+
+
+ No bit is set
+
+
+ Setter for property
+
+
+ Getter for property
+
+
+ other method for property or event
+
+
+ AddOn method for event
+
+
+ RemoveOn method for event
+
+
+ Fire method for event
+
+
+
+ A high-level representation of a row in the MethodSpec table
+
+
+
+
+ The row id in its table
+
+
+
+
+
+
+
+
+
+
+
+
+
+ From column MethodSpec.Method
+
+
+
+
+
+
+
+ From column MethodSpec.Instantiation
+
+
+
+
+
+
+
+ Gets all custom attributes
+
+
+
+
+
+
+ Initializes
+
+
+
+
+
+
+
+
+
+
+
+
+ Gets all custom debug infos
+
+
+
+
+
+
+ Initializes
+
+
+
+
+
+
+
+
+
+
+
+
+ Gets/sets the generic instance method sig
+
+
+
+
+
+
+
+
+
+
+ Gets the full name
+
+
+
+
+
+
+
+ A MethodSpec row created by the user and not present in the original .NET file
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ The generic method
+
+
+
+ Constructor
+
+ The generic method
+ The instantiated method sig
+
+
+
+ Created from a row in the MethodSpec table
+
+
+
+ The module where this instance is located
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor
+
+ The module which contains this MethodSpec row
+ Row ID
+ Generic parameter context
+ If is null
+ If is invalid
+
+
+
+ context
+
+
+
+
+ Gets/sets the assembly resolver. This is never null.
+
+
+
+
+ Gets/sets the resolver. This is never null.
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ Assembly resolver or null
+
+
+
+ Constructor
+
+ Type/method/field resolver or null
+
+
+
+ Constructor
+
+ Assembly resolver or null
+ Type/method/field resolver or null
+
+
+
+ Registers an experimental CIL opcode. It must be a 2-byte opcode
+ where the first byte lies within the range 0xF0..0xFB.
+
+
+
+
+ Clears an experimental CIL opcode.
+
+
+
+
+ Attempts to get an experimental CIL opcode.
+
+
+
+
+ creation options
+
+
+
+
+ Module context
+
+
+
+
+ PDB reader options
+
+
+
+
+ Set it to A) the path (string) of the PDB file, B) the data (byte[]) of the PDB file or
+ C) to an of the PDB data. The will
+ be owned by the module. You don't need to initialize
+
+
+
+
+ If true, will load the PDB file from disk if present, or an embedded portable PDB file
+ stored in the PE file. The default value is true.
+ You don't need to initialize .
+
+
+
+
+ corlib assembly reference to use or null if the default one from the opened
+ module should be used.
+
+
+
+
+ Runtime reader kind, default is . It should be
+ set to if it's an obfuscated Mono/Unity assembly.
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ Module context
+
+
+
+ Constructor
+
+ Runtime reader kind, default is . It should be
+ set to if it's an obfuscated Mono/Unity assembly.
+
+
+
+ Constructor
+
+ Module context
+ Runtime reader kind, default is . It should be
+ set to if it's an obfuscated Mono/Unity assembly.
+
+
+
+ Runtime reader kind
+
+
+
+
+ Microsoft's CLRs (.NET Framework, .NET Core)
+
+
+
+
+ Mono's CLR (Mono, Unity)
+
+
+
+
+ A high-level representation of a row in the Module table
+
+
+
+ Default characteristics
+
+
+ Default DLL characteristics
+
+
+
+ The row id in its table
+
+
+
+
+ Initialize this in the ctor
+
+
+
+
+ PDB state
+
+
+
+
+ Array of last used rid in each table. I.e., next free rid is value + 1
+
+
+
+ Module context
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Gets/sets a user value. This is never used by dnlib. This property isn't thread safe.
+
+
+
+
+
+
+
+
+
+
+ Gets/sets Module.Generation column
+
+
+
+
+
+
+
+ Gets/sets Module.Name column
+
+
+
+ Name
+
+
+
+ Gets/sets Module.Mvid column
+
+
+
+
+
+
+
+ Gets/sets Module.EncId column
+
+
+
+
+
+
+
+ Gets/sets Module.EncBaseId column
+
+
+
+
+
+
+
+ Gets all custom attributes
+
+
+
+
+
+
+ Initializes
+
+
+
+
+
+
+
+
+
+ Gets all custom debug infos
+
+
+
+
+
+
+ Initializes
+
+
+
+ Gets the module's assembly. To set this value, add this
+ to .
+
+
+
+
+
+
+
+ Gets a list of all non-nested s. See also
+
+
+
+
+
+
+ Initializes
+
+
+
+ Gets a list of all s
+
+
+
+
+
+
+ Initializes
+
+
+
+ Gets/sets the native entry point. Only one of and
+ can be set. You write to one and the other one gets cleared.
+
+
+
+
+ Gets/sets the managed entry point. Only one of and
+ can be set. You write to one and the other one gets cleared.
+
+
+
+
+
+
+
+
+
+
+
+
+ Called to initialize
+
+
+ Called to initialize
+
+
+
+
+
+
+ Gets/sets the entry point method
+
+
+
+
+ true if is non-zero
+
+
+
+
+ true if is non-null
+
+
+
+
+ true if is non-null
+
+
+
+
+ Gets a list of all s
+
+
+
+
+
+
+ Initializes
+
+
+
+ Gets/sets the . This is null if there are no
+ vtable fixups.
+
+
+
+
+
+
+
+
+
+ Called to initialize
+
+
+
+ true if there's at least one in
+
+
+
+
+ true if there's at least one in
+
+
+
+
+ true if there's at least one in
+
+
+
+
+
+
+
+ Gets/sets the path of the module or an empty string if it wasn't loaded from disk
+
+
+
+
+
+
+
+ Gets the
+
+
+
+
+ Gets the instance
+
+
+
+
+ Gets/sets the module context. This is never null.
+
+
+
+
+ If true, the cache is enabled. The cache is used by
+ and to find types.
+
+ IMPORTANT: Only enable the cache if this module's types keep their exact
+ name, namespace, and declaring type and if no type is either added or
+ removed from or from any type that is reachable from the
+ top-level types in (i.e., any type owned by this module).
+ This is disabled by default. When disabled, all calls to
+ and will result in a slow O(n) (linear) search.
+
+
+
+
+
+ true if this is the manifest (main) module
+
+
+
+
+ Gets the global (aka. <Module>) type or null if there are no types
+
+
+
+
+ true if it's the core library module, false if it's not the core library module,
+ and null if it's not known.
+
+
+
+
+ Gets/sets the Win32 resources
+
+
+
+
+
+
+
+
+
+ Called to initialize
+
+
+
+ Gets the . This is null if no PDB file
+ has been loaded or if no PDB file could be found.
+
+
+
+
+ Module kind
+
+
+
+
+ Gets/sets the characteristics (from PE file header)
+
+
+
+
+ Gets/sets the DLL characteristics (from PE optional header)
+
+
+
+
+ Gets/sets the runtime version which is stored in the metadata header.
+ See .
+
+ Not thread safe
+
+
+
+ Gets the WinMD status
+
+ Not thread safe
+
+
+
+ true if this is a WinMD file
+
+
+
+
+ true if this is a managed WinMD file
+
+
+
+
+ true if this is a pure (non-managed) WinMD file
+
+
+
+
+ Gets the CLR runtime version of the managed WinMD file or null if none. This is
+ similar to for normal non-WinMD files.
+
+ Not thread safe
+
+
+
+ Gets the WinMD version or null if none
+
+ Not thread safe
+
+
+
+ true if is the CLR v1.0 string (only the major
+ and minor version numbers are checked)
+
+
+
+
+ true if is the CLR v1.0 string
+
+
+
+
+ true if is the CLR v1.1 string (only the major
+ and minor version numbers are checked)
+
+
+
+
+ true if is the CLR v1.1 string
+
+
+
+
+ true if is the CLR v1.0 or v1.1 string (only the
+ major and minor version numbers are checked)
+
+
+
+
+ true if is the CLR v1.0 or v1.1 string
+
+
+
+
+ true if is the CLR v2.0 string (only the major
+ and minor version numbers are checked)
+
+
+
+
+ true if is the CLR v2.0 string
+
+
+
+
+ true if is the CLR v4.0 string (only the major
+ and minor version numbers are checked)
+
+
+
+
+ true if is the CLR v4.0 string
+
+
+
+
+ true if is the ECMA 2002 string
+
+
+
+
+ true if is the ECMA 2005 string
+
+
+
+
+ Gets/sets the (from PE header)
+
+
+
+
+ true if is , , ...
+
+
+
+
+ true if is
+
+
+
+
+ true if is , , ...
+
+
+
+
+ true if is , , ...
+
+
+
+
+ true if is , , ...
+
+
+
+
+ true if is s390x, , ...
+
+
+
+
+ Gets/sets the (from .NET header)
+
+
+
+
+
+
+
+ Gets/sets the runtime version number in the COR20 header. The major version is
+ in the high 16 bits. The minor version is in the low 16 bits. This is normally 2.5
+ (0x00020005), but if it's .NET Framework 1.x, it should be 2.0 (0x00020000). If this is
+ null, the default value will be used when saving the module (2.0 if CLR 1.x,
+ and 2.5 if not CLR 1.x).
+
+
+
+
+ Gets the tables header version. The major version is in the upper 8 bits and the
+ minor version is in the lower 8 bits. .NET Framework 1.0/1.1 use version 1.0 (0x0100) and
+ .NET Framework 2.x and later use version 2.0 (0x0200). 1.0 has no support for generics,
+ 1.1 has support for generics (GenericParam rows have an extra Kind column),
+ and 2.0 has support for generics (GenericParam rows have the standard 4 columns).
+ No other version is supported. If this is null, the default version is
+ used (1.0 if .NET Framework 1.x, else 2.0).
+
+
+
+
+ Set or clear flags in
+
+ true if flags should be set, false if flags should
+ be cleared
+ Flags to set or clear
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+
+
+
+ Dispose method
+
+ true if called by
+
+
+
+ Gets all the types (including nested types) present in this module
+
+
+
+
+ Adds as a non-nested type. If it's already nested, its
+ will be set to null.
+
+ The to insert
+
+
+
+ Updates the rid to the next free rid available. It's only updated if
+ the original rid is 0.
+
+ IMDTokenProvider
+ The row that should be updated
+ Returns the input
+
+
+
+ Updates the rid to the next free rid available.
+
+ IMDTokenProvider
+ The row that should be updated
+ Returns the input
+
+
+
+ Imports a as a
+
+ The type
+ The imported type or null if is invalid
+
+
+
+ Imports a as a
+
+ The type
+ The imported type or null if is invalid
+
+
+
+ Imports a as a
+
+ The field
+ The imported field or null if is invalid
+ or if we failed to import the field
+
+
+
+ Imports a as a . This will be either
+ a or a .
+
+ The method
+ The imported method or null if is invalid
+ or if we failed to import the method
+
+
+
+ Imports a
+
+ The type
+ The imported type or null
+
+
+
+ Imports a as a
+
+ The type
+ The imported type or null
+
+
+
+ Imports a
+
+ The type
+ The imported type or null
+
+
+
+ Imports a
+
+ The type
+ The imported type or null
+
+
+
+ Imports a
+
+ The type
+ The imported type or null
+
+
+
+ Imports a
+
+ The field
+ The imported type or null if is invalid
+
+
+
+ Imports a as a
+
+ The field
+ The imported type or null if is invalid
+
+
+
+ Imports a
+
+ The method
+ The imported method or null if is invalid
+
+
+
+ Imports a as a
+
+ The method
+ The imported method or null if is invalid
+
+
+
+ Imports a
+
+ The method
+ The imported method or null if is invalid
+
+
+
+ Imports a
+
+ The member ref
+ The imported member ref or null if is invalid
+
+
+
+ Writes the module to a file on disk. If the file exists, it will be overwritten.
+
+ Filename
+
+
+
+ Writes the module to a file on disk. If the file exists, it will be overwritten.
+
+ Filename
+ Writer options
+
+
+
+ Writes the module to a stream.
+
+ Destination stream
+
+
+
+ Writes the module to a stream.
+
+ Destination stream
+ Writer options
+
+
+
+ Resets the cache which can be enabled by setting
+ to true. Use this method if the cache is
+ enabled but some of the types have been modified (eg. removed, added, renamed).
+
+
+
+
+ Finds a
+
+ Type
+ Name
+ Language ID
+ The or null if none found
+
+
+
+ Creates a new
+
+ PDB file kind
+
+
+
+ Sets a
+
+ New
+
+
+
+ Returns the size of a pointer. Assumes it's 32-bit if pointer size is unknown or
+ if it can be 32-bit or 64-bit.
+
+ Size of a pointer (4 or 8)
+
+
+
+ Returns the size of a pointer
+
+ Default pointer size if it's not known or if it
+ can be 32-bit or 64-bit
+ Size of a pointer (4 or 8)
+
+
+
+ Returns the size of a pointer
+
+ Default pointer size
+ Pointer size if it's prefer-32-bit (should usually be 4)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Finds a . For speed, enable
+ if possible (read the documentation first).
+
+ Full name of the type (no assembly information)
+ true if it's a reflection name, and nested
+ type names are separated by a + character. If false, nested type names
+ are separated by a / character.
+ An existing or null if it wasn't found.
+
+
+
+ Finds a . Its scope (i.e., module or assembly) is ignored when
+ looking up the type. For speed, enable if possible
+ (read the documentation first).
+
+ The type ref
+ An existing or null if it wasn't found.
+
+
+
+ Finds a
+
+ The type
+ A or null if it wasn't found
+
+
+
+ Creates a new instance. There should normally only be one
+ instance shared by all s.
+
+ A new instance
+
+
+
+ Load everything in this module. All types, fields, asm refs, etc are loaded, all their
+ properties are read to make sure everything is cached.
+
+ Cancellation token or null
+
+
+
+
+
+
+ Resolves a token
+
+ The metadata token
+ A or null if is invalid
+
+
+
+ Resolves a token
+
+ The metadata token
+ Generic parameter context
+ A or null if is invalid
+
+
+
+ Resolves a token
+
+ The metadata token
+ A or null if is invalid
+
+
+
+ Resolves a token
+
+ The metadata token
+ Generic parameter context
+ A or null if is invalid
+
+
+
+ Resolves a token
+
+ The metadata token
+ A or null if is invalid
+
+
+
+ Resolves a token
+
+ The metadata token
+ Generic parameter context
+ A or null if is invalid
+
+
+
+ Gets all s
+
+
+
+
+ Gets all s
+
+
+
+
+ Gets all s. s with generic parameters
+ aren't cached and a new copy is always returned.
+
+
+
+
+ Gets all s. s with generic parameters
+ aren't cached and a new copy is always returned.
+
+ Generic parameter context
+
+
+
+ Gets all s
+
+
+
+
+ Finds an assembly reference by name. If there's more than one, pick the one with
+ the greatest version number.
+
+ Simple name of assembly (eg. "mscorlib")
+ The found or null if there's no such
+ assembly reference.
+
+
+
+ Compare asm refs' version
+
+ First asm ref
+ New asm ref
+
+
+
+
+ A Module row created by the user and not present in the original .NET file
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ is initialized to a random
+ Module nam
+
+
+
+ Constructor
+
+ Module name
+ Module version ID
+
+
+
+ Constructor
+
+ Module name
+ Module version ID
+ Corlib assembly ref or null
+
+
+
+ Created from a row in the Module table
+
+
+
+ The module where this instance is located
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor
+
+ The module which contains this Module row
+ Row ID
+ If is null
+ If is invalid
+
+
+
+ Initialize fields from the raw Module row
+
+
+
+
+ Created from a row in the Module table
+
+
+
+ The file that contains all .NET metadata
+
+
+
+ Gets/sets the method decrypter
+
+
+
+
+ Gets/sets the string decrypter
+
+
+
+
+ Returns the .NET metadata interface
+
+
+
+
+ Returns the #~ or #- tables stream
+
+
+
+
+ Returns the #Strings stream
+
+
+
+
+ Returns the #Blob stream
+
+
+
+
+ Returns the #GUID stream
+
+
+
+
+ Returns the #US stream
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Creates a instance from a file
+
+ File name of an existing .NET module/assembly
+ Module context or null
+ A new instance
+
+
+
+ Creates a instance from a file
+
+ File name of an existing .NET module/assembly
+ Module creation options or null
+ A new instance
+
+
+
+ Creates a instance from a byte[]
+
+ Contents of a .NET module/assembly
+ Module context or null
+ A new instance
+
+
+
+ Creates a instance from a byte[]
+
+ Contents of a .NET module/assembly
+ Module creation options or null
+ A new instance
+
+
+
+ Creates a instance from a reflection module
+
+ An existing reflection module
+ A new instance
+
+
+
+ Creates a instance from a reflection module
+
+ An existing reflection module
+ Module context or null
+ A new instance
+
+
+
+ Creates a instance from a reflection module
+
+ An existing reflection module
+ Module creation options or null
+ A new instance
+
+
+
+ Creates a instance from a reflection module
+
+ An existing reflection module
+ Module context or null
+ Image layout of the module in memory
+ A new instance
+
+
+
+ Creates a instance from a reflection module
+
+ An existing reflection module
+ Module creation options or null
+ Image layout of the module in memory
+ A new instance
+
+
+
+ Creates a instance from a memory location
+
+ Address of a .NET module/assembly
+ A new instance
+
+
+
+ Creates a instance from a memory location
+
+ Address of a .NET module/assembly
+ Module context or null
+ A new instance
+
+
+
+ Creates a instance from a memory location
+
+ Address of a .NET module/assembly
+ Module creation options or null
+ A new instance
+
+
+
+ Creates a instance
+
+ PE image
+ A new instance
+
+
+
+ Creates a instance
+
+ PE image
+ Module context or null
+ A new instance
+
+
+
+ Creates a instance
+
+ PE image
+ Module creation options or null
+ A new instance
+
+
+
+ Creates a instance from a memory location
+
+ Address of a .NET module/assembly
+ Module context or null
+ Image layout of the file in memory
+ A new instance
+
+
+
+ Creates a instance from a memory location
+
+ Address of a .NET module/assembly
+ Module creation options or null
+ Image layout of the file in memory
+ A new instance
+
+
+
+ Creates a instance from a stream
+
+ This will read all bytes from the stream and call .
+ It's better to use one of the other Load() methods.
+ The stream (owned by caller)
+ A new instance
+ If is null
+
+
+
+ Creates a instance from a stream
+
+ This will read all bytes from the stream and call .
+ It's better to use one of the other Load() methods.
+ The stream (owned by caller)
+ Module context or null
+ A new instance
+ If is null
+
+
+
+ Creates a instance from a stream
+
+ This will read all bytes from the stream and call .
+ It's better to use one of the other Load() methods.
+ The stream (owned by caller)
+ Module creation options or null
+ A new instance
+ If is null
+
+
+
+ Creates a instance from a
+
+ The metadata
+ Module creation options or null
+ A new instance that now owns
+
+
+
+ Constructor
+
+ The metadata
+ Module creation options or null
+ If is null
+
+
+
+ Loads symbols using
+
+ PDB symbol reader
+
+
+
+ Loads symbols from a PDB file
+
+ PDB file name
+
+
+
+ Loads symbols from a PDB file
+
+ PDB reader options
+ PDB file name
+
+
+
+ Loads symbols from a byte array
+
+ PDB data
+
+
+
+ Loads symbols from a byte array
+
+ PDB reader options
+ PDB data
+
+
+
+ Loads symbols from a stream
+
+ PDB file stream which is now owned by us
+
+
+
+ Loads symbols from a stream
+
+ PDB reader options
+ PDB file stream which is now owned by us
+
+
+
+ Loads symbols if a PDB file is available
+
+
+
+
+ Loads symbols if a PDB file is available
+
+ PDB reader options
+
+
+
+ Finds a mscorlib
+
+ An existing instance or null if it wasn't found
+
+
+
+ Called when no corlib assembly reference was found
+
+
+
+
+
+
+
+
+ Resolves a token
+
+ The metadata token
+ Generic parameter context
+ A or null if is invalid
+
+
+
+ Resolves a
+
+ The row ID
+ A instance or null if is invalid
+
+
+
+ Resolves a
+
+ The row ID
+ A instance or null if is invalid
+
+
+
+ Resolves a
+
+ The row ID
+ A instance or null if is invalid
+
+
+
+ Resolves a
+
+ The row ID
+ A instance or null if is invalid
+
+
+
+ Resolves a
+
+ The row ID
+ A instance or null if is invalid
+
+
+
+ Resolves a
+
+ The row ID
+ A instance or null if is invalid
+
+
+
+ Resolves an
+
+ The row ID
+ A instance or null if is invalid
+
+
+
+ Resolves an
+
+ The row ID
+ Generic parameter context
+ A instance or null if is invalid
+
+
+
+ Resolves a
+
+ The row ID
+ A instance or null if is invalid
+
+
+
+ Resolves a
+
+ The row ID
+ Generic parameter context
+ A instance or null if is invalid
+
+
+
+ Resolves a
+
+ The row ID
+ A instance or null if is invalid
+
+
+
+ Resolves a
+
+ The row ID
+ A instance or null if is invalid
+
+
+
+ Resolves a
+
+ The row ID
+ A instance or null if is invalid
+
+
+
+ Resolves a
+
+ The row ID
+ A instance or null if is invalid
+
+
+
+ Resolves a
+
+ The row ID
+ Generic parameter context
+ A instance or null if is invalid
+
+
+
+ Resolves an
+
+ The row ID
+ A instance or null if is invalid
+
+
+
+ Resolves a
+
+ The row ID
+ A instance or null if is invalid
+
+
+
+ Resolves a
+
+ The row ID
+ A instance or null if is invalid
+
+
+
+ Resolves a
+
+ The row ID
+ A instance or null if is invalid
+
+
+
+ Resolves a
+
+ The row ID
+ Generic parameter context
+ A instance or null if is invalid
+
+
+
+ Resolves an
+
+ The row ID
+ A instance or null if is invalid
+
+
+
+ Resolves an
+
+ The row ID
+ A instance or null if is invalid
+
+
+
+ Resolves an
+
+ The row ID
+ A instance or null if is invalid
+
+
+
+ Resolves a
+
+ The row ID
+ A instance or null if is invalid
+
+
+
+ Resolves an
+
+ The row ID
+ A instance or null if is invalid
+
+
+
+ Resolves a
+
+ The row ID
+ A instance or null if is invalid
+
+
+
+ Resolves a
+
+ The row ID
+ A instance or null if is invalid
+
+
+
+ Resolves a
+
+ The row ID
+ A instance or null if is invalid
+
+
+
+ Resolves a
+
+ The row ID
+ Generic parameter context
+ A instance or null if is invalid
+
+
+
+ Resolves a
+
+ The row ID
+ A instance or null if is invalid
+
+
+
+ Resolves a
+
+ The row ID
+ Generic parameter context
+ A instance or null if is invalid
+
+
+
+ Resolves a
+
+ A TypeDefOrRef coded token
+ A or null if is invalid
+
+
+
+ Resolves a
+
+ A TypeDefOrRef coded token
+ Generic parameter context
+ A or null if is invalid
+
+
+
+ Resolves a
+
+ A HasConstant coded token
+ A or null if is invalid
+
+
+
+ Resolves a
+
+ A HasCustomAttribute coded token
+ A or null if is invalid
+
+
+
+ Resolves a
+
+ A HasCustomAttribute coded token
+ Generic parameter context
+ A or null if is invalid
+
+
+
+ Resolves a
+
+ A HasFieldMarshal coded token
+ A or null if is invalid
+
+
+
+ Resolves a
+
+ A HasDeclSecurity coded token
+ A or null if is invalid
+
+
+
+ Resolves a
+
+ A MemberRefParent coded token
+ A or null if is invalid
+
+
+
+ Resolves a
+
+ A MemberRefParent coded token
+ Generic parameter context
+ A or null if is invalid
+
+
+
+ Resolves a
+
+ A HasSemantic coded token
+ A or null if is invalid
+
+
+
+ Resolves a
+
+ A MethodDefOrRef coded token
+ A or null if is invalid
+
+
+
+ Resolves a
+
+ A MethodDefOrRef coded token
+ Generic parameter context
+ A or null if is invalid
+
+
+
+ Resolves a
+
+ A MemberForwarded coded token
+ A or null if is invalid
+
+
+
+ Resolves an
+
+ An Implementation coded token
+ A or null if is invalid
+
+
+
+ Resolves a
+
+ A CustomAttributeType coded token
+ A or null if is invalid
+
+
+
+ Resolves a
+
+ A CustomAttributeType coded token
+ Generic parameter context
+ A or null if is invalid
+
+
+
+ Resolves a
+
+ A ResolutionScope coded token
+ A or null if is invalid
+
+
+
+ Resolves a
+
+ A TypeOrMethodDef> coded token
+ A or null if is invalid
+
+
+
+ Reads a signature from the #Blob stream
+
+ #Blob stream offset of signature
+ A new instance or null if
+ is invalid.
+
+
+
+ Reads a signature from the #Blob stream
+
+ #Blob stream offset of signature
+ Generic parameter context
+ A new instance or null if
+ is invalid.
+
+
+
+ Reads a type signature from the #Blob stream
+
+ #Blob stream offset of signature
+ A new instance or null if
+ is invalid.
+
+
+
+ Reads a type signature from the #Blob stream
+
+ #Blob stream offset of signature
+ Generic parameter context
+ A new instance or null if
+ is invalid.
+
+
+
+ Reads a type signature from the #Blob stream
+
+ #Blob stream offset of signature
+ If there's any extra data after the signature, it's saved
+ here, else this will be null
+ A new instance or null if
+ is invalid.
+
+
+
+ Reads a type signature from the #Blob stream
+
+ #Blob stream offset of signature
+ If there's any extra data after the signature, it's saved
+ here, else this will be null
+ Generic parameter context
+ A new instance or null if
+ is invalid.
+
+
+
+ Reads a from the blob
+
+ Table of owner
+ Row ID of owner
+ Generic parameter context
+ A new instance or null if there's no field
+ marshal for this owner.
+
+
+
+ Reads a CIL method body
+
+ Method parameters
+ RVA
+ A new instance. It's empty if RVA is invalid (eg. 0 or
+ it doesn't point to a CIL method body)
+
+
+
+ Reads a CIL method body
+
+ Method parameters
+ RVA
+ Generic parameter context
+ A new instance. It's empty if RVA is invalid (eg. 0 or
+ it doesn't point to a CIL method body)
+
+
+
+ Returns the owner type of a field
+
+ The field
+ The owner type or null if none
+
+
+
+ Returns the owner type of a method
+
+ The method
+ The owner type or null if none
+
+
+
+ Returns the owner type of an event
+
+ The event
+ The owner type or null if none
+
+
+
+ Returns the owner type of a property
+
+ The property
+ The owner type or null if none
+
+
+
+ Returns the owner type/method of a generic param
+
+ The generic param
+ The owner type/method or null if none
+
+
+
+ Returns the owner generic param of a generic param constraint
+
+ The generic param constraint
+ The owner generic param or null if none
+
+
+
+ Returns the owner method of a param
+
+ The param
+ The owner method or null if none
+
+
+
+ Reads a module
+
+ File rid
+ The assembly owning the module we should read
+ A new instance or null if
+ is invalid or if it's not a .NET module.
+
+
+
+ Gets a list of all File rids that are .NET modules. Call
+ to read one of these modules.
+
+ A new instance
+
+
+
+ Concatenates the inputs and returns the result if it's a valid path
+
+ Base dir
+ File name
+ Full path to the file or null if one of the inputs is invalid
+
+
+
+ Gets the base directory where this .NET module is located on disk
+
+ Base directory or null if unknown or if an error occurred
+
+
+
+ Creates a instance
+
+ ManifestResource rid
+ A new instance
+
+
+
+ Reads a
+
+ Custom attribute rid
+ A new instance or null if
+ is invalid
+
+
+
+ Reads a
+
+ Custom attribute rid
+ Generic parameter context
+ A new instance or null if
+ is invalid
+
+
+
+ Reads data somewhere in the address space of the image
+
+ RVA of data
+ Size of data
+ All the data or null if or
+ is invalid
+
+
+
+ Gets the native entry point or 0 if none
+
+
+
+
+ Gets the managed entry point (a Method or a File) or null if none
+
+
+
+
+ Reads a new instance. This one is not cached.
+
+ Row ID
+ A new instance
+
+
+
+ Reads a new instance. This one is not cached.
+
+ Row ID
+ A new instance
+
+
+
+ Reads a new instance. This one is not cached.
+
+ Row ID
+ A new instance
+
+
+
+ Reads a new instance. This one is not cached.
+
+ Row ID
+ A new instance
+
+
+
+ Reads a new instance. This one is not cached.
+
+ Row ID
+ A new instance
+
+
+
+ Reads a new instance. This one is not cached.
+
+ Row ID
+ A new instance
+
+
+
+ Reads a new instance. This one is not cached.
+
+ Row ID
+ A new instance
+
+
+
+ Reads a new instance. This one is not cached.
+
+ Row ID
+ Generic parameter context
+ A new instance
+
+
+
+ Reads a method body
+
+ Method
+ Method RVA
+ Method impl attrs
+ Generic parameter context
+ A or null if none
+
+
+
+ Updates with the PDB info (if any)
+
+ Owner method
+ Method body
+ Returns originak value
+
+
+
+ Reads a string from the #US heap
+
+ String token
+ A non-null string
+
+
+
+ Writes the mixed-mode module to a file on disk. If the file exists, it will be overwritten.
+
+ Filename
+
+
+
+ Writes the mixed-mode module to a file on disk. If the file exists, it will be overwritten.
+
+ Filename
+ Writer options
+
+
+
+ Writes the mixed-mode module to a stream.
+
+ Destination stream
+
+
+
+ Writes the mixed-mode module to a stream.
+
+ Destination stream
+ Writer options
+
+
+
+ Reads data from the #Blob. The following columns are returned:
+ Field.Signature
+ Method.Signature
+ MemberRef.Signature
+ Constant.Value
+ CustomAttribute.Value
+ FieldMarshal.NativeType
+ DeclSecurity.PermissionSet
+ StandAloneSig.Signature
+ Property.Type
+ TypeSpec.Signature
+ Assembly.PublicKey
+ AssemblyRef.PublicKeyOrToken
+ File.HashValue
+ MethodSpec.Instantiation
+
+ A token
+ The value in the #Blob or null if is invalid
+
+
+
+ Module kind
+
+
+
+
+ Console UI module
+
+
+
+
+ Windows GUI module
+
+
+
+
+ DLL module
+
+
+
+
+ Netmodule (it has no assembly manifest)
+
+
+
+
+ A high-level representation of a row in the ModuleRef table
+
+
+
+
+ The row id in its table
+
+
+
+
+ The owner module
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ From column ModuleRef.Name
+
+
+
+ Name
+
+
+
+ Gets all custom attributes
+
+
+
+
+
+
+ Initializes
+
+
+
+
+
+
+
+
+
+
+
+
+ Gets all custom debug infos
+
+
+
+
+
+
+ Initializes
+
+
+
+
+
+
+ Gets the definition module, i.e., the module which it references, or null
+ if the module can't be found.
+
+
+
+
+ Gets the definition assembly, i.e., the assembly of the module it references, or
+ null if the assembly can't be found.
+
+
+
+
+
+
+
+
+
+
+ A ModuleRef row created by the user and not present in the original .NET file
+
+
+
+
+ Constructor
+
+ Owner module
+
+
+
+ Constructor
+
+ Owner module
+ Module name
+
+
+
+ Created from a row in the ModuleRef table
+
+
+
+ The module where this instance is located
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor
+
+ The module which contains this ModuleRef row
+ Row ID
+ If is null
+ If is invalid
+
+
+
+ Native types used by field marshals. See CorHdr.h/CorNativeType
+
+
+
+ Deprecated
+
+
+ void
+
+
+ bool
+
+
+ int8
+
+
+ unsigned int8
+
+
+ int16
+
+
+ unsigned int16
+
+
+ int32
+
+
+ unsigned int32
+
+
+ int64
+
+
+ unsigned int64
+
+
+ float32
+
+
+ float64
+
+
+ syschar
+
+
+ variant
+
+
+ currency
+
+
+ ptr
+
+
+ decimal
+
+
+ date
+
+
+ bstr
+
+
+ lpstr
+
+
+ lpwstr
+
+
+ lptstr
+
+
+ fixed sysstring
+
+
+ objectref
+
+
+ iunknown
+
+
+ idispatch
+
+
+ struct
+
+
+ interface
+
+
+ safearray
+
+
+ fixed array
+
+
+ int
+
+
+ uint
+
+
+ nested struct
+
+
+ byvalstr
+
+
+ ansi bstr
+
+
+ tbstr
+
+
+ variant bool
+
+
+ func
+
+
+ as any
+
+
+ array
+
+
+ lpstruct
+
+
+ custom marshaler
+
+
+ error
+
+
+ iinspectable
+
+
+ hstring
+
+
+ UTF-8 encoded string
+
+
+ first invalid element type
+
+
+ Value wasn't present in the blob
+
+
+ Raw marshal blob type
+
+
+
+ A resolver that always fails
+
+
+
+
+ The one and only instance of this type
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Parameter flags. See CorHdr.h/CorParamAttr
+
+
+
+ Param is [In]
+
+
+ Param is [out]
+
+
+ Param is a locale identifier
+
+
+ Param is a return value
+
+
+ Param is optional
+
+
+ Param has default value.
+
+
+ Param has FieldMarshal.
+
+
+
+ A high-level representation of a row in the Param table
+
+
+
+
+ The row id in its table
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Gets the declaring method
+
+
+
+
+
+
+
+ From column Param.Flags
+
+
+
+ Attributes
+
+
+
+ From column Param.Sequence
+
+
+
+
+
+
+
+ From column Param.Name
+
+
+
+ Name
+
+
+
+
+
+
+
+
+
+
+
+ Called to initialize
+
+
+ Reset
+
+
+
+
+
+
+
+
+
+
+
+ Called to initialize
+
+
+ Reset
+
+
+
+ Gets all custom attributes
+
+
+
+
+
+
+ Initializes
+
+
+
+
+
+
+
+
+
+
+
+
+ Gets all custom debug infos
+
+
+
+
+
+
+ Initializes
+
+
+
+ true if is not null
+
+
+
+
+ Gets the constant element type or if there's no constant
+
+
+
+
+ true if is not null
+
+
+
+
+
+
+
+ Set or clear flags in
+
+ true if flags should be set, false if flags should
+ be cleared
+ Flags to set or clear
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ A Param row created by the user and not present in the original .NET file
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ Name
+
+
+
+ Constructor
+
+ Name
+ Sequence
+
+
+
+ Constructor
+
+ Name
+ Sequence
+ Flags
+
+
+
+ Created from a row in the Param table
+
+
+
+ The module where this instance is located
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor
+
+ The module which contains this Param row
+ Row ID
+ If is null
+ If is invalid
+
+
+
+ A list of all method parameters
+
+
+
+
+ Gets the owner method
+
+
+
+
+ Gets the number of parameters, including a possible hidden 'this' parameter
+
+
+
+
+ Gets the index of the first parameter that is present in the method signature.
+ If this is a static method, the value is 0, else it's an instance method so the
+ index is 1 since the first parameter is the hidden 'this' parameter.
+
+
+
+
+ Gets the N'th parameter
+
+ The parameter index
+
+
+
+ Gets the method return parameter
+
+
+
+
+ Constructor
+
+ The method with all parameters
+ 's declaring type
+
+
+
+ Should be called when the method's declaring type has changed
+
+ Method declaring type
+
+
+
+ Should be called when the method sig has changed
+
+
+
+
+
+
+
+ Enumerator
+
+
+
+
+ Gets the current value
+
+
+
+
+ Moves to the next element in the collection
+
+
+
+
+
+ Disposes the enumerator
+
+
+
+
+ Gets the list enumerator
+
+
+
+
+
+ A method parameter
+
+
+
+
+ The hidden 'this' parameter's
+
+
+
+
+ The return type parameter's
+
+
+
+
+ Gets the parameter index. If the method has a hidden 'this' parameter, that parameter
+ has index 0 and the remaining parameters in the method signature start from index 1.
+ The method return parameter has index -1.
+
+
+
+
+ Gets the index of the parameter in the method signature. See also
+ and
+
+
+
+
+ true if it's a normal visible method parameter, i.e., it's not the hidden
+ 'this' parameter and it's not the method return type parameter.
+
+
+
+
+ true if it's the hidden 'this' parameter
+
+
+
+
+ true if it's the method return type parameter
+
+
+
+
+ Gets the parameter type
+
+
+
+
+ Gets the owner method
+
+
+
+
+ Gets the or null if not present
+
+
+
+
+ true if it has a
+
+
+
+
+ Gets the name from . If is null,
+ an empty string is returned.
+
+
+
+
+ Constructor
+
+ Parameter index
+
+
+
+ Constructor
+
+ Parameter index
+ Parameter type
+
+
+
+ Constructor
+
+ Parameter index (0 is hidden this param if it exists)
+ Index in method signature
+
+
+
+ Constructor
+
+ Parameter index (0 is hidden this param if it exists)
+ Index in method signature
+ Parameter type
+
+
+
+ Creates a if it doesn't already exist
+
+
+
+
+
+
+
+ Custom debug info guids
+
+
+
+
+ Implements and uses a as the underlying
+ stream.
+
+
+
+
+ Constructor
+
+ Source stream
+
+
+
+ Constructor
+
+ Source stream
+ Name of original file or null if unknown.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ IMAGE_DEBUG_DIRECTORY
+
+
+
+
+ An address in the image
+
+
+
+
+ Section
+
+
+
+
+ Offset in
+
+
+
+
+ Constructor
+
+ Section
+ Offset in
+
+
+
+ Constructor
+
+ Section
+ Offset in
+
+
+
+ Returns true if is less than or equal to
+
+ First
+ Second
+
+
+
+
+ Returns true if is less than
+
+ First
+ Second
+
+
+
+
+ Returns true if is greater than or equal to
+
+ First
+ Second
+
+
+
+
+ Returns true if is greater than
+
+ First
+ Second
+
+
+
+
+ Returns true if is equal to
+
+ First
+ Second
+
+
+
+
+ Returns true if is not equal to
+
+ First
+ Second
+
+
+
+
+ Compares this instance with and returns less than 0 if it's
+ less than , 0 if it's equal to and
+ greater than 0 if it's greater than
+
+ Other instance
+
+
+
+
+ Compares this to another instance
+
+ The other one
+ true if they're equal
+
+
+
+ Compares this to another instance
+
+ The other one
+ true if they're equal
+
+
+
+ Gets the hash code
+
+ Hash code
+
+
+
+ ToString() override
+
+
+
+
+
+ Reads a 32-bit offset followed by a 16-bit section and creates a new
+
+ Reader
+
+
+
+
+ Exception that is thrown when encounters an error.
+
+
+
+
+ Constructor
+
+
+
+
+ Constructor
+
+ Exception message
+
+
+
+ Constructor
+
+ Inner exception
+
+
+
+ Constructor
+
+
+
+
+
+
+ A managed PDB reader implementation for .NET modules.
+
+
+
+
+ Read the PDB in the specified stream.
+
+ PDB file data reader
+
+
+
+ Creates a instance
+
+
+
+
+ Creates a new instance
+
+ PDB context
+ PDB file stream which is now owned by this method
+ A new instance or null.
+
+
+
+ A constant in a method scope, eg. "const int SomeConstant = 123;"
+
+
+
+
+ Gets/sets the name
+
+
+
+
+ Gets/sets the type of the constant
+
+
+
+
+ Gets/sets the value of the constant
+
+
+
+
+ Constructor
+
+
+
+
+ Constructor
+
+ Name of constant
+ Type of constant
+ Constant value
+
+
+
+
+
+
+
+
+
+ Gets all custom debug infos
+
+
+
+
+ ToString()
+
+
+
+
+
+ Custom debug info kind
+
+ See CustomDebugInfoKind in Roslyn source code
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Unknown
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Base class of custom debug info added to the PDB file by the compiler
+
+
+
+
+ Gets the custom debug info kind
+
+
+
+
+ Gets the custom debug info guid, see
+
+
+
+
+ Unknown custom debug info. If you see an instance of this class, you're using an old dnlib version or
+ dnlib hasn't been updated to support this new custom debug info kind.
+
+
+
+
+ Gets the custom debug info kind
+
+
+
+
+ Gets the custom debug info guid, see
+
+
+
+
+ Gets the data
+
+
+
+
+ Constructor
+
+ Custom debug info kind
+ Raw custom debug info data
+
+
+
+ Constructor
+
+ Custom debug info guid
+ Raw custom debug info data
+
+
+
+ Contains sizes of using groups
+
+
+
+
+ Returns
+
+
+
+
+ Gets the custom debug info guid, see
+
+
+
+
+ Gets the using counts
+
+
+
+
+ Constructor
+
+
+
+
+ Constructor
+
+ Initial capacity of
+
+
+
+ Contains a reference to another method that contains the import strings
+
+
+
+
+ Returns
+
+
+
+
+ Gets the custom debug info guid, see
+
+
+
+
+ Gets/sets the referenced method
+
+
+
+
+ Constructor
+
+
+
+
+ Constructor
+
+ The referenced method
+
+
+
+ Contains a reference to another method that contains the per-module debug info (assembly reference aliases)
+
+
+
+
+ Returns
+
+
+
+
+ Gets the custom debug info guid, see
+
+
+
+
+ Gets/sets the referenced method
+
+
+
+
+ Constructor
+
+
+
+
+ Constructor
+
+ The referenced method
+
+
+
+ State machine hosted local scope info
+
+
+
+
+ true if it's a syntesized local ( and are both null)
+
+
+
+
+ The instruction of the first operation in the scope. Can be null if it's a synthesized local
+
+
+
+
+ The instruction of the first operation outside of the scope or null if it ends at the last instruction in the body.
+ Can also be null if it's a synthesized local (in which case is also null, see )
+
+
+
+
+ Constructor
+
+ Start of the scope
+ First instruction after the end of the scope
+
+
+
+ Contains local scopes for state machine hoisted local variables.
+
+
+
+
+ Returns
+
+
+
+
+ Gets the custom debug info guid, see
+
+
+
+
+ Gets the scopes
+
+
+
+
+ Constructor
+
+
+
+
+ Constructor
+
+ Initial capacity of
+
+
+
+ Contains the state machine type
+
+
+
+
+ Returns
+
+
+
+
+ Gets the custom debug info guid, see
+
+
+
+
+ Gets/sets the state machine type
+
+
+
+
+ Constructor
+
+
+
+
+ Constructor
+
+ State machine type
+
+
+
+ Contains dynamic flags for local variables and constants
+
+
+
+
+ Returns
+
+
+
+
+ Gets the custom debug info guid, see
+
+
+
+
+ Gets the dynamic locals
+
+
+
+
+ Constructor
+
+
+
+
+ Constructor
+
+ Initial capacity of
+
+
+
+ Dynamic local info
+
+
+
+
+ Gets the dynamic flags
+
+
+
+
+ Gets/sets the name of the local. The name must have at most 64 characters and no char can be NUL (0x0000).
+ If null is written, is returned instead.
+
+
+
+
+ true if it's a constant and not a variable ( is null)
+
+
+
+
+ true if it's a variable ( is not null)
+
+
+
+
+ Gets/sets the local. Could be null if there's no local (it's a 'const' local).
+
+
+
+
+ Constructor
+
+
+
+
+ Constructor
+
+ Initial capacity of
+
+
+
+ Contains the EnC local variable slot map
+
+
+
+
+ Returns
+
+
+
+
+ Gets the custom debug info guid, see
+
+
+
+
+ Gets the data. Spec: https://github.com/dotnet/corefx/blob/master/src/System.Reflection.Metadata/specs/PortablePdb-Metadata.md#EditAndContinueLocalSlotMap
+
+
+
+
+ Constructor
+
+ Raw custom debug info data
+
+
+
+ Contains the EnC lambda map
+
+
+
+
+ Returns
+
+
+
+
+ Gets the custom debug info guid, see
+
+
+
+
+ Gets the data. Spec: https://github.com/dotnet/corefx/blob/master/src/System.Reflection.Metadata/specs/PortablePdb-Metadata.md#EditAndContinueLambdaAndClosureMap
+
+
+
+
+ Constructor
+
+ Raw custom debug info data
+
+
+
+ Contains tuple element names for local variables and constants
+
+
+
+
+ Returns
+
+
+
+
+ Gets the custom debug info guid, see
+
+
+
+
+ Gets the tuple element names
+
+
+
+
+ Constructor
+
+
+
+
+ Constructor
+
+ Initial capacity of
+
+
+
+ Tuple element name info
+
+
+
+
+ Gets/sets the name of the local. If null is written, is returned instead.
+
+
+
+
+ Gets/sets the local. It's null if it's a constant, and non-null if it's a variable
+
+
+
+
+ true if it's a constant. Constants have a scope ( and )
+
+
+
+
+ true if it's a variable. Variables don't have a scope ( and )
+
+
+
+
+ Gets/sets the start of the scope or null. Only constants have a scope.
+
+
+
+
+ Gets/sets the end of the scope or null if it has no scope or if the scope ends at the end of the body. Only constants have a scope.
+
+
+
+
+ Gets the tuple element names
+
+
+
+
+ Constructor
+
+
+
+
+ Constructor
+
+ Initial capacity of
+
+
+
+ Contains tuple element names for local variables and constants
+
+
+
+
+ Returns
+
+
+
+
+ Gets the custom debug info guid, see
+
+
+
+
+ Gets the tuple element names
+
+
+
+
+ Constructor
+
+
+
+
+ Constructor
+
+ Initial capacity of
+
+
+
+ Async method stepping info
+
+ It's internal and translated to a
+
+
+
+
+ Returns
+
+
+
+
+ Gets the custom debug info guid, see
+
+
+
+
+ Gets the catch handler instruction or null
+
+
+
+
+ Gets all async step infos
+
+
+
+
+ Constructor
+
+
+
+
+ Default namespace
+
+
+
+
+ Returns
+
+
+
+
+ Gets the custom debug info guid, see
+
+
+
+
+ Gets the default namespace
+
+
+
+
+ Constructor
+
+
+
+
+ Constructor
+
+ Default namespace
+
+
+
+ Dynamic flags
+
+
+
+
+ Returns
+
+
+
+
+ Gets the custom debug info guid, see
+
+
+
+
+ Gets/sets the dynamic flags
+
+
+
+
+ Constructor
+
+
+
+
+ Constructor
+
+ Dynamic flags
+
+
+
+ Contains the source code
+
+
+
+
+ Returns
+
+
+
+
+ Gets the custom debug info guid, see
+
+
+
+
+ Gets the source code blob.
+
+ It's not decompressed and converted to a string because the encoding isn't specified.
+
+ https://github.com/dotnet/corefx/blob/master/src/System.Reflection.Metadata/specs/PortablePdb-Metadata.md#embedded-source-c-and-vb-compilers
+
+
+
+
+ Constructor
+
+
+
+
+ Constructor
+
+ Source code blob
+
+
+
+ Contains the source link file
+
+
+
+
+ Returns
+
+
+
+
+ Gets the custom debug info guid, see
+
+
+
+
+ Gets the source link file contents
+
+
+
+
+ Constructor
+
+
+
+
+ Constructor
+
+ Source link file contents
+
+
+
+ Contains the source server file
+
+
+
+
+ Returns
+
+
+
+
+ Gets the custom debug info guid, see
+
+
+
+
+ Gets the source server file contents
+
+
+
+
+ Constructor
+
+
+
+
+ Constructor
+
+ Source server file contents
+
+
+
+ Async method info
+
+
+
+
+ Returns
+
+
+
+
+ Gets the custom debug info guid, see
+
+
+
+
+ Gets/sets the starting method that initiates the async operation
+
+
+
+
+ Gets/sets the instruction for the compiler generated catch handler that wraps an async method.
+ This can be null.
+
+
+
+
+ Gets all step infos used by the debugger
+
+
+
+
+ Constructor
+
+
+
+
+ Constructor
+
+ Default capacity for
+
+
+
+ Async step info used by debuggers
+
+
+
+
+ The yield instruction
+
+
+
+
+ Resume method
+
+
+
+
+ Resume instruction (where the debugger puts a breakpoint)
+
+
+
+
+ Constructor
+
+ The yield instruction
+ Resume method
+ Resume instruction (where the debugger puts a breakpoint)
+
+
+
+ Iterator method
+
+
+
+
+ Returns
+
+
+
+
+ Gets the custom debug info guid, see
+
+
+
+
+ Gets the kickoff method
+
+
+
+
+ Constructor
+
+
+
+
+ Constructor
+
+ Kickoff method
+
+
+
+ Compilation metadata references
+
+
+
+
+ Returns
+
+
+
+
+ Gets the custom debug info guid, see
+
+
+
+
+ Gets all references
+
+
+
+
+ Constructor
+
+
+
+
+ Compilation metadata reference flags, see https://github.com/dotnet/roslyn/blob/master/docs/features/pdb-compilation-options.md
+
+
+
+
+ No bit is set
+
+
+
+
+ Set if it's an assembly reference, clear if it's a module reference
+
+
+
+
+ EmbedInteropTypes was enabled
+
+
+
+
+ A compilation metadata reference
+
+
+
+
+ Name of the reference (eg. filename)
+
+
+
+
+ Aliases (or an empty string), separated with commas
+
+
+
+
+ Gets the flags
+
+
+
+
+ Gets the timestamp stored in the PE header
+
+
+
+
+ Gets SizeOfImage stored in the PE header
+
+
+
+
+ Gets the MVID stored in the .NET metadata
+
+
+
+
+ Constructor
+
+
+
+
+ Constructor
+
+ Name of reference
+ Aliases (or an empty string), separated with commas
+ Reference flags
+ Timestamp in PE header
+ SizeOfImage in PE header
+ MVID stored in the .NET metadata
+
+
+
+ Compilation options
+
+
+
+
+ Returns
+
+
+
+
+ Gets the custom debug info guid, see
+
+
+
+
+ Gets all compilation options, see https://github.com/dotnet/roslyn/blob/master/docs/features/pdb-compilation-options.md .
+ Option names (key): see roslyn/src/Compilers/Core/Portable/PEWriter/CompilationOptionNames.cs
+
+
+
+
+ Constructor
+
+
+
+
+ Links a TypeDef with no method IL with a PDB document.
+
+
+
+
+ Returns
+
+
+
+
+ Gets the custom debug info guid, see
+
+
+
+
+ List of documents associated with the type
+
+
+
+
+
+
+ Initializes
+
+
+
+ Contains the EnC state machine state mapping
+
+
+
+
+ Returns
+
+
+
+
+ Gets the custom debug info guid, see
+
+
+
+
+ State machine states
+
+
+
+
+ Constructor
+
+
+
+
+ State machine state information used by debuggers
+
+
+
+
+ Syntax offset
+
+
+
+
+ State machine state
+
+
+
+
+ Constructor
+
+ Syntax offset
+ State machine state
+
+
+
+ State machine state
+ from Roslyn: StateMachineState.cs
+
+
+
+
+ First state of an async iterator state machine that is used to resume the machine after yield return.
+ Initial state is not used to resume state machine that yielded. State numbers decrease as the iterator makes progress.
+
+
+
+
+ Initial iterator state of an async iterator.
+ Distinct from so that DisposeAsync can throw in latter case.
+
+
+
+
+ First state of an iterator state machine. State numbers decrease for subsequent finalize states.
+
+
+
+
+ The last state of a state machine.
+
+
+
+
+ State machine not started or is running
+
+
+
+
+ First unused state
+
+
+
+
+ First state in async state machine that is used to resume the machine after await.
+ State numbers increase as the async computation makes progress.
+
+
+
+
+ Initial iterator state of an iterator.
+
+
+
+
+ First state in iterator state machine that is used to resume the machine after yield return.
+ Initial state is not used to resume state machine that yielded. State numbers increase as the iterator makes progress.
+
+
+
+
+ Primary constructor information blob
+
+
+
+
+ Returns
+
+
+
+
+ Gets the custom debug info guid, see
+
+
+
+
+ Gets the data blob
+
+
+
+
+ Constructor
+
+
+
+
+ Constructor
+
+ Source server file contents
+
+
+
+ A PDB document
+
+
+
+
+ Gets/sets the document URL
+
+
+
+
+ Gets/sets the language GUID. See
+
+
+
+
+ Gets/sets the language vendor GUID. See
+
+
+
+
+ Gets/sets the document type GUID. See
+
+
+
+
+ Gets/sets the checksum algorithm ID. See
+
+
+
+
+ Gets/sets the checksum
+
+
+
+
+
+
+
+
+
+
+ Gets all custom debug infos
+
+
+
+
+ Gets the Metadata token of the document if available.
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ A instance
+
+
+
+ Constructor
+
+ Document URL
+ Language. See
+ Language vendor. See
+ Document type. See
+ Checksum algorithm ID. See
+ Checksum
+
+
+
+
+
+
+
+
+
+ PDB document constants
+
+
+
+
+ PDB file kind
+
+
+
+
+ Windows PDB
+
+
+
+
+ Portable PDB
+
+
+
+
+ Embedded portable PDB
+
+
+
+
+ Import scope
+
+
+
+
+ Constructor
+
+
+
+
+ Gets/sets the parent import scope
+
+
+
+
+ Gets all imports
+
+
+
+
+ true if is not empty
+
+
+
+
+
+
+
+
+
+
+ Gets all custom debug infos
+
+
+
+
+ Import kind
+
+
+
+
+ PDB import base class
+
+
+
+
+ Gets the import kind
+
+
+
+
+ Import namespace
+
+
+
+
+ Returns
+
+
+
+
+ Gets the target namespace
+
+
+
+
+ Constructor
+
+
+
+
+ Constructor
+
+
+
+
+
+ Import assembly, namespace
+
+
+
+
+ Returns
+
+
+
+
+ Gets the target assembly
+
+
+
+
+ Gets the target namespace
+
+
+
+
+ Constructor
+
+
+
+
+ Constructor
+
+
+
+
+
+
+ Import type
+
+
+
+
+ Returns
+
+
+
+
+ Gets the target type
+
+
+
+
+ Constructor
+
+
+
+
+ Constructor
+
+
+
+
+
+ Import xml namespace
+
+
+
+
+ Returns
+
+
+
+
+ Gets the alias
+
+
+
+
+ Gets the target namespace
+
+
+
+
+ Constructor
+
+
+
+
+ Constructor
+
+
+
+
+
+
+ Import assembly reference alias
+
+
+
+
+ Returns
+
+
+
+
+ Gets the alias
+
+
+
+
+ Constructor
+
+
+
+
+ Constructor
+
+
+
+
+
+ Alias assembly reference
+
+
+
+
+ Returns
+
+
+
+
+ Gets the alias
+
+
+
+
+ Gets the target assembly
+
+
+
+
+ Constructor
+
+
+
+
+ Constructor
+
+
+
+
+
+
+ Alias namespace
+
+
+
+
+ Returns
+
+
+
+
+ Gets the alias
+
+
+
+
+ Gets the target namespace
+
+
+
+
+ Constructor
+
+
+
+
+ Constructor
+
+
+
+
+
+
+ Alias assembly namespace
+
+
+
+
+ Returns
+
+
+
+
+ Gets the alias
+
+
+
+
+ Gets the target assembly
+
+
+
+
+ Gets the target namespace
+
+
+
+
+ Constructor
+
+
+
+
+ Constructor
+
+
+
+
+
+
+
+ Alias type
+
+
+
+
+ Returns
+
+
+
+
+ Gets the alias
+
+
+
+
+ Gets the target type
+
+
+
+
+ Constructor
+
+
+
+
+ Constructor
+
+
+
+
+
+
+ A local variable
+
+
+
+
+ Constructor
+
+
+
+
+ Constructor
+
+
+
+
+
+
+
+ Gets/sets the local
+
+
+
+
+ Gets/sets the name
+
+
+
+
+ Gets/sets the attributes
+
+
+
+
+ Gets the index of the local
+
+
+
+
+ true if it should be hidden in debugger variables windows. Not all compiler generated locals have this flag set.
+
+
+
+
+
+
+
+
+
+
+ Gets all custom debug infos
+
+
+
+
+ Local attributes
+
+
+
+
+ No bit is set
+
+
+
+
+ Local should be hidden in debugger variables windows. Not all compiler generated locals have this flag set.
+
+
+
+
+ A PDB method
+
+
+
+
+ Gets/sets the root scope. It contains all scopes of the method, using namespaces, variables and constants
+
+
+
+
+ Constructor
+
+
+
+
+ PDB reader options
+
+
+
+
+ No bit is set
+
+
+
+
+ Use the COM Windows PDB reader instead of the managed Windows PDB reader.
+
+ This is NOT recommended since the COM reader can only be called on the same
+ thread it was created on. It also requires a Windows OS.
+
+ If this is not set, the managed PDB reader will be used.
+
+ This option is only used if it's a Windows PDB file, not if it's a Portable PDB file.
+
+
+
+
+ Don't use Microsoft.DiaSymReader.Native. This is a NuGet package with an updated Windows PDB reader/writer implementation,
+ and if it's available at runtime, dnlib will try to use it. If this option is set, dnlib won't use it.
+ You have to add a reference to the NuGet package if you want to use it, dnlib has no reference to the NuGet package.
+
+ Only used if is set and if it's a Windows PDB file
+
+
+
+
+ Don't use diasymreader.dll's PDB reader that is shipped with .NET Framework.
+
+ Only used if is set and if it's a Windows PDB file
+
+
+
+
+ A PDB scope
+
+
+
+
+ Constructor
+
+
+
+
+ Gets/sets the first instruction
+
+
+
+
+ Gets/sets the last instruction. It's null if it ends at the end of the method.
+
+
+
+
+ Gets all child scopes
+
+
+
+
+ true if is not empty
+
+
+
+
+ Gets all locals in this scope
+
+
+
+
+ true if is not empty
+
+
+
+
+ Gets all namespaces (Windows PDBs). Portable PDBs use
+
+
+
+
+ true if is not empty
+
+
+
+
+ Gets/sets the import scope (Portable PDBs). Windows PDBs use
+
+
+
+
+ Gets all constants
+
+
+
+
+ true if is not empty
+
+
+
+
+
+
+
+
+
+
+ Gets all custom debug infos
+
+
+
+
+ PDB state for a
+
+
+
+
+ Gets/sets the PDB file kind. You can change it from portable PDB to embedded portable PDB
+ and vice versa. Converting a Windows PDB to a portable PDB isn't supported.
+
+
+
+
+ Gets/sets the user entry point method.
+
+
+
+
+ Gets all PDB documents
+
+
+
+
+ true if is not empty
+
+
+
+
+ Constructor
+
+ Module
+ PDB file kind
+
+
+
+ Constructor
+
+ A instance
+ Owner module
+
+
+
+ Adds
+
+ New document
+ if it wasn't inserted, or the already existing document
+ if it was already inserted.
+
+
+
+ Removes
+
+ Document
+ true if it was removed, false if it wasn't inserted.
+
+
+
+ Returns an inserted instance or null if it's not been
+ inserted yet.
+
+ A PDB document
+ The existing or null if it doesn't exist.
+
+
+
+ Removes all documents
+
+
+
+
+
+ Removes all documents and optionally returns them
+
+ true if all the original s
+ should be returned.
+ All s if is true
+ or null if is false.
+
+
+
+ Constructor
+
+ Module that resolves assembly and type references
+ Portable PDB blob stream
+
+
+
+ PDB sequence point
+
+
+
+
+ PDB document
+
+
+
+
+ Start line
+
+
+
+
+ Start column
+
+
+
+
+ End line
+
+
+
+
+ End column
+
+
+
+
+ Clones this instance
+
+ A new cloned instance
+
+
+
+ Async step info
+
+
+
+
+ Yield offset
+
+
+
+
+ Breakpoint offset
+
+
+
+
+ Breakpoint method token
+
+
+
+
+ Constructor
+
+ Yield offset
+ Breakpoint offset
+ Breakpoint method token
+
+
+
+ A document
+
+
+
+
+ Gets the URL
+
+
+
+
+ Gets the language
+
+
+
+
+ Gets the language vendor
+
+
+
+
+ Gets the document type
+
+
+
+
+ Gets the checksum algorithm id
+
+
+
+
+ Gets the checksum
+
+
+
+
+ Gets the custom debug infos
+
+
+
+
+ Gets the Metadata token of the document if available.
+
+
+
+
+ A method
+
+
+
+
+ Gets the method token
+
+
+
+
+ Gets the root scope
+
+
+
+
+ Gets all sequence points
+
+
+
+
+ Reads custom debug info
+
+ Method
+ Method body
+ Updated with custom debug info
+
+
+
+ A namespace
+
+
+
+
+ Gets the name
+
+
+
+
+ Reads symbols from a PDB file
+
+
+
+
+ Called by the owner module before any other methods and properties are called
+
+ Owner module
+
+
+
+ Gets the PDB file kind
+
+
+
+
+ Gets the user entry point token or 0 if none
+
+
+
+
+ Gets all documents
+
+
+
+
+ Gets a method or returns null if the method doesn't exist in the PDB file
+
+ Method
+ Edit and continue version. The first version is 1
+
+
+
+
+ Reads custom debug info
+
+ Token of a instance
+ Generic parameter context
+ Updated with custom debug info
+
+
+
+ Cleans up resources
+
+
+
+
+ A scope
+
+
+
+
+ Gets the method
+
+
+
+
+ Gets the parent scope
+
+
+
+
+ Gets the start offset of the scope in the method
+
+
+
+
+ Gets the end offset of the scope in the method
+
+
+
+
+ Gets all child scopes
+
+
+
+
+ Gets all locals defined in this scope
+
+
+
+
+ Gets all namespaces in this scope
+
+
+
+
+ Gets all custom debug infos
+
+
+
+
+ Gets the import scope or null if none
+
+
+
+
+ Gets all the constants
+
+ Owner module if a signature must be read from the #Blob
+ Generic parameter context
+
+
+
+
+ Sequence point
+
+
+
+
+ IL offset
+
+
+
+
+ Document
+
+
+
+
+ Start line
+
+
+
+
+ Start column
+
+
+
+
+ End line
+
+
+
+
+ End column
+
+
+
+
+ A variable
+
+
+
+
+ Gets the name
+
+
+
+
+ Gets the attributes
+
+
+
+
+ Gets the index of the variable
+
+
+
+
+ Gets all custom debug infos
+
+
+
+
+ Reads custom debug infos produced by the C# and Visual Basic compilers. They're stored in PDB files
+ as PDB method custom attributes with the name "MD2".
+
+
+
+
+ Reads custom debug info
+
+ Method
+ The method's body. Needs to be provided by the caller since we're called from
+ PDB-init code when the Body property hasn't been initialized yet
+ Place all custom debug info in this list
+ Custom debug info from the PDB file
+
+
+
+ Writes custom debug infos produced by the C# and Visual Basic compilers. They're stored in PDB files
+ as PDB method custom attributes with the name "MD2".
+
+
+
+
+ Returns the raw custom debug info or null if there was an error
+
+ Metadata
+ Writer context
+ Method
+ Custom debug infos to write
+
+
+
+
+
+
+
+ P/Invoke attributes, see CorHdr.h/CorPinvokeMap
+
+
+
+ Pinvoke is to use the member name as specified.
+
+
+ Use this mask to retrieve the CharSet information.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Information about target function. Not relevant for fields.
+
+
+
+
+
+ Pinvoke will use native callconv appropriate to target windows platform.
+
+
+
+
+
+
+
+
+
+
+
+ In M9, pinvoke will raise exception.
+
+
+
+
+
+
+ Property attributes, see CorHdr.h/CorPropertyAttr
+
+
+
+ property is special. Name describes how.
+
+
+ Runtime(metadata internal APIs) should check name encoding.
+
+
+ Property has default
+
+
+
+ A high-level representation of a row in the Property table
+
+
+
+
+ The row id in its table
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ From column Property.PropFlags
+
+
+
+ Attributes
+
+
+
+ From column Property.Name
+
+
+
+ Name
+
+
+
+ From column Property.Type
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Called to initialize
+
+
+ Reset
+
+
+
+ Gets all custom attributes
+
+
+
+
+
+
+ Initializes
+
+
+
+
+
+
+
+
+
+ Gets all custom debug infos
+
+
+
+
+
+
+ Initializes
+
+
+
+ Gets/sets the first getter method. Writing null will clear all get methods.
+
+
+
+
+ Gets/sets the first setter method. Writing null will clear all set methods.
+
+
+
+
+ Gets all getter methods
+
+
+
+
+ Gets all setter methods
+
+
+
+
+ Gets the other methods
+
+
+
+
+ Initializes , ,
+ and .
+
+
+
+
+
+
+
+
+
+
+
+
+ Reset , ,
+
+
+
+ true if there are no methods attached to this property
+
+
+
+
+
+
+
+ true if is not empty
+
+
+
+
+ true if is not null
+
+
+
+
+ Gets the constant element type or if there's no constant
+
+
+
+
+ Gets/sets the property sig
+
+
+
+
+ Gets/sets the declaring type (owner type)
+
+
+
+
+
+
+
+ Called by and should normally not be called by any user
+ code. Use instead. Only call this if you must set the
+ declaring type without inserting it in the declaring type's method list.
+
+
+
+
+
+
+
+
+
+
+ Gets the full name of the property
+
+
+
+
+ Set or clear flags in
+
+ true if flags should be set, false if flags should
+ be cleared
+ Flags to set or clear
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+
+
+
+ A Property row created by the user and not present in the original .NET file
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ Name
+
+
+
+ Constructor
+
+ Name
+ Property signature
+
+
+
+ Constructor
+
+ Name
+ Property signature
+ Flags
+
+
+
+ Created from a row in the Property table
+
+
+
+ The module where this instance is located
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor
+
+ The module which contains this Property row
+ Row ID
+ If is null
+ If is invalid
+
+
+
+
+
+
+ Represents a public key
+
+
+
+
+ Gets the
+
+
+
+
+
+
+
+ Constructor
+
+
+
+
+ Constructor
+
+ Public key data
+
+
+
+ Constructor
+
+ Public key data as a hex string or the string "null"
+ to set public key data to null
+
+
+
+
+
+
+
+
+
+ Public key / public key token base class
+
+
+
+
+ The key data
+
+
+
+
+ Returns true if is null or empty
+
+
+
+
+ Returns true if is null
+
+
+
+
+ Gets/sets key data
+
+
+
+
+ Gets the
+
+
+
+
+ Constructor
+
+ Key data
+
+
+
+ Constructor
+
+ Key data as a hex string or the string "null"
+ to set key data to null
+
+
+
+ Checks whether a public key or token is null or empty
+
+ Public key or token instance
+
+
+
+ Returns a
+
+ A or a instance
+
+
+
+ Compares two s as s
+
+ First
+ Second
+ < 0 if a < b, 0 if a == b, > 0 if a > b
+
+
+
+ Checks whether two public key tokens are equal
+
+ First
+ Second
+ true if same, false otherwise
+
+
+
+ Compares two s
+
+ First
+ Second
+ < 0 if a < b, 0 if a == b, > 0 if a > b
+
+
+
+ Checks whether two public key tokens are equal
+
+ First
+ Second
+ true if same, false otherwise
+
+
+
+ Gets the public key token hash code
+
+ Public key or token
+ The hash code
+
+
+
+ Gets the public key token hash code
+
+ Public key token
+ The hash code
+
+
+
+ Creates a
+
+ Public key data or null
+ A new instance or null if
+ was null
+
+
+
+ Creates a
+
+ Public key token data or null
+ A new instance or null if
+ was null
+
+
+
+ Gets the raw public key / public key token byte array
+
+ The instance or null
+ Raw public key / public key token data or null
+
+
+
+
+
+
+ Represents a public key token
+
+
+
+
+ Gets the
+
+
+
+
+ Constructor
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Recursion counter
+
+
+
+
+ Max recursion count. If this is reached, we won't continue, and will use a default value.
+
+
+
+
+ Gets the recursion counter
+
+
+
+
+ Increments if it's not too high. ALL instance methods
+ that can be called recursively must call this method and
+ (if this method returns true)
+
+ true if it was incremented and caller can continue, false if
+ it was not incremented and the caller must return to its caller.
+
+
+
+ Must be called before returning to caller if
+ returned true.
+
+
+
+
+
+
+
+ Extension methods for reflection types, methods, fields
+
+
+
+
+ Checks whether it's a
+
+ The type
+
+
+
+ Gets a 's
+
+ The type
+ The type's element type
+
+
+
+ Returns true if is a generic type, but
+ not a generic type definition, i.e., a TypeSpec.
+
+ The type
+
+
+
+ Returns true if is a generic method, but
+ not a generic method definition, i.e., a MethodSpec.
+
+ The method
+
+
+
+ Checks whether a parameter/prop/event type should be treated as if it is really a
+ generic instance type and not a generic type definition. In the .NET metadata (method
+ sig), the parameter is a generic instance type, but the CLR treats it as if it's just
+ a generic type def. This seems to happen only if the parameter type is exactly the same
+ type as the declaring type, eg. a method similar to: MyType<!0> MyType::SomeMethod().
+
+ Declaring type of field/method/event/property
+ Field/parameter/property/event type
+
+
+
+ Checks whether is a type definition and not a type spec
+ (eg. pointer or generic type instantiation)
+
+ this
+
+
+
+ Resolve exception base class
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ Exception message
+
+
+
+ Constructor
+
+ Exception message
+ Inner exception or null if none
+
+
+
+ Constructor
+
+
+
+
+
+
+ Thrown if an assembly couldn't be resolved
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ Exception message
+
+
+
+ Constructor
+
+ Exception message
+ Inner exception or null if none
+
+
+
+ Constructor
+
+
+
+
+
+
+ Thrown if a type couldn't be resolved
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ Exception message
+
+
+
+ Constructor
+
+ Exception message
+ Inner exception or null if none
+
+
+
+ Constructor
+
+
+
+
+
+
+ Thrown if a method/field couldn't be resolved
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ Exception message
+
+
+
+ Constructor
+
+ Exception message
+ Inner exception or null if none
+
+
+
+ Constructor
+
+
+
+
+
+
+ Resolves types, methods, fields
+
+
+
+
+ true to project WinMD types to CLR types, eg. Windows.UI.Xaml.Interop.TypeName
+ gets converted to System.Type before trying to resolve the type. This is enabled
+ by default.
+
+
+
+
+ Constructor
+
+ The assembly resolver
+
+
+
+
+
+
+
+
+
+ Type of resource
+
+
+
+
+ It's a
+
+
+
+
+ It's a
+
+
+
+
+ It's a
+
+
+
+
+ Resource base class
+
+
+
+
+
+
+
+
+
+
+ Gets/sets the offset of the resource
+
+
+
+
+ Gets/sets the name
+
+
+
+
+ Gets/sets the flags
+
+
+
+
+ Gets the type of resource
+
+
+
+
+ Gets/sets the visibility
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+
+
+
+ Gets all custom attributes
+
+
+
+
+
+
+ Initializes
+
+
+
+
+
+
+
+
+
+ Gets all custom debug infos
+
+
+
+
+
+
+ Initializes
+
+
+
+
+
+
+ Constructor
+
+ Name
+ flags
+
+
+
+ A resource that is embedded in a .NET module. This is the most common type of resource.
+
+
+
+
+ Gets the length of the data
+
+
+
+
+
+
+
+ Constructor
+
+ Name of resource
+ Resource data
+ Resource flags
+
+
+
+ Constructor
+
+ Name of resource
+ Data reader factory
+ Offset of resource data
+ Length of resource data
+ Resource flags
+
+
+
+ Gets a data reader that can access the resource
+
+
+
+
+
+
+
+ The module where this instance is located
+
+
+
+
+
+
+
+
+
+
+
+
+ A reference to a resource in another assembly
+
+
+
+
+
+
+
+ Gets/sets the assembly reference
+
+
+
+
+ Constructor
+
+ Name of resource
+ Assembly reference
+ Resource flags
+
+
+
+
+
+ The module where this instance is located
+
+
+
+
+
+
+
+
+
+
+
+
+ A resource that is stored in a file on disk
+
+
+
+
+
+
+
+ Gets/sets the file
+
+
+
+
+ Gets/sets the hash
+
+
+
+
+ Gets/sets the file name
+
+
+
+
+ Constructor
+
+ Name of resource
+ The file
+ Resource flags
+
+
+
+
+
+ The module where this instance is located
+
+
+
+
+
+
+
+
+
+
+
+
+ A collection of s
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ List listener
+
+
+
+ Constructor
+
+ Initial length of the list
+ Context passed to
+ Delegate instance that returns original values
+
+
+
+ Finds the index of a resource
+
+ Name of resource
+ The index of the or -1 if none was found
+
+
+
+ Finds the index of an embedded resource
+
+ Name of resource
+ The index of the or -1 if none was found
+
+
+
+ Finds the index of an assembly linked resource
+
+ Name of resource
+ The index of the or -1 if none was found
+
+
+
+ Finds the index of a linked resource
+
+ Name of resource
+ The index of the or -1 if none was found
+
+
+
+ Finds a resource
+
+ Name of resource
+ The or null if none was found
+
+
+
+ Finds an embedded resource
+
+ Name of resource
+ The or null if none was found
+
+
+
+ Finds an assembly linked resource
+
+ Name of resource
+ The or null if none was found
+
+
+
+ Finds a linked resource
+
+ Name of resource
+ The or null if none was found
+
+
+
+ Built-in resource data
+
+
+
+
+ Gets the data
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor
+
+ Type of data
+ Data
+
+
+
+
+
+
+
+
+
+ Implemented by all resource data
+
+
+
+
+ Gets the type of data
+
+
+
+
+ Start offset of the section in the file
+
+
+
+
+ End offset of the section in the file. This is one byte after the last
+ valid offset in the section.
+
+
+
+
+ Writes the data
+
+ Writer
+ Formatter if needed by implementer
+
+
+
+ Extension of for writing resource set elements
+
+
+
+
+ Format version of the resource set
+
+
+
+
+ Specifies the target reader type of the resource set
+
+
+
+
+ Writes a 7-bit encoded integer.
+
+ The value to write
+
+
+
+ Creates resource data
+
+
+
+
+ Gets the owner module
+
+
+
+
+ Constructor
+
+ Owner module
+
+
+
+ Gets number of user data types
+
+
+
+
+ Create null data
+
+
+
+
+
+ Creates data
+
+ Value
+
+
+
+
+ Creates data
+
+ Value
+
+
+
+
+ Creates data
+
+ Value
+
+
+
+
+ Creates data
+
+ Value
+
+
+
+
+ Creates data
+
+ Value
+
+
+
+
+ Creates data
+
+ Value
+
+
+
+
+ Creates data
+
+ Value
+
+
+
+
+ Creates data
+
+ Value
+
+
+
+
+ Creates data
+
+ Value
+
+
+
+
+ Creates data
+
+ Value
+
+
+
+
+ Creates data
+
+ Value
+
+
+
+
+ Creates data
+
+ Value
+
+
+
+
+ Creates data
+
+ Value
+
+
+
+
+ Creates data
+
+ Value
+
+
+
+
+ Creates data
+
+ Value
+
+
+
+
+ Creates data
+
+ Value
+
+
+
+
+ Creates array data
+
+ Value
+
+
+
+
+ Creates data
+
+ Value
+
+
+
+
+ Creates serialized data
+
+ Serialized data
+ Format of the serialized data
+ Type of serialized data
+
+
+
+
+ Creates serialized data
+
+ Serialized data
+
+
+
+
+ Creates a user type for a built-in resource type code.
+ Useful when writing V1 resources.
+
+ The built-in resource type code or null if not supported
+
+
+
+
+ Creates a user type. If the type already exists, the existing value is returned.
+
+ Full name of type
+
+
+
+
+ Creates a user type. If the type already exists, the existing value is returned.
+
+ Full name of type
+ Use without converting it to a
+ type in an existing assembly reference
+
+
+
+
+ Converts an assembly simple name (eg. mscorlib) to the full name of the assembly,
+ which includes the version, public key token, etc. Returns null if it's
+ unknown.
+
+ Simple name of assembly
+
+
+
+
+ Gets all types sorted by
+
+
+
+
+
+ Resource element
+
+
+
+
+ Name of resource
+
+
+
+
+ Data of resource
+
+
+
+
+
+
+
+ Resource element set
+
+
+
+
+ The ResourceReader type name used by this set
+
+
+
+
+ The ResourceSet type name used by this set
+
+
+
+
+ The type of resource reader used to read this set
+
+
+
+
+ Format version of the resource set
+
+
+
+
+ Creates a new instance
+
+ The ResourceReader type name to use
+ The ResourceSet type name to use
+
+
+
+
+ Gets the number of elements in the set
+
+
+
+
+ Gets all resource elements
+
+
+
+
+ Adds a new resource to the set, overwriting any existing resource
+
+
+
+
+
+ Creates a new instance for a DeserializingResourceReader
+
+ Version of System.Resources.Extensions assembly to use
+ Resource format version, the default is 2
+
+
+
+ Creates a new instance for a ResourceReader
+
+ Module in which the set will reside
+ /// Resource format version, the default is 2
+
+
+
+ Creates a new instance for a ResourceReader
+
+ mscorlib assembly version
+ Resource format version, the default is 2
+
+
+
+ Creates a new instance based on this instance
+
+
+
+
+
+ Thrown by
+
+
+
+
+ Constructor
+
+
+
+
+ Constructor
+
+ Message
+
+
+
+ Constructor
+
+
+
+
+
+
+ Gets called to create a from serialized data. Returns null
+ if a default instance should be created.
+
+ ResourceDataFactory
+ Serialized type
+ Serialized data
+ Format of the serialized data
+
+
+
+
+ Reads .NET resources
+
+
+
+
+ Returns true if it's possibly resources file data
+
+ Reader
+
+
+
+
+ Reads a .NET resource
+
+ Owner module
+ Data of resource
+
+
+
+
+ Reads a .NET resource
+
+ Owner module
+ Data of resource
+ Call back that gets called to create a instance. Can be null.
+
+
+
+
+ Reads a .NET resource
+
+ User type resource data factory
+ Data of resource
+ Call back that gets called to create a instance. Can be null.
+
+
+
+
+ Resource reader type
+
+
+
+
+ System.Resources.ResourceReader
+
+
+
+
+ System.Resources.Extensions.DeserializingResourceReader
+
+
+
+
+ Type of resource
+
+
+
+
+ null
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ array
+
+
+
+
+
+
+
+
+
+ Start of user types
+
+
+
+
+ Writes .NET resources
+
+
+
+
+ Write .NET resources
+
+ Owner module
+ Output stream
+ .NET resources
+
+
+
+ Write .NET resources
+
+ Owner module
+ User type factory
+ Output stream
+ .NET resources
+
+
+
+ Base class of all user data
+
+
+
+
+ Full name including assembly of type
+
+
+
+
+ User type code
+
+
+
+
+
+
+
+
+
+
+ Constructor
+
+ User resource type
+
+
+
+
+
+
+ Binary data
+
+
+
+
+ Gets the raw data
+
+
+
+
+ Gets the serialization format of
+
+
+
+
+ Constructor
+
+ User resource type
+ Raw serialized data
+
+
+
+
+
+
+
+
+
+
+ Specifies how the data in should be deserialized.
+
+
+
+
+ The data can be deserialized using .
+
+
+
+
+ The data can be deserialized by passing in the raw data into
+ the method.
+
+
+
+
+ The data can be deserialized by passing the UTF-8 string obtained from the raw data into
+ the method.
+
+
+
+
+ The data can be deserialized by creating a new instance of the type using a
+ constructor with a single parameter and passing in
+ a of the raw data into it.
+
+
+
+
+ User resource type
+
+
+
+
+ Full name including assembly of type
+
+
+
+
+ User type code
+
+
+
+
+ Constructor
+
+ Full name including assembly of type
+ User type code
+
+
+
+
+
+
+ Security action. See CorHdr.h/CorDeclSecurity
+
+
+
+ Mask allows growth of enum.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Persisted grant set at prejit time
+
+
+ Persisted grant set at prejit time
+
+
+ Persisted denied set at prejit time
+
+
+ Persisted denied set at prejit time
+
+
+
+
+
+
+
+
+
+
+
+ Maximum legal value
+
+
+
+ A DeclSecurity security attribute
+
+
+
+
+ Gets/sets the attribute type
+
+
+
+
+ Gets the full name of the attribute type
+
+
+
+
+ Gets all named arguments (field and property values)
+
+
+
+
+ true if is not empty
+
+
+
+
+ Gets all s that are field arguments
+
+
+
+
+ Gets all s that are property arguments
+
+
+
+
+ Creates a from an XML string.
+
+ Owner module
+ XML
+ A new instance
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ Attribute type
+
+
+
+ Constructor
+
+ Attribute type
+ Named arguments that will be owned by this instance
+
+
+
+
+
+
+ See CorSerializationType/CorHdr.h
+
+
+
+
+
+
+ System.Boolean
+
+
+ System.Char
+
+
+ System.SByte
+
+
+ System.Byte
+
+
+ System.Int16
+
+
+ System.UInt16
+
+
+ System.Int32
+
+
+ System.UInt32
+
+
+ System.Int64
+
+
+ System.UInt64
+
+
+ System.Single
+
+
+ System.Double
+
+
+ System.String
+
+
+ Single-dimension, zero lower bound array ([])
+
+
+ System.Type
+
+
+ Boxed value type
+
+
+ A field
+
+
+ A property
+
+
+ An enum
+
+
+
+ Compares types
+
+
+
+
+ Default instance
+
+
+
+
+ Case insensitive names
+
+
+
+
+ Compares definitions in same module using reference comparison instead of comparing them by name, signature, etc.
+
+
+
+
+ Constructor
+
+ Comparison options
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Compares fields
+
+
+
+
+ Compares the declaring types
+
+
+
+
+ Doesn't compare the declaring types
+
+
+
+
+ Compares the declaring types, case insensitive names
+
+
+
+
+ Doesn't compare the declaring types, case insensitive names
+
+
+
+
+ Compares definitions in same module using reference comparison instead of comparing them by name, signature, etc.
+
+
+
+
+ Constructor
+
+ Comparison options
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Compares methods
+
+
+
+
+ Compares the declaring types
+
+
+
+
+ Doesn't compare the declaring types
+
+
+
+
+ Compares the declaring types, case insensitive names
+
+
+
+
+ Doesn't compare the declaring types, case insensitive names
+
+
+
+
+ Compares definitions in same module using reference comparison instead of comparing them by name, signature, etc.
+
+
+
+
+ Constructor
+
+ Comparison options
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Compares properties
+
+
+
+
+ Compares the declaring types
+
+
+
+
+ Doesn't compare the declaring types
+
+
+
+
+ Compares the declaring types, case insensitive names
+
+
+
+
+ Doesn't compare the declaring types, case insensitive names
+
+
+
+
+ Compares definitions in same module using reference comparison instead of comparing them by name, signature, etc.
+
+
+
+
+ Constructor
+
+ Comparison options
+
+
+
+
+
+
+
+
+
+ Compares events
+
+
+
+
+ Compares the declaring types
+
+
+
+
+ Doesn't compare the declaring types
+
+
+
+
+ Compares the declaring types, case insensitive names
+
+
+
+
+ Doesn't compare the declaring types, case insensitive names
+
+
+
+
+ Compares definitions in same module using reference comparison instead of comparing them by name, signature, etc.
+
+
+
+
+ Constructor
+
+ Comparison options
+
+
+
+
+
+
+
+
+
+ Compares calling convention signatures
+
+
+
+
+ Default instance
+
+
+
+
+ Case insensitive names
+
+
+
+
+ Constructor
+
+ Comparison options
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Decides how to compare types, sigs, etc
+
+
+
+
+ Don't compare a type's (assembly/module) scope
+
+
+
+
+ Compares a method/field's declaring type.
+
+
+
+
+ Compares a property's declaring type
+
+
+
+
+ Compares an event's declaring type
+
+
+
+
+ Compares method / field / property / event declaring types
+
+
+
+
+ Compares parameters after a sentinel in method sigs. Should not be enabled when
+ comparing s against s since it's
+ not possible to get those sentinel params from a .
+
+
+
+
+ Compares assembly public key token
+
+
+
+
+ Compares assembly version
+
+
+
+
+ Compares assembly locale
+
+
+
+
+ If set, a and an can reference the
+ global <Module> type.
+
+
+
+
+ Don't compare a method/property's return type
+
+
+
+
+ Type namespaces are case insensitive
+
+
+
+
+ Type names (not namespaces) are case insensitive
+
+
+
+
+ Type names and namespaces are case insensitive
+
+
+
+
+ Method and field names are case insensitive
+
+
+
+
+ Property names are case insensitive
+
+
+
+
+ Event names are case insensitive
+
+
+
+
+ Type namespaces, type names, method names, field names, property names
+ and event names are all case insensitive
+
+
+
+
+ A field that is can compare equal to
+ a
+
+
+
+
+ A method that is can compare equal to
+ a
+
+
+
+
+ A field that is and a method that is
+ can compare equal to a
+
+
+
+
+ Raw (bit by bit) comparison of signatures. This matches what the CLR does when it
+ compares signatures. This means that metadata tokens will be compared.
+
+
+
+
+ Ignore required and optional modifiers when comparing s.
+ They're already ignored when comparing eg. a with a
+ .
+
+
+
+
+ By default, all module and assembly compares when they're both the system library
+ (eg. mscorlib or System.Runtime.dll) return true, even if they're really different,
+ eg. mscorlib (.NET Framework 2.0) vs mscorlib (Windows CE). If this flag is set, the system
+ library is compared just like any other module/assembly.
+
+
+
+
+ Don't project CLR compatible WinMD references back to the original CLR type/method before comparing
+
+
+
+
+ Don't check type equivalence when comparing types. Starting with .NET Framework 4.0, two different
+ types can be considered equivalent if eg. a TypeIdentifierAttribute is used.
+
+
+
+
+ When comparing types, don't compare a multi-dimensional array's lower bounds and sizes
+
+
+
+
+ When comparing MemberDefs in same module, use regular reference comparison instead
+ comparing the signature, name, and other properties.
+
+
+
+
+ Compares types, signatures, methods, fields, properties, events
+
+
+
+
+ Constructor
+
+ Comparison options
+
+
+
+ Constructor
+
+ Comparison options
+ The module which the comparison take place in.
+
+
+
+ is mapped to , so use
+ the same hash code for both
+
+
+
+
+ Compare members
+
+ Member #1
+ Member #2
+ true if same, false otherwise
+
+
+
+ Gets the hash code of a member
+
+ The member
+ The hash code
+
+
+
+ Compares types
+
+ Type #1
+ Type #2
+ true if same, false otherwise
+
+
+
+ Gets the hash code of a type
+
+ The type
+ The hash code
+
+
+
+ Compares types
+
+ Type #1
+ Type #2
+ true if same, false otherwise
+
+
+
+ Gets the hash code of a type
+
+ The type
+ The hash code
+
+
+
+ Compares types
+
+ Type #1
+ Type #2
+ true if same, false otherwise
+
+
+
+ Compares types
+
+ Type #1
+ Type #2
+ true if same, false otherwise
+
+
+
+ Compares types
+
+ Type #1
+ Type #2
+ true if same, false otherwise
+
+
+
+ Compares types
+
+ Type #1
+ Type #2
+ true if same, false otherwise
+
+
+
+ Compares types
+
+ Type #1
+ Type #2
+ true if same, false otherwise
+
+
+
+ Compares types
+
+ Type #1
+ Type #2
+ true if same, false otherwise
+
+
+
+ Compares types
+
+ Type #1
+ Type #2
+ true if same, false otherwise
+
+
+
+ Compares types
+
+ Type #1
+ Type #2
+ true if same, false otherwise
+
+
+
+ Compares types
+
+ Type #1
+ Type #2
+ true if same, false otherwise
+
+
+
+ Compares types
+
+ Type #1
+ Type #2
+ true if same, false otherwise
+
+
+
+ Compares types
+
+ Type #1
+ Type #2
+ true if same, false otherwise
+
+
+
+ Compares types
+
+ Type #1
+ Type #2
+ true if same, false otherwise
+
+
+
+ Compares types
+
+ Type #1
+ Type #2
+ true if same, false otherwise
+
+
+
+ Compares types
+
+ Type #1
+ Type #2
+ true if same, false otherwise
+
+
+
+ Compares types
+
+ Type #1
+ Type #2
+ true if same, false otherwise
+
+
+
+ Compares types
+
+ Type #1
+ Type #2
+ true if same, false otherwise
+
+
+
+ Compares types
+
+ Type #1
+ Type #2
+ true if same, false otherwise
+
+
+
+ Compares types
+
+ Type #1
+ Type #2
+ true if same, false otherwise
+
+
+
+ Compares types
+
+ Type #1
+ Type #2
+ true if same, false otherwise
+
+
+
+ Compares types
+
+ Type #1
+ Type #2
+ true if same, false otherwise
+
+
+
+ Compares types
+
+ Type #1
+ Type #2
+ true if same, false otherwise
+
+
+
+ Gets the hash code of a type
+
+ The type
+ The hash code
+
+
+
+ Compares types
+
+ Type #1
+ Type #2
+ true if same, false otherwise
+
+
+
+ Gets the hash code of a type
+
+ The type
+ The hash code
+
+
+
+ Compares types
+
+ Type #1
+ Type #2
+ true if same, false otherwise
+
+
+
+ Gets the hash code of a type
+
+ The type
+ The hash code
+
+
+
+ Compares types
+
+ Type #1
+ Type #2
+ true if same, false otherwise
+
+
+
+ Gets the hash code of a type
+
+ The type
+ The hash code
+
+
+
+ Compares resolution scopes
+
+ Type #1
+ Type #2
+ true if same, false otherwise
+
+
+
+ Compares implementation
+
+ Type #1
+ Type #2
+ true if same, false otherwise
+
+
+
+ Compares resolution scope and implementation
+
+ Type #1
+ Type #2
+ true if same, false otherwise
+
+
+
+ Compares files
+
+ File #1
+ File #2
+ true if same, false otherwise
+
+
+
+ Compares a module with a file
+
+ Module
+ File
+ true if same, false otherwise
+
+
+
+ Compares modules
+
+ Module #1
+ Module #2
+ true if same, false otherwise
+
+
+
+ Compares modules
+
+ Module #1
+ Module #2
+ true if same, false otherwise
+
+
+
+ Compares assemblies
+
+ Assembly #1
+ Assembly #2
+ true if same, false otherwise
+
+
+
+ Compares types
+
+ Type #1
+ Type #2
+ true if same, false otherwise
+
+
+
+ Gets the hash code of a type
+
+ The type
+ The hash code
+
+
+
+ Compares type lists
+
+ Type list #1
+ Type list #2
+ true if same, false otherwise
+
+
+
+ Gets the hash code of a type list
+
+ The type list
+ The hash code
+
+
+
+ Compares signatures
+
+ Sig #1
+ Sig #2
+ true if same, false otherwise
+
+
+
+ Gets the hash code of a sig
+
+ The sig
+ The hash code
+
+
+
+ Compares method/property sigs
+
+ Method/property #1
+ Method/property #2
+ true if same, false otherwise
+
+
+
+ Gets the hash code of a method/property sig
+
+ The method/property sig
+ The hash code
+
+
+
+ Compares field sigs
+
+ Field sig #1
+ Field sig #2
+ true if same, false otherwise
+
+
+
+ Gets the hash code of a field sig
+
+ The field sig
+ The hash code
+
+
+
+ Compares local sigs
+
+ Local sig #1
+ Local sig #2
+ true if same, false otherwise
+
+
+
+ Gets the hash code of a local sig
+
+ The local sig
+ The hash code
+
+
+
+ Compares generic method instance sigs
+
+ Generic inst method #1
+ Generic inst method #2
+ true if same, false otherwise
+
+
+
+ Gets the hash code of a generic instance method sig
+
+ The generic inst method sig
+ The hash code
+
+
+
+ Compares methods
+
+ Method #1
+ Method #2
+ true if same, false otherwise
+
+
+
+ Gets the hash code of a method
+
+ The method
+ The hash code
+
+
+
+ Compares methods
+
+ Method #1
+ Method #2
+ true if same, false otherwise
+
+
+
+ Compares methods
+
+ Method #1
+ Method #2
+ true if same, false otherwise
+
+
+
+ Compares methods
+
+ Method #1
+ Method #2
+ true if same, false otherwise
+
+
+
+ Gets the hash code of a method
+
+ The method
+ The hash code
+
+
+
+ Compares MemberRefs
+
+ MemberRef #1
+ MemberRef #2
+ true if same, false otherwise
+
+
+
+ Gets the hash code of a MemberRef
+
+ The MemberRef
+ The hash code
+
+
+
+ Compares MethodSpecs
+
+ MethodSpec #1
+ MethodSpec #2
+ true if same, false otherwise
+
+
+
+ Gets the hash code of a MethodSpec
+
+ The MethodSpec
+ The hash code
+
+
+
+ Compares MemberRefParents
+
+ MemberRefParent #1
+ MemberRefParent #2
+ true if same, false otherwise
+
+
+
+ Gets the hash code of a MemberRefParent
+
+ The MemberRefParent
+ The hash code
+
+
+
+ Compares fields
+
+ Field #1
+ Field #2
+ true if same, false otherwise
+
+
+
+ Gets the hash code of a field
+
+ The field
+ The hash code
+
+
+
+ Compares fields
+
+ Field #1
+ Field #2
+ true if same, false otherwise
+
+
+
+ Compares fields
+
+ Field #1
+ Field #2
+ true if same, false otherwise
+
+
+
+ Compares fields
+
+ Field #1
+ Field #2
+ true if same, false otherwise
+
+
+
+ Gets the hash code of a field
+
+ The field
+ The hash code
+
+
+
+ Compares properties
+
+ Property #1
+ Property #2
+ true if same, false otherwise
+
+
+
+ Gets the hash code of a property
+
+ The property
+ The hash code
+
+
+
+ Compares events
+
+ Event #1
+ Event #2
+ true if same, false otherwise
+
+
+
+ Gets the hash code of an event
+
+ The event
+ The hash code
+
+
+
+ Compares types
+
+ Type #1
+ Type #2
+ true if same, false otherwise
+
+
+
+ Compares types
+
+ Type #1
+ Type #2
+ true if same, false otherwise
+
+
+
+ Compares types
+
+ Type #1
+ Type #2
+ true if same, false otherwise
+
+
+
+ Compares types
+
+ Type #1
+ Type #2
+ true if same, false otherwise
+
+
+
+ Compares types
+
+ Type #1
+ Type #2
+ true if same, false otherwise
+
+
+
+ Compares types
+
+ Type #1
+ Type #2
+ true if same, false otherwise
+
+
+
+ Compares types
+
+ Type #1
+ Type #2
+ true if same, false otherwise
+
+
+
+ Compares types
+
+ Type #1
+ Type #2
+ true if same, false otherwise
+
+
+
+ Compares types
+
+ Type #1
+ Type #2
+ true if same, false otherwise
+
+
+
+ Compares types
+
+ Type #1
+ Type #2
+ true if same, false otherwise
+
+
+
+ Checks whether it's FnPtr&, FnPtr*, FnPtr[], or FnPtr[...]
+
+ The type
+
+
+
+ Compares types
+
+ Type #1
+ Type #2
+ Root declaring type to check if we should
+ treat as a generic instance type
+ true if we should treat
+ as a generic instance type
+ true if same, false otherwise
+
+
+
+ Compares types
+
+ Type #1
+ Type #2
+ true if same, false otherwise
+
+
+
+ Compares types
+
+ Type #1
+ Type #2
+ true if same, false otherwise
+
+
+
+ Gets the hash code of a type
+
+ The type
+ The hash code
+
+
+
+ Gets the hash code of a type
+
+ The type
+ true if we should treat
+ as a generic instance type
+ The hash code
+
+
+
+ Gets the hash code of a type list
+
+ The type list
+ Root declaring type to check if we should
+ treat as a generic instance type
+ The hash code
+
+
+
+ Gets the hash code of a list with only generic method parameters ()
+
+ Number of generic method parameters
+ Hash code
+
+
+
+ Gets the hash code of a TypeDef type
+
+ The type
+ The hash code
+
+
+
+ Compares type lists
+
+ Type list #1
+ Type list #2
+ Root declaring type to check if we should
+ treat as a generic instance type
+ true if same, false otherwise
+
+
+
+ Compares modules
+
+ Module #1
+ Module #2
+ true if same, false otherwise
+
+
+
+ Compares a file and a module
+
+ File
+ Module
+ true if same, false otherwise
+
+
+
+ Compares modules
+
+ Module #1
+ Module #2
+ true if same, false otherwise
+
+
+
+ Compares assemblies
+
+ Assembly #1
+ Assembly #2
+ true if same, false otherwise
+
+
+
+ Compares method declaring types
+
+ Method #1
+ Method #2
+ true if same, false otherwise
+
+
+
+ Compares methods
+
+ Method #1
+ Method #2
+ true if same, false otherwise
+
+
+
+ Compares methods
+
+ Method #1
+ Method #2
+ true if same, false otherwise
+
+
+
+ Compares methods
+
+ Method #1
+ Method #2
+ true if same, false otherwise
+
+
+
+ Compares methods
+
+ Method #1
+ Method #2
+ true if same, false otherwise
+
+
+
+ Compares method sigs
+
+ Method #1
+ Method #2
+ true if same, false otherwise
+
+
+
+ Compares method sigs
+
+ Method #1
+ Method #2
+ true if same, false otherwise
+
+
+
+ Compares methods
+
+ Method #1
+ Method #2
+ true if same, false otherwise
+
+
+
+ Compares methods
+
+ Method #1
+ Method #2
+ true if same, false otherwise
+
+
+
+ Compares generic method args, making sure only
+ contains s.
+
+ Number of generic method args in method #1
+ Generic method args in method #2
+ true if same, false otherwise
+
+
+
+ Compares methods
+
+ Method #1
+ Method #2
+ true if same, false otherwise
+
+
+
+ Compares methods
+
+ Method #1
+ Method #2
+ true if same, false otherwise
+
+
+
+ Gets the hash code of a MethodBase
+
+ The MethodBase
+ The hash code
+
+
+
+ Gets the hash code of a parameter list
+
+ The type list
+ Declaring type of method that owns parameter
+ The hash code
+
+
+
+ Compares calling conventions
+
+ Calling convention
+ Method
+
+
+
+
+ Compares return types
+
+ Return type #1
+ MethodBase
+ true if same, false otherwise
+
+
+
+ Compares parameter lists
+
+ Type list #1
+ Type list #2
+ Declaring type of method that owns parameter
+ true if same, false otherwise
+
+
+
+ Compares parameter types
+
+ Parameter type #1
+ Parameter #2
+ Declaring type of method that owns parameter
+ true if same, false otherwise
+
+
+
+ Compares fields
+
+ Field #1
+ Field #2
+ true if same, false otherwise
+
+
+
+ Compares fields
+
+ Field #1
+ Field #2
+ true if same, false otherwise
+
+
+
+ Compares fields
+
+ Field #1
+ Field #2
+ true if same, false otherwise
+
+
+
+ Compares fields
+
+ Field #1
+ Field #2
+ true if same, false otherwise
+
+
+
+ Compares fields
+
+ Field #1
+ Field #2
+ true if same, false otherwise
+
+
+
+ Compares fields
+
+ Field #1
+ Field #2
+ true if same, false otherwise
+
+
+
+ Gets the hash code of a field
+
+ The field
+ The hash code
+
+
+
+ Compares properties
+
+ Property #1
+ Property #2
+ true if same, false otherwise
+
+
+
+ Gets the hash code of a property
+
+ The property
+ The hash code
+
+
+
+ Compares events
+
+ Event #1
+ Event #2
+ true if same, false otherwise
+
+
+
+ Gets the hash code of an event
+
+ The event
+ The hash code
+
+
+
+
+
+
+ Helps resolve types
+
+
+
+
+ Resolves a
+
+ A TypeDefOrRef coded token
+ Generic parameter context
+ A or null if
+ is invalid
+
+
+
+ Converts the address of a to a
+
+
+ Address of . This is also known as the
+ method table and has the same value as
+ A or null if not supported
+
+
+
+ Reads signatures from the #Blob stream
+
+
+
+
+ Reads a signature from the #Blob stream
+
+ Reader module
+ #Blob stream offset of signature
+ A new instance or null if
+ is invalid.
+
+
+
+ Reads a signature from the #Blob stream
+
+ Reader module
+ #Blob stream offset of signature
+ Generic parameter context
+ A new instance or null if
+ is invalid.
+
+
+
+ Reads a signature
+
+ The module where the signature is located in
+ The signature data
+ A new instance or null if
+ is invalid.
+
+
+
+ Reads a signature
+
+ The module where the signature is located in
+ The signature data
+ Generic parameter context
+ A new instance or null if
+ is invalid.
+
+
+
+ Reads a signature
+
+ The module where the signature is located in
+ The signature reader
+ A new instance or null if
+ is invalid.
+
+
+
+ Reads a signature
+
+ The module where the signature is located in
+ The signature reader
+ Generic parameter context
+ A new instance or null if
+ is invalid.
+
+
+
+ Reads a signature
+
+ Token resolver
+ A instance
+ The signature data
+ A new instance or null if
+ is invalid.
+
+
+
+ Reads a signature
+
+ Token resolver
+ A instance
+ The signature data
+ Generic parameter context
+ A new instance or null if
+ is invalid.
+
+
+
+ Reads a signature
+
+ Token resolver
+ A instance
+ The signature reader
+ A new instance or null if
+ is invalid.
+
+
+
+ Reads a signature
+
+ Token resolver
+ A instance
+ The signature reader
+ Generic parameter context
+ A new instance or null if
+ is invalid.
+
+
+
+ Reads a type signature from the #Blob stream
+
+ Reader module
+ #Blob stream offset of signature
+ A new instance or null if
+ is invalid.
+
+
+
+ Reads a type signature from the #Blob stream
+
+ Reader module
+ #Blob stream offset of signature
+ Generic parameter context
+ A new instance or null if
+ is invalid.
+
+
+
+ Reads a type signature from the #Blob stream
+
+ Reader module
+ #Blob stream offset of signature
+ If there's any extra data after the signature, it's saved
+ here, else this will be null
+ A new instance or null if
+ is invalid.
+
+
+
+ Reads a type signature from the #Blob stream
+
+ Reader module
+ #Blob stream offset of signature
+ Generic parameter context
+ If there's any extra data after the signature, it's saved
+ here, else this will be null
+ A new instance or null if
+ is invalid.
+
+
+
+ Reads a signature
+
+ The module where the signature is located in
+ The signature data
+ A new instance or null if
+ is invalid.
+
+
+
+ Reads a signature
+
+ The module where the signature is located in
+ The signature data
+ Generic parameter context
+ A new instance or null if
+ is invalid.
+
+
+
+ Reads a signature
+
+ The module where the signature is located in
+ The signature reader
+ A new instance or null if
+ is invalid.
+
+
+
+ Reads a signature
+
+ The module where the signature is located in
+ The signature reader
+ Generic parameter context
+ A new instance or null if
+ is invalid.
+
+
+
+ Reads a signature
+
+ Token resolver
+ A instance
+ The signature data
+ A new instance or null if
+ is invalid.
+
+
+
+ Reads a signature
+
+ Token resolver
+ A instance
+ The signature data
+ Generic parameter context
+ A new instance or null if
+ is invalid.
+
+
+
+ Reads a signature
+
+ Token resolver
+ A instance
+ The signature reader
+ A new instance or null if
+ is invalid.
+
+
+
+ Reads a signature
+
+ Token resolver
+ A instance
+ The signature reader
+ Generic parameter context
+ A new instance or null if
+ is invalid.
+
+
+
+ Reads a signature
+
+ Token resolver
+ A instance
+ The signature data
+ Generic parameter context
+ If there's any extra data after the signature, it's saved
+ here, else this will be null
+ A new instance or null if
+ is invalid.
+
+
+
+ Reads a signature
+
+ Token resolver
+ A instance
+ The signature reader
+ Generic parameter context
+ If there's any extra data after the signature, it's saved
+ here, else this will be null
+ A new instance or null if
+ is invalid.
+
+
+
+ Constructor
+
+ Reader module
+ #Blob stream offset of signature
+ Generic parameter context
+
+
+
+ Constructor
+
+ Token resolver
+ A instance
+ The signature data
+ Generic parameter context
+
+
+
+ Reads the signature
+
+ A new instance or null if invalid signature
+
+
+
+ Reads a
+
+ First byte of signature
+ A new instance
+
+
+
+ Reads a
+
+ First byte of signature
+ A new instance
+
+
+
+ Reads a
+
+ First byte of signature
+ A new instance
+
+
+
+ Reads a
+
+ First byte of signature
+ A new instance
+
+
+
+ Reads a
+
+ First byte of signature
+ A new instance
+
+
+
+ Reads the next type
+
+ true if a TypeSpec is allowed if the next type is a class/value-type
+ A new instance or null if invalid element type
+
+
+
+ A high-level representation of a row in the StandAloneSig table
+
+
+
+
+ The row id in its table
+
+
+
+
+
+
+
+
+
+
+
+
+
+ From column StandAloneSig.Signature
+
+
+
+
+
+
+
+ Gets all custom attributes
+
+
+
+
+
+
+ Initializes
+
+
+
+
+
+
+
+
+
+
+
+
+ Gets all custom debug infos
+
+
+
+
+
+
+ Initializes
+
+
+
+ Gets/sets the method sig
+
+
+
+
+ Gets/sets the locals sig
+
+
+
+
+
+
+
+ A StandAloneSig row created by the user and not present in the original .NET file
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ A locals sig
+
+
+
+ Constructor
+
+ A method sig
+
+
+
+ Created from a row in the StandAloneSig table
+
+
+
+ The module where this instance is located
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor
+
+ The module which contains this StandAloneSig row
+ Row ID
+ Generic parameter context
+ If is null
+ If is invalid
+
+
+
+ Thrown if the strong name key or public key is invalid
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ Error message
+
+
+
+ Constructor
+
+ Error message
+ Other exception
+
+
+
+ Constructor
+
+
+
+
+
+
+ Type of signature algorithm. See WinCrypt.h in the Windows SDK
+
+
+
+
+ RSA signature algorithm
+
+
+
+
+ A public key
+
+
+
+
+ Gets/sets the signature algorithm
+
+
+
+
+ Gets/sets the hash algorithm
+
+
+
+
+ Gets/sets the modulus
+
+
+
+
+ Gets/sets the public exponent
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ Modulus
+ Public exponent
+
+
+
+ Constructor
+
+ Modulus
+ Public exponent
+ Hash algorithm
+
+
+
+ Constructor
+
+ Modulus
+ Public exponent
+ Hash algorithm
+ Signature algorithm
+
+
+
+ Constructor
+
+ Public key
+
+
+
+ Constructor
+
+ Public key data
+ Strong name key is invalid
+
+
+
+ Constructor
+
+ Public key file
+ Strong name key is invalid
+
+
+
+ Constructor
+
+ Public key stream
+ Strong name key is invalid
+
+
+
+ Constructor
+
+ Public key reader
+ Strong name key is invalid
+
+
+
+ Creates a public key blob
+
+
+
+
+
+
+
+ Stores a strong name key pair
+
+
+
+
+ Gets the public key
+
+
+
+
+ Gets the strong name signature size in bytes
+
+
+
+
+ Gets the public key hash algorithm. It's usually
+
+
+
+
+ Gets the public exponent
+
+
+
+
+ Gets the modulus
+
+
+
+
+ Gets prime1
+
+
+
+
+ Gets prime2
+
+
+
+
+ Gets exponent1
+
+
+
+
+ Gets exponent2
+
+
+
+
+ Gets the coefficient
+
+
+
+
+ Gets the private exponent
+
+
+
+
+ Constructor
+
+ Strong name key data
+ Strong name key is invalid
+
+
+
+ Constructor
+
+ Strong name key file
+ Strong name key is invalid
+
+
+
+ Constructor
+
+ Strong name key stream
+ Strong name key is invalid
+
+
+
+ Constructor
+
+ Strong name key reader
+ Strong name key is invalid
+
+
+
+ Creates a strong name key with a new hash algorithm
+
+ Algorithm
+
+
+
+
+ Creates an instance
+
+
+
+
+ Creates a strong name blob
+
+
+
+
+ Creates a counter signature, just like
+ sn -a IdentityPubKey.snk IdentityKey.snk SignaturePubKey.snk can do.
+ The public key sn prints is 's value.
+
+ Identity public key
+ Identity strong name key pair
+ Signature public key
+ The counter signature as a hex string
+
+
+
+ Creates a counter signature, just like
+ sn -a IdentityPubKey.snk IdentityKey.snk SignaturePubKey.snk can do.
+ The public key sn prints is 's value.
+
+ Identity public key
+ Identity strong name key pair
+ Signature public key
+ The counter signature
+
+
+
+ Strong name signs an assembly. It supports normal strong name signing and the new
+ (.NET Framework 4.5) enhanced strong name signing.
+
+
+
+
+ Constructor
+
+ .NET PE file stream
+
+
+
+ Constructor
+
+ .NET PE file stream
+ Offset in of the first byte of
+ the PE file.
+
+
+
+ Calculates the strong name signature and writes it to the stream. The signature
+ is also returned.
+
+ Strong name key used for signing
+ Offset (relative to the start of the PE file) of the strong
+ name signature.
+ The strong name signature
+
+
+
+ Calculates and returns the strong name signature
+
+ Strong name key used for signing
+ Offset (relative to start of PE file) of the strong
+ name signature.
+ The strong name signature
+
+
+
+ Strong name hashes the .NET file
+
+ Hash algorithm
+ Strong name sig offset (relative to start of .NET PE file)
+ Size of strong name signature
+ The strong name hash of the .NET file
+
+
+
+ Returns the strong name signature
+
+ Strong name key
+ Hash algorithm
+ Strong name hash of the .NET PE file
+ Strong name signature
+
+
+
+ System.Runtime.InteropServices.TypeIdentifierAttribute helper code used by
+
+
+
+
+ TypeDef and ExportedType flags. See CorHdr.h/CorTypeAttr
+
+
+
+ Use this mask to retrieve the type visibility information.
+
+
+ Class is not public scope.
+
+
+ Class is public scope.
+
+
+ Class is nested with public visibility.
+
+
+ Class is nested with private visibility.
+
+
+ Class is nested with family visibility.
+
+
+ Class is nested with assembly visibility.
+
+
+ Class is nested with family and assembly visibility.
+
+
+ Class is nested with family or assembly visibility.
+
+
+ Use this mask to retrieve class layout information
+
+
+ Class fields are auto-laid out
+
+
+ Class fields are laid out sequentially
+
+
+ Layout is supplied explicitly
+
+
+ Use this mask to retrieve class semantics information.
+
+
+ Use this mask to retrieve class semantics information.
+
+
+ Type is a class.
+
+
+ Type is an interface.
+
+
+ Class is abstract
+
+
+ Class is concrete and may not be extended
+
+
+ Class name is special. Name describes how.
+
+
+ Class / interface is imported
+
+
+ The class is Serializable.
+
+
+ The type is a Windows Runtime type
+
+
+ Use StringFormatMask to retrieve string information for native interop
+
+
+ LPTSTR is interpreted as ANSI in this class
+
+
+ LPTSTR is interpreted as UNICODE
+
+
+ LPTSTR is interpreted automatically
+
+
+ A non-standard encoding specified by CustomFormatMask
+
+
+ Use this mask to retrieve non-standard encoding information for native interop. The meaning of the values of these 2 bits is unspecified.
+
+
+ Initialize the class any time before first static field access.
+
+
+ This ExportedType is a type forwarder.
+
+
+ Flags reserved for runtime use.
+
+
+ Runtime should check name encoding.
+
+
+ Class has security associate with it.
+
+
+
+ A high-level representation of a row in the TypeDef table
+
+
+
+
+ The row id in its table
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Always returns false since a does not contain any
+ or .
+
+
+
+
+
+
+
+ Gets/sets the owner module
+
+
+
+
+
+
+
+
+
+ Called to initialize
+
+
+
+ From column TypeDef.Flags
+
+
+
+ Attributes
+
+
+
+ From column TypeDef.Name
+
+
+
+ Name
+
+
+
+ From column TypeDef.Namespace
+
+
+
+ Name
+
+
+
+ From column TypeDef.Extends
+
+
+
+
+
+
+
+
+
+ Called to initialize
+
+
+ Reset
+
+
+
+ From column TypeDef.FieldList
+
+
+
+
+
+
+ Initializes
+
+
+
+ From column TypeDef.MethodList
+
+
+
+
+
+
+ Initializes
+
+
+
+
+
+
+
+
+ Initializes
+
+
+
+ Gets the interfaces
+
+
+
+
+
+
+ Initializes
+
+
+
+
+
+
+
+
+ Initializes
+
+
+
+ Gets/sets the class layout
+
+
+
+
+
+
+
+
+
+ Called to initialize
+
+
+
+
+
+
+ Gets/sets the enclosing type. It's null if this isn't a nested class.
+
+
+
+
+
+
+
+ Called by and should normally not be called by any user
+ code. Use instead. Only call this if you must set the
+ declaring type without inserting it in the declaring type's method list.
+
+
+
+
+
+
+
+
+
+ Called to initialize
+
+
+
+ Gets all the nested types
+
+
+
+
+
+
+ Initializes
+
+
+
+ Gets all events
+
+
+
+
+
+
+ Initializes
+
+
+
+ Gets all properties
+
+
+
+
+
+
+ Initializes
+
+
+
+ Gets all custom attributes
+
+
+
+
+
+
+ Initializes
+
+
+
+
+
+
+
+
+
+
+
+
+ Gets all custom debug infos
+
+
+
+
+
+
+ Initializes
+
+
+
+ true if there's at least one in
+
+
+
+
+ true if there's at least one in
+
+
+
+
+ true if there's at least one in
+
+
+
+
+ true if there's at least one in
+
+
+
+
+ true if there's at least one in
+
+
+
+
+ true if there's at least one in
+
+
+
+
+ true if there's at least one in
+
+
+
+
+ true if is not null
+
+
+
+
+ Gets/sets the packing size. If you write to this property but
+ is null, it will be created. The value is returned
+ if is null.
+
+
+
+
+ Gets/sets the class size. If you write to this property but
+ is null, it will be created. The value is returned
+ if is null.
+
+
+
+
+
+
+
+ true if it's an enum
+
+
+
+
+ true if it's a delegate (it derives from )
+
+
+
+
+ true if this is a nested type (it has a declaring type)
+
+
+
+
+
+
+
+ Checks whether this type has opted into equivalence
+
+
+
+
+ Modify property: =
+ ( & ) | .
+
+ Value to AND
+ Value to OR
+
+
+
+ Set or clear flags in
+
+ true if flags should be set, false if flags should
+ be cleared
+ Flags to set or clear
+
+
+
+ Gets/sets the visibility
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ Gets/sets the layout
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the string format
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ true if this is the global (aka. <Module>) type
+
+
+
+
+ Gets a list of all nested types and all their nested types
+
+
+
+
+ Gets an enum's underlying type or null if none. Should only be called
+ if this is an enum.
+
+
+
+
+ Resolves a method or a field. (owner type) is ignored when
+ resolving the method/field. Private scope methods/fields are not returned.
+
+ A method/field reference
+ A or a instance or null
+ if it couldn't be resolved.
+
+
+
+ Resolves a method or a field. (owner type) is ignored when
+ resolving the method/field.
+
+ A method/field reference
+ Method/field signature comparison options
+ A or a instance or null
+ if it couldn't be resolved.
+
+
+
+ Finds a method. Private scope methods are not returned.
+
+ Method name
+ Method signature
+ The first method that matches or null if none found
+
+
+
+ Finds a method
+
+ Method name
+ Method signature
+ Method signature comparison options
+ The first method that matches or null if none found
+
+
+
+ Finds a method
+
+ Method name
+ Method signature
+ Method signature comparison options
+ The module that needs to find the method or null
+ The first method that matches or null if none found
+
+
+
+ Finds a method by name
+
+ Name of method
+ The or null if not found
+
+
+
+ Finds all methods by name
+
+ Name of method
+ All methods with that name
+
+
+
+ Finds the class constructor (aka type initializer). It's the method named .cctor
+
+ The class constructor or null if none found
+
+
+
+ Finds the class constructor (aka type initializer). It's the method named .cctor.
+ If it doesn't exist, it is created, inserted into and returned.
+ The created .cctor will have just one RET instruction.
+
+ The class constructor
+
+
+
+ Finds all instance constructors (not class constructors)
+
+ All instance constructors
+
+
+
+ Finds all static and instance constructors
+
+ All static and instance constructors
+
+
+
+ Finds the default instance constructor (the one with no arguments)
+
+ The default instance constructor or null if none
+
+
+
+ Finds a field. Private scope fields are not returned.
+
+ Field name
+ Field signature
+ The first field that matches or null if none found
+
+
+
+ Finds a field
+
+ Field name
+ Field signature
+ Field signature comparison options
+ The first field that matches or null if none found
+
+
+
+ Finds a field
+
+ Field name
+ Field signature
+ Field signature comparison options
+ The module that needs to find the field or null
+ The first field that matches or null if none found
+
+
+
+ Finds a field by name
+
+ Name of field
+ The or null if not found
+
+
+
+ Finds all fields by name
+
+ Name of field
+ All fields with that name
+
+
+
+ Finds an event
+
+ Name of event
+ Type of event
+ A or null if not found
+
+
+
+ Finds an event
+
+ Name of event
+ Type of event
+ Event type comparison options
+ A or null if not found
+
+
+
+ Finds an event
+
+ Name of event
+ Type of event
+ Event type comparison options
+ The module that needs to find the event or null
+ A or null if not found
+
+
+
+ Finds an event by name
+
+ Name of event
+ The or null if not found
+
+
+
+ Finds all events by name
+
+ Name of event
+ All events with that name
+
+
+
+ Finds a property
+
+ Name of property
+ Property signature
+ A or null if not found
+
+
+
+ Finds a property
+
+ Name of property
+ Property signature
+ Property signature comparison options
+ A or null if not found
+
+
+
+ Finds a property
+
+ Name of property
+ Property signature
+ Property signature comparison options
+ The module that needs to find the property or null
+ A or null if not found
+
+
+
+ Finds a prop by name
+
+ Name of prop
+ The or null if not found
+
+
+
+ Finds all props by name
+
+ Name of prop
+ All props with that name
+
+
+
+ Finds a method by checking this type or any of its base types
+
+ Method name
+ Method signature
+ The method or null if it wasn't found
+
+
+
+ Finds a method by checking this type or any of its base types
+
+ Method name
+ Method signature
+ Method signature comparison options
+ The method or null if it wasn't found
+
+
+
+ Finds a method by checking this type or any of its base types
+
+ Method name
+ Method signature
+ Method signature comparison options
+ The module that needs to find the method or null
+ The method or null if it wasn't found
+
+
+
+ Finds a method by checking this type or any of its base types
+
+ Method name
+ The method or null if it wasn't found
+
+
+
+ Finds a field by checking this type or any of its base types
+
+ Field name
+ Field signature
+ The field or null if it wasn't found
+
+
+
+ Finds a field by checking this type or any of its base types
+
+ Field name
+ Field signature
+ Field signature comparison options
+ The field or null if it wasn't found
+
+
+
+ Finds a field by checking this type or any of its base types
+
+ Field name
+ Field signature
+ Field signature comparison options
+ The module that needs to find the field or null
+ The field or null if it wasn't found
+
+
+
+ Finds a field by checking this type or any of its base types
+
+ Field name
+ The field or null if it wasn't found
+
+
+
+ Finds an event by checking this type or any of its base types
+
+ Event name
+ Event type
+ The event or null if it wasn't found
+
+
+
+ Finds an event by checking this type or any of its base types
+
+ Event name
+ The event or null if it wasn't found
+
+
+
+ Finds a property by checking this type or any of its base types
+
+ Property name
+ Property signature
+ The property or null if it wasn't found
+
+
+
+ Finds a property by checking this type or any of its base types
+
+ Property name
+ Property signature
+ Property signature comparison options
+ The property or null if it wasn't found
+
+
+
+ Finds a property by checking this type or any of its base types
+
+ Property name
+ Property signature
+ Property signature comparison options
+ The module that needs to find the property or null
+ The property or null if it wasn't found
+
+
+
+ Finds a property by checking this type or any of its base types
+
+ Property name
+ The property or null if it wasn't found
+
+
+
+ Removes a method from this type. It also removes it from any properties and events.
+
+ The method to remove
+
+
+
+ Removes a method from this type. It also removes it from any properties and events.
+
+ The method to remove
+ true if we should remove all
+ empty properties and events.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Gets all fields named
+
+ Field name
+ A list of 0 or more fields with name
+
+
+
+ Gets the first field named
+
+ Field name
+ The field or null if none found
+
+
+
+ FInd a method implementation method
+
+ Method
+
+
+
+
+
+
+
+ A TypeDef row created by the user and not present in the original .NET file
+
+
+
+
+ Constructor
+
+ Name
+
+
+
+ Constructor
+
+ Namespace
+ Name
+
+
+
+ Constructor
+
+ Name
+ Base class or null if it's an interface
+
+
+
+ Constructor
+
+ Namespace
+ Name
+ Base class or null if it's an interface
+
+
+
+ Created from a row in the TypeDef table
+
+
+
+ The module where this instance is located
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor
+
+ The module which contains this TypeDef row
+ Row ID
+ If is null
+ If is invalid
+
+
+
+ Gets all methods overrides
+
+ The method
+ Generic parameter context
+ A list (possibly empty) of all methods overrides
+
+
+
+ Initializes all . Only those s
+ that are property or event handlers get updated.
+
+
+
+
+ Initializes a property's special methods
+
+ The property
+ Updated with a list of all get methods
+ Updated with a list of all set methods
+ Updated with a list of all other methods
+
+
+
+ Initializes an event's special methods
+
+ The event
+ Updated with the addOn method or null if none
+ Updated with the fire method or null if none
+ Updated with the removeOn method or null if none
+ Updated with a list of all other methods
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Finds s
+
+
+
+
+ true if the cache is enabled. false if the cache
+ is disabled and a slower O(n) lookup is performed.
+
+
+
+
+ Constructor
+
+ All root types. All their nested types are also included.
+ If is null
+
+
+
+ Constructor
+
+ All root types
+ true if all nested types that are reachable
+ from should also be included.
+ If is null
+
+
+
+ Resets the cache (clears all cached elements). Use this method if the cache is
+ enabled but some of the types have been modified (eg. removed, added, renamed).
+
+
+
+
+
+
+
+
+
+
+ Gets the next or null if there are no more left
+
+ The next or null if none
+
+
+
+ Gets the next or null if there are no more left.
+ The cache is updated with the returned before the method
+ returns.
+
+ The next or null if none
+
+
+
+
+
+
+ Various helper methods for classes to prevent infinite recursion
+
+
+
+
+ Checks whether contains a or a
+ .
+
+ Calling convention signature
+ true if contains a
+ or a .
+
+
+
+ Checks whether contains a or a
+ .
+
+ Field signature
+ true if contains a
+ or a .
+
+
+
+ Checks whether contains a or a
+ .
+
+ Method or property signature
+ true if contains a
+ or a .
+
+
+
+ Checks whether contains a or a
+ .
+
+ Local signature
+ true if contains a
+ or a .
+
+
+
+ Checks whether contains a or a
+ .
+
+ Generic method signature
+ true if contains a
+ or a .
+
+
+
+ Checks whether contains a or a
+ .
+
+ Type
+ true if contains a or a
+ .
+
+
+
+ Checks whether contains a or a
+ .
+
+ Type
+ true if contains a or a
+ .
+
+
+
+ Checks whether contains a or a
+ .
+
+ Type
+ true if contains a or a
+ .
+
+
+
+ Checks whether contains a or a
+ .
+
+ Type
+ true if contains a or a
+ .
+
+
+
+ Checks whether contains a or a
+ .
+
+ Type
+ true if contains a or a
+ .
+
+
+
+ Checks whether contains a or a
+ .
+
+ Type
+ true if contains a or a
+ .
+
+
+
+ Thrown by when it fails to parse a type name
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ Exception message
+
+
+
+ Constructor
+
+ Exception message
+ Inner exception or null if none
+
+
+
+ Constructor
+
+
+
+
+
+
+ Helps create types
+
+
+
+
+ Finds a 's when the original assembly
+ info is missing from the full type name.
+
+ A non-nested
+ 's or null
+
+
+
+ Parses a type name and creates an
+
+
+
+ Owner module
+
+
+
+ Parses a Reflection type name and creates a
+
+ Module that will own the returned or null
+ Full name of type
+ Helper class
+ A new instance
+ If parsing failed
+
+
+
+ Parses a Reflection type name and creates a
+
+ Module that will own the returned or null
+ Full name of type
+ Helper class
+ Generic parameter context
+ A new instance
+ If parsing failed
+
+
+
+ Parses a Reflection type name and creates a
+
+ Module that will own the returned or null
+ Full name of type
+ Helper class
+ A new instance or null if parsing failed
+
+
+
+ Parses a Reflection type name and creates a
+
+ Module that will own the returned or null
+ Full name of type
+ Helper class
+ Generic parameter context
+ A new instance or null if parsing failed
+
+
+
+ Parses a Reflection type name and creates a
+
+ Module that will own the returned or null
+ Full name of type
+ Helper class
+ A new instance
+ If parsing failed
+
+
+
+ Parses a Reflection type name and creates a
+
+ Module that will own the returned or null
+ Full name of type
+ Helper class
+ Generic parameter context
+ A new instance
+ If parsing failed
+
+
+
+ Parses a Reflection type name and creates a
+
+ Module that will own the returned or null
+ Full name of type
+ Helper class
+ A new instance or null if parsing failed
+
+
+
+ Parses a Reflection type name and creates a
+
+ Module that will own the returned or null
+ Full name of type
+ Helper class
+ Generic parameter context
+ A new instance or null if parsing failed
+
+
+
+ Constructor
+
+ Module that will own the returned or null
+ Full name of type
+ Helper class
+
+
+
+ Constructor
+
+ Module that will own the returned or null
+ Full name of type
+ Helper class
+ Generic parameter context
+
+
+
+ Parses a type name and creates a
+
+ A new instance
+ If parsing failed
+
+
+
+ Parses a type name and creates a
+
+ A new instance
+ If parsing failed
+
+
+
+ Increment recursion counter
+
+ If this method has been called too many times
+
+
+
+ Decrement recursion counter
+
+
+
+
+
+
+
+ Dispose method
+
+ true if called by
+
+
+
+ Reads a including any possible nested s.
+
+ Character separating nested types
+ A new instance, which could be nested.
+
+
+
+ Reads a namespace and name and creates a TypeRef. Does not read any nested types.
+
+ A new instance
+
+
+
+ Peeks the next char. -1 if no more chars.
+
+
+
+
+ Gets the next char or -1 if no more chars
+
+
+
+
+ Gets the next ID char or -1 if no more ID chars
+
+ true if white space should be ignored
+ true if equal sign '=' should be ignored
+
+
+
+ Parses reflection type names. Grammar http://msdn.microsoft.com/en-us/library/yfsftwz6.aspx
+
+
+
+
+ Constructor
+
+ Module that will own the returned or null
+ Full name of type
+ Helper class
+
+
+
+ Constructor
+
+ Module that will own the returned or null
+ Full name of type
+ Helper class
+ Generic parameter context
+
+
+
+ Parses an assembly name
+
+ Full assembly name
+ A new instance or null if parsing failed
+
+
+
+ Parses an assembly name
+
+ Full assembly name
+ Generic parameter context
+ A new instance or null if parsing failed
+
+
+
+
+
+
+ A high-level representation of a row in the TypeRef table
+
+
+
+
+ The row id in its table
+
+
+
+
+ The owner module
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Always returns false since a does not contain any
+ or .
+
+
+
+
+
+
+
+ From column TypeRef.ResolutionScope
+
+
+
+
+
+
+
+
+
+ Called to initialize
+
+
+
+ From column TypeRef.Name
+
+
+
+ Name
+
+
+
+ From column TypeRef.Namespace
+
+
+
+ Name
+
+
+
+ Gets all custom attributes
+
+
+
+
+
+
+ Initializes
+
+
+
+
+
+
+
+
+
+
+
+
+ Gets all custom debug infos
+
+
+
+
+
+
+ Initializes
+
+
+
+ true if it's nested within another
+
+
+
+
+
+
+
+
+
+
+ Gets the declaring type, if any
+
+
+
+
+
+
+
+ Resolves the type
+
+ A instance or null if it couldn't be resolved
+
+
+
+ Resolves the type
+
+ The module that needs to resolve the type or null
+ A instance or null if it couldn't be resolved
+
+
+
+ Resolves the type
+
+ A instance
+ If the type couldn't be resolved
+
+
+
+ Resolves the type
+
+ The module that needs to resolve the type or null
+ A instance
+ If the type couldn't be resolved
+
+
+
+ Gets the top-most (non-nested)
+
+ Input
+ The non-nested or null
+
+
+
+
+
+
+ A TypeRef row created by the user and not present in the original .NET file
+
+
+
+
+ Constructor
+
+ Owner module
+ Type name
+
+
+
+ Constructor
+
+ Owner module
+ Type namespace
+ Type name
+
+
+
+ Constructor
+
+ Owner module
+ Type namespace
+ Type name
+ Resolution scope (a ,
+ , or )
+
+
+
+ Created from a row in the TypeRef table
+
+
+
+ The module where this instance is located
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor
+
+ The module which contains this TypeRef row
+ Row ID
+ If is null
+ If is invalid
+
+
+
+ Type sig base class
+
+
+
+
+ Returns the wrapped element type. Can only be null if it was an invalid sig or
+ if it's a
+
+
+
+
+ Gets the element type
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ true if it's a
+
+
+
+
+ true if it's a
+
+
+
+
+ true if it's a
+
+
+
+
+ true if it's a
+
+
+
+
+ true if it's a
+
+
+
+
+ true if it's a
+
+
+
+
+ true if it's a
+
+
+
+
+ true if it's a
+
+
+
+
+ true if it's a
+
+
+
+
+ true if it's a
+
+
+
+
+ true if it's a
+
+
+
+
+ true if it's a
+
+
+
+
+ true if it's a or a
+
+
+
+
+ true if it's a
+
+
+
+
+ true if it's a
+
+
+
+
+ true if it's a
+
+
+
+
+ true if it's a
+
+
+
+
+ true if it's a
+
+
+
+
+ true if it's a
+
+
+
+
+ true if it's a
+
+
+
+
+ true if it's a
+
+
+
+
+ true if this contains a or a
+ .
+
+
+
+
+
+
+
+ Base class for element types that are last in a type sig, ie.,
+ , , ,
+ ,
+
+
+
+
+
+
+
+ Wraps a
+
+
+
+
+ Gets the the TypeDefOrRef
+
+
+
+
+ Returns true if != null
+
+
+
+
+ Returns true if != null
+
+
+
+
+ Returns true if != null
+
+
+
+
+ Gets the or null if it's not a
+
+
+
+
+ Gets the or null if it's not a
+
+
+
+
+ Gets the or null if it's not a
+
+
+
+
+ Constructor
+
+ A , or
+ a
+
+
+
+ A core library type
+
+
+
+
+ Gets the element type
+
+
+
+
+ Constructor
+
+ The type which must be a or a
+ . and null are not allowed.
+ The type's element type
+
+
+
+ Base class for class/valuetype element types
+
+
+
+
+ Constructor
+
+ A
+
+
+
+ Represents a
+
+
+
+
+
+
+
+ Constructor
+
+ A
+
+
+
+ Represents a
+
+
+
+
+
+
+
+ Constructor
+
+ A
+
+
+
+ Generic method/type var base class
+
+
+
+
+ true if it has an owner or
+
+
+
+
+ true if it has an owner ( is
+ not null)
+
+
+
+
+ true if it has an owner ( is
+ not null)
+
+
+
+
+ Gets the owner type or null if the owner is a or if it
+ has no owner.
+
+
+
+
+ Gets the owner method or null if the owner is a or if it
+ has no owner.
+
+
+
+
+ Gets the generic param number
+
+
+
+
+ Gets the corresponding or null if none exists.
+
+
+
+
+ Constructor
+
+ true if it's a Var, false if it's a MVar
+ Generic param number
+
+
+
+ Constructor
+
+ true if it's a Var, false if it's a MVar
+ Generic param number
+ Owner method/type or null
+
+
+
+ Returns true if it's a MVar element type
+
+
+
+
+ Returns true if it's a Var element type
+
+
+
+
+ Represents a
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor
+
+ Generic parameter number
+ Owner type or null
+
+
+
+ Constructor
+
+ Generic parameter number
+ Owner type or null
+
+
+
+ Represents a
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor
+
+ Generic parameter number
+ Owner method or null
+
+
+
+ Constructor
+
+ Generic parameter number
+ Owner method or null
+
+
+
+ Represents a
+
+
+
+
+
+
+
+ Represents a
+
+
+
+
+
+
+
+ Gets the signature
+
+
+
+
+ Gets the
+
+
+
+
+ Constructor
+
+ The method signature
+
+
+
+ Represents a
+
+
+
+
+
+
+
+ Gets the generic type
+
+
+
+
+ Gets the generic arguments (it's never null)
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ The generic type
+
+
+
+ Constructor
+
+ The generic type
+ Number of generic arguments
+
+
+
+ Constructor
+
+ The generic type
+ Number of generic arguments
+
+
+
+ Constructor
+
+ The generic type
+ Generic argument #1
+
+
+
+ Constructor
+
+ The generic type
+ Generic argument #1
+ Generic argument #2
+
+
+
+ Constructor
+
+ The generic type
+ Generic argument #1
+ Generic argument #2
+ Generic argument #3
+
+
+
+ Constructor
+
+ The generic type
+ Generic arguments
+
+
+
+ Constructor
+
+ The generic type
+ Generic arguments
+
+
+
+ Base class of non-leaf element types
+
+
+
+
+
+
+
+ Constructor
+
+ Next sig
+
+
+
+ Represents a
+
+
+
+
+
+
+
+ Constructor
+
+ The next element type
+
+
+
+ Represents a
+
+
+
+
+
+
+
+ Constructor
+
+ The next element type
+
+
+
+ Array base class
+
+
+
+
+ Constructor
+
+ Array type
+
+
+
+ true if it's a multi-dimensional array (i.e., ),
+ and false if it's a single-dimensional array (i.e., )
+
+
+
+
+
+ true if it's a single-dimensional array (i.e., ),
+ and false if it's a multi-dimensional array (i.e., )
+
+
+
+
+
+ Gets/sets the rank (number of dimensions). This can only be set if
+ is true
+
+
+
+
+ Gets all sizes. If it's a , then it will be an empty temporary
+ list that is re-created every time this method is called.
+
+ A list of sizes
+
+
+
+ Gets all lower bounds. If it's a , then it will be an empty
+ temporary list that is re-created every time this method is called.
+
+ A list of lower bounds
+
+
+
+ Represents a
+
+
+
+
+
+
+
+
+ Gets/sets the rank (max value is 0x1FFFFFFF)
+
+
+
+
+ Gets all sizes (max elements is 0x1FFFFFFF)
+
+
+
+
+ Gets all lower bounds (max elements is 0x1FFFFFFF)
+
+
+
+
+ Constructor
+
+ Array type
+
+
+
+ Constructor
+
+ Array type
+ Array rank
+
+
+
+ Constructor
+
+ Array type
+ Array rank
+
+
+
+ Constructor
+
+ Array type
+ Array rank
+ Sizes list. This instance will be the owner of this list.
+ Lower bounds list. This instance will be the owner of this list.
+
+
+
+ Constructor
+
+ Array type
+ Array rank
+ Sizes list. This instance will be the owner of this list.
+ Lower bounds list. This instance will be the owner of this list.
+
+
+
+ Constructor
+
+ Array type
+ Array rank
+ Sizes list. This instance will be the owner of this list.
+ Lower bounds list. This instance will be the owner of this list.
+
+
+
+
+
+
+
+
+
+ Represents a (single dimension, zero lower bound array)
+
+
+
+
+
+
+
+
+
+
+
+ Constructor
+
+ The next element type
+
+
+
+
+
+
+
+
+
+ Base class for modifier type sigs
+
+
+
+
+ Returns the modifier type
+
+
+
+
+ Constructor
+
+ Modifier type
+ The next element type
+
+
+
+ Represents a
+
+
+
+
+
+
+
+
+
+
+ Represents a
+
+
+
+
+
+
+
+
+
+
+ Represents a
+
+
+
+
+
+
+
+ Constructor
+
+ The next element type
+
+
+
+ Represents a
+
+
+
+
+
+
+
+ Gets/sets the size
+
+
+
+
+ Constructor
+
+ The next element type
+ Size of the array
+
+
+
+ Represents a
+
+
+
+
+
+
+
+ Gets/sets the index
+
+
+
+
+ Constructor
+
+ Index
+ The next element type
+
+
+
+ A high-level representation of a row in the TypeSpec table
+
+
+
+
+ The row id in its table
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ From column TypeSpec.Signature
+
+
+
+
+ Gets/sets the extra data that was found after the signature
+
+
+
+
+
+
+
+
+
+
+
+
+ Called to initialize
+
+
+
+ Gets all custom attributes
+
+
+
+
+
+
+ Initializes
+
+
+
+
+
+
+
+
+
+
+
+
+ Gets all custom debug infos
+
+
+
+
+
+
+ Initializes
+
+
+
+
+
+
+ A TypeSpec row created by the user and not present in the original .NET file
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ A type sig
+
+
+
+ Created from a row in the TypeSpec table
+
+
+
+ The module where this instance is located
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor
+
+ The module which contains this TypeSpec row
+ Row ID
+ Generic parameter context
+ If is null
+ If is invalid
+
+
+
+ Compares s
+
+
+
+
+ The default instance
+
+
+
+
+
+
+
+
+
+
+ A UTF-8 encoded string where the original data is kept in memory to avoid conversions
+ when the data is not really valid UTF-8 encoded data
+
+ When comparing strings, a byte compare is performed. The reason is that this
+ is what the CLR does when comparing strings in the #Strings stream.
+
+
+
+ An empty
+
+
+
+
+ Gets the value as a UTF8 decoded string. Only use it for display purposes,
+ not for serialization.
+
+
+
+
+ Gets the original encoded data. Don't modify this data.
+
+
+
+
+ Gets the length of the this as a . I.e., it's the same as
+ String.Length.
+
+
+
+
+
+ Gets the length of the raw data. It's the same as Data.Length
+
+
+
+
+
+ Checks whether is null or if its data is null.
+
+ The instance to check
+ true if null or empty, false otherwise
+
+
+
+ Checks whether is null or if its data is null or the
+ data is zero length.
+
+ The instance to check
+ true if null or empty, false otherwise
+
+
+ Implicit conversion from to
+
+
+ Implicit conversion from to
+
+
+
+ Converts it to a
+
+ The UTF-8 string instace or null
+ A or null if is null
+
+
+
+ Converts it to a or an empty string if is null
+
+ The UTF-8 string instace or null
+ A (never null)
+
+
+
+ Gets the hash code of a
+
+ Input
+
+
+
+
+
+
+ Compares two instances (case sensitive)
+
+ Instance #1 or null
+ Instance #2 or null
+ < 0 if a < b, 0 if a == b, > 0 if a > b
+
+
+
+ Compares two instances (case insensitive)
+
+ Instance #1 or null
+ Instance #2 or null
+ < 0 if a < b, 0 if a == b, > 0 if a > b
+
+
+
+ Compares two instances (case insensitive)
+
+ Instance #1 or null
+ Instance #2 or null
+ true if equals, false otherwise
+
+
+ Overloaded operator
+
+
+ Overloaded operator
+
+
+ Overloaded operator
+
+
+ Overloaded operator
+
+
+ Overloaded operator
+
+
+ Overloaded operator
+
+
+ Overloaded operator
+
+
+ Overloaded operator
+
+
+ Overloaded operator
+
+
+ Overloaded operator
+
+
+
+ Constructor
+
+ UTF-8 data that this instance now owns
+
+
+
+ Constructor
+
+ The string
+
+
+
+ Compares two instances
+
+ First
+ Second
+ true if equals, false otherwise
+
+
+
+
+
+
+
+
+
+ Checks whether exists in this string
+
+ Value to find
+ true if exists in string or is the
+ empty string, else false
+
+
+
+ Checks whether matches the end of this string
+
+ Value
+
+
+
+
+ Checks whether matches the end of this string
+
+ Value
+ true to ignore case
+ Culture info
+
+
+
+
+ Checks whether matches the end of this string
+
+ Value
+ Comparison type
+
+
+
+
+ Checks whether matches the beginning of this string
+
+ Value
+
+
+
+
+ Checks whether matches the beginning of this string
+
+ Value
+ true to ignore case
+ Culture info
+
+
+
+
+ Checks whether matches the beginning of this string
+
+ Value
+ Comparison type
+
+
+
+
+ Compares this instance with
+
+ Other string
+ < 0 if a < b, 0 if a == b, > 0 if a > b
+
+
+
+ Returns the index of the first character in this string
+
+ Character
+ The index of or -1 if not found
+
+
+
+ Returns the index of the first character in this string
+ starting from index
+
+ Character
+ Start index
+ The index of or -1 if not found
+
+
+
+ Returns the index of the first character in this string
+ starting from index for max
+ characters.
+
+ Character
+ Start index
+ Max number of chars to scan
+ The index of or -1 if not found
+
+
+
+ Returns the index of the first sub string in this string
+
+ String
+ The index of or -1 if not found
+
+
+
+ Returns the index of the first sub string in this string
+ starting from index
+
+ String
+ Start index
+ The index of or -1 if not found
+
+
+
+ Returns the index of the first sub string in this string
+ starting from index for max
+ characters.
+
+ String
+ Start index
+ Max number of chars to scan
+ The index of or -1 if not found
+
+
+
+ Returns the index of the first sub string in this string
+ starting from index for max
+ characters.
+
+ String
+ Start index
+ Max number of chars to scan
+ Comparison type
+ The index of or -1 if not found
+
+
+
+ Returns the index of the first sub string in this string
+ starting from index
+
+ String
+ Start index
+ Comparison type
+ The index of or -1 if not found
+
+
+
+ Returns the index of the first sub string in this string
+
+ String
+ Comparison type
+ The index of or -1 if not found
+
+
+
+ Returns the index of the last character in this string
+
+ Character
+ The index of or -1 if not found
+
+
+
+ Returns the index of the last character in this string
+ starting from index
+
+ Character
+ Start index
+ The index of or -1 if not found
+
+
+
+ Returns the index of the last character in this string
+ starting from index for max
+ characters.
+
+ Character
+ Start index
+ Max number of chars to scan
+ The index of or -1 if not found
+
+
+
+ Returns the index of the last sub string in this string
+
+ String
+ The index of or -1 if not found
+
+
+
+ Returns the index of the last sub string in this string
+ starting from index
+
+ String
+ Start index
+ The index of or -1 if not found
+
+
+
+ Returns the index of the last sub string in this string
+ starting from index for max
+ characters.
+
+ String
+ Start index
+ Max number of chars to scan
+ The index of or -1 if not found
+
+
+
+ Returns the index of the last sub string in this string
+ starting from index for max
+ characters.
+
+ String
+ Start index
+ Max number of chars to scan
+ Comparison type
+ The index of or -1 if not found
+
+
+
+ Returns the index of the last sub string in this string
+ starting from index
+
+ String
+ Start index
+ Comparison type
+ The index of or -1 if not found
+
+
+
+ Returns the index of the last sub string in this string
+
+ String
+ Comparison type
+ The index of or -1 if not found
+
+
+
+ Inserts string at a index
+
+ Start index
+ Value to insert
+ A new instance with the inserted at position
+
+
+
+
+ Removes all characters starting from position
+
+ Start index
+ A new instance
+
+
+
+ Removes characters starting from position
+
+
+ Start index
+ Number of characters to remove
+ A new instance
+
+
+
+ Replaces all characters with
+
+ Character to find
+ Character to replace all
+ A new instance
+
+
+
+ Replaces all sub strings with
+
+ Sub string to find
+ Sub string to replace all
+ A new instance
+
+
+
+ Returns a sub string of this string starting at offset
+
+ Start index
+ A new instance
+
+
+
+ Returns a sub string of this string starting at offset .
+ Length of sub string is .
+
+ Start index
+ Length of sub string
+ A new instance
+
+
+
+ Returns the lower case version of this string
+
+ A new instance
+
+
+
+ Returns the lower case version of this string
+
+ Culture info
+ A new instance
+
+
+
+ Returns the lower case version of this string using the invariant culture
+
+ A new instance
+
+
+
+ Returns the upper case version of this string
+
+ A new instance
+
+
+
+ Returns the upper case version of this string
+
+ Culture info
+ A new instance
+
+
+
+ Returns the upper case version of this string using the invariant culture
+
+ A new instance
+
+
+
+ Removes all leading and trailing whitespace characters
+
+ A new instance
+
+
+
+
+
+
+
+
+
+ Compares byte arrays
+
+
+
+
+ Default instance
+
+
+
+
+
+
+
+
+
+
+ Convert a byte[] to a
+
+ All bytes
+ true if output should be in upper case hex
+ as a hex string
+
+
+
+ Converts a hex string to a byte[]
+
+ A string with an even number of hex characters
+ converted to a byte[] or null
+ if is invalid
+
+
+
+ Converts a character to a hex digit
+
+ Hex character
+ 0x00-0x0F if successful, -1 if is not
+ a valid hex digit
+
+
+
+ Compares two byte arrays
+
+ Byte array #1
+ Byte array #2
+ < 0 if a < b, 0 if a == b, > 0 if a > b
+
+
+
+ Checks whether two byte arrays are equal
+
+ First
+ Second
+ true if same, false otherwise
+
+
+
+ Gets the hash code of a byte array
+
+ Byte array
+ The hash code
+
+
+
+ Compares two versions
+
+ This differs from if the build
+ and/or revision numbers haven't been initialized or if one of the args is null.
+
+ Version #1 or null to be treated as v0.0.0.0
+ Version #2 or null to be treated as v0.0.0.0
+ < 0 if a < b, 0 if a == b, > 0 if a > b
+
+
+
+ Checks whether two versions are the same
+
+ This differs from if the build
+ and/or revision numbers haven't been initialized or if one of the args is null.
+
+ Version #1 or null to be treated as v0.0.0.0
+ Version #2 or null to be treated as v0.0.0.0
+ true if same, false otherwise
+
+
+
+ Creates a new instance with no undefined version values (eg.
+ the build and revision values won't be -1).
+
+ A instance
+ A new instance
+
+
+
+ Parses a version string
+
+ Version string
+ A new or null if
+ is an invalid version
+
+
+
+ Compares two locales (cultures)
+
+ First
+ Second
+ < 0 if a < b, 0 if a == b, > 0 if a > b
+
+
+
+ Compares two locales (cultures)
+
+ First
+ Second
+ true if same, false otherwise
+
+
+
+ Compares two locales (cultures)
+
+ First
+ Second
+ < 0 if a < b, 0 if a == b, > 0 if a > b
+
+
+
+ Compares two locales (cultures)
+
+ First
+ Second
+ true if same, false otherwise
+
+
+
+ Gets the hash code of a locale
+
+ Value
+ The hash code
+
+
+
+ Align up
+
+ Value
+ Alignment
+
+
+
+ Align up
+
+ Value
+ Alignment
+
+
+
+ Rounds up the provided number to the next power of 2
+
+ The number to round
+
+
+
+ Variant type (VT_XXX in the Windows SDK)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ This wasn't present in the blob
+
+
+
+ All native vtables
+
+
+
+
+ Gets/sets the RVA of the vtable fixups
+
+
+
+
+ Gets all s
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ Module
+
+
+
+
+
+
+
+
+
+ See COR_VTABLE_XXX in CorHdr.h
+
+
+
+
+ 32-bit vtable slots
+
+
+
+
+ 64-bit vtable slots
+
+
+
+
+ Transition from unmanaged code
+
+
+
+
+ Also retain app domain
+
+
+
+
+ Call most derived method
+
+
+
+
+ One VTable accessed by native code
+
+
+
+
+ Gets/sets the of this vtable
+
+
+
+
+ Gets/sets the flags
+
+
+
+
+ true if each vtable slot is 32 bits in size
+
+
+
+
+ true if each vtable slot is 64 bits in size
+
+
+
+
+ Gets the vtable methods
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ Flags
+
+
+
+ Constructor
+
+ RVA of this vtable
+ Flgas
+ Number of methods in vtable
+
+
+
+ Constructor
+
+ RVA of this vtable
+ Flgas
+ Vtable methods
+
+
+
+
+
+
+
+
+
+
+
+
+ Helper class to project WinMD types to CLR types
+
+
+
+
+ Converts WinMD type to a CLR type. Returns null
+ if it's not a CLR compatible WinMD type.
+
+ Owner module or null
+ Type
+
+
+
+
+ Converts WinMD type to a CLR type. Returns null
+ if it's not a CLR compatible WinMD type.
+
+ Owner module or null
+ Type
+ true if the returned type is a value type
+
+
+
+
+ Converts WinMD type to a CLR type. Returns null
+ if it's not a CLR compatible WinMD type.
+
+ Owner module or null
+ Type
+
+
+
+
+ Converts WinMD type to a CLR type. Returns null
+ if it's not a CLR compatible WinMD type.
+
+ Owner module or null
+ Type
+ true if the returned type is a value type
+
+
+
+
+ Converts WinMD type to a CLR type. Returns null
+ if it's not a CLR compatible WinMD type.
+
+ Owner module or null
+ Type
+
+
+
+
+ Converts WinMD type to a CLR type. Returns null
+ if it's not a CLR compatible WinMD type.
+
+ Owner module or null
+ Type
+
+
+
+
+ Converts WinMD member reference to a CLR member reference. Returns
+ null if it's not a CLR compatible WinMD member reference.
+
+ Owner module or null
+ Member reference
+
+
+
+
+ Converts WinMD method to a CLR member reference. Returns
+ null if it's not a CLR compatible WinMD method
+
+ Owner module or null
+ Method
+
+
+
+
+ WinMD status
+
+
+
+
+ This is not a WinMD file
+
+
+
+
+ This is a pure WinMD file (not managed)
+
+
+
+
+ This is a managed WinMD file (created by eg. winmdexp.exe)
+
+
+
+
+ Writes data
+
+
+
+
+ Gets the current position
+
+
+
+
+ Constructor
+
+ Destination array
+
+
+
+ Writes a
+
+ Value
+
+
+
+ Writes a
+
+ Value
+
+
+
+ Writes a
+
+ Value
+
+
+
+ Writes a
+
+ Value
+
+
+
+ Writes a
+
+ Value
+
+
+
+ Writes a
+
+ Value
+
+
+
+ Writes a
+
+ Value
+
+
+
+ Writes a
+
+ Value
+
+
+
+ Writes a
+
+ Value
+
+
+
+ Writes a
+
+ Value
+
+
+
+ Writes bytes
+
+ Bytes
+
+
+
+ Writes bytes
+
+ Bytes
+ Source index
+ Number of bytes to write
+
+
+
+ #Blob heap
+
+
+
+
+
+
+
+ Populates blobs from an existing (eg. to preserve
+ blob offsets)
+
+ The #Blob stream with the original content
+
+
+
+ Adds data to the #Blob heap
+
+ The data
+ The offset of the data in the #Blob heap
+
+
+
+ Adds data to the #Blob heap, but does not re-use an existing position
+
+ The data
+ The offset of the data in the #Blob heap
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Stores a byte array
+
+
+
+
+
+
+
+
+
+
+ Gets the data
+
+
+
+
+ Constructor
+
+ The data. It will be owned by this instance and can't be modified by
+ other code if this instance is inserted as a key in a dictionary (because
+ return value will be different if you modify the array). If
+ it's never inserted as a key in a dictionary, then the contents can be modified,
+ but shouldn't be resized after has been called.
+ The alignment of the data
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Checksum algorithm
+
+
+
+
+ SHA-1
+
+
+
+
+ SHA-256
+
+
+
+
+ SHA-384
+
+
+
+
+ SHA-512
+
+
+
+
+ Contains a list of s
+
+
+
+
+ Default constructor
+
+
+
+
+ Add a
+
+ The chunk to add or null if none
+ Chunk alignment
+
+
+
+ Remove a
+
+ The chunk to remove or null if none
+ Alignment of the chunk, or null if the chunk cannot be removed.
+
+
+
+ Base class of chunk list types
+
+ Chunk type
+
+
+ All chunks
+
+
+ true if has been called
+
+
+
+ Helper struct
+
+
+
+ Data
+
+
+ Alignment
+
+
+
+ Constructor
+
+ Chunk
+ Alignment
+
+
+
+ Equality comparer for
+
+
+
+
+ Constructor
+
+ Compares the chunk type
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Helps write custom attributes
+
+
+
+
+ Writes s
+
+
+
+
+ Writes a custom attribute
+
+ Helper class
+ The custom attribute
+ Custom attribute blob
+
+
+
+ Writes custom attribute named arguments
+
+ Helper class
+ Named arguments
+ The named args blob
+
+
+
+ Write a value
+
+ The ctor arg type, field type, or property type
+ The value to write
+
+
+
+ Gets the enum's underlying type
+
+ An enum type
+ The underlying type or null if we couldn't resolve the type ref
+
+
+
+ Converts to a , possibly resolving
+ a
+
+ The type
+ A or null if we couldn't resolve the
+ or if is a type spec
+
+
+
+
+
+
+ A chunk
+
+
+
+
+
+
+
+
+
+
+ Constructor
+
+ The data
+
+
+
+ Constructor
+
+ The data
+ Virtual size of
+
+
+
+ Constructor
+
+ The data
+
+
+
+ Constructor
+
+ The data
+ Virtual size of
+
+
+
+ Gets the data reader
+
+
+
+
+ Replaces the old data with new data. The new data must be the same size as the old data if
+ has been called. That method gets called after
+ event
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Copies existing data to a new metadata heap
+
+
+
+
+ Gets the name of the heap
+
+
+
+
+ Constructor
+
+ The stream whose data will be copied to the new metadata file
+
+
+
+ Constructor
+
+ Heap name
+ Heap content
+
+
+
+
+
+
+
+
+
+ Writes data
+
+
+
+
+ Gets/sets the position
+
+
+
+
+ Constructor
+
+ Destination stream
+
+
+
+ Writes a
+
+ Value
+
+
+
+ Writes a
+
+ Value
+
+
+
+ Writes a
+
+ Value
+
+
+
+ Writes a
+
+ Value
+
+
+
+ Writes a
+
+ Value
+
+
+
+ Writes a
+
+ Value
+
+
+
+ Writes a
+
+ Value
+
+
+
+ Writes a
+
+ Value
+
+
+
+ Writes a
+
+ Value
+
+
+
+ Writes a
+
+ Value
+
+
+
+ Writes a
+
+ Value
+
+
+
+ Writes bytes
+
+ Bytes to write
+
+
+
+ Writes bytes
+
+ Bytes to write
+ Index to start copying from
+ Number of bytes to copy
+
+
+
+ Writes a compressed
+
+ Value
+
+
+
+ Writes a compressed
+
+
+
+
+
+ Gets the size of a compressed , see
+
+ Value
+
+
+
+
+ Debug directory entry
+
+
+
+
+ Gets the header
+
+
+
+
+ Gets the data
+
+
+
+
+ Constructor
+
+ Data
+
+
+
+ Debug directory chunk
+
+
+
+ Default debug directory alignment
+
+
+
+
+
+
+
+
+
+ Constructor
+
+
+
+
+ Adds data
+
+ Data
+
+
+
+
+ Adds data
+
+ Data
+
+
+
+
+ Adds data
+
+ Data
+ Debug type
+ Major version
+ Minor version
+ Timestamp
+
+
+
+
+ Adds data
+
+ Data
+ Debug type
+ Major version
+ Minor version
+ Timestamp
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Writes DeclSecurity blobs
+
+
+
+
+ Creates a DeclSecurity blob from
+
+ Owner module
+ List of s
+ Helps this class
+ A DeclSecurity blob
+
+
+
+ Creates a DeclSecurity blob from
+
+ Owner module
+ List of s
+ Helps this class
+ Optimize serialized type strings in custom attributes.
+ For more info, see
+ A DeclSecurity blob
+
+
+
+ Extension methods
+
+
+
+
+ Write zeros
+
+ this
+ Number of zeros
+
+
+
+ Writes all data to and verifies that all bytes were written
+
+ this
+ Destination
+ Not all bytes were written
+
+
+
+ Writes a data directory
+
+ Writer
+ The data
+
+
+
+ Called when an error is detected (eg. a null pointer or other invalid value). The error
+ can be ignored but the written data won't be valid.
+
+ The instance of
+ Error message
+ Optional message arguments
+
+
+
+ #GUID heap
+
+
+
+
+
+
+
+ Adds a guid to the #GUID heap
+
+ The guid
+ The index of the guid in the #GUID heap
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Base class of most heaps
+
+
+
+
+ true if has been called
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ true if offsets require 4 bytes instead of 2 bytes.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Gets the raw length of the heap
+
+ Raw length of the heap
+
+
+
+
+
+
+ Writes all data to at its current location.
+
+ Destination
+
+
+
+
+
+
+ Data that gets written to the file
+
+
+
+
+ Gets the file offset. This is valid only after has been called.
+
+
+
+
+ Gets the RVA. This is valid only after has been called.
+
+
+
+
+ Called when the file offset and RVA are known
+
+ File offset of this chunk
+ RVA of this chunk
+
+
+
+ Gets the raw file length of this chunk. Must only be called after
+ has been called.
+
+ Length of this chunk
+
+
+
+ Gets the virtual size of this chunk. Must only be called after
+ has been called.
+
+ Virtual size of this chunk
+
+
+
+ Calculates the requires alignment of this chunk.
+ Returns 0 for default/no alignment.
+
+ Required alignment
+
+
+
+ Writes all data to at its current location. It's only
+ called after and have been called.
+ You cannot assume that 's file position is the same as this
+ chunk's file position.
+
+ Destination
+
+
+
+ Implemented by s that can reuse the old data location in the original PE file
+
+
+
+
+ Returns true if this chunk fits in the old location
+
+ Original RVA of data
+ Size of the original location
+
+
+
+
+ .NET Heap interface
+
+
+
+
+ Gets the name of the heap
+
+
+
+
+ Checks whether the heap is empty
+
+
+
+
+ Called when the heap should be set to read-only mode
+
+
+
+
+ Options to
+
+
+
+
+ Default major runtime version
+
+
+
+
+ Default minor runtime version
+
+
+
+
+ Major runtime version
+
+
+
+
+ Minor runtime version
+
+
+
+
+ Flags
+
+
+
+
+ Entry point or null. Either a Method/File token or an RVA.
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ Flags
+
+
+
+ Constructor
+
+ Major runtime version (default is )
+ Minor runtime version (default is )
+ Flags
+
+
+
+ .NET header
+
+
+
+
+ Gets/sets the
+
+
+
+
+ Gets/sets the .NET resources
+
+
+
+
+ Gets/sets the strong name signature
+
+
+
+
+
+
+
+
+
+
+ Constructor
+
+ Options
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Import address table chunk
+
+
+
+
+ Gets/sets the
+
+
+
+
+
+
+
+
+
+
+ Constructor
+
+ true if it's a 64-bit PE file, false if it's a 32-bit PE file
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Import directory chunk
+
+
+
+
+ Gets/sets the
+
+
+
+
+ Gets the RVA of _CorDllMain/_CorExeMain in the import lookup table
+
+
+
+
+ Gets RVA of _CorExeMain/_CorDllMain in the IAT
+
+
+
+
+ Gets/sets a value indicating whether this is a EXE or a DLL file
+
+
+
+
+
+
+
+
+
+
+ Gets/sets the name of the dll which should be imported.
+
+
+
+
+ Gets/sets the name of the entry point of the imported dll.
+
+
+
+
+ Constructor
+
+ true if it's a 64-bit PE file, false if it's a 32-bit PE file
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Interface to get and set raw heap data. Implemented by the offset heaps: #Strings,
+ #GUID, #Blob, and #US.
+
+ Type of cooked data
+
+
+
+ Gets the size of the data as raw data when written to the heap
+
+ The data
+ Size of the data as raw data when written to the heap
+
+
+
+ Overrides what value should be written to the heap.
+
+ Offset of value. Must match an offset returned by
+
+ The new raw data. The size must match the raw size exactly.
+
+
+
+ Gets all inserted raw data and their offsets. The returned array
+ is owned by the caller.
+
+ An enumerable of all raw data and their offsets
+
+
+
+ Gets notified of errors. The default handler should normally throw since the written data
+ will probably be invalid. Any error can be ignored.
+
+
+
+
+ Called when an error is detected (eg. a null pointer or other invalid value). The error
+ can be ignored but the written data won't be valid.
+
+ Error message
+
+
+
+ Gets notified of errors. The default handler should normally throw since the written data
+ will probably be invalid. Any error can be ignored.
+
+
+
+
+ Called when an error is detected (eg. a null pointer or other invalid value). The error
+ can be ignored but the written data won't be valid.
+
+ Error message
+ Optional message arguments
+
+
+
+ Writes the .sdata blob. We could write the data in any order, but we write the data in the same order as ILASM
+
+ PE timestamp
+
+
+
+ Writes field marshal blobs
+
+
+
+
+ Creates a field marshal blob from
+
+ Owner module
+ Marshal type
+ Helps this class
+ A field marshal blob or null if is
+ null
+
+
+
+ Creates a field marshal blob from
+
+ Owner module
+ Marshal type
+ Helps this class
+ Optimize serialized type strings in custom attributes.
+ For more info, see
+ A field marshal blob or null if is
+ null
+
+
+
+
+
+
+ Calculates max stack usage by using a simple pass over all instructions. This value
+ can be placed in the fat method header's MaxStack field.
+
+
+
+
+ Gets max stack value
+
+ All instructions
+ All exception handlers
+ Max stack value
+
+
+
+ Gets max stack value
+
+ All instructions
+ All exception handlers
+ Updated with max stack value
+ true if no errors were detected, false otherwise
+
+
+
+ MD table interface
+
+
+
+
+ Gets the table type
+
+
+
+
+ true if the table is empty
+
+
+
+
+ Gets the number of rows in this table
+
+
+
+
+ Gets/sets a value indicating whether it's sorted
+
+
+
+
+ true if has been called
+
+
+
+
+ Gets/sets the
+
+
+
+
+ Called when the table can't be modified any more
+
+
+
+
+ Creates rows in a table. Rows can optionally be shared to create a compact table.
+
+ The raw row type
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Gets the value with rid
+
+ The row ID
+
+
+
+ Constructor
+
+ The table type
+ Equality comparer
+
+
+
+
+
+
+ Adds a row. If the row already exists, returns a rid to the existing one, else
+ it's created and a new rid is returned.
+
+ The row. It's now owned by us and must NOT be modified by the caller.
+ The RID (row ID) of the row
+
+
+
+ Creates a new row even if this row already exists.
+
+ The row. It's now owned by us and must NOT be modified by the caller.
+ The RID (row ID) of the row
+
+
+
+ Re-adds all added rows. Should be called if rows have been modified after being
+ inserted.
+
+
+
+
+ Reset the table.
+
+
+
+
+ Writes s
+
+
+
+
+ Writes a Module table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a TypeRef table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a TypeDef table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a FieldPtr table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a Field table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a MethodPtr table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a Method table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a ParamPtr table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a Param table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a InterfaceImpl table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a MemberRef table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a Constant table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a CustomAttribute table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a FieldMarshal table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a DeclSecurity table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a ClassLayout table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a FieldLayout table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a StandAloneSig table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a EventMap table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a EventPtr table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a Event table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a PropertyMap table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a PropertyPtr table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a Property table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a MethodSemantics table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a MethodImpl table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a ModuleRef table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a TypeSpec table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a ImplMap table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a FieldRVA table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a ENCLog table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a ENCMap table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a Assembly table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a AssemblyProcessor table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a AssemblyOS table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a AssemblyRef table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a AssemblyRefProcessor table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a AssemblyRefOS table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a File table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a ExportedType table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a ManifestResource table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a NestedClass table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a GenericParam table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a MethodSpec table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a GenericParamConstraint table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a Document table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a MethodDebugInformation table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a LocalScope table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a LocalVariable table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a LocalConstant table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a ImportScope table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a StateMachineMethod table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a CustomDebugInformation table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ flags
+
+
+
+
+ Preserves all rids in the TypeRef table
+
+
+
+
+ Preserves all rids in the TypeDef table
+
+
+
+
+ Preserves all rids in the Field table
+
+
+
+
+ Preserves all rids in the Method table
+
+
+
+
+ Preserves all rids in the Param table
+
+
+
+
+ Preserves all rids in the MemberRef table
+
+
+
+
+ Preserves all rids in the StandAloneSig table
+
+
+
+
+ Preserves all rids in the Event table
+
+
+
+
+ Preserves all rids in the Property table
+
+
+
+
+ Preserves all rids in the TypeSpec table
+
+
+
+
+ Preserves all rids in the MethodSpec table
+
+
+
+
+ Preserves all method rids, i.e., Method, MemberRef and
+ MethodSpec rids.
+
+
+
+
+ Preserves all rids in the following tables: TypeRef, TypeDef,
+ Field, Method, Param, MemberRef, StandAloneSig,
+ Event, Property, TypeSpec, MethodSpec
+
+
+
+
+ Preserves all offsets in the #Strings heap (the original #Strings heap will be saved
+ in the new file). Type names, field names, and other non-user strings are stored
+ in the #Strings heap.
+
+
+
+
+ Preserves all offsets in the #US heap (the original #US heap will be saved
+ in the new file). User strings (referenced by the ldstr instruction) are stored in
+ the #US heap.
+
+
+
+
+ Preserves all offsets in the #Blob heap (the original #Blob heap will be saved
+ in the new file). Custom attributes, signatures and other blobs are stored in the
+ #Blob heap.
+
+
+
+
+ Preserves the extra data that is present after the original signature in the #Blob
+ heap. This extra data shouldn't be present but might be present if an obfuscator
+ has added this extra data and is eg. using it to decrypt stuff.
+
+
+
+
+ Preserves as much as possible
+
+
+
+
+ The original method body's max stack field should be used and a new one should not
+ be calculated.
+
+
+
+
+ Always create the #GUID heap even if it's empty
+
+
+
+
+ Always create the #Strings heap even if it's empty
+
+
+
+
+ Always create the #US heap even if it's empty
+
+
+
+
+ Always create the #Blob heap even if it's empty
+
+
+
+
+ DEPRECATED:
+ Sort the InterfaceImpl table the same way Roslyn sorts it. Roslyn doesn't sort it
+ according to the ECMA spec, see https://github.com/dotnet/roslyn/issues/3905
+
+
+
+
+ Don't write method bodies
+
+
+
+
+ Don't write .NET resources
+
+
+
+
+ Don't write field data
+
+
+
+
+ Serialized type names stored in custom attributes are optimized if the types
+ exist in the core library (eg. mscorlib/System.Private.CoreLib).
+ Instead of storing type-name + assembly-name, only type-name is stored. This results in
+ slightly smaller assemblies.
+
+
+ If it's a type in the current module, the type name is optimized and no assembly name is stored in the custom attribute.
+
+
+ This is disabled by default. It's safe to enable if the reference core assembly
+ is the same as the runtime core assembly (eg. it's mscorlib.dll and .NET Framework,
+ but not .NET Core / .NET Standard).
+
+
+
+
+ Metadata heaps event args
+
+
+
+
+ Gets the metadata writer
+
+
+
+
+ Gets all heaps
+
+
+
+
+ Constructor
+
+ Metadata writer
+ All heaps
+
+
+
+ options
+
+
+
+
+ Gets/sets the options. This is never null.
+
+
+
+
+ Gets/sets the debug (portable PDB) options. This is never null.
+
+
+
+
+ Gets/sets the options. This is never null.
+
+
+
+
+ Gets/sets the debug (portable PDB) options. This is never null.
+
+
+
+
+ Various options
+
+
+
+
+ Extra heaps to add to the metadata. Also see and
+
+
+
+
+ Raised after all heaps have been added. The caller can sort the list if needed
+
+
+
+
+ Preserves the original order of heaps, and optionally adds all custom heaps to .
+
+ Original module with the heaps
+ If true, all custom streams are added to
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ Flags
+
+
+
+ Constructor
+
+ Meta data header options
+
+
+
+ Constructor
+
+ Meta data header options
+ Flags
+
+
+
+ Portable PDB metadata kind
+
+
+
+
+ No debugging metadata
+
+
+
+
+ Standalone / embedded portable PDB metadata
+
+
+
+
+ Metadata writer event args
+
+
+
+
+ Gets the metadata writer
+
+
+
+
+ Gets the event
+
+
+
+
+ Constructor
+
+ Writer
+ Event
+
+
+
+ Metadata writer progress event args
+
+
+
+
+ Gets the metadata writer
+
+
+
+
+ Gets the progress, 0.0 - 1.0
+
+
+
+
+ Constructor
+
+ Writer
+ Progress, 0.0 - 1.0
+
+
+
+ .NET meta data
+
+
+
+
+ Raised at various times when writing the metadata
+
+
+
+
+ Raised when the progress is updated
+
+
+
+
+ Gets/sets the logger
+
+
+
+
+ Gets the module
+
+
+
+
+ Gets the constants
+
+
+
+
+ Gets the method body chunks
+
+
+
+
+ Gets the .NET resources
+
+
+
+
+ Gets the MD header
+
+
+
+
+ Gets the tables heap. Access to this heap is not recommended, but is useful if you
+ want to add random table entries.
+
+
+
+
+ Gets the #Strings heap. Access to this heap is not recommended, but is useful if you
+ want to add random strings.
+
+
+
+
+ Gets the #US heap. Access to this heap is not recommended, but is useful if
+ you want to add random user strings.
+
+
+
+
+ Gets the #GUID heap. Access to this heap is not recommended, but is useful if you
+ want to add random GUIDs.
+
+
+
+
+ Gets the #Blob heap. Access to this heap is not recommended, but is useful if you
+ want to add random blobs.
+
+
+
+
+ Gets the #Pdb heap. It's only used if it's portable PDB metadata
+
+
+
+
+ Gets all exported methods
+
+
+
+
+ The public key that should be used instead of the one in .
+
+
+
+
+ Creates a instance
+
+ Module
+ Constants list
+ Method bodies list
+ .NET resources list
+ Options
+ Debug metadata kind
+ A new instance
+
+
+
+
+
+
+
+
+
+ Gets the bit
+
+
+
+
+ Gets the bit
+
+
+
+
+ Gets the bit
+
+
+
+
+ Gets the bit
+
+
+
+
+ Gets the bit
+
+
+
+
+ Gets the bit
+
+
+
+
+ Gets the bit
+
+
+
+
+ Gets the bit
+
+
+
+
+ Gets the bit
+
+
+
+
+ Gets the bit
+
+
+
+
+ Gets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ If true, use the original Field RVAs. If it has no RVA, assume it's a new
+ field value and create a new Field RVA.
+
+
+
+
+ Gets the number of methods that will be written.
+
+
+
+
+ Gets the new rid
+
+ Value
+ Its new rid or 0
+
+
+
+ Gets the new rid
+
+ Value
+ Its new rid or 0
+
+
+
+ Gets the new rid
+
+ Value
+ Its new rid or 0
+
+
+
+ Gets the new rid
+
+ Value
+ Its new rid or 0
+
+
+
+ Gets the new rid
+
+ Value
+ Its new rid or 0
+
+
+
+ Gets the new rid
+
+ Value
+ Its new rid or 0
+
+
+
+ Gets the new rid
+
+ Value
+ Its new rid or 0
+
+
+
+ Gets the new rid
+
+ Value
+ Its new rid or 0
+
+
+
+ Gets the new rid
+
+ Value
+ Its new rid or 0
+
+
+
+ Gets the new rid
+
+ Value
+ Its new rid or 0
+
+
+
+ Gets the new rid
+
+ Value
+ Its new rid or 0
+
+
+
+ Gets the new rid
+
+ Value
+ Its new rid or 0
+
+
+
+ Gets the new rid
+
+ Value
+ Its new rid or 0
+
+
+
+ Gets the new rid
+
+ Value
+ Its new rid or 0
+
+
+
+ Gets the new rid
+
+ Value
+ Its new rid or 0
+
+
+
+ Gets the new rid
+
+ Value
+ Its new rid or 0
+
+
+
+ Gets the new rid
+
+ Value
+ Its new rid or 0
+
+
+
+ Gets the new rid
+
+ Value
+ Its new rid or 0
+
+
+
+ Gets the new rid
+
+ Value
+ Its new rid or 0
+
+
+
+ Gets the new rid
+
+ Value
+ Its new rid or 0
+
+
+
+ Gets the new rid
+
+ Value
+ Its new rid or 0
+
+
+
+ Gets the new rid
+
+ Value
+ Its new rid or 0
+
+
+
+ Gets the new rid
+
+ Value
+ Its new rid or 0
+
+
+
+ Gets the new rid
+
+ Value
+ Its new rid or 0
+
+
+
+ Gets the new rid
+
+ Value
+ Its new rid or 0
+
+
+
+ Gets the new rid
+
+ Value
+ Its new rid or 0
+
+
+
+ Gets the new rid
+
+ Value
+ Its new rid or 0
+
+
+
+ Gets the new rid
+
+ Value
+ Its new rid or 0
+
+
+
+ Gets the new rid
+
+ Value
+ Its new rid or 0
+
+
+
+ Gets the new rid
+
+ Value
+ Its new rid or 0
+
+
+
+ Gets the new rid
+
+ Value
+ Its new rid or 0
+
+
+
+ Gets the new rid
+
+ Value
+ Its new rid or 0
+
+
+
+ Gets the new rid
+
+ Value
+ Its new rid or 0
+
+
+
+ Gets the new rid
+
+ Value
+ Its new rid or 0
+
+
+
+ Gets the new rid
+
+ Value
+ Its new rid or 0
+
+
+
+ Gets the new rid
+
+ Value
+ Its new rid or 0
+
+
+
+ Gets the new rid
+
+ Value
+ Its new rid or 0
+
+
+
+ Gets the new rid
+
+ Value
+ Its new rid or 0
+
+
+
+ Gets the new rid
+
+ Value
+ Its new rid or 0
+
+
+
+ Gets the new rid
+
+ Value
+ Its new rid or 0
+
+
+
+ Gets the new rid
+
+ Value
+ Its new rid or 0
+
+
+
+ Gets the
+
+ Method
+ The or null if is
+ null or not a method defined in this module.
+
+
+
+ Gets a method's local variable signature token
+
+ Method
+ Locals sig token or 0
+
+
+
+ Gets the where the resource data will be stored
+
+ Embedded resource
+ A instance or null if
+ is invalid
+
+
+
+ Gets the where the initial value is stored
+
+ Field
+ A instance or null if
+ is invalid
+
+
+
+ Called when an error is detected
+
+ Error message
+ Optional message arguments
+
+
+
+ Called to warn of something
+
+ Warning message
+ Optional message arguments
+
+
+
+ Raises
+
+ Event
+
+
+
+ Raises the progress event
+
+ Base event
+ Sub progress
+
+
+
+ Creates the .NET metadata tables
+
+
+
+
+ Updates each Method row's RVA column if it has any code
+
+
+
+
+ Updates the FieldRVA rows
+
+
+
+
+ Initializes all TypeDef, Field, Method, Event,
+ Property and Param rows. Other tables that are related to these six
+ tables are also updated. No custom attributes are written yet, though. Method bodies
+ aren't written either.
+
+
+
+
+ Writes TypeDef, Field, Method, Event,
+ Property and Param custom attributes and custom debug infos.
+
+
+
+
+ Adds the tokens of all methods in all vtables, if any
+
+
+
+
+ Adds the entry point. It's only needed if it's a since if it's
+ a , it will have already been added.
+
+
+
+
+ Sorts all unsorted tables except GenericParamConstraint and CustomAttribute
+
+
+
+
+ Initializes the GenericParamConstraint table
+
+
+
+
+ Inserts all custom attribute / custom debug info rows in the tables and sort them
+
+
+
+
+ Writes all method bodies
+
+
+
+
+ Checks whether a list is empty or whether it contains only nulls
+
+ Any type
+ The list
+ true if the list is empty or if it contains only nulls, false otherwise
+
+
+
+
+
+
+
+
+
+ Adds a
+
+ Method signature
+ Original StandAloneSig token or 0 if none
+ Its new rid
+
+
+
+ Adds a
+
+ FIeld signature
+ Original StandAloneSig token or 0 if none
+ Its new rid
+
+
+
+ Adds a
+
+ Value
+ Its encoded token
+
+
+
+ Adds a
+
+ Value
+ Its encoded token
+
+
+
+ Adds a
+
+ Value
+ Its encoded token
+
+
+
+ Adds a
+
+ Value
+ Its encoded token
+
+
+
+ Adds a
+
+ Value
+ Its encoded token
+
+
+
+ Adds a
+
+ Value
+ Its encoded token
+
+
+
+ Adds a NestedType row
+
+ Nested type
+ Declaring type
+
+
+
+ Adds a Module row
+
+ Module
+ Its new rid
+
+
+
+ Adds a ModuleRef row
+
+ Module ref
+ Its new rid
+
+
+
+ Adds an AssemblyRef row
+
+ Assembly ref
+ Its new rid
+
+
+
+ Adds an Assembly row
+
+ Assembly
+ The public key that should be used
+ Its new rid
+
+
+
+ Adds generic parameters
+
+ New token of owner
+ All generic params
+
+
+
+ Adds a generic param
+
+ New token of owner
+ Generic paramater
+
+
+
+ Adds generic parameter constraints
+
+ New rid of owner generic param
+ Its constraints
+
+
+
+ Adds a generic parameter constraint
+
+ New rid of owner generic param
+ Generic parameter constraint
+
+
+
+ Adds a InterfaceImpl row
+
+ New rid of owner
+ All interfaces
+
+
+
+ Adds a FieldLayout row
+
+ Owner field
+
+
+
+ Adds a FieldMarshal row
+
+ New owner token
+ Owner
+
+
+
+ Adds a FieldRVA row
+
+ The field
+
+
+
+ Adds a ImplMap row
+
+ New owner token
+ Owner
+
+
+
+ Adds a Constant row
+
+ New owner token
+ Owner
+
+
+
+ Adds a DeclSecurity row
+
+ New owner token
+ All DeclSecurity rows
+
+
+
+ Adds MethodSemantics rows
+
+ Event
+
+
+
+ Adds MethodSemantics rows
+
+ Property
+
+
+
+ Adds a ClassLayout row
+
+ Type
+
+
+
+ Adds a File row
+
+ File
+ Its new rid
+
+
+
+ Adds a ExportedType row
+
+ Exported type
+ Its new rid
+
+
+
+ Gets a #Blob offset of a type signature
+
+ Type sig
+ Extra data to append the signature if
+ is true.
+ #Blob offset
+
+
+
+ Gets a #Blob offset of a calling convention signature
+
+ Signature
+ #Blob offset
+
+
+
+ Adds a CustomAttribute row
+
+ Owner table
+ New owner rid
+ Onwer
+
+
+
+ Adds a CustomDebugInformation row
+
+ Owner table
+ New owner rid
+ Onwer
+
+
+
+ Writes the portable PDB to .
+
+ Output stream
+ Entry point token
+ Updated with the offset of the 20-byte PDB ID. The caller is responsible for initializing it with the PDB ID
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Called before any other methods
+
+
+
+
+ Gets all s that should be saved in the meta data
+
+
+
+
+ Initializes TypeDef rids and creates raw rows, but does not initialize
+ any columns.
+
+
+
+
+ Allocates Field, Method, Property, Event, Param:
+ rid and raw row, but doesn't initialize the raw row.
+ Initializes TypeDef columns: FieldList, MethodList.
+ Initializes Method column: ParamList.
+ Initializes and .
+
+
+
+
+ Adds a . Its custom attributes are also added.
+
+ Type reference
+ Its new rid
+
+
+
+ Adds a . Its custom attributes are also added.
+
+ Type spec
+ Its new rid
+
+
+
+ Adds a . Its custom attributes are also added.
+
+ Member ref
+ Its new rid
+
+
+
+ Adds a . Its custom attributes are also added.
+
+ Stand alone sig
+ Its new rid
+
+
+
+ Adds a . Its custom attributes are also added.
+
+ Method spec
+ Its new rid
+
+
+
+ Called before sorting the CustomAttribute table. This is the last time anything
+ can be inserted into this table.
+
+
+
+
+ Called after everything has been initialized. The sub class can initialize more
+ rows if necessary or do nothing. After this method has been called, nothing else
+ can be added.
+
+
+
+
+ Should be called before all chunks get an RVA
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Sorts the s
+
+ All s
+ A sorted list
+
+
+
+ All events
+
+
+
+
+ Creating the tables has just begun
+
+
+
+
+ Before allocating all TypeDef RIDs
+
+
+
+
+ Before allocating all MemberDef RIDs
+
+
+
+
+ The rids of types, fields, methods, events, properties and parameters are
+ now known.
+
+
+
+
+ The tables and rows of all types, fields, methods, events, properties and parameters
+ have been initialized. Method body RVAs are still not known, and no method has been
+ written yet.
+
+
+
+
+ Before sorting most tables
+
+
+
+
+ Most of the tables that should be sorted have been sorted. The CustomAttribute
+ table is still unsorted since it hasn't been created yet.
+
+
+
+
+ Custom attributes of all types, fields, methods, events, properties and parameters
+ have now been written.
+
+
+
+
+ All resources are about to be added to the .NET resources table
+
+
+
+
+ All resources have been added to the .NET resources table
+
+
+
+
+ All method bodies are about to be written
+
+
+
+
+ All method bodies have been written. Their RVAs are still not known.
+
+
+
+
+ All tables are now sorted, including the CustomAttribute table.
+
+
+
+
+ All tables have been created and all rows populated. The only columns that haven't
+ been initialized yet are the ones that are RVAs.
+
+
+
+
+ options
+
+
+
+
+ Default version string
+
+
+
+
+ Default header signature
+
+
+
+
+ MD header signature. Default value is
+
+
+
+
+ Major version. Default is 1. MS' CLR supports v0.x (x >= 19) and v1.1, nothing else.
+
+
+
+
+ Minor version. Default is 1.
+
+
+
+
+ Reserved and should be 0.
+
+
+
+
+ Version string. Default is . It's stored as a
+ zero-terminated UTF-8 string. Length should be <= 255 bytes.
+
+
+
+
+ Storage flags should be 0
+
+
+
+
+ Reserved and should be 0
+
+
+
+
+ Creates portable PDB v1.0 options
+
+
+
+
+
+ Meta data header. IMAGE_COR20_HEADER.Metadata points to this header.
+
+
+
+
+
+
+
+
+
+
+ Gets/sets the heaps
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ Options
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Method body chunk
+
+
+
+
+
+
+
+
+
+
+ Gets the code
+
+
+
+
+ Gets the extra sections (exception handlers) or null
+
+
+
+
+ Gets the token of the locals
+
+
+
+
+ true if it's a fat body
+
+
+
+
+ true if it's a tiny body
+
+
+
+
+ true if there's an extra section
+
+
+
+
+ Constructor
+
+ Code
+
+
+
+ Constructor
+
+ Code
+ Extra sections or null
+
+
+
+ Constructor
+
+ Code
+ Extra sections or null
+ Token of locals
+
+
+
+ Gets the approximate size of the method body (code + exception handlers)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Stores all method body chunks
+
+
+
+
+
+
+
+
+
+
+ Gets the number of bytes saved by re-using method bodies
+
+
+
+
+ Constructor
+
+ true if bodies can be shared
+
+
+
+ Adds a and returns the one that has been cached
+
+ The method body
+ The cached method body
+
+
+ Removes the specified method body from this chunk
+ The method body
+ if the method body is removed
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Returns tokens of token types, strings and signatures
+
+
+
+
+ Gets the token of
+
+ A token type or a string or a signature
+ The token
+
+
+
+ Gets a StandAloneSig token
+
+ All locals
+ The original token or 0 if none
+ A StandAloneSig token or 0 if is
+ empty.
+
+
+
+ Writes CIL method bodies
+
+
+
+
+ Gets the code as a byte array. This is valid only after calling .
+ The size of this array is not necessarily a multiple of 4, even if there are exception
+ handlers present. See also
+
+
+
+
+ Gets the extra sections (exception handlers) as a byte array or null if there
+ are no exception handlers. This is valid only after calling
+
+
+
+
+ Gets the token of the locals
+
+
+
+
+ Constructor
+
+ Helps this instance
+ The method
+
+
+
+ Constructor
+
+ Helps this instance
+ The method
+ Keep the original max stack value that has been initialized
+ in
+
+
+
+ Constructor
+
+ Helps this instance
+ The CIL method body
+
+
+
+ Constructor
+
+ Helps this instance
+ The CIL method body
+ Keep the original max stack value that has been initialized
+ in
+
+
+
+ Writes the method body
+
+
+
+
+ Gets the code and (possible) exception handlers in one array. The exception handlers
+ are 4-byte aligned.
+
+ The code and any exception handlers
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Base class of all CIL method body writers
+
+
+
+
+
+
+
+
+
+
+ true if there was at least one error
+
+
+
+
+ Constructor
+
+ All instructions
+ All exception handlers
+
+
+
+ Called when an error is detected (eg. a null pointer). The error can be
+ ignored but the method won't be valid.
+
+ Error message
+
+
+
+ Called when an error is detected (eg. a null pointer). The error can be
+ ignored but the method won't be valid.
+
+ Error message
+
+
+
+ Gets max stack value
+
+
+
+
+ Gets the offset of an instruction
+
+ The instruction
+ The offset or 0 if is null or not
+ present in the list of all instructions.
+
+
+
+ Initializes instruction offsets and returns the total code size
+
+ Size of code
+
+
+
+ Gets the size of an instruction
+
+ The instruction
+ Size of the instruction in bytes
+
+
+
+ Writes all instructions to at its current offset
+
+ The instruction writer
+ Number of bytes written
+
+
+
+ Gets the current offset in the instruction stream. This offset is relative to
+ the first written instruction.
+
+ The instruction writer
+ Current offset, relative to the first written instruction
+
+
+
+ Writes an instruction
+
+ The instruction writer
+ The instruction
+
+
+
+ Writes an instruction's opcode
+
+ The instruction writer
+ The instruction
+
+
+
+ Writes an instruction's operand
+
+ The instruction writer
+ The instruction
+
+
+
+ Writes an operand
+
+ Instruction writer
+ Instruction
+
+
+
+ Writes an operand
+
+ Instruction writer
+ Instruction
+
+
+
+ Writes an operand
+
+ Instruction writer
+ Instruction
+
+
+
+ Writes an operand
+
+ Instruction writer
+ Instruction
+
+
+
+ Writes an operand
+
+ Instruction writer
+ Instruction
+
+
+
+ Writes an operand
+
+ Instruction writer
+ Instruction
+
+
+
+ Writes an operand
+
+ Instruction writer
+ Instruction
+
+
+
+ Writes an operand
+
+ Instruction writer
+ Instruction
+
+
+
+ Writes an operand
+
+ Instruction writer
+ Instruction
+
+
+
+ Writes an operand
+
+ Instruction writer
+ Instruction
+
+
+
+ Writes an operand
+
+ Instruction writer
+ Instruction
+
+
+
+ Writes an operand
+
+ Instruction writer
+ Instruction
+
+
+
+ Writes an operand
+
+ Instruction writer
+ Instruction
+
+
+
+ Writes an operand
+
+ Instruction writer
+ Instruction
+
+
+
+ Writes a operand
+
+ Instruction writer
+ Instruction
+
+
+
+ Writes a operand
+
+ Instruction writer
+ Instruction
+
+
+
+ Writes a operand
+
+ Instruction writer
+ Instruction
+
+
+
+ Writes a operand
+
+ Instruction writer
+ Instruction
+
+
+
+ options
+
+
+
+
+ Constructor
+
+ The module
+
+
+
+ Writes a .NET PE file. See also
+
+
+
+
+
+
+
+
+
+
+ Gets/sets the writer options. This is never null
+
+
+
+
+ Gets all s. The reloc section must be the last section, so use if you need to append a section
+
+
+
+
+ Adds to the sections list, but before the reloc section which must be last
+
+ New section to add to the list
+
+
+
+ Gets the .text section
+
+
+
+
+ Gets the .sdata section
+
+
+
+
+ Gets the .rsrc section or null if none
+
+
+
+
+ Gets the .reloc section
+
+
+
+
+ Gets the PE headers
+
+
+
+
+ Gets the IAT or null if there's none
+
+
+
+
+ Gets the .NET header
+
+
+
+
+ Gets the import directory or null if there's none
+
+
+
+
+ Gets the startup stub or null if there's none
+
+
+
+
+ Gets the reloc directory or null if there's none
+
+
+
+
+ Constructor
+
+ The module
+
+
+
+ Constructor
+
+ The module
+ Options or null
+
+
+
+
+
+
+
+
+
+ Module writer event args
+
+
+
+
+ Gets the writer ( or )
+
+
+
+
+ Gets the event
+
+
+
+
+ Constructor
+
+ Writer
+ Event
+
+
+
+ Module writer progress event args
+
+
+
+
+ Gets the writer ( or )
+
+
+
+
+ Gets the progress, 0.0 - 1.0
+
+
+
+
+ Constructor
+
+ Writer
+ Progress, 0.0 - 1.0
+
+
+
+ Content ID
+
+
+
+
+ Gets the GUID
+
+
+
+
+ Gets the timestamp
+
+
+
+
+ Constructor
+
+ Guid
+ Timestamp
+
+
+
+ Event handler
+
+ Event args type
+ Sender
+ Event args
+
+
+
+ PDB writer options
+
+
+
+
+ No bit is set
+
+
+
+
+ Don't use Microsoft.DiaSymReader.Native. This is a NuGet package with an updated Windows PDB reader/writer implementation,
+ and if it's available at runtime, dnlib will try to use it. If this option is set, dnlib won't use it.
+ You have to add a reference to the NuGet package if you want to use it, dnlib has no reference to the NuGet package.
+
+ This is only used if it's a Windows PDB file.
+
+
+
+
+ Don't use diasymreader.dll's PDB writer that is shipped with .NET Framework.
+
+ This is only used if it's a Windows PDB file.
+
+
+
+
+ Create a deterministic PDB file and add a debug directory entry to the PE file.
+
+ It's ignored if the PDB writer doesn't support it.
+
+
+
+
+ Hash the PDB file and add a PDB checksum debug directory entry to the PE file.
+
+ It's ignored if the PDB writer doesn't support it.
+
+
+
+
+ Common module writer options base class
+
+
+
+
+ Raised at various times when writing the file. The listener has a chance to modify
+ the file, eg. add extra metadata, encrypt methods, etc.
+
+
+
+
+ Raised when the progress is updated
+
+
+
+
+ Gets/sets the logger. If this is null, any errors result in a
+ being thrown. To disable this behavior, either
+ create your own logger or use .
+
+
+
+
+ Gets/sets the writer logger. If this is null, use
+ .
+
+
+
+
+ Gets/sets the options. This is never null.
+
+
+
+
+ Gets/sets the options. This is never null.
+
+
+
+
+ Gets/sets the options. This is never null.
+
+
+
+
+ If true, Win32 resources aren't written to the output
+
+
+
+
+ Gets/sets the Win32 resources. If this is null, use the module's
+ Win32 resources if any.
+
+
+
+
+ true to delay sign the assembly. Initialize to the
+ public key to use, and don't initialize . To generate the
+ public key from your strong name key file, execute sn -p mykey.snk mypublickey.snk
+
+
+
+
+ Gets/sets the strong name key. When you enhance strong name sign an assembly,
+ this instance's HashAlgorithm must be initialized to its public key's HashAlgorithm.
+ You should call
+ to initialize this property if you use normal strong name signing.
+ You should call
+ or
+ to initialize this property if you use enhanced strong name signing.
+
+
+
+
+ Gets/sets the new public key that should be used. If this is null, use
+ the public key generated from . If it is also null,
+ use the module's Assembly's public key.
+ You should call
+ or
+ to initialize this property if you use enhanced strong name signing.
+
+
+
+
+ true if method bodies can be shared (two or more method bodies can share the
+ same RVA), false if method bodies can't be shared. Don't enable it if there
+ must be a 1:1 relationship with method bodies and their RVAs.
+ This is enabled by default and results in smaller files.
+
+
+
+
+ true if the PE header CheckSum field should be updated, false if the
+ CheckSum field isn't updated.
+
+
+
+
+ true if it's a 64-bit module, false if it's a 32-bit or AnyCPU module.
+
+
+
+
+ Gets/sets the module kind
+
+
+
+
+ true if it should be written as an EXE file, false if it should be
+ written as a DLL file.
+
+
+
+
+ Set it to true to enable writing a PDB file. Default is false (a PDB file
+ won't be written to disk).
+
+
+
+
+ PDB writer options. This property is ignored if is false.
+
+
+
+
+ PDB file name. If it's null a PDB file with the same name as the output assembly
+ will be created but with a PDB extension. must be true or
+ this property is ignored.
+
+
+
+
+ PDB file name stored in the debug directory, or null to use
+
+
+
+
+ PDB stream. If this is initialized, then you should also set
+ to the name of the PDB file since the file name must be written to the PE debug directory.
+ must be true or this property is ignored.
+
+
+
+
+ Gets the PDB content id (portable PDBs). The argument is the PDB stream with the PDB ID zeroed out,
+ and the 2nd argument is the default timestamp.
+ This property is ignored if a deterministic PDB file is created or if the PDB checksum is calculated.
+
+
+
+
+ PDB checksum algorithm
+
+
+
+
+ true if an .mvid section should be added to the assembly. Not used by native module writer.
+
+
+
+
+ Constructor
+
+ The module
+
+
+
+ Initializes and
+ for normal strong name signing.
+
+ Module
+ Signature strong name key pair
+
+
+
+ Initializes and
+ for enhanced strong name signing (without key migration). See
+ http://msdn.microsoft.com/en-us/library/hh415055.aspx
+
+ Module
+ Signature strong name key pair
+ Signature public key
+
+
+
+ Initializes and
+ for enhanced strong name signing (with key migration). See
+ http://msdn.microsoft.com/en-us/library/hh415055.aspx
+
+ Module
+ Signature strong name key pair
+ Signature public key
+ Identity strong name key pair
+ Identity public key
+
+
+
+ Module writer base class
+
+
+
+ Default alignment of all constants
+
+
+ Default alignment of all method bodies
+
+
+ Default alignment of all .NET resources
+
+
+ Default alignment of the .NET metadata
+
+
+ Default Win32 resources alignment
+
+
+ Default strong name signature alignment
+
+
+ Default COR20 header alignment
+
+
+ See
+
+
+ See
+
+
+ See
+
+
+ See
+
+
+ See
+
+
+ See
+
+
+ Offset where the module is written. Usually 0.
+
+
+ Debug directory
+
+
+
+ Strong name signature
+
+
+
+
+ Returns the module writer options
+
+
+
+
+ Gets the destination stream
+
+
+
+
+ Gets the constants
+
+
+
+
+ Gets the method bodies
+
+
+
+
+ Gets the .NET resources
+
+
+
+
+ Gets the .NET metadata
+
+
+
+
+ Gets the Win32 resources or null if there's none
+
+
+
+
+ Gets the strong name signature or null if there's none
+
+
+
+
+ Gets all s. The reloc section must be the last section, so use if you need to append a section
+
+
+
+
+ Adds to the sections list, but before the reloc section which must be last
+
+ New section to add to the list
+
+
+
+ Gets the .text section
+
+
+
+
+ Gets the .rsrc section or null if there's none
+
+
+
+
+ Gets the debug directory or null if there's none
+
+
+
+
+ true if this is a , false if
+ this is a .
+
+
+
+
+ null if we're not writing a PDB
+
+
+
+
+ Writes the module to a file
+
+ File name. The file will be truncated if it exists.
+
+
+
+ Writes the module to a
+
+ Destination stream
+
+
+
+ Returns the module that is written
+
+
+
+
+ Writes the module to . Event listeners and
+ have been initialized when this method is called.
+
+ Number of bytes written
+
+
+
+ Creates the strong name signature if the module has one of the strong name flags
+ set or wants to sign the assembly.
+
+
+
+
+ Creates the .NET metadata chunks (constants, method bodies, .NET resources,
+ the metadata, and Win32 resources)
+
+
+
+
+
+ Gets the Win32 resources that should be written to the new image or null if none
+
+
+
+
+ Calculates and of all s
+
+ All chunks
+ Starting file offset
+ Starting RVA
+ File alignment
+ Section alignment
+
+
+
+ Writes all chunks to
+
+ The writer
+ All chunks
+ File offset of first chunk
+ File alignment
+
+
+
+ Strong name sign the assembly
+
+ Strong name signature offset
+
+
+
+ Creates the debug directory if a PDB file should be written
+
+
+
+
+ Write the PDB file. The caller should send the PDB events before and after calling this
+ method.
+
+
+
+
+ Gets the timestamp stored in the PE header
+
+
+
+
+
+ Raises a writer event
+
+ Event
+
+
+
+
+
+
+
+
+
+ Logs an error message
+
+ Format
+ Format args
+
+
+
+ Logs a warning message
+
+ Format
+ Format args
+
+
+
+ All / events
+
+
+
+
+ Writing has just begun
+
+
+
+
+ All PE sections have been created
+
+
+
+
+ All chunks have been created
+
+
+
+
+ All chunks have been added to their sections
+
+
+
+
+ Original event: .
+ Creating the metadata tables has just begun
+
+
+
+
+ Original event: .
+ Before allocating all TypeDef RIDs
+
+
+
+
+ Original event: .
+ Before allocating all MemberDef RIDs
+
+
+
+
+ Original event: .
+ The rids of types, fields, methods, events, properties and parameters are
+ now known.
+
+
+
+
+ Original event: .
+ The tables and rows of all types, fields, methods, events, properties and parameters
+ have been initialized. Method body RVAs are still not known, and no method has been
+ written yet.
+
+
+
+
+ Original event: .
+ Before sorting most tables
+
+
+
+
+ Original event: .
+ Most of the tables that should be sorted have been sorted. The CustomAttribute
+ table is still unsorted since it hasn't been created yet.
+
+
+
+
+ Original event: .
+ Custom attributes of all types, fields, methods, events, properties and parameters
+ have now been written.
+
+
+
+
+ Original event: .
+ All resources are about to be added to the .NET resources table
+
+
+
+
+ Original event: .
+ All resources have been added to the .NET resources table
+
+
+
+
+ Original event: .
+ All method bodies are about to be written
+
+
+
+
+ Original event: .
+ All method bodies have been written. Their RVAs are still not known.
+
+
+
+
+ Original event: .
+ All tables are now sorted, including the CustomAttribute table.
+
+
+
+
+ Original event: .
+ All tables have been created and all rows populated. The only columns that haven't
+ been initialized yet are the ones that are RVAs.
+
+
+
+
+ This event occurs before the PDB file is written. This event occurs even if no PDB file
+ will be written.
+
+
+
+
+ The PDB file has been written. This event occurs even if no PDB file has been written.
+
+
+
+
+ This event occurs just before all RVAs and file offsets of the chunks are calculated.
+
+
+
+
+ File offsets and RVAs of all chunks are now known. This includes method body and
+ field RVAs. Nothing has been written to the destination stream yet.
+
+
+
+
+ This event occurs before all chunks are written to the destination stream, and after
+ all RVAs and file offsets are known.
+
+
+
+
+ All chunks have been written to the destination stream.
+
+
+
+
+ This event occurs before the strong name signature is calculated. This event
+ occurs even if the assembly isn't strong name signed.
+
+
+
+
+ This event occurs after the strong name signature has been calculated. This event
+ occurs even if the assembly isn't strong name signed.
+
+
+
+
+ This event occurs before the checksum in the PE header is updated. This event
+ occurs even if the checksum isn't updated.
+
+
+
+
+ This event occurs after the checksum in the PE header has been updated. This event
+ occurs even if the checksum isn't updated.
+
+
+
+
+ Writing has ended
+
+
+
+
+ Thrown when the module writer encounters an unrecoverable error
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ Error message
+
+
+
+ Constructor
+
+ Error message
+ Other exception
+
+
+
+ Constructor
+
+
+
+
+
+
+ options
+
+
+
+
+ If true, any extra data after the PE data in the original file is also saved
+ at the end of the new file. Enable this option if some protector has written data to
+ the end of the file and uses it at runtime.
+
+
+
+
+ If true, keep the original Win32 resources
+
+
+
+
+ Constructor
+
+ Module
+ true to optimize the image size so it's as small as possible.
+ Since the file can contain native methods and other native data, we re-use the
+ original file when writing the new file. If is true,
+ we'll try to re-use the old method body locations in the original file and
+ also try to fit the new metadata in the old metadata location.
+
+
+
+ A module writer that supports saving mixed-mode modules (modules with native code).
+ The original image will be re-used. See also
+
+
+
+ The original .NET module
+
+
+ All options
+
+
+
+ Any extra data found at the end of the original file. This is null if there's
+ no extra data or if is
+ false.
+
+
+
+ The original PE sections and their data
+
+
+ Original PE image
+
+
+ New sections we've added and their data
+
+
+ New .text section where we put some stuff, eg. .NET metadata
+
+
+ The new COR20 header
+
+
+
+ New .rsrc section where we put the new Win32 resources. This is null if there
+ are no Win32 resources or if
+ is true
+
+
+
+
+ Offset in of the PE checksum field.
+
+
+
+
+ Original PE section
+
+
+
+ PE section
+
+
+ PE section data
+
+
+
+ Constructor
+
+ PE section
+
+
+
+
+
+
+
+
+
+ Gets the module
+
+
+
+
+
+
+
+
+
+
+ Gets/sets the writer options. This is never null
+
+
+
+
+ Gets all s
+
+
+
+
+ Gets the original PE sections and their data
+
+
+
+
+ Gets the .text section
+
+
+
+
+ Gets the .rsrc section or null if there's none
+
+
+
+
+ Constructor
+
+ The module
+ Options or null
+
+
+
+
+
+
+
+
+
+ Gets the raw section data of the image. The sections are saved in
+ .
+
+
+
+
+ Creates the PE header "section"
+
+
+
+
+ Saves any data that is appended to the original PE file
+
+
+
+
+ true if image is 64-bit
+
+
+
+
+ Updates the PE header and COR20 header fields that need updating. All sections are
+ also updated, and the new ones are added.
+
+
+
+
+ Converts to a file offset in the destination stream
+
+ RVA
+
+
+
+ Gets the entry point
+
+ Updated with entry point (either a token or RVA of native method)
+ true if it's a managed entry point or there's no entry point,
+ false if it's a native entry point
+
+
+
+ .NET resources
+
+
+
+
+
+
+
+
+
+
+ Gets offset of next resource. This offset is relative to the start of
+ the .NET resources and is always aligned.
+
+
+
+
+ Constructor
+
+ Alignment of all resources
+
+
+
+ Adds a resource
+
+ The resource data
+ The resource data
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Does not preserve metadata tokens
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ #Pdb heap
+
+
+
+
+
+
+
+ Gets the PDB ID. This is always 20 bytes in size.
+
+
+
+
+ Gets/sets the entry point token
+
+
+
+
+ Gets the offset of the 20-byte PDB ID
+
+
+
+
+ Gets/sets the referenced type system tables
+
+
+
+
+ Gets the type system table rows. This table has 64 elements.
+
+
+
+
+ Constructor
+
+
+
+
+
+
+
+
+
+
+ options
+
+
+
+
+ Default DLL characteristics
+
+
+
+
+ Default subsystem value
+
+
+
+
+ Default major linker version. Roslyn C# defaults to 0x30, and Roslyn VB defaults to 0x50.
+
+
+
+
+ Default minor linker version
+
+
+
+
+ IMAGE_FILE_HEADER.Machine value
+
+
+
+
+ IMAGE_FILE_HEADER.TimeDateStamp value
+
+
+
+
+ IMAGE_FILE_HEADER.PointerToSymbolTable value
+
+
+
+
+ IMAGE_FILE_HEADER.NumberOfSymbols value
+
+
+
+
+ IMAGE_FILE_HEADER.Characteristics value. bit
+ is ignored and set/cleared depending on whether it's a EXE or a DLL file.
+
+
+
+
+ IMAGE_OPTIONAL_HEADER.MajorLinkerVersion value
+
+
+
+
+ IMAGE_OPTIONAL_HEADER.MinorLinkerVersion value
+
+
+
+
+ IMAGE_OPTIONAL_HEADER.ImageBase value
+
+
+
+
+ IMAGE_OPTIONAL_HEADER.SectionAlignment value
+
+
+
+
+ IMAGE_OPTIONAL_HEADER.FileAlignment value
+
+
+
+
+ IMAGE_OPTIONAL_HEADER.MajorOperatingSystemVersion value
+
+
+
+
+ IMAGE_OPTIONAL_HEADER.MinorOperatingSystemVersion value
+
+
+
+
+ IMAGE_OPTIONAL_HEADER.MajorImageVersion value
+
+
+
+
+ IMAGE_OPTIONAL_HEADER.MinorImageVersion value
+
+
+
+
+ IMAGE_OPTIONAL_HEADER.MajorSubsystemVersion value
+
+
+
+
+ IMAGE_OPTIONAL_HEADER.MinorSubsystemVersion value
+
+
+
+
+ IMAGE_OPTIONAL_HEADER.Win32VersionValue value
+
+
+
+
+ IMAGE_OPTIONAL_HEADER.Subsystem value
+
+
+
+
+ IMAGE_OPTIONAL_HEADER.DllCharacteristics value
+
+
+
+
+ IMAGE_OPTIONAL_HEADER.SizeOfStackReserve value
+
+
+
+
+ IMAGE_OPTIONAL_HEADER.SizeOfStackCommit value
+
+
+
+
+ IMAGE_OPTIONAL_HEADER.SizeOfHeapReserve value
+
+
+
+
+ IMAGE_OPTIONAL_HEADER.SizeOfHeapCommit value
+
+
+
+
+ IMAGE_OPTIONAL_HEADER.LoaderFlags value
+
+
+
+
+ IMAGE_OPTIONAL_HEADER.NumberOfRvaAndSizes value
+
+
+
+
+ Creates a new time date stamp using current time
+
+ A new time date stamp
+
+
+
+ DOS and PE headers
+
+
+
+
+ Gets/sets the native entry point
+
+
+
+
+ Gets/sets the COR20 header
+
+
+
+
+ Gets/sets the IAT
+
+
+
+
+ Gets/sets the
+
+
+
+
+ Gets/sets the Win32 resources
+
+
+
+
+ Gets/sets the relocation directory
+
+
+
+
+ Gets/sets the debug directory
+
+
+
+
+ Gets the image base
+
+
+
+
+ Gets/sets a value indicating whether this is a EXE or a DLL file
+
+
+
+
+
+
+
+
+
+
+ Gets the section alignment
+
+
+
+
+ Gets the file alignment
+
+
+
+
+ Gets/sets the s
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ Options
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Calculates the PE checksum and writes it to the checksum field
+
+ Writer
+ Length of PE file
+
+
+
+ A PE section
+
+
+
+
+ Gets the name
+
+
+
+
+ Gets the Characteristics
+
+
+
+
+ true if this is a code section
+
+
+
+
+ true if this is an initialized data section
+
+
+
+
+ true if this is an uninitialized data section
+
+
+
+
+ Constructor
+
+ Section name
+ Section characteristics
+
+
+
+ Writes the section header to at its current position.
+ Returns aligned virtual size (aligned to )
+
+ Writer
+ File alignment
+ Section alignment
+ Current
+
+
+
+ Preserves metadata tokens
+
+
+
+
+ Its real rid
+
+
+
+
+ Its logical rid or real rid. If the ptr table exists (eg. MethodPtr), then it's
+ an index into it, else it's the real rid.
+
+
+
+
+ Gets total number of defs in the list. It does not necessarily return
+ the table size. Use for that.
+
+
+
+
+ Gets the number of rows that need to be created in the table
+
+
+
+
+ Returns true if the ptr table (eg. MethodPtr) is needed
+
+
+
+
+ Sorts the table
+
+ Comparer
+
+
+
+ Adds a def. must be called after adding the last def.
+
+ The def
+ Collection position
+
+
+
+ Must be called after 'ing the last def
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Reserves rows in TypeRef, MemberRef, StandAloneSig,
+ TypeSpec and MethodSpec where we will store the original rows
+ to make sure they get the same rid. Any user created rows will be stored at
+ the end of each table.
+
+
+
+
+ Adds any non-referenced rows that haven't been added yet but are present in
+ the original file. If there are any non-referenced rows, it's usually a sign
+ that an obfuscator has encrypted one or more methods or that it has added
+ some rows it uses to decrypt something.
+
+
+
+
+
+
+
+ Re-uses all Field rows which aren't owned by any type due to the fields
+ having been deleted by the user. The reason we must do this is that the
+ FieldPtr and Field tables must be the same size.
+
+
+
+
+ Re-uses all Method rows which aren't owned by any type due to the methods
+ having been deleted by the user. The reason we must do this is that the
+ MethodPtr and Method tables must be the same size.
+
+
+
+
+ Re-uses all Param rows which aren't owned by any type due to the params
+ having been deleted by the user. The reason we must do this is that the
+ ParamPtr and Param tables must be the same size.
+ This method must be called after since
+ this method will create more methods at the end of the Method table.
+
+
+
+
+ Re-uses all Event rows which aren't owned by any type due to the events
+ having been deleted by the user. The reason we must do this is that the
+ EventPtr and Event tables must be the same size.
+
+
+
+
+ Re-uses all Property rows which aren't owned by any type due to the properties
+ having been deleted by the user. The reason we must do this is that the
+ PropertyPtr and Property tables must be the same size.
+
+
+
+
+ Creates a dummy TypeDef at the end of the TypeDef table that will own
+ dummy methods and fields. These dummy methods and fields are only created if the size
+ of the ptr table is less than the size of the non-ptr table (eg. size MethodPtr table
+ is less than size Method table). The only reason the ptr table would be smaller than
+ the non-ptr table is when some field/method has been deleted and we must preserve
+ all method/field rids.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Relocations directory
+
+
+
+
+
+
+
+
+
+
+ Constructor
+
+ Machine
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Adds a relocation
+
+ RVA of location
+
+
+
+ Adds a relocation
+
+ Chunk or null. If it's null, is the RVA
+ Offset relative to the start of , or if is null, this is the RVA
+
+
+
+ Length of section
+
+
+
+
+ Section characteristics
+
+
+
+
+ Constructor
+
+ Length of section
+ Section characteristics
+
+
+
+ Calculates the optional header section sizes
+
+
+
+
+ Helps map s to tokens
+
+
+
+
+ Returns a TypeDefOrRef encoded token
+
+ A TypeDefOrRef type
+
+
+
+ Writes signatures
+
+
+
+
+ Write a signature
+
+ Helper
+ The type
+ The signature as a byte array
+
+
+
+ Write a signature
+
+ Helper
+ The signature
+ The signature as a byte array
+
+
+
+
+
+
+ Stores the instruction that jumps to _CorExeMain/_CorDllMain
+
+
+
+
+ Gets/sets the
+
+
+
+
+ Gets/sets the
+
+
+
+
+
+
+
+
+
+
+ Gets the address of the JMP instruction
+
+
+
+
+ Constructor
+
+ Reloc directory
+ Machine
+ Error logger
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ #Strings heap
+
+
+
+
+
+
+
+ Populates strings from an existing (eg. to preserve
+ string offsets)
+
+ The #Strings stream with the original content
+
+
+
+ Adds a string to the #Strings heap. The returned value is not necessarily an offset in
+ the #Strings heap. Call to get the offset.
+
+ The string
+ The offset id. This is not a #Strings offset. Call to get the #Strings offset
+
+
+
+ Gets the offset of a string in the #Strings heap. This method can only be called after
+ all strings have been added.
+
+ Offset id returned by
+
+
+
+
+ Adds a string to the #Strings heap, but does not re-use an existing position
+
+ The string
+ The offset of the string in the #Strings heap
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Strong name signature chunk
+
+
+
+
+
+
+
+
+
+
+ Constructor
+
+ Size of strong name signature
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ options
+
+
+
+
+ Should be 0
+
+
+
+
+ Major version number. Default is 2. Valid versions are v1.0 (no generics),
+ v1.1 (generics are supported), or v2.0 (recommended).
+
+
+
+
+ Minor version number. Default is 0.
+
+
+
+
+ Force #- or #~ stream. Default value is null and recommended because the correct
+ tables stream will be used. true will force #- (Edit N' Continue)
+ stream, and false will force #~ (normal compressed) stream.
+
+
+
+
+ All columns that can be 2 or 4 bytes are forced to be 4 bytes.
+ Set this to true if you add a #JTD heap and (if CLR) a #- tables heap is used
+ or (if Mono/Unity) a #~ or #- tables heap is used.
+ dnlib won't try to auto detect this from your added heaps since the CLR/CoreCLR vs Mono/Unity behavior
+ is a little bit different. You may need to set to true if you target CLR/CoreCLR.
+
+
+
+
+ Extra data to write
+
+
+
+
+ Log2Rid to write
+
+
+
+
+ true if there are deleted s, s,
+ s, s, s and/or
+ s.
+
+
+
+
+ Creates portable PDB v1.0 options
+
+
+
+
+
+ Contains all .NET tables
+
+
+
+
+
+
+
+
+
+
+ All tables
+
+
+
+
+
+
+
+
+
+
+ true if the Edit 'N Continue name will be used (#-)
+
+
+
+
+ true if any rows have been deleted (eg. a deleted TypeDef, Method, Field, etc.
+ Its name has been renamed to _Deleted).
+
+
+
+
+ true if #Strings heap size > 0xFFFF
+
+
+
+
+ true if #GUID heap size > 0xFFFF
+
+
+
+
+ true if #Blob heap size > 0xFFFF
+
+
+
+
+ Constructor
+
+ Metadata owner
+ Options
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Calculates the length. This will set all MD tables to read-only.
+
+
+
+
+
+
+
+
+
+
+ Re-uses existing chunks to save space
+
+ Chunk type
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ Compares the chunk type
+
+
+
+
+
+
+ Adds a if not already present
+
+ The chunk to add or null if none
+ Chunk alignment
+ The original input if it wasn't present, or the cached one
+
+
+
+
+
+
+ #US heap
+
+
+
+
+
+
+
+ Populates strings from an existing (eg. to preserve
+ string tokens)
+
+ The #US stream with the original content
+
+
+
+ Adds a string to the #US heap
+
+ The string
+ The offset of the string in the #US heap
+
+
+
+ Adds a string to the #US heap
+
+ The string
+ The offset of the string in the #US heap
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Writes Win32 resources
+
+
+
+
+
+
+
+
+
+
+ Constructor
+
+ Win32 resources
+
+
+
+ Returns the and of a
+ . must have been called.
+
+ A
+ Updated with the file offset
+ Updated with the RVA
+ true if is valid and
+ and have been updated. false
+ if is not part of the Win32 resources.
+
+
+
+ Returns the of a .
+ must have been called.
+
+ A
+ The file offset or 0 if is invalid
+
+
+
+ Returns the of a .
+ must have been called.
+
+ A
+ The RVA or 0 if is invalid
+
+
+
+ Returns the and of a
+ . must have been called.
+
+ A
+ Updated with the file offset
+ Updated with the RVA
+ true if is valid and
+ and have been updated. false
+ if is not part of the Win32 resources.
+
+
+
+ Returns the of a .
+ must have been called.
+
+ A
+ The file offset or 0 if is invalid
+
+
+
+ Returns the of a .
+ must have been called.
+
+ A
+ The RVA or 0 if is invalid
+
+
+
+ Returns the and of a
+ . must have been called.
+
+ A
+ Updated with the file offset
+ Updated with the RVA
+ true if is valid and
+ and have been updated. false
+ if is not part of the Win32 resources.
+
+
+
+ Returns the of a .
+ must have been called.
+
+ A
+ The file offset or 0 if is invalid
+
+
+
+ Returns the of a .
+ must have been called.
+
+ A
+ The RVA or 0 if is invalid
+
+
+
+ Returns the and of a
+ 's name. must have been
+ called.
+
+ The name of a
+ Updated with the file offset
+ Updated with the RVA
+ true if is valid and
+ and have been updated. false
+ if is not part of the Win32 resources.
+
+
+
+ Returns the of a 's name.
+ must have been called.
+
+ The name of a
+ The file offset or 0 if is invalid
+
+
+
+ Returns the of a 's name.
+ must have been called.
+
+ The name of a
+ The RVA or 0 if is invalid
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ A that reads from a byte array
+
+
+
+
+ The filename or null if the data is not from a file
+
+
+
+
+ Gets the total length of the data
+
+
+
+
+ Creates a instance
+
+ Data
+ The filename or null if the data is not from a file
+
+
+
+
+ Creates a data reader
+
+ Data
+
+
+
+
+ Creates a data reader
+
+ Offset of data
+ Length of data
+
+
+
+
+ This method doesn't need to be called since a has nothing that must be cleaned up
+
+
+
+
+ Thrown by a when it can't read data or if the caller tries to set an invalid offset
+
+
+
+
+ Reads data
+
+
+
+
+ Gets the start offset of the data
+
+
+
+
+ Gets the end offset of the data, not inclusive
+
+
+
+
+ Gets the total length of the data
+
+
+
+
+ Gets the current offset. This is between and (inclusive)
+
+
+
+
+ Gets/sets the position relative to
+
+
+
+
+ Gets the number of bytes that can be read without throwing an exception
+
+
+
+
+ Constructor
+
+ Stream
+ Start offset of data
+ Length of data
+
+
+
+ Resets the reader so it points to the start of the data
+
+
+
+
+ Creates a new reader that can access a smaller part of this reader
+
+ Start position relative to
+ Length of data
+
+
+
+
+ Creates a new reader that can access everything from to the end of the data
+
+ Start position relative to
+
+
+
+
+ Creates a new reader that can access a smaller part of this reader
+
+ Start position relative to
+ Length of data
+
+
+
+
+ Creates a new reader that can access everything from to the end of the data
+
+ Start position relative to
+
+
+
+
+ Checks if it's possible to read bytes
+
+ Length of data
+
+
+
+
+ Checks if it's possible to read bytes
+
+ Length of data
+
+
+
+
+ Reads a
+
+
+
+
+
+ Reads a
+
+
+
+
+
+ Reads a
+
+
+
+
+
+ Reads a
+
+
+
+
+
+ Reads a
+
+
+
+
+
+ Reads a
+
+
+
+
+
+ Reads a
+
+
+
+
+
+ Reads a
+
+
+
+
+
+ Reads a
+
+
+
+
+
+ Reads a
+
+
+
+
+
+ Reads a
+
+
+
+
+
+ Reads a
+
+
+
+
+
+ Reads a
+
+
+
+
+
+ Reads a
+
+
+
+
+
+ Reads a UTF-16 encoded
+
+ Number of characters to read
+
+
+
+
+ Reads bytes
+
+ Destination pointer
+ Number of bytes to read
+
+
+
+ Reads bytes
+
+ Destination array
+ Destination index
+ Number of bytes to read
+
+
+
+ Reads bytes
+
+ Number of bytes to read
+
+
+
+
+ Reads a compressed
+
+ Uncompressed
+
+
+
+
+ Reads a compressed
+
+
+
+
+
+ Reads a compressed
+
+ Uncompressed
+
+
+
+
+ Reads a compressed
+
+
+
+
+
+ Reads a 7-bit encoded integer
+
+
+
+
+
+ Reads a 7-bit encoded integer
+
+
+
+
+
+ Reads a serialized UTF-8 string
+
+
+
+
+
+ Reads a serialized string
+
+ Encoding
+
+
+
+
+ Returns all data without updating the current position
+
+
+
+
+
+ Returns the remaining data
+
+
+
+
+
+ Reads all bytes until a terminating byte or returns null if wasn't found.
+ If found, the current offset is incremented by the length of the returned data
+
+ Terminating byte value
+
+
+
+
+ Reads a zero-terminated UTF-8 string or returns null if the string couldn't be read.
+ If successful, the current offset is incremented past the terminating zero.
+
+
+
+
+
+ Reads a zero-terminated string or returns null if the string couldn't be read.
+ If successful, the current offset is incremented past the terminating zero.
+
+ Encoding
+
+
+
+
+ Reads a UTF-8 encoded string
+
+ Number of bytes to read (not characters)
+
+
+
+
+ Reads a string
+
+ Number of bytes to read (not characters)
+ Encoding
+
+
+
+
+ Creates a that can access this content. The caller doesn't have to dispose of the returned stream.
+
+
+
+
+
+ Copies the data, starting from , to
+
+ Destination
+ Number of bytes written
+
+
+
+ Copies the data, starting from , to
+
+ Destination
+ Temp buffer during writing
+ Number of bytes written
+
+
+
+ Copies the data, starting from , to
+
+ Destination
+ Number of bytes written
+
+
+
+ Copies the data, starting from , to
+
+ Destination
+ Temp buffer during writing
+ Number of bytes written
+
+
+
+ Copies the data, starting from , to
+
+ Destination
+ Number of bytes written
+
+
+
+ Copies the data, starting from , to
+
+ Destination
+ Temp buffer during writing
+ Number of bytes written
+
+
+
+ Creates s that can read its data.
+
+ This factory class is thread safe and its data can be read by on any thread.
+
+
+
+
+ The filename or null if the data is not from a file
+
+
+
+
+ Gets the total length of the data
+
+
+
+
+ Creates a data reader that can read all data
+
+
+
+
+
+ Creates a data reader
+
+ Offset of data
+ Length of data
+
+
+
+
+ Creates a data reader
+
+ Offset of data
+ Length of data
+
+
+
+
+ Creates a data reader
+
+ Offset of data
+ Length of data
+
+
+
+
+ Creates a data reader
+
+ Offset of data
+ Length of data
+
+
+
+
+ Creates a data reader
+
+ Stream
+ Offset of data
+ Length of data
+
+
+
+
+ Raised when all cached s created by this instance must be recreated
+
+
+
+
+ Disposes of this instance
+
+
+
+
+ This class is used by a . The instance
+ verifies that all input are valid before calling any methods in this class.
+ This class is thread safe.
+
+
+
+
+ Reads bytes
+
+ Offset of data
+ Destination pointer
+ Number of bytes to read
+
+
+
+ Reads bytes
+
+ Offset of data
+ Destination array
+ Destination index
+ Number of bytes to read
+
+
+
+ Reads a
+
+ Offset of data
+
+
+
+
+ Reads a
+
+ Offset of data
+
+
+
+
+ Reads a 1-byte-long
+
+ Offset of data
+
+
+
+
+ Reads a
+
+ Offset of data
+
+
+
+
+ Reads a
+
+ Offset of data
+
+
+
+
+ Reads a 2-byte-long
+
+ Offset of data
+
+
+
+
+ Reads a
+
+ Offset of data
+
+
+
+
+ Reads a
+
+ Offset of data
+
+
+
+
+ Reads a
+
+ Offset of data
+
+
+
+
+ Reads a
+
+ Offset of data
+
+
+
+
+ Reads a
+
+ Offset of data
+
+
+
+
+ Reads a
+
+ Offset of data
+
+
+
+
+ Reads a
+
+ Offset of data
+
+
+
+
+ Reads a
+
+ Offset of data
+
+
+
+
+ Reads a UTF-16 encoded
+
+ Offset of data
+ Number of characters to read
+
+
+
+
+ Reads a string
+
+ Offset of data
+ Length of string in bytes
+ Encoding
+
+
+
+
+ Gets the data offset of a byte or returns false if the byte wasn't found
+
+ Offset of data
+ End offset of data (not inclusive)
+ Byte value to search for
+ Offset of the byte if found
+
+
+
+
+ Creates s
+
+
+
+
+ Creates a that reads from native memory
+
+ Pointer to data
+
+
+
+
+ Creates a that reads from a byte array
+
+ Data
+
+
+
+
+ Represents a file offset
+
+
+
+
+ Extension methods
+
+
+
+
+ Align up
+
+ this
+ Alignment
+
+
+
+ Align up
+
+ this
+ Alignment
+
+
+
+ Base class for classes needing to implement IFileSection
+
+
+
+
+ The start file offset of this section
+
+
+
+
+ Size of the section
+
+
+
+
+
+
+
+
+
+
+ Set to 's current position
+
+ The reader
+
+
+
+ Set according to 's current position
+
+ The reader
+
+
+
+ Represents a section in a file
+
+
+
+
+ Start offset of the section in the file
+
+
+
+
+ End offset of the section in the file. This is one byte after the last
+ valid offset in the section.
+
+
+
+
+ Creates s that read memory mapped data
+
+
+
+
+ The filename or null if the data is not from a file
+
+
+
+
+ Gets the total length of the data
+
+
+
+
+ Raised when all cached s created by this instance must be recreated
+
+
+
+
+ Creates a data reader
+
+ Offset of data
+ Length of data
+
+
+
+
+ Cleans up and frees all allocated memory
+
+
+
+
+ true if memory mapped I/O is enabled
+
+
+
+
+ Call this to disable memory mapped I/O. This must only be called if no other code is
+ trying to access the memory since that could lead to an exception.
+
+
+
+
+ Creates s that read native memory
+
+
+
+
+ The filename or null if the data is not from a file
+
+
+
+
+ Gets the total length of the data
+
+
+
+
+ Creates a instance
+
+ Pointer to data
+ Length of data
+ The filename or null if the data is not from a file
+
+
+
+
+ Creates a data reader
+
+ Offset of data
+ Length of data
+
+
+
+
+ This method doesn't need to be called since this instance doesn't own the native memory
+
+
+
+
+ IMAGE_FILE_HEADER.Characteristics flags
+
+
+
+ Relocation info stripped from file.
+
+
+ File is executable (i.e. no unresolved externel references).
+
+
+ Line nunbers stripped from file.
+
+
+ Local symbols stripped from file.
+
+
+ Agressively trim working set
+
+
+ App can handle >2gb addresses
+
+
+
+
+
+ Bytes of machine word are reversed.
+
+
+ 32 bit word machine.
+
+
+ Debugging info stripped from file in .DBG file
+
+
+ If Image is on removable media, copy and run from the swap file.
+
+
+ If Image is on Net, copy and run from the swap file.
+
+
+ System File.
+
+
+ File is a DLL.
+
+
+ File should only be run on a UP machine
+
+
+ Bytes of machine word are reversed.
+
+
+
+ IMAGE_OPTIONAL_HEADER.DllCharacteristics
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Image can handle a high entropy 64-bit virtual address space.
+
+
+ DLL can move.
+
+
+ Code Integrity Image
+
+
+ Image is NX compatible
+
+
+ Image understands isolation and doesn't want it
+
+
+ Image does not use SEH. No SE handler may reside in this image
+
+
+ Do not bind this image.
+
+
+ Image should execute in an AppContainer
+
+
+ Driver uses WDM model
+
+
+ Image supports Control Flow Guard.
+
+
+
+
+
+
+ Interface for PE optional header classes
+
+
+
+
+ Returns the Magic field
+
+
+
+
+ Returns the MajorLinkerVersion field
+
+
+
+
+ Returns the MinorLinkerVersion field
+
+
+
+
+ Returns the SizeOfCode field
+
+
+
+
+ Returns the SizeOfInitializedData field
+
+
+
+
+ Returns the SizeOfUninitializedData field
+
+
+
+
+ Returns the AddressOfEntryPoint field
+
+
+
+
+ Returns the BaseOfCode field
+
+
+
+
+ Returns the BaseOfData field
+
+
+
+
+ Returns the ImageBase field
+
+
+
+
+ Returns the SectionAlignment field
+
+
+
+
+ Returns the FileAlignment field
+
+
+
+
+ Returns the MajorOperatingSystemVersion field
+
+
+
+
+ Returns the MinorOperatingSystemVersion field
+
+
+
+
+ Returns the MajorImageVersion field
+
+
+
+
+ Returns the MinorImageVersion field
+
+
+
+
+ Returns the MajorSubsystemVersion field
+
+
+
+
+ Returns the MinorSubsystemVersion field
+
+
+
+
+ Returns the Win32VersionValue field
+
+
+
+
+ Returns the SizeOfImage field
+
+
+
+
+ Returns the SizeOfHeaders field
+
+
+
+
+ Returns the CheckSum field
+
+
+
+
+ Returns the Subsystem field
+
+
+
+
+ Returns the DllCharacteristics field
+
+
+
+
+ Returns the SizeOfStackReserve field
+
+
+
+
+ Returns the SizeOfStackCommit field
+
+
+
+
+ Returns the SizeOfHeapReserve field
+
+
+
+
+ Returns the SizeOfHeapCommit field
+
+
+
+
+ Returns the LoaderFlags field
+
+
+
+
+ Returns the NumberOfRvaAndSizes field
+
+
+
+
+ Returns the DataDirectories field. This array contains exactly 16 elements.
+
+
+
+
+ Represents the IMAGE_DATA_DIRECTORY PE section
+
+
+
+
+ Returns the IMAGE_DATA_DIRECTORY.VirtualAddress field
+
+
+
+
+ Returns the IMAGE_DATA_DIRECTORY.Size field
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ PE file reader pointing to the start of this section
+ Verify section
+ Thrown if verification fails
+
+
+
+ A IMAGE_DEBUG_DIRECTORY
+
+
+
+
+ Gets the characteristics (reserved)
+
+
+
+
+ Gets the timestamp
+
+
+
+
+ Gets the major version
+
+
+
+
+ Gets the minor version
+
+
+
+
+ Gets the type
+
+
+
+
+ Gets the size of data
+
+
+
+
+ RVA of the data
+
+
+
+
+ File offset of the data
+
+
+
+
+ Constructor
+
+ PE file reader pointing to the start of this section
+ Verify section
+ Thrown if verification fails
+
+
+
+ Image debug type, see IMAGE_DEBUG_TYPE_* in winnt.n
+
+
+
+
+ Contains PDB info
+
+
+
+
+ It's a deterministic (reproducible) PE file
+
+
+
+
+ Embedded portable PDB data
+
+
+
+
+ Checksum of the PDB file. 0 or more entries allowed.
+
+
+
+
+ Represents the IMAGE_DOS_HEADER PE section
+
+
+
+
+ File offset of the NT headers
+
+
+
+
+ Constructor
+
+ PE file reader
+ Verify section
+ Thrown if verification fails
+
+
+
+ Represents the IMAGE_FILE_HEADER PE section
+
+
+
+
+ Returns the IMAGE_FILE_HEADER.Machine field
+
+
+
+
+ Returns the IMAGE_FILE_HEADER.NumberOfSections field
+
+
+
+
+ Returns the IMAGE_FILE_HEADER.TimeDateStamp field
+
+
+
+
+ Returns the IMAGE_FILE_HEADER.PointerToSymbolTable field
+
+
+
+
+ Returns the IMAGE_FILE_HEADER.NumberOfSymbols field
+
+
+
+
+ Returns the IMAGE_FILE_HEADER.SizeOfOptionalHeader field
+
+
+
+
+ Returns the IMAGE_FILE_HEADER.Characteristics field
+
+
+
+
+ Constructor
+
+ PE file reader pointing to the start of this section
+ Verify section
+ Thrown if verification fails
+
+
+
+ Represents the IMAGE_NT_HEADERS PE section
+
+
+
+
+ Returns the IMAGE_NT_HEADERS.Signature field
+
+
+
+
+ Returns the IMAGE_NT_HEADERS.FileHeader field
+
+
+
+
+ Returns the IMAGE_NT_HEADERS.OptionalHeader field
+
+
+
+
+ Constructor
+
+ PE file reader pointing to the start of this section
+ Verify section
+ Thrown if verification fails
+
+
+
+ Creates an IImageOptionalHeader
+
+ PE file reader pointing to the start of the optional header
+ Verify section
+ The created IImageOptionalHeader
+ Thrown if verification fails
+
+
+
+ Represents the IMAGE_OPTIONAL_HEADER (32-bit) PE section
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER.Magic field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER.MajorLinkerVersion field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER.MinorLinkerVersion field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER.SizeOfCode field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER.SizeOfInitializedData field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER.SizeOfUninitializedData field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER.AddressOfEntryPoint field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER.BaseOfCode field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER.BaseOfData field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER.ImageBase field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER.SectionAlignment field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER.FileAlignment field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER.MajorOperatingSystemVersion field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER.MinorOperatingSystemVersion field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER.MajorImageVersion field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER.MinorImageVersion field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER.MajorSubsystemVersion field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER.MinorSubsystemVersion field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER.Win32VersionValue field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER.SizeOfImage field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER.SizeOfHeaders field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER.CheckSum field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER.Subsystem field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER.DllCharacteristics field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER.SizeOfStackReserve field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER.SizeOfStackCommit field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER.SizeOfHeapReserve field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER.SizeOfHeapCommit field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER.LoaderFlags field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER.NumberOfRvaAndSizes field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER.DataDirectories field
+
+
+
+
+ Constructor
+
+ PE file reader pointing to the start of this section
+ Total size of this optional header (from the file header)
+ Verify section
+ Thrown if verification fails
+
+
+
+ Represents the IMAGE_OPTIONAL_HEADER64 PE section
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER64.Magic field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER64.MajorLinkerVersion field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER64.MinorLinkerVersion field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER64.SizeOfCode field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER64.SizeOfInitializedData field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER64.SizeOfUninitializedData field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER64.AddressOfEntryPoint field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER64.BaseOfCode field
+
+
+
+
+ Returns 0 since BaseOfData is not present in IMAGE_OPTIONAL_HEADER64
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER64.ImageBase field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER64.SectionAlignment field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER64.FileAlignment field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER64.MajorOperatingSystemVersion field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER64.MinorOperatingSystemVersion field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER64.MajorImageVersion field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER64.MinorImageVersion field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER64.MajorSubsystemVersion field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER64.MinorSubsystemVersion field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER64.Win32VersionValue field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER64.SizeOfImage field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER64.SizeOfHeaders field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER64.CheckSum field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER64.Subsystem field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER64.DllCharacteristics field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER64.SizeOfStackReserve field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER64.SizeOfStackCommit field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER64.SizeOfHeapReserve field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER64.SizeOfHeapCommit field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER64.LoaderFlags field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER64.NumberOfRvaAndSizes field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER64.DataDirectories field
+
+
+
+
+ Constructor
+
+ PE file reader pointing to the start of this section
+ Total size of this optional header (from the file header)
+ Verify section
+ Thrown if verification fails
+
+
+
+ Represents the IMAGE_SECTION_HEADER PE section
+
+
+
+
+ Returns the human readable section name, ignoring everything after
+ the first nul byte
+
+
+
+
+ Returns the IMAGE_SECTION_HEADER.Name field
+
+
+
+
+ Returns the IMAGE_SECTION_HEADER.VirtualSize field
+
+
+
+
+ Returns the IMAGE_SECTION_HEADER.VirtualAddress field
+
+
+
+
+ Returns the IMAGE_SECTION_HEADER.SizeOfRawData field
+
+
+
+
+ Returns the IMAGE_SECTION_HEADER.PointerToRawData field
+
+
+
+
+ Returns the IMAGE_SECTION_HEADER.PointerToRelocations field
+
+
+
+
+ Returns the IMAGE_SECTION_HEADER.PointerToLinenumbers field
+
+
+
+
+ Returns the IMAGE_SECTION_HEADER.NumberOfRelocations field
+
+
+
+
+ Returns the IMAGE_SECTION_HEADER.NumberOfLinenumbers field
+
+
+
+
+ Returns the IMAGE_SECTION_HEADER.Characteristics field
+
+
+
+
+ Constructor
+
+ PE file reader pointing to the start of this section
+ Verify section
+ Thrown if verification fails
+
+
+
+ Converts s to/from s
+
+
+
+
+ Converts a to an , returns 0 if out of range
+
+ The file offset to convert
+ The RVA
+
+
+
+ Converts an to a , returns 0 if out of range
+
+ The RVA to convert
+ The file offset
+
+
+
+ Interface to access a PE image
+
+
+
+
+ true if image layout is the same as the raw PE image layout, false
+ if it's the same layout as a PE image loaded by the OS PE loader.
+
+
+
+
+ true if some of the memory where the image is located could be unavailable.
+ This could happen if it's been loaded by the OS loader.
+
+
+
+
+ The filename or null if the data is not from a file
+
+
+
+
+ Returns the DOS header
+
+
+
+
+ Returns the NT headers
+
+
+
+
+ Returns the section headers
+
+
+
+
+ Returns the debug directories
+
+
+
+
+ Gets/sets the Win32 resources. This is null if there are no Win32 resources.
+
+
+
+
+ Gets the factory
+
+
+
+
+ Creates a from to the end of the image
+
+ Offset of data
+
+
+
+
+ Creates a
+
+ Offset of data
+ Length of data
+
+
+
+
+ Creates a from to the end of the image
+
+ RVA of data
+
+
+
+
+ Creates a
+
+ RVA of data
+ Length of data
+
+
+
+
+ Creates a that can read the whole image
+
+
+
+
+
+ Interface to access a PE image
+
+
+
+
+ Call this to disable memory mapped I/O if it was used to open the file. This must only
+ be called if no other code is trying to access the memory since that could lead to an
+ exception.
+
+
+
+
+ true if memory mapped I/O is enabled
+
+
+
+
+ Extension methods
+
+
+
+
+ Finds a
+
+ this
+ Type
+ Name
+ Language ID
+ The or null if none found
+
+
+
+ Calculates a PE checksum
+
+ PE image stream positioned at the MZ bytes
+ Length of image
+ Offset of checksum
+ PE checksum
+
+
+
+ Align up
+
+ this
+ Alignment
+
+
+
+ Align up
+
+ this
+ Alignment
+
+
+
+ Converts a to/from an
+
+
+
+
+ Converts a to an , returns 0 if out of range
+
+ The PEInfo context
+ The file offset to convert
+ The RVA
+
+
+
+ Converts an to a , returns 0 if out of range
+
+ The PEInfo context
+ The RVA to convert
+ The file offset
+
+
+
+ IMAGE_FILE_HEADER.Machine enum
+
+
+
+ Unknown machine
+
+
+ x86
+
+
+ MIPS little-endian, 0x160 big-endian
+
+
+ MIPS little-endian
+
+
+ MIPS little-endian
+
+
+ MIPS little-endian WCE v2
+
+
+ Alpha_AXP
+
+
+ SH3 little-endian
+
+
+
+
+
+ SH3E little-endian
+
+
+ SH4 little-endian
+
+
+ SH5
+
+
+ ARM Little-Endian
+
+
+ ARM Thumb/Thumb-2 Little-Endian
+
+
+ ARM Thumb-2 Little-Endian
+
+
+
+
+
+ IBM PowerPC Little-Endian
+
+
+
+
+
+ IA-64
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Infineon
+
+
+
+
+
+ EFI Byte Code
+
+
+ x64
+
+
+ M32R little-endian
+
+
+
+
+
+
+
+
+
+ Extensions
+
+
+
+
+ Checks if is a 64-bit machine
+
+ Machine
+
+
+
+
+ Checks if is , , etc...
+
+ Machine
+
+
+
+
+ Checks if is , , etc...
+
+ Machine
+
+
+
+
+ Checks if is , , etc...
+
+ Machine
+
+
+
+
+ Checks if is , , etc...
+
+ Machine
+
+
+
+
+ Checks if is s390x, , etc...
+
+ Machine
+
+
+
+
+ Image layout
+
+
+
+
+ Use this if the PE file has a normal structure (eg. it's been read from a file on disk)
+
+
+
+
+ Use this if the PE file has been loaded into memory by the OS PE file loader
+
+
+
+
+ Accesses a PE file
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor
+
+ Data reader factory
+ Image layout
+ Verify PE file data
+
+
+
+ Constructor
+
+ Name of the file
+ true if we should map it as an executable
+ Verify PE file data
+
+
+
+ Constructor
+
+ Name of the file
+ Verify PE file data
+
+
+
+ Constructor
+
+ Name of the file
+
+
+
+ Constructor
+
+ The PE file data
+ Filename or null
+ Image layout
+ Verify PE file data
+
+
+
+ Constructor
+
+ The PE file data
+ Image layout
+ Verify PE file data
+
+
+
+ Constructor
+
+ The PE file data
+ Verify PE file data
+
+
+
+ Constructor
+
+ The PE file data
+ Filename or null
+ Verify PE file data
+
+
+
+ Constructor
+
+ The PE file data
+
+
+
+ Constructor
+
+ The PE file data
+ Filename or null
+
+
+
+ Constructor
+
+ Address of PE image
+ Length of PE image
+ Image layout
+ Verify PE file data
+
+
+
+ Constructor
+
+ Address of PE image
+ Length of PE image
+ Verify PE file data
+
+
+
+ Constructor
+
+ Address of PE image
+ Length of PE image
+
+
+
+ Constructor
+
+ Address of PE image
+ Image layout
+ Verify PE file data
+
+
+
+ Constructor
+
+ Address of PE image
+ Verify PE file data
+
+
+
+ Constructor
+
+ Address of PE image
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Reads all PE sections from a PE stream, for more information see https://docs.microsoft.com/en-us/windows/win32/debug/pe-format
+
+
+
+
+ Returns the DOS header
+
+
+
+
+ Returns the NT headers
+
+
+
+
+ Returns the section headers
+
+
+
+
+ Constructor
+
+ PE file reader pointing to the start of this section
+ Verify sections
+ Thrown if verification fails
+
+
+
+ Returns the first that has data at file offset
+
+
+ The file offset
+
+
+
+
+ Returns the first that has data at RVA
+
+
+ The RVA
+
+
+
+
+ Converts a to an , returns 0 if out of range
+
+ The file offset to convert
+ The RVA
+
+
+
+ Converts an to a , returns 0 if out of range
+
+ The RVA to convert
+ The file offset
+
+
+
+ Returns size of image rounded up to
+
+ It calculates the size itself, and does not return
+ Size of image in bytes
+
+
+
+ Represents an RVA (relative virtual address)
+
+
+
+
+ IMAGE_OPTIONAL_HEADER.Subsystem
+
+
+
+ Unknown subsystem.
+
+
+ Image doesn't require a subsystem.
+
+
+ Image runs in the Windows GUI subsystem.
+
+
+ Image runs in the Windows character subsystem.
+
+
+ image runs in the OS/2 character subsystem.
+
+
+ image runs in the Posix character subsystem.
+
+
+ image is a native Win9x driver.
+
+
+ Image runs in the Windows CE subsystem.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ dnlib settings
+
+
+
+
+ true if dnlib is thread safe. (THREAD_SAFE was defined during compilation)
+
+
+
+
+ Cancellation token interface
+
+
+
+
+ Throws a if the operation should be canceled
+
+
+
+
+ Simple class using Monitor.Enter() and Monitor.Exit()
+ and just like ReaderWriterLockSlim it prevents recursive locks. It doesn't support
+ multiple readers. A reader lock is the same as a writer lock.
+
+
+
+
+ Creates a new instance of this class
+
+
+
+
+
+ Constructor
+
+
+
+
+ Enter read mode
+
+
+
+
+ Exit read mode
+
+
+
+
+ Enter write mode
+
+
+
+
+ Exit write mode
+
+
+
+
+ Interface to access a lazily initialized list
+
+ Type to store in list
+
+
+
+ Gets notified of list events
+
+ List value
+
+
+
+ Called before a new value is lazily added to the list.
+
+ If you must access this list, you can only call _NoLock() methods
+ since a write lock is now held by this thread.
+ Index where the value will be added
+ Value that will be added to the list. It can be modified by
+ the callee.
+
+
+
+ Called before a new value is added to the list.
+
+ If you must access this list, you can only call _NoLock() methods
+ since a write lock is now held by this thread.
+ Index where the value will be added
+ Value that will be added to the list
+
+
+
+ Called before a value is removed from the list. If all elements are removed,
+ is called, and this method is not called.
+
+ If you must access this list, you can only call _NoLock() methods
+ since a write lock is now held by this thread.
+ Index of value
+ The value that will be removed
+
+
+
+ Called after the list has been resized (eg. an element has been added/removed). It's not
+ called when an element is replaced.
+
+ If you must access this list, you can only call _NoLock() methods
+ since a write lock is now held by this thread.
+ Index where the change occurred.
+
+
+
+ Called before the whole list is cleared.
+
+ If you must access this list, you can only call _NoLock() methods
+ since a write lock is now held by this thread.
+
+
+
+ Implements a that is lazily initialized
+
+ Type to store in list
+
+
+
+ Stores a simple value
+
+
+
+
+ true if it has been initialized, false otherwise
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor that should be used when new elements are inserted into
+
+ User data
+
+
+
+ Gets the value
+
+ Index in the list
+
+
+
+ Sets the value
+
+ Index in the list
+ New value
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ List listener
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Enumerator
+
+
+
+
+ Gets the current value
+
+
+
+
+ Moves to the next element in the collection
+
+
+
+
+
+ Disposes the enumerator
+
+
+
+
+ Gets the list enumerator
+
+
+
+
+
+
+
+
+ Implements a that is lazily initialized
+
+ Type to store in list
+ Type of the context passed to the read-value delegate
+
+
+
+ Stores data and keeps track of the original index and whether the data has been
+ initialized or not.
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor that should only be called when is initialized.
+
+ Original index of this element
+ LazyList instance
+
+
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ List listener
+
+
+
+ Constructor
+
+ Initial length of the list
+ Context passed to
+ Delegate instance that returns original values
+
+
+
+ Constructor
+
+ Initial length of the list
+ List listener
+ Context passed to
+ Delegate instance that returns original values
+
+
+
+ A readonly list that gets initialized lazily
+
+ Any class type
+
+
+
+ Gets the length of this list
+
+
+
+
+ Access the list
+
+ Index
+ The element or null if is invalid
+
+
+
+ Constructor
+
+ Length of the list
+ Delegate instance that lazily reads an element. It might
+ be called more than once for each rid in rare cases. It must never return
+ null.
+
+
+
+ A readonly list that gets initialized lazily
+
+ Any class type
+
+
+
+ Gets the length of this list
+
+
+
+
+ Access the list
+
+ Index
+ Generic parameter context
+ The element or null if is invalid
+
+
+
+ Constructor
+
+ Length of the list
+ Delegate instance that lazily reads an element. It might
+ be called more than once for each rid. It must never return null.
+
+
+
+ Lazily returns the original value if the user hasn't overwritten the value
+
+ Value type
+
+
+
+ Sets the lock that protects the data
+
+
+
+
+ Set a delegate instance that will return the original value
+
+
+
+
+ Gets/sets the value
+
+ The getter returns the original value if the value hasn't been initialized.
+
+
+
+ Returns true if the value has been initialized
+
+
+
+
+ Returns true if the value was set by the user
+
+
+
+
+ A resource blob
+
+
+
+
+ Gets the data reader
+
+
+
+
+
+ Gets/sets the code page
+
+
+
+
+ Gets/sets the reserved field
+
+
+
+
+ Constructor
+
+ Name
+
+
+
+ Constructor
+
+ Data reader factory
+ Offset of resource data
+ Length of resource data
+ Name
+
+
+
+ Constructor
+
+ Data reader factory
+ Offset of resource data
+ Length of resource data
+ Name
+ Code page
+ Reserved value
+
+
+
+ A Win32 resource directory (see IMAGE_RESOURCE_DIRECTORY in the Windows SDK)
+
+
+
+ See
+
+
+ See
+
+
+ See
+
+
+ See
+
+
+ See
+
+
+ See
+
+
+
+ Gets/sets the characteristics
+
+
+
+
+ Gets/sets the time date stamp
+
+
+
+
+ Gets/sets the major version number
+
+
+
+
+ Gets/sets the minor version number
+
+
+
+
+ Gets all directory entries
+
+
+
+
+ Gets all resource data
+
+
+
+
+ Constructor
+
+ Name
+
+
+
+ Finds a by name
+
+ Name
+ A or null if it wasn't found
+
+
+
+ Finds a by name
+
+ Name
+ A or null if it wasn't found
+
+
+
+ A Win32 resource directory created by the user
+
+
+
+
+ Constructor
+
+ Name
+
+
+
+ A Win32 resource directory created from a PE file
+
+
+
+
+ To make sure we don't get stuck in an infinite loop, don't allow more than this
+ many sub directories.
+
+
+
+ Owner
+
+
+ Directory depth. When creating more 's,
+ the instances get this value + 1
+
+
+
+ Info about all 's we haven't created yet
+
+
+
+
+ Info about all 's we haven't created yet
+
+
+
+ Offset of resource directory / data
+
+
+
+ Constructor
+
+ Starts from 0. If it's big enough, we'll stop reading more data.
+ Name
+ Resources
+ Reader positioned at the start of this resource directory
+
+
+
+ Reads the directory header and initializes and
+ .
+
+
+
+
+
+ Reads a string
+
+ Reader
+ Offset of string
+ The string or null if we could not read it
+
+
+
+ Base class of and
+
+
+
+
+ Gets/sets the name
+
+
+
+
+ Constructor
+
+ Name
+
+
+
+
+
+
+ A Win32 resource name. It can be either an integer or a string.
+
+
+
+
+ true if is valid
+
+
+
+
+ true if is valid
+
+
+
+
+ The ID. It's only valid if is true
+
+
+
+
+ The name. It's only valid if is true
+
+
+
+
+ Constructor
+
+ ID
+
+
+
+ Constructor
+
+ Name
+
+
+ Converts input to a
+
+
+ Converts input to a
+
+
+ Overloaded operator
+
+
+ Overloaded operator
+
+
+ Overloaded operator
+
+
+ Overloaded operator
+
+
+ Overloaded operator
+
+
+ Overloaded operator
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Win32 resources base class
+
+
+
+
+ Gets/sets the root directory
+
+
+
+
+ Finds a
+
+ Type
+ The or null if none found
+
+
+
+ Finds a
+
+ Type
+ Name
+ The or null if none found
+
+
+
+ Finds a
+
+ Type
+ Name
+ Language ID
+ The or null if none found
+
+
+
+
+
+
+ Dispose method
+
+ true if called by
+
+
+
+ Win32 resources class created by the user
+
+
+
+
+
+
+
+ Win32 resources class created from a PE file
+
+
+
+
+ Converts data RVAs to file offsets in
+
+
+
+
+ This reader only reads the raw data. The data RVA is found in the data header and
+ it's first converted to a file offset using . This file
+ offset is where we'll read from using this reader.
+
+
+
+
+ This reader only reads the directory entries and data headers. The data is read
+ by
+
+
+
+
+
+
+
+ Gets the resource reader
+
+
+
+
+ Constructor
+
+ / converter
+ Reader for the whole Win32 resources section (usually
+ the .rsrc section). It's used to read 's and
+ 's but not the actual data blob.
+ Offset of resource section
+ Length of resource section
+ true if this instance can dispose of
+ Data reader (it's used after converting an
+ to a )
+ Offset of resource section
+ Length of resource section
+ true if this instance can dispose of
+
+
+
+ Constructor
+
+ The PE image
+
+
+
+ Constructor
+
+ The PE image
+ Reader for the whole Win32 resources section (usually
+ the .rsrc section) or null if we should create one from the resource data
+ directory in the optional header
+ Offset of resource section
+ Length of resource section
+ true if this instance can dispose of
+
+
+
+ Creates a new data reader
+
+ RVA of data
+ Size of data
+
+
+
+
+
+
+