<PackageReference Include="System.Drawing.Common" Version="10.0.0-preview.3.25173.2" />

PInvoke

static class PInvoke
using System; using System.CodeDom.Compiler; using System.Runtime.CompilerServices; using System.Runtime.InteropServices; using System.Runtime.Versioning; using Windows.Win32.Foundation; using Windows.Win32.Graphics.Gdi; using Windows.Win32.Storage.Xps; using Windows.Win32.UI.Shell; using Windows.Win32.UI.WindowsAndMessaging; namespace Windows.Win32 { [GeneratedCode("Microsoft.Windows.CsWin32", "0.3.151+58e949951d.RR")] internal static class PInvoke { internal static readonly Guid BlurEffectGuid = new Guid(1664909476, 6211, 18475, 158, 242, 190, 40, 52, 197, 253, 212); internal static readonly Guid BrightnessContrastEffectGuid = new Guid(3550600161, 36548, 19479, 159, 76, 234, 151, 173, 28, 52, 61); internal const uint CHECKJPEGFORMAT = 4119; internal const uint CHECKPNGFORMAT = 4120; internal static readonly Guid ColorBalanceEffectGuid = new Guid(1400789373, 9502, 18650, 150, 100, 41, 202, 73, 107, 112, 248); internal static readonly Guid ColorCurveEffectGuid = new Guid(3714711586, 22756, 19047, 157, 155, 212, 142, 184, 129, 165, 61); internal static readonly Guid ColorLUTEffectGuid = new Guid(2815324841, 3967, 16599, 179, 204, 208, 192, 45, 92, 50, 18); internal static readonly Guid ColorMatrixEffectGuid = new Guid(1905206805, 31027, 16611, 165, 17, 95, 104, 254, 20, 221, 116); internal const uint DMBIN_UPPER = 1; internal const uint DMBIN_ONLYONE = 1; internal const uint DMBIN_LOWER = 2; internal const uint DMBIN_MIDDLE = 3; internal const uint DMBIN_MANUAL = 4; internal const uint DMBIN_ENVELOPE = 5; internal const uint DMBIN_ENVMANUAL = 6; internal const uint DMBIN_AUTO = 7; internal const uint DMBIN_TRACTOR = 8; internal const uint DMBIN_SMALLFMT = 9; internal const uint DMBIN_LARGEFMT = 10; internal const uint DMBIN_LARGECAPACITY = 11; internal const uint DMBIN_CASSETTE = 14; internal const uint DMBIN_FORMSOURCE = 15; internal const uint DMBIN_LAST = 15; internal const uint DMBIN_USER = 256; internal const uint DMPAPER_LETTER = 1; internal const uint DMPAPER_LETTERSMALL = 2; internal const uint DMPAPER_TABLOID = 3; internal const uint DMPAPER_LEDGER = 4; internal const uint DMPAPER_LEGAL = 5; internal const uint DMPAPER_STATEMENT = 6; internal const uint DMPAPER_EXECUTIVE = 7; internal const uint DMPAPER_A3 = 8; internal const uint DMPAPER_A4 = 9; internal const uint DMPAPER_A4SMALL = 10; internal const uint DMPAPER_A5 = 11; internal const uint DMPAPER_B4 = 12; internal const uint DMPAPER_B5 = 13; internal const uint DMPAPER_FOLIO = 14; internal const uint DMPAPER_QUARTO = 15; internal const uint DMPAPER_10X14 = 16; internal const uint DMPAPER_11X17 = 17; internal const uint DMPAPER_NOTE = 18; internal const uint DMPAPER_ENV_9 = 19; internal const uint DMPAPER_ENV_10 = 20; internal const uint DMPAPER_ENV_11 = 21; internal const uint DMPAPER_ENV_12 = 22; internal const uint DMPAPER_ENV_14 = 23; internal const uint DMPAPER_CSHEET = 24; internal const uint DMPAPER_DSHEET = 25; internal const uint DMPAPER_ESHEET = 26; internal const uint DMPAPER_ENV_DL = 27; internal const uint DMPAPER_ENV_C5 = 28; internal const uint DMPAPER_ENV_C3 = 29; internal const uint DMPAPER_ENV_C4 = 30; internal const uint DMPAPER_ENV_C6 = 31; internal const uint DMPAPER_ENV_C65 = 32; internal const uint DMPAPER_ENV_B4 = 33; internal const uint DMPAPER_ENV_B5 = 34; internal const uint DMPAPER_ENV_B6 = 35; internal const uint DMPAPER_ENV_ITALY = 36; internal const uint DMPAPER_ENV_MONARCH = 37; internal const uint DMPAPER_ENV_PERSONAL = 38; internal const uint DMPAPER_FANFOLD_US = 39; internal const uint DMPAPER_FANFOLD_STD_GERMAN = 40; internal const uint DMPAPER_FANFOLD_LGL_GERMAN = 41; internal const uint DMPAPER_ISO_B4 = 42; internal const uint DMPAPER_JAPANESE_POSTCARD = 43; internal const uint DMPAPER_9X11 = 44; internal const uint DMPAPER_10X11 = 45; internal const uint DMPAPER_15X11 = 46; internal const uint DMPAPER_ENV_INVITE = 47; internal const uint DMPAPER_RESERVED_48 = 48; internal const uint DMPAPER_RESERVED_49 = 49; internal const uint DMPAPER_LETTER_EXTRA = 50; internal const uint DMPAPER_LEGAL_EXTRA = 51; internal const uint DMPAPER_TABLOID_EXTRA = 52; internal const uint DMPAPER_A4_EXTRA = 53; internal const uint DMPAPER_LETTER_TRANSVERSE = 54; internal const uint DMPAPER_A4_TRANSVERSE = 55; internal const uint DMPAPER_LETTER_EXTRA_TRANSVERSE = 56; internal const uint DMPAPER_A_PLUS = 57; internal const uint DMPAPER_B_PLUS = 58; internal const uint DMPAPER_LETTER_PLUS = 59; internal const uint DMPAPER_A4_PLUS = 60; internal const uint DMPAPER_A5_TRANSVERSE = 61; internal const uint DMPAPER_B5_TRANSVERSE = 62; internal const uint DMPAPER_A3_EXTRA = 63; internal const uint DMPAPER_A5_EXTRA = 64; internal const uint DMPAPER_B5_EXTRA = 65; internal const uint DMPAPER_A2 = 66; internal const uint DMPAPER_A3_TRANSVERSE = 67; internal const uint DMPAPER_A3_EXTRA_TRANSVERSE = 68; internal const uint DMPAPER_DBL_JAPANESE_POSTCARD = 69; internal const uint DMPAPER_A6 = 70; internal const uint DMPAPER_JENV_KAKU2 = 71; internal const uint DMPAPER_JENV_KAKU3 = 72; internal const uint DMPAPER_JENV_CHOU3 = 73; internal const uint DMPAPER_JENV_CHOU4 = 74; internal const uint DMPAPER_LETTER_ROTATED = 75; internal const uint DMPAPER_A3_ROTATED = 76; internal const uint DMPAPER_A4_ROTATED = 77; internal const uint DMPAPER_A5_ROTATED = 78; internal const uint DMPAPER_B4_JIS_ROTATED = 79; internal const uint DMPAPER_B5_JIS_ROTATED = 80; internal const uint DMPAPER_JAPANESE_POSTCARD_ROTATED = 81; internal const uint DMPAPER_DBL_JAPANESE_POSTCARD_ROTATED = 82; internal const uint DMPAPER_A6_ROTATED = 83; internal const uint DMPAPER_JENV_KAKU2_ROTATED = 84; internal const uint DMPAPER_JENV_KAKU3_ROTATED = 85; internal const uint DMPAPER_JENV_CHOU3_ROTATED = 86; internal const uint DMPAPER_JENV_CHOU4_ROTATED = 87; internal const uint DMPAPER_B6_JIS = 88; internal const uint DMPAPER_B6_JIS_ROTATED = 89; internal const uint DMPAPER_12X11 = 90; internal const uint DMPAPER_JENV_YOU4 = 91; internal const uint DMPAPER_JENV_YOU4_ROTATED = 92; internal const uint DMPAPER_P16K = 93; internal const uint DMPAPER_P32K = 94; internal const uint DMPAPER_P32KBIG = 95; internal const uint DMPAPER_PENV_1 = 96; internal const uint DMPAPER_PENV_2 = 97; internal const uint DMPAPER_PENV_3 = 98; internal const uint DMPAPER_PENV_4 = 99; internal const uint DMPAPER_PENV_5 = 100; internal const uint DMPAPER_PENV_6 = 101; internal const uint DMPAPER_PENV_7 = 102; internal const uint DMPAPER_PENV_8 = 103; internal const uint DMPAPER_PENV_9 = 104; internal const uint DMPAPER_PENV_10 = 105; internal const uint DMPAPER_P16K_ROTATED = 106; internal const uint DMPAPER_P32K_ROTATED = 107; internal const uint DMPAPER_P32KBIG_ROTATED = 108; internal const uint DMPAPER_PENV_1_ROTATED = 109; internal const uint DMPAPER_PENV_2_ROTATED = 110; internal const uint DMPAPER_PENV_3_ROTATED = 111; internal const uint DMPAPER_PENV_4_ROTATED = 112; internal const uint DMPAPER_PENV_5_ROTATED = 113; internal const uint DMPAPER_PENV_6_ROTATED = 114; internal const uint DMPAPER_PENV_7_ROTATED = 115; internal const uint DMPAPER_PENV_8_ROTATED = 116; internal const uint DMPAPER_PENV_9_ROTATED = 117; internal const uint DMPAPER_PENV_10_ROTATED = 118; internal const uint DMPAPER_LAST = 118; internal const uint DMPAPER_USER = 256; internal const int DMRES_DRAFT = -1; internal const int DMRES_LOW = -2; internal const int DMRES_MEDIUM = -3; internal const int DMRES_HIGH = -4; internal const uint DT_PLOTTER = 0; internal const uint DT_RASDISPLAY = 1; internal const uint DT_RASPRINTER = 2; internal const uint DT_RASCAMERA = 3; internal const uint DT_CHARSTREAM = 4; internal const uint DT_METAFILE = 5; internal const uint DT_DISPFILE = 6; internal static readonly Guid HueSaturationLightnessEffectGuid = new Guid(2335037123, 60167, 19847, 165, 240, 113, 8, 226, 106, 156, 95); internal const uint LANG_ARABIC = 1; internal const uint LANG_JAPANESE = 17; internal static readonly Guid LevelsEffectGuid = new Guid(2579715308, 10801, 20282, 140, 52, 23, 168, 3, 179, 58, 37); internal const uint PRINTER_ENUM_CONNECTIONS = 4; internal const uint PRINTER_ENUM_LOCAL = 2; internal const uint QUERYESCSUPPORT = 8; internal static readonly Guid SharpenEffectGuid = new Guid(1674310638, 50470, 16428, 143, 113, 98, 197, 64, 191, 81, 66); internal static readonly Guid TintEffectGuid = new Guid(276279040, 10312, 17473, 148, 137, 68, 173, 76, 45, 122, 44); [NullableContext(1)] internal static int AbortDoc<[Nullable(0)] T>(T hdc) where T : IHandle<HDC> { int result = AbortDoc(((IHandle<HDC>)hdc).Handle); GC.KeepAlive(((IHandle<HDC>)hdc).Wrapper); return result; } [NullableContext(1)] internal static int EndDoc<[Nullable(0)] T>(T hdc) where T : IHandle<HDC> { int result = EndDoc(((IHandle<HDC>)hdc).Handle); GC.KeepAlive(((IHandle<HDC>)hdc).Wrapper); return result; } [NullableContext(1)] internal static int EndPage<[Nullable(0)] T>(T hdc) where T : IHandle<HDC> { int result = EndPage(((IHandle<HDC>)hdc).Handle); GC.KeepAlive(((IHandle<HDC>)hdc).Wrapper); return result; } [DllImport("shell32.dll", ExactSpelling = true)] [DefaultDllImportSearchPaths(DllImportSearchPath.System32)] public unsafe static extern HRESULT SHGetStockIconInfo(SHSTOCKICONID siid, SHGSI_FLAGS uFlags, SHSTOCKICONINFO* psii); [NullableContext(1)] internal unsafe static int StartDoc<[Nullable(0)] T>(T hdc, [In] [IsReadOnly] ref DOCINFOW lpdi) where T : IHandle<HDC> { fixed (DOCINFOW* lpdi2 = &lpdi) { int result = StartDoc(((IHandle<HDC>)hdc).Handle, lpdi2); GC.KeepAlive(((IHandle<HDC>)hdc).Wrapper); return result; } } [NullableContext(1)] internal static int StartPage<[Nullable(0)] T>(T hdc) where T : IHandle<HDC> { int result = StartPage(((IHandle<HDC>)hdc).Handle); GC.KeepAlive(((IHandle<HDC>)hdc).Wrapper); return result; } [DllImport("GDI32.dll", ExactSpelling = true)] [DefaultDllImportSearchPaths(DllImportSearchPath.System32)] [SupportedOSPlatform("windows5.0")] internal static extern int AbortDoc(HDC hdc); [DllImport("GDI32.dll", EntryPoint = "AddFontResourceExW", ExactSpelling = true)] [DefaultDllImportSearchPaths(DllImportSearchPath.System32)] [SupportedOSPlatform("windows5.0")] internal unsafe static extern int AddFontResourceEx(PCWSTR name, FONT_RESOURCE_CHARACTERISTICS fl, void* res = default(void*)); [DllImport("GDI32.dll", ExactSpelling = true)] [DefaultDllImportSearchPaths(DllImportSearchPath.System32)] [SupportedOSPlatform("windows5.0")] internal static extern int EndDoc(HDC hdc); [DllImport("GDI32.dll", ExactSpelling = true)] [DefaultDllImportSearchPaths(DllImportSearchPath.System32)] [SupportedOSPlatform("windows5.0")] internal static extern int EndPage(HDC hdc); [DllImport("GDI32.dll", ExactSpelling = true)] [DefaultDllImportSearchPaths(DllImportSearchPath.System32)] [SupportedOSPlatform("windows5.0")] internal static extern int ExtEscape(HDC hdc, int iEscape, int cjInput, PCSTR lpInData, int cjOutput, PSTR lpOutData); [DllImport("GDI32.dll", ExactSpelling = true)] [DefaultDllImportSearchPaths(DllImportSearchPath.System32)] [SupportedOSPlatform("windows5.0")] internal unsafe static extern int GetDIBits(HDC hdc, HBITMAP hbm, uint start, uint cLines, void* lpvBits = default(void*), BITMAPINFO* lpbmi, DIB_USAGE usage); [DllImport("GDI32.dll", ExactSpelling = true)] [DefaultDllImportSearchPaths(DllImportSearchPath.System32)] [SupportedOSPlatform("windows5.0")] internal unsafe static extern HDC ResetDCW(HDC hdc, DEVMODEW* lpdm); [DllImport("GDI32.dll", EntryPoint = "StartDocW", ExactSpelling = true)] [DefaultDllImportSearchPaths(DllImportSearchPath.System32)] [SupportedOSPlatform("windows5.0")] internal unsafe static extern int StartDoc(HDC hdc, DOCINFOW* lpdi); [DllImport("GDI32.dll", ExactSpelling = true)] [DefaultDllImportSearchPaths(DllImportSearchPath.System32)] [SupportedOSPlatform("windows5.0")] internal static extern int StartPage(HDC hdc); [DllImport("SHELL32.dll", EntryPoint = "ExtractAssociatedIconW", ExactSpelling = true)] [DefaultDllImportSearchPaths(DllImportSearchPath.System32)] [SupportedOSPlatform("windows5.1.2600")] internal unsafe static extern HICON ExtractAssociatedIcon(HINSTANCE hInst, PWSTR pszIconPath, ushort* piIcon); [DllImport("SHELL32.dll", EntryPoint = "SHDefExtractIconW", ExactSpelling = true)] [DefaultDllImportSearchPaths(DllImportSearchPath.System32)] [SupportedOSPlatform("windows5.1.2600")] internal unsafe static extern HRESULT SHDefExtractIcon(PCWSTR pszIconFile, int iIndex, uint uFlags, HICON* phiconLarge = default(HICON*), HICON* phiconSmall = default(HICON*), uint nIconSize); [SupportedOSPlatform("windows5.0")] internal unsafe static HICON CreateIconFromResourceEx(byte* presbits, uint dwResSize, BOOL fIcon, uint dwVer, int cxDesired, int cyDesired, IMAGE_FLAGS Flags) { Marshal.SetLastSystemError(0); HICON result = <CreateIconFromResourceEx>g__LocalExternFunction|181_0(presbits, dwResSize, fIcon, dwVer, cxDesired, cyDesired, Flags); Marshal.SetLastPInvokeError(Marshal.GetLastSystemError()); return result; } [DllImport("winspool.drv", EntryPoint = "DeviceCapabilitiesW", ExactSpelling = true)] [DefaultDllImportSearchPaths(DllImportSearchPath.System32)] [SupportedOSPlatform("windows5.0")] internal unsafe static extern int DeviceCapabilities(PCWSTR pDevice, PCWSTR pPort, PRINTER_DEVICE_CAPABILITIES fwCapability, PWSTR pOutput, DEVMODEW* pDevMode = default(DEVMODEW*)); [DllImport("winspool.drv", EntryPoint = "DocumentPropertiesW", ExactSpelling = true)] [DefaultDllImportSearchPaths(DllImportSearchPath.System32)] internal unsafe static extern int DocumentProperties(HWND hWnd, HANDLE hPrinter, PWSTR pDeviceName, DEVMODEW* pDevModeOutput = default(DEVMODEW*), DEVMODEW* pDevModeInput = default(DEVMODEW*), uint fMode); internal unsafe static BOOL EnumPrinters(uint Flags, PWSTR Name, uint Level, byte* pPrinterEnum = default(byte*), uint cbBuf, uint* pcbNeeded, uint* pcReturned) { Marshal.SetLastSystemError(0); BOOL result = <EnumPrinters>g__LocalExternFunction|184_0(Flags, Name, Level, pPrinterEnum, cbBuf, pcbNeeded, pcReturned); Marshal.SetLastPInvokeError(Marshal.GetLastSystemError()); return result; } } }