readme.md

April 21, 2026 ยท View on GitHub

Assembly report for Vanara.Core.dll

This library includes shared methods, structures and constants for use throughout the Vanara assemblies. Think of it as windows.h with some useful extensions. It includes:

  • Extension methods for working with enumerated types (enum), FILETIME, and method and property extractions via reflection
  • Extension and helper methods to marshaling structures arrays and strings
  • SafeHandle based classes for working with memory allocated via CoTaskMem, HGlobal, or Local calls that handles packing and extracting arrays, structures and raw memory
  • Safe pinning of objects in memory
  • Memory stream based on marshaled memory
  • IEnumerable helpers for COM enumerations
  • Custom marshaler for CoTaskMem pointers
  • Enhanced error results classes for HRESULT, Win32Error and NTStatus
  • Standard windows.h macros (e.g. HIWORD, MAKELONG, etc.)
  • Overlapped method wrapper
  • Resource ID holder

Enumerations

EnumDescriptionValues
Vanara.Marshaler.ArrayLayoutIndicates the data layout of the marshaled array.ByValArray, ByValAnySizeArray, ByValAppendedArray, LPArray, StringPtrArray, StringPtrArrayNullTerm, ConcatenatedStringArray, LPArrayNullTerm
Vanara.Marshaler.BitnessSpecifies the number of bits in a pointer for a marshaled value.Auto, X32bit, X64bit
Vanara.PInvoke.CharacterSetThe character set.ANSI_CHARSET, DEFAULT_CHARSET, SYMBOL_CHARSET, MAC_CHARSET, SHIFTJIS_CHARSET, HANGEUL_CHARSET, HANGUL_CHARSET, JOHAB_CHARSET, GB2312_CHARSET, CHINESEBIG5_CHARSET, GREEK_CHARSET, TURKISH_CHARSET, VIETNAMESE_CHARSET, HEBREW_CHARSET, ARABIC_CHARSET, BALTIC_CHARSET, RUSSIAN_CHARSET, THAI_CHARSET, EASTEUROPE_CHARSET, OEM_CHARSET
Vanara.PInvoke.CM_DEVCAPCM_DEVCAP_LOCKSUPPORTED, CM_DEVCAP_EJECTSUPPORTED, CM_DEVCAP_REMOVABLE, CM_DEVCAP_DOCKDEVICE, CM_DEVCAP_UNIQUEID, CM_DEVCAP_SILENTINSTALL, CM_DEVCAP_RAWDEVICEOK, CM_DEVCAP_SURPRISEREMOVALOK, CM_DEVCAP_HARDWAREDISABLED, CM_DEVCAP_NONDYNAMIC, CM_DEVCAP_SECUREDEVICE
Vanara.PInvoke.CM_FILESpecifies characteristics for the device.FILE_REMOVABLE_MEDIA, FILE_READ_ONLY_DEVICE, FILE_FLOPPY_DISKETTE, FILE_WRITE_ONCE_MEDIA, FILE_REMOTE_DEVICE, FILE_DEVICE_IS_MOUNTED, FILE_VIRTUAL_VOLUME, FILE_AUTOGENERATED_DEVICE_NAME, FILE_DEVICE_SECURE_OPEN, FILE_CHARACTERISTIC_PNP_DEVICE, FILE_CHARACTERISTIC_TS_DEVICE, FILE_CHARACTERISTIC_WEBDAV_DEVICE, FILE_CHARACTERISTIC_CSV, FILE_DEVICE_ALLOW_APPCONTAINER_TRAVERSAL, FILE_PORTABLE_DEVICE
Vanara.PInvoke.CM_INSTALL_STATECM_INSTALL_STATE_INSTALLED, CM_INSTALL_STATE_NEEDS_REINSTALL, CM_INSTALL_STATE_FAILED_INSTALL, CM_INSTALL_STATE_FINISH_INSTALL
Vanara.PInvoke.CM_REMOVAL_POLICYCM_REMOVAL_POLICY_EXPECT_NO_REMOVAL, CM_REMOVAL_POLICY_EXPECT_ORDERLY_REMOVAL, CM_REMOVAL_POLICY_EXPECT_SURPRISE_REMOVAL
Vanara.PInvoke.CM_RESOURCEContains flag bits that are specific to the resource type, as indicated in the following table. Flags can be bitwise-ORed together as appropriate.CM_RESOURCE_INTERRUPT_LEVEL_SENSITIVE, DMAV3_TRANFER_WIDTH_8, CM_RESOURCE_DMA_8, CM_RESOURCE_MEMORY_READ_WRITE, CM_RESOURCE_PORT_MEMORY, CM_RESOURCE_CONNECTION_TYPE_SERIAL_I2C, CM_RESOURCE_CONNECTION_CLASS_GPIO, DMAV3_TRANFER_WIDTH_16, CM_RESOURCE_DMA_16, CM_RESOURCE_PORT_IO, CM_RESOURCE_CONNECTION_TYPE_FUNCTION_CONFIG, CM_RESOURCE_INTERRUPT_LEVEL_LATCHED_BITS, CM_RESOURCE_INTERRUPT_LATCHED, CM_RESOURCE_MEMORY_READ_ONLY, CM_RESOURCE_CONNECTION_TYPE_SERIAL_SPI, CM_RESOURCE_CONNECTION_TYPE_GPIO_IO, CM_RESOURCE_CONNECTION_CLASS_SERIAL, CM_RESOURCE_INTERRUPT_MESSAGE, DMAV3_TRANFER_WIDTH_32, CM_RESOURCE_DMA_32, CM_RESOURCE_MEMORY_WRITE_ONLY, CM_RESOURCE_CONNECTION_CLASS_FUNCTION_CONFIG, DMAV3_TRANFER_WIDTH_64, CM_RESOURCE_CONNECTION_TYPE_SERIAL_UART, CM_RESOURCE_MEMORY_WRITEABILITY_MASK, CM_RESOURCE_PORT_10_BIT_DECODE, CM_RESOURCE_MEMORY_PREFETCHABLE, DMAV3_TRANFER_WIDTH_128, CM_RESOURCE_INTERRUPT_POLICY_INCLUDED, CM_RESOURCE_DMA_8_AND_16, DMAV3_TRANFER_WIDTH_256, CM_RESOURCE_PORT_12_BIT_DECODE, CM_RESOURCE_MEMORY_COMBINEDWRITE, CM_RESOURCE_DMA_BUS_MASTER, CM_RESOURCE_MEMORY_24, CM_RESOURCE_INTERRUPT_SECONDARY_INTERRUPT, CM_RESOURCE_DMA_TYPE_A, CM_RESOURCE_PORT_16_BIT_DECODE, CM_RESOURCE_DMA_TYPE_B, CM_RESOURCE_PORT_POSITIVE_DECODE, CM_RESOURCE_INTERRUPT_WAKE_HINT, CM_RESOURCE_MEMORY_CACHEABLE, CM_RESOURCE_PORT_PASSIVE_DECODE, CM_RESOURCE_MEMORY_WINDOW_DECODE, CM_RESOURCE_DMA_TYPE_F, CM_RESOURCE_MEMORY_BAR, CM_RESOURCE_DMA_V3, CM_RESOURCE_PORT_WINDOW_DECODE, CM_RESOURCE_PORT_BAR, CM_RESOURCE_MEMORY_COMPAT_FOR_INACCESSIBLE_RANGE, CM_RESOURCE_MEMORY_LARGE_40, CM_RESOURCE_MEMORY_LARGE_48, CM_RESOURCE_MEMORY_LARGE_64, CM_RESOURCE_MEMORY_LARGE, CM_RESOURCE_INTERRUPT_MESSAGE_TOKEN
Vanara.PInvoke.CM_SHARE_DISPOSITIONIndicates whether the described resource can be shared.CmResourceShareUndetermined, CmResourceShareDeviceExclusive, CmResourceShareDriverExclusive, CmResourceShareShared
Vanara.PInvoke.CmResourceTypeIdentifies the resource type. The constant value specified for Type indicates which structure within the u union is valid, as indicated in the following table. (These flags are used within both CM_PARTIAL_RESOURCE_DESCRIPTOR and IO_RESOURCE_DESCRIPTOR structures, except where noted.)CmResourceTypeNull, CmResourceTypePort, CmResourceTypeInterrupt, CmResourceTypeMemory, CmResourceTypeDma, CmResourceTypeDeviceSpecific, CmResourceTypeBusNumber, CmResourceTypeMemoryLarge, CmResourceTypeNonArbitrated, CmResourceTypeConfigData, CmResourceTypeDevicePrivate, CmResourceTypePcCardConfig, CmResourceTypeMfCardConfig, CmResourceTypeConnection
Vanara.PInvoke.CONFIGFLAGA device's configuration flagsCONFIGFLAG_DISABLED, CONFIGFLAG_REMOVED, CONFIGFLAG_MANUAL_INSTALL, CONFIGFLAG_IGNORE_BOOT_LC, CONFIGFLAG_NET_BOOT, CONFIGFLAG_REINSTALL, CONFIGFLAG_FAILEDINSTALL, CONFIGFLAG_CANTSTOPACHILD, CONFIGFLAG_OKREMOVEROM, CONFIGFLAG_NOREMOVEEXIT, CONFIGFLAG_FINISH_INSTALL, CONFIGFLAG_NEEDS_FORCED_CONFIG, CONFIGFLAG_NETBOOT_CARD, CONFIGFLAG_PARTIAL_LOG_CONF, CONFIGFLAG_SUPPRESS_SURPRISE, CONFIGFLAG_VERIFY_HARDWARE, CONFIGFLAG_FINISHINSTALL_UI, CONFIGFLAG_FINISHINSTALL_ACTION, CONFIGFLAG_BOOT_DEVICE, CONFIGFLAG_NEEDS_CLASS_CONFIG
Vanara.InteropServices.CorrespondingActionActions that can be taken with a corresponding type.None, Get, Set, GetSet, Exception
Vanara.PInvoke.DEVICE_POWER_STATEThe DEVICE_POWER_STATE enumeration type indicates a device power state.PowerDeviceUnspecified, PowerDeviceD0, PowerDeviceD1, PowerDeviceD2, PowerDeviceD3, PowerDeviceMaximum
Vanara.PInvoke.DEVICE_SCALE_FACTORIndicates a spoofed device scale factor, as a percent. Used by IApplicationDesignModeSettings::SetApplicationViewState and IApplicationDesignModeSettings::IsApplicationViewStateSupportedDEVICE_SCALE_FACTOR_INVALID, SCALE_100_PERCENT, SCALE_120_PERCENT, SCALE_125_PERCENT, SCALE_140_PERCENT, SCALE_150_PERCENT, SCALE_160_PERCENT, SCALE_175_PERCENT, SCALE_180_PERCENT, SCALE_200_PERCENT, SCALE_225_PERCENT, SCALE_250_PERCENT, SCALE_300_PERCENT, SCALE_350_PERCENT, SCALE_400_PERCENT, SCALE_450_PERCENT, SCALE_500_PERCENT
Vanara.PInvoke.DMCOLLATESpecifies whether collation should be used when printing multiple copies.DMCOLLATE_FALSE, DMCOLLATE_TRUE
Vanara.PInvoke.DMCOLORThe printer color.DMCOLOR_MONOCHROME, DMCOLOR_COLOR
Vanara.PInvoke.DMDFOHow the display presents a low-resolution mode on a higher-resolution display.DMDFO_DEFAULT, DMDFO_STRETCH, DMDFO_CENTER
Vanara.PInvoke.DMDISPLAYSpecifies the device's display mode.DM_GRAYSCALE, DM_INTERLACED, DMDISPLAYFLAGS_TEXTMODE
Vanara.PInvoke.DMDITHERSpecifies how dithering is to be done.DMDITHER_NONE, DMDITHER_COARSE, DMDITHER_FINE, DMDITHER_LINEART, DMDITHER_ERRORDIFFUSION, DMDITHER_RESERVED6, DMDITHER_RESERVED7, DMDITHER_RESERVED8, DMDITHER_RESERVED9, DMDITHER_GRAYSCALE, DMDITHER_USER
Vanara.PInvoke.DMDOThe orientation at which images should be presented.DMDO_DEFAULT, DMDO_90, DMDO_180, DMDO_270
Vanara.PInvoke.DMDUPSelects duplex or double-sided printing for printers capable of duplex printing.DMDUP_UNKNOWN, DMDUP_SIMPLEX, DMDUP_VERTICAL, DMDUP_HORIZONTAL
Vanara.PInvoke.DMFIELDSSpecifies whether certain members of the DEVMODE structure have been initialized.DM_ORIENTATION, DM_PAPERSIZE, DM_PAPERLENGTH, DM_PAPERWIDTH, DM_SCALE, DM_POSITION, DM_NUP, DM_DISPLAYORIENTATION, DM_COPIES, DM_DEFAULTSOURCE, DM_PRINTQUALITY, DM_COLOR, DM_DUPLEX, DM_YRESOLUTION, DM_TTOPTION, DM_COLLATE, DM_FORMNAME, DM_LOGPIXELS, DM_BITSPERPEL, DM_PELSWIDTH, DM_PELSHEIGHT, DM_DISPLAYFLAGS, DM_DISPLAYFREQUENCY, DM_ICMMETHOD, DM_ICMINTENT, DM_MEDIATYPE, DM_DITHERTYPE, DM_PANNINGWIDTH, DM_PANNINGHEIGHT, DM_DISPLAYFIXEDOUTPUT
Vanara.PInvoke.DMICMSpecifies which color matching method, or intent, should be used by default. This member is primarily for non-ICM applications. ICM applications can establish intents by using the ICM functions.DMICM_SATURATE, DMICM_CONTRAST, DMICM_COLORIMETRIC, DMICM_ABS_COLORIMETRIC, DMICM_USER
Vanara.PInvoke.DMICMMETHODSpecifies how ICM is handled. For a non-ICM application, this member determines if ICM is enabled or disabled. For ICM applications, the system examines this member to determine how to handle ICM support.DMICMMETHOD_NONE, DMICMMETHOD_SYSTEM, DMICMMETHOD_DRIVER, DMICMMETHOD_DEVICE, DMICMMETHOD_USER
Vanara.PInvoke.DMMEDIASpecifies the type of media being printed on.DMMEDIA_STANDARD, DMMEDIA_TRANSPARENCY, DMMEDIA_GLOSSY, DMMEDIA_USER
Vanara.PInvoke.DMNUPSpecifies where the NUP is done.DMNUP_SYSTEM, DMNUP_ONEUP
Vanara.PInvoke.DMORIENTThe orientation of the paper.DMORIENT_PORTRAIT, DMORIENT_LANDSCAPE
Vanara.PInvoke.DMPAPERThe size of the paper to print on.DMPAPER_LETTER, DMPAPER_LETTERSMALL, DMPAPER_TABLOID, DMPAPER_LEDGER, DMPAPER_LEGAL, DMPAPER_STATEMENT, DMPAPER_EXECUTIVE, DMPAPER_A3, DMPAPER_A4, DMPAPER_A4SMALL, DMPAPER_A5, DMPAPER_B4, DMPAPER_B5, DMPAPER_FOLIO, DMPAPER_QUARTO, DMPAPER_10X14, DMPAPER_11X17, DMPAPER_NOTE, DMPAPER_ENV_9, DMPAPER_ENV_10, DMPAPER_ENV_11, DMPAPER_ENV_12, DMPAPER_ENV_14, DMPAPER_CSHEET, DMPAPER_DSHEET, DMPAPER_ESHEET, DMPAPER_ENV_DL, DMPAPER_ENV_C5, DMPAPER_ENV_C3, DMPAPER_ENV_C4, DMPAPER_ENV_C6, DMPAPER_ENV_C65, DMPAPER_ENV_B4, DMPAPER_ENV_B5, DMPAPER_ENV_B6, DMPAPER_ENV_ITALY, DMPAPER_ENV_MONARCH, DMPAPER_ENV_PERSONAL, DMPAPER_FANFOLD_US, DMPAPER_FANFOLD_STD_GERMAN, DMPAPER_FANFOLD_LGL_GERMAN, DMPAPER_ISO_B4, DMPAPER_JAPANESE_POSTCARD, DMPAPER_9X11, DMPAPER_10X11, DMPAPER_15X11, DMPAPER_ENV_INVITE, DMPAPER_RESERVED_48, DMPAPER_RESERVED_49, DMPAPER_LETTER_EXTRA, DMPAPER_LEGAL_EXTRA, DMPAPER_TABLOID_EXTRA, DMPAPER_A4_EXTRA, DMPAPER_LETTER_TRANSVERSE, DMPAPER_A4_TRANSVERSE, DMPAPER_LETTER_EXTRA_TRANSVERSE, DMPAPER_A_PLUS, DMPAPER_B_PLUS, DMPAPER_LETTER_PLUS, DMPAPER_A4_PLUS, DMPAPER_A5_TRANSVERSE, DMPAPER_B5_TRANSVERSE, DMPAPER_A3_EXTRA, DMPAPER_A5_EXTRA, DMPAPER_B5_EXTRA, DMPAPER_A2, DMPAPER_A3_TRANSVERSE, DMPAPER_A3_EXTRA_TRANSVERSE, DMPAPER_DBL_JAPANESE_POSTCARD, DMPAPER_A6, DMPAPER_JENV_KAKU2, DMPAPER_JENV_KAKU3, DMPAPER_JENV_CHOU3, DMPAPER_JENV_CHOU4, DMPAPER_LETTER_ROTATED, DMPAPER_A3_ROTATED, DMPAPER_A4_ROTATED, DMPAPER_A5_ROTATED, DMPAPER_B4_JIS_ROTATED, DMPAPER_B5_JIS_ROTATED, DMPAPER_JAPANESE_POSTCARD_ROTATED, DMPAPER_DBL_JAPANESE_POSTCARD_ROTATED, DMPAPER_A6_ROTATED, DMPAPER_JENV_KAKU2_ROTATED, DMPAPER_JENV_KAKU3_ROTATED, DMPAPER_JENV_CHOU3_ROTATED, DMPAPER_JENV_CHOU4_ROTATED, DMPAPER_B6_JIS, DMPAPER_B6_JIS_ROTATED, DMPAPER_12X11, DMPAPER_JENV_YOU4, DMPAPER_JENV_YOU4_ROTATED, DMPAPER_P16K, DMPAPER_P32K, DMPAPER_P32KBIG, DMPAPER_PENV_1, DMPAPER_PENV_2, DMPAPER_PENV_3, DMPAPER_PENV_4, DMPAPER_PENV_5, DMPAPER_PENV_6, DMPAPER_PENV_7, DMPAPER_PENV_8, DMPAPER_PENV_9, DMPAPER_PENV_10, DMPAPER_P16K_ROTATED, DMPAPER_P32K_ROTATED, DMPAPER_P32KBIG_ROTATED, DMPAPER_PENV_1_ROTATED, DMPAPER_PENV_2_ROTATED, DMPAPER_PENV_3_ROTATED, DMPAPER_PENV_4_ROTATED, DMPAPER_PENV_5_ROTATED, DMPAPER_PENV_6_ROTATED, DMPAPER_PENV_7_ROTATED, DMPAPER_PENV_8_ROTATED, DMPAPER_PENV_9_ROTATED, DMPAPER_PENV_10_ROTATED, DMPAPER_USER
Vanara.PInvoke.DMRESThe printer resolution.DMRES_HIGH, DMRES_MEDIUM, DMRES_LOW, DMRES_DRAFT
Vanara.PInvoke.DMTTSpecifies how TrueType fonts should be printed.DMTT_BITMAP, DMTT_DOWNLOAD, DMTT_SUBDEV, DMTT_DOWNLOAD_OUTLINE
Vanara.PInvoke.DNThe status of a device node (devnode).DN_ROOT_ENUMERATED, DN_DRIVER_LOADED, DN_ENUM_LOADED, DN_STARTED, DN_MANUAL, DN_NEED_TO_ENUM, DN_NOT_FIRST_TIME, DN_DRIVER_BLOCKED, DN_HARDWARE_ENUM, DN_NEED_RESTART, DN_LIAR, DN_CHILD_WITH_INVALID_ID, DN_HAS_MARK, DN_HAS_PROBLEM, DN_FILTERED, DN_MOVED, DN_LEGACY_DRIVER, DN_DISABLEABLE, DN_REMOVABLE, DN_PRIVATE_PROBLEM, DN_MF_PARENT, DN_QUERY_REMOVE_PENDING, DN_QUERY_REMOVE_ACTIVE, DN_MF_CHILD, DN_WILL_BE_REMOVED, DN_NOT_FIRST_TIMEE, DN_STOP_FREE_RES, DN_REBAL_CANDIDATE, DN_BAD_PARTIAL, DN_NT_ENUMERATOR, DN_NT_DRIVER, DN_NEEDS_LOCKING, DN_DEVICE_DISCONNECTED, DN_ARM_WAKEUP, DN_APM_ENUMERATOR, DN_APM_DRIVER, DN_SILENT_INSTALL, DN_NO_SHOW_IN_DM, DN_BOOT_LOG_PROB
Vanara.PInvoke.DrawTextFlagsThe formatting options for DrawText.DT_TOP, DT_LEFT, DT_CENTER, DT_RIGHT, DT_VCENTER, DT_BOTTOM, DT_WORDBREAK, DT_SINGLELINE, DT_EXPANDTABS, DT_TABSTOP, DT_NOCLIP, DT_EXTERNALLEADING, DT_CALCRECT, DT_NOPREFIX, DT_INTERNAL, DT_EDITCONTROL, DT_PATH_ELLIPSIS, DT_END_ELLIPSIS, DT_MODIFYSTRING, DT_RTLREADING, DT_WORD_ELLIPSIS, DT_NOFULLWIDTHCHARBREAK, DT_HIDEPREFIX, DT_PREFIXONLY
Vanara.PInvoke.ExcludeOptionsOptions to exclude certain features from generation.PublicCtor, Value, Serializable, Conversions, Numerics, EqualsOverride, Hash, Equatable, Comparable, Convertible, Parsable, ToString
Vanara.PInvoke.HRESULT.FacilityCodeEnumeration of facility codesFACILITY_NULL, FACILITY_RPC, FACILITY_DISPATCH, FACILITY_STORAGE, FACILITY_ITF, FACILITY_WIN32, FACILITY_WINDOWS, FACILITY_SECURITY, FACILITY_SSPI, FACILITY_CONTROL, FACILITY_CERT, FACILITY_INTERNET, FACILITY_MEDIASERVER, FACILITY_MSMQ, FACILITY_SETUPAPI, FACILITY_SCARD, FACILITY_COMPLUS, FACILITY_AAF, FACILITY_URT, FACILITY_ACS, FACILITY_DPLAY, FACILITY_UMI, FACILITY_SXS, FACILITY_WINDOWS_CE, FACILITY_HTTP, FACILITY_USERMODE_COMMONLOG, FACILITY_USERMODE_FILTER_MANAGER, FACILITY_BACKGROUNDCOPY, FACILITY_CONFIGURATION, FACILITY_STATE_MANAGEMENT, FACILITY_METADIRECTORY, FACILITY_WINDOWSUPDATE, FACILITY_DIRECTORYSERVICE, FACILITY_GRAPHICS, FACILITY_SHELL, FACILITY_TPM_SERVICES, FACILITY_TPM_SOFTWARE, FACILITY_PLA, FACILITY_FVE, FACILITY_FWP, FACILITY_WINRM, FACILITY_NDIS, FACILITY_USERMODE_HYPERVISOR, FACILITY_CMI, FACILITY_USERMODE_VIRTUALIZATION, FACILITY_USERMODE_VOLMGR, FACILITY_BCD, FACILITY_USERMODE_VHD, FACILITY_SDIAG, FACILITY_WEBSERVICES, FACILITY_WINDOWS_DEFENDER, FACILITY_OPC, FACILITY_XPS, FACILITY_RAS, FACILITY_MBN, FACILITY_POWERSHELL, FACILITY_EAS, FACILITY_P2P_INT, FACILITY_P2P, FACILITY_DAF, FACILITY_BLUETOOTH_ATT, FACILITY_AUDIO, FACILITY_STATEREPOSITORY, FACILITY_VISUALCPP, FACILITY_SCRIPT, FACILITY_PARSE, FACILITY_BLB, FACILITY_BLB_CLI, FACILITY_WSBAPP, FACILITY_BLBUI, FACILITY_USN, FACILITY_USERMODE_VOLSNAP, FACILITY_TIERING, FACILITY_WSB_ONLINE, FACILITY_ONLINE_ID, FACILITY_DEVICE_UPDATE_AGENT, FACILITY_DRVSERVICING, FACILITY_DLS, FACILITY_SOS, FACILITY_DEBUGGERS, FACILITY_DELIVERY_OPTIMIZATION, FACILITY_USERMODE_SPACES, FACILITY_USER_MODE_SECURITY_CORE, FACILITY_USERMODE_LICENSING, FACILITY_SPP, FACILITY_RESTORE, FACILITY_DMSERVER, FACILITY_DEPLOYMENT_SERVICES_SERVER, FACILITY_DEPLOYMENT_SERVICES_IMAGING, FACILITY_DEPLOYMENT_SERVICES_MANAGEMENT, FACILITY_DEPLOYMENT_SERVICES_UTIL, FACILITY_DEPLOYMENT_SERVICES_BINLSVC, FACILITY_DEPLOYMENT_SERVICES_PXE, FACILITY_DEPLOYMENT_SERVICES_TFTP, FACILITY_DEPLOYMENT_SERVICES_TRANSPORT_MANAGEMENT, FACILITY_DEPLOYMENT_SERVICES_DRIVER_PROVISIONING, FACILITY_DEPLOYMENT_SERVICES_MULTICAST_SERVER, FACILITY_DEPLOYMENT_SERVICES_MULTICAST_CLIENT, FACILITY_DEPLOYMENT_SERVICES_CONTENT_PROVIDER, FACILITY_LINGUISTIC_SERVICES, FACILITY_WEB, FACILITY_WEB_SOCKET, FACILITY_AUDIOSTREAMING, FACILITY_ACCELERATOR, FACILITY_MOBILE, FACILITY_SQLITE, FACILITY_UTC, FACILITY_WMAAECMA, FACILITY_WEP, FACILITY_SYNCENGINE, FACILITY_DIRECTMUSIC, FACILITY_DIRECT3D10, FACILITY_DXGI, FACILITY_DXGI_DDI, FACILITY_DIRECT3D11, FACILITY_DIRECT3D11_DEBUG, FACILITY_DIRECT3D12, FACILITY_DIRECT3D12_DEBUG, FACILITY_LEAP, FACILITY_AUDCLNT, FACILITY_WINML, FACILITY_WINCODEC_DWRITE_DWM, FACILITY_DIRECT2D, FACILITY_DEFRAG, FACILITY_USERMODE_SDBUS, FACILITY_JSCRIPT, FACILITY_XBOX, FACILITY_GAME, FACILITY_PIDGENX, FACILITY_PIX
Vanara.PInvoke.NTStatus.FacilityCodeEnumeration of facility codesFACILITY_NULL, FACILITY_DEBUGGER, FACILITY_RPC_RUNTIME, FACILITY_RPC_STUBS, FACILITY_IO_ERROR_CODE, FACILITY_CODCLASS_ERROR_CODE, FACILITY_NTWIN32, FACILITY_NTCERT, FACILITY_NTSSPI, FACILITY_TERMINAL_SERVER, FACILTIY_MUI_ERROR_CODE, FACILITY_USB_ERROR_CODE, FACILITY_HID_ERROR_CODE, FACILITY_FIREWIRE_ERROR_CODE, FACILITY_CLUSTER_ERROR_CODE, FACILITY_ACPI_ERROR_CODE, FACILITY_SXS_ERROR_CODE, FACILITY_TRANSACTION, FACILITY_COMMONLOG, FACILITY_VIDEO, FACILITY_FILTER_MANAGER, FACILITY_MONITOR, FACILITY_GRAPHICS_KERNEL, FACILITY_DRIVER_FRAMEWORK, FACILITY_FVE_ERROR_CODE, FACILITY_FWP_ERROR_CODE, FACILITY_NDIS_ERROR_CODE, FACILITY_TPM, FACILITY_RTPM, FACILITY_HYPERVISOR, FACILITY_IPSEC, FACILITY_VIRTUALIZATION, FACILITY_VOLMGR, FACILITY_BCD_ERROR_CODE, FACILITY_WIN32K_NTUSER, FACILITY_WIN32K_NTGDI, FACILITY_RESUME_KEY_FILTER, FACILITY_RDBSS, FACILITY_BTH_ATT, FACILITY_SECUREBOOT, FACILITY_AUDIO_KERNEL, FACILITY_VSM, FACILITY_VOLSNAP, FACILITY_SDBUS, FACILITY_SHARED_VHDX, FACILITY_SMB, FACILITY_INTERIX, FACILITY_SPACES, FACILITY_SECURITY_CORE, FACILITY_SYSTEM_INTEGRITY, FACILITY_LICENSING, FACILITY_PLATFORM_MANIFEST, FACILITY_MAXIMUM_VALUE
Vanara.PInvoke.FILE_ATTRIBUTE

The file or device attributes and flags, FILE_ATTRIBUTE_NORMAL being the most common default value for files.

This parameter can include any combination of the available file attributes ( FILE_ATTRIBUTE_*). All other file attributes override FILE_ATTRIBUTE_NORMAL.

When CreateFile3 opens an existing file, it generally combines the file flags with the file attributes of the existing file, and ignores any file attributes supplied as part of dwFlagsAndAttributes. Special cases are detailed in Creating and Opening Files.

Some of the following file attributes and flags may only apply to files and not necessarily all other types of devices that CreateFile3 can open. For additional information, see the Remarks section of the CreateFile3 reference page and Creating and Opening Files.

For more advanced access to file attributes, see SetFileAttributes. For a complete list of all file attributes with their values and descriptions, see File Attribute Constants.

FILE_ATTRIBUTE_READONLY, FILE_ATTRIBUTE_HIDDEN, FILE_ATTRIBUTE_SYSTEM, FILE_ATTRIBUTE_DIRECTORY, FILE_ATTRIBUTE_ARCHIVE, FILE_ATTRIBUTE_DEVICE, FILE_ATTRIBUTE_NORMAL, FILE_ATTRIBUTE_TEMPORARY, FILE_ATTRIBUTE_SPARSE_FILE, FILE_ATTRIBUTE_REPARSE_POINT, FILE_ATTRIBUTE_COMPRESSED, FILE_ATTRIBUTE_OFFLINE, FILE_ATTRIBUTE_NOT_CONTENT_INDEXED, FILE_ATTRIBUTE_ENCRYPTED, FILE_ATTRIBUTE_INTEGRITY_STREAM, FILE_ATTRIBUTE_VIRTUAL, FILE_ATTRIBUTE_NO_SCRUB_DATA, FILE_ATTRIBUTE_EA, FILE_ATTRIBUTE_RECALL_ON_OPEN, FILE_ATTRIBUTE_PINNED, FILE_ATTRIBUTE_UNPINNED, FILE_ATTRIBUTE_RECALL_ON_DATA_ACCESS, FILE_ATTRIBUTE_STRICTLY_SEQUENTIAL
Vanara.PInvoke.FILE_DEVICEThe device type represents the type of underlying hardware for the driver.FILE_DEVICE_BEEP, FILE_DEVICE_CD_ROM, FILE_DEVICE_CD_ROM_FILE_SYSTEM, FILE_DEVICE_CONTROLLER, FILE_DEVICE_DATALINK, FILE_DEVICE_DFS, FILE_DEVICE_DISK, FILE_DEVICE_DISK_FILE_SYSTEM, FILE_DEVICE_FILE_SYSTEM, FILE_DEVICE_INPORT_PORT, FILE_DEVICE_KEYBOARD, FILE_DEVICE_MAILSLOT, FILE_DEVICE_MIDI_IN, FILE_DEVICE_MIDI_OUT, FILE_DEVICE_MOUSE, FILE_DEVICE_MULTI_UNC_PROVIDER, FILE_DEVICE_NAMED_PIPE, FILE_DEVICE_NETWORK, FILE_DEVICE_NETWORK_BROWSER, FILE_DEVICE_NETWORK_FILE_SYSTEM, FILE_DEVICE_NULL, FILE_DEVICE_PARALLEL_PORT, FILE_DEVICE_PHYSICAL_NETCARD, FILE_DEVICE_PRINTER, FILE_DEVICE_SCANNER, FILE_DEVICE_SERIAL_MOUSE_PORT, FILE_DEVICE_SERIAL_PORT, FILE_DEVICE_SCREEN, FILE_DEVICE_SOUND, FILE_DEVICE_STREAMS, FILE_DEVICE_TAPE, FILE_DEVICE_TAPE_FILE_SYSTEM, FILE_DEVICE_TRANSPORT, FILE_DEVICE_UNKNOWN, FILE_DEVICE_VIDEO, FILE_DEVICE_VIRTUAL_DISK, FILE_DEVICE_WAVE_IN, FILE_DEVICE_WAVE_OUT, FILE_DEVICE_8042_PORT, FILE_DEVICE_NETWORK_REDIRECTOR, FILE_DEVICE_BATTERY, FILE_DEVICE_BUS_EXTENDER, FILE_DEVICE_MODEM, FILE_DEVICE_VDM, FILE_DEVICE_MASS_STORAGE, FILE_DEVICE_SMB, FILE_DEVICE_KS, FILE_DEVICE_CHANGER, FILE_DEVICE_SMARTCARD, FILE_DEVICE_ACPI, FILE_DEVICE_DVD, FILE_DEVICE_FULLSCREEN_VIDEO, FILE_DEVICE_DFS_FILE_SYSTEM, FILE_DEVICE_DFS_VOLUME, FILE_DEVICE_SERENUM, FILE_DEVICE_TERMSRV, FILE_DEVICE_KSEC, FILE_DEVICE_FIPS, FILE_DEVICE_INFINIBAND, FILE_DEVICE_VMBUS, FILE_DEVICE_CRYPT_PROVIDER, FILE_DEVICE_WPD, FILE_DEVICE_BLUETOOTH, FILE_DEVICE_MT_COMPOSITE, FILE_DEVICE_MT_TRANSPORT, FILE_DEVICE_BIOMETRIC, FILE_DEVICE_PMI, FILE_DEVICE_EHSTOR, FILE_DEVICE_DEVAPI, FILE_DEVICE_GPIO, FILE_DEVICE_USBEX, FILE_DEVICE_CONSOLE, FILE_DEVICE_NFP, FILE_DEVICE_SYSENV, FILE_DEVICE_VIRTUAL_BLOCK, FILE_DEVICE_POINT_OF_SERVICE, FILE_DEVICE_STORAGE_REPLICATION, FILE_DEVICE_TRUST_ENV, FILE_DEVICE_UCM, FILE_DEVICE_UCMTCPCI
Vanara.PInvoke.FILE_FLAGFlags that control of file or device caching behavior, access modes, and other special-purpose flags that can be specified when creating or opening a file or device.FILE_FLAGS_DISALLOW_PATH_REDIRECTS, FILE_FLAG_FIRST_PIPE_INSTANCE, FILE_FLAG_OPEN_NO_RECALL, FILE_FLAG_OPEN_REPARSE_POINT, FILE_FLAG_SESSION_AWARE, FILE_FLAG_POSIX_SEMANTICS, FILE_FLAG_BACKUP_SEMANTICS, FILE_FLAG_DELETE_ON_CLOSE, FILE_FLAG_SEQUENTIAL_SCAN, FILE_FLAG_RANDOM_ACCESS, FILE_FLAG_NO_BUFFERING, FILE_FLAG_OVERLAPPED, FILE_FLAG_WRITE_THROUGH
Vanara.PInvoke.FILE_SECURITYSpecifies SQOS information during file creation. For more information, see Impersonation Levels.SECURITY_ANONYMOUS, SECURITY_IDENTIFICATION, SECURITY_IMPERSONATION, SECURITY_DELEGATION, SECURITY_CONTEXT_TRACKING, SECURITY_EFFECTIVE_ONLY, SECURITY_SQOS_PRESENT
Vanara.PInvoke.FILE_SHAREThe requested sharing mode of the file or device, which can be read, write, both, delete, all of these, or none (refer to the following table). Access requests to attributes or extended attributes are not affected by this flag.FILE_SHARE_READ, FILE_SHARE_WRITE, FILE_SHARE_DELETE
Vanara.RunTimeLib.FileAttributeConstantThese constants specify the current attributes of the file or directory specified by the function._A_NORMAL, _A_RDONLY, _A_HIDDEN, _A_SYSTEM, _A_SUBDIR, _A_ARCH
Vanara.PInvoke.FileFlagsAndAttributesFile attributes are metadata values stored by the file system on disk and are used by the system and are available to developers via various file I/O APIs.SECURITY_ANONYMOUS, FILE_ATTRIBUTE_READONLY, FILE_FLAGS_DISALLOW_PATH_REDIRECTS, FILE_ATTRIBUTE_HIDDEN, FILE_ATTRIBUTE_SYSTEM, FILE_ATTRIBUTE_DIRECTORY, FILE_ATTRIBUTE_ARCHIVE, FILE_ATTRIBUTE_DEVICE, FILE_ATTRIBUTE_NORMAL, FILE_ATTRIBUTE_TEMPORARY, FILE_ATTRIBUTE_SPARSE_FILE, FILE_ATTRIBUTE_REPARSE_POINT, FILE_ATTRIBUTE_COMPRESSED, FILE_ATTRIBUTE_OFFLINE, FILE_ATTRIBUTE_NOT_CONTENT_INDEXED, FILE_ATTRIBUTE_ENCRYPTED, FILE_ATTRIBUTE_INTEGRITY_STREAM, FILE_VOLUME_IS_COMPRESSED, FILE_ATTRIBUTE_VIRTUAL, SECURITY_IDENTIFICATION, FILE_SUPPORTS_OBJECT_IDS, SECURITY_IMPERSONATION, FILE_SUPPORTS_ENCRYPTION, FILE_ATTRIBUTE_NO_SCRUB_DATA, SECURITY_DELEGATION, SECURITY_CONTEXT_TRACKING, FILE_ATTRIBUTE_EA, FILE_NAMED_STREAMS, FILE_ATTRIBUTE_RECALL_ON_OPEN, FILE_FLAG_FIRST_PIPE_INSTANCE, FILE_ATTRIBUTE_PINNED, FILE_READ_ONLY_VOLUME, SECURITY_EFFECTIVE_ONLY, FILE_ATTRIBUTE_UNPINNED, SECURITY_SQOS_PRESENT, FILE_FLAG_OPEN_NO_RECALL, FILE_SEQUENTIAL_WRITE_ONCE, FILE_SUPPORTS_TRANSACTIONS, FILE_FLAG_OPEN_REPARSE_POINT, FILE_SUPPORTS_HARD_LINKS, FILE_ATTRIBUTE_RECALL_ON_DATA_ACCESS, FILE_FLAG_SESSION_AWARE, FILE_SUPPORTS_EXTENDED_ATTRIBUTES, FILE_SUPPORTS_OPEN_BY_FILE_ID, FILE_FLAG_POSIX_SEMANTICS, FILE_SUPPORTS_USN_JOURNAL, FILE_FLAG_BACKUP_SEMANTICS, FILE_FLAG_DELETE_ON_CLOSE, FILE_SUPPORTS_INTEGRITY_STREAMS, FILE_FLAG_SEQUENTIAL_SCAN, FILE_SUPPORTS_BLOCK_REFCOUNTING, FILE_FLAG_RANDOM_ACCESS, FILE_SUPPORTS_SPARSE_VDL, FILE_FLAG_NO_BUFFERING, FILE_ATTRIBUTE_STRICTLY_SEQUENTIAL, FILE_DAX_VOLUME, FILE_FLAG_OVERLAPPED, FILE_SUPPORTS_GHOSTING, FILE_FLAG_WRITE_THROUGH
Vanara.RunTimeLib.FileOpConstantThe integer expression formed from one or more of these constants determines the type of reading or writing operations permitted. It is formed by combining one or more constants with a translation-mode constant._O_RDONLY, _O_WRONLY, _O_RDWR, _O_APPEND, _O_RANDOM, _O_SEQUENTIAL, _O_TEMPORARY, _O_NOINHERIT, _O_CREAT, _O_TRUNC, _O_EXCL, _O_SHORT_LIVED, _O_OBTAIN_DIR, _O_TEXT, _O_BINARY, _O_RAW, _O_WTEXT, _O_U16TEXT, _O_U8TEXT
Vanara.RunTimeLib.FilePermissionConstantThese constants are used to indicate file type in the st_mode field of the _stat structure._S_IEXEC, _S_IWRITE, _S_IREAD, _S_IFIFO, _S_IFCHR, _S_IFDIR, _S_IFREG, _S_IFMT
Vanara.PInvoke.FontFamilyFont families describe the look of a font in a general way. They are intended for specifying fonts when the exact typeface desired is not available.FF_DONTCARE, FF_ROMAN, FF_SWISS, FF_MODERN, FF_SCRIPT, FF_DECORATIVE
Vanara.PInvoke.FontPitchSpecifies information about the pitch, the technology, and the family of a physical font.DEFAULT_PITCH, FIXED_PITCH, TMPF_FIXED_PITCH, VARIABLE_PITCH, TMPF_VECTOR, TMPF_TRUETYPE, MONO_FONT, TMPF_DEVICE
Vanara.PInvoke.INTERFACE_TYPEThe INTERFACE_TYPE enumeration indicates the bus type.Internal, Isa, Eisa, MicroChannel, TurboChannel, PCIBus, VMEBus, NuBus, PCMCIABus, CBus, MPIBus, MPSABus, ProcessorInternal, InternalPowerBus, PNPISABus, PNPBus, Vmcs, ACPIBus, MaximumInterfaceType, InterfaceTypeUndefined
Vanara.PInvoke.LANGID.LANGPrimary language identifier.LANG_NEUTRAL, LANG_ARABIC, LANG_BULGARIAN, LANG_CATALAN, LANG_VALENCIAN, LANG_CHINESE_SIMPLIFIED, LANG_CHINESE, LANG_CZECH, LANG_DANISH, LANG_GERMAN, LANG_GREEK, LANG_ENGLISH, LANG_SPANISH, LANG_FINNISH, LANG_FRENCH, LANG_HEBREW, LANG_HUNGARIAN, LANG_ICELANDIC, LANG_ITALIAN, LANG_JAPANESE, LANG_KOREAN, LANG_DUTCH, LANG_NORWEGIAN, LANG_POLISH, LANG_PORTUGUESE, LANG_ROMANSH, LANG_ROMANIAN, LANG_RUSSIAN, LANG_CROATIAN, LANG_BOSNIAN, LANG_SERBIAN, LANG_SLOVAK, LANG_ALBANIAN, LANG_SWEDISH, LANG_THAI, LANG_TURKISH, LANG_URDU, LANG_INDONESIAN, LANG_UKRAINIAN, LANG_BELARUSIAN, LANG_SLOVENIAN, LANG_ESTONIAN, LANG_LATVIAN, LANG_LITHUANIAN, LANG_TAJIK, LANG_PERSIAN, LANG_FARSI, LANG_VIETNAMESE, LANG_ARMENIAN, LANG_AZERBAIJANI, LANG_AZERI, LANG_BASQUE, LANG_LOWER_SORBIAN, LANG_UPPER_SORBIAN, LANG_MACEDONIAN, LANG_TSWANA, LANG_XHOSA, LANG_ZULU, LANG_AFRIKAANS, LANG_GEORGIAN, LANG_FAEROESE, LANG_HINDI, LANG_MALTESE, LANG_SAMI, LANG_IRISH, LANG_MALAY, LANG_KAZAK, LANG_KYRGYZ, LANG_SWAHILI, LANG_TURKMEN, LANG_UZBEK, LANG_TATAR, LANG_BANGLA, LANG_BENGALI, LANG_PUNJABI, LANG_GUJARATI, LANG_ORIYA, LANG_ODIA, LANG_TAMIL, LANG_TELUGU, LANG_KANNADA, LANG_MALAYALAM, LANG_ASSAMESE, LANG_MARATHI, LANG_SANSKRIT, LANG_MONGOLIAN, LANG_TIBETAN, LANG_WELSH, LANG_KHMER, LANG_LAO, LANG_GALICIAN, LANG_KONKANI, LANG_MANIPURI, LANG_SINDHI, LANG_SYRIAC, LANG_SINHALESE, LANG_CHEROKEE, LANG_INUKTITUT, LANG_AMHARIC, LANG_TAMAZIGHT, LANG_KASHMIRI, LANG_NEPALI, LANG_FRISIAN, LANG_PASHTO, LANG_FILIPINO, LANG_DIVEHI, LANG_PULAR, LANG_FULAH, LANG_HAUSA, LANG_YORUBA, LANG_QUECHUA, LANG_SOTHO, LANG_BASHKIR, LANG_LUXEMBOURGISH, LANG_GREENLANDIC, LANG_IGBO, LANG_TIGRINYA, LANG_TIGRIGNA, LANG_HAWAIIAN, LANG_YI, LANG_MAPUDUNGUN, LANG_MOHAWK, LANG_BRETON, LANG_INVARIANT, LANG_UIGHUR, LANG_MAORI, LANG_OCCITAN, LANG_CORSICAN, LANG_ALSATIAN, LANG_SAKHA, LANG_YAKUT, LANG_KICHE, LANG_KINYARWANDA, LANG_WOLOF, LANG_DARI, LANG_SCOTTISH_GAELIC, LANG_CENTRAL_KURDISH, LANG_BOSNIAN_NEUTRAL, LANG_CHINESE_TRADITIONAL, LANG_SERBIAN_NEUTRAL
Vanara.Marshaler.LayoutModelDetermines the layout of the structure or class when marshaled.Sequential, Union
Vanara.PInvoke.LogFontClippingPrecisionThe clipping precision defines how to clip characters that are partially outside the clipping region.CLIP_DEFAULT_PRECIS, CLIP_CHARACTER_PRECIS, CLIP_STROKE_PRECIS, CLIP_MASK, CLIP_LH_ANGLES, CLIP_TT_ALWAYS, CLIP_DFA_DISABLE, CLIP_DFA_OVERRIDE, CLIP_EMBEDDED
Vanara.PInvoke.LogFontOutputPrecisionThe output precision. The output precision defines how closely the output must match the requested font's height, width, character orientation, escapement, pitch, and font type.OUT_DEFAULT_PRECIS, OUT_STRING_PRECIS, OUT_CHARACTER_PRECIS, OUT_STROKE_PRECIS, OUT_TT_PRECIS, OUT_DEVICE_PRECIS, OUT_RASTER_PRECIS, OUT_TT_ONLY_PRECIS, OUT_OUTLINE_PRECIS, OUT_SCREEN_OUTLINE_PRECIS, OUT_PS_ONLY_PRECIS
Vanara.PInvoke.LogFontOutputQualityThe output quality defines how carefully the graphics device interface (GDI) must attempt to match the logical-font attributes to those of an actual physical font.DEFAULT_QUALITY, DRAFT_QUALITY, PROOF_QUALITY, NONANTIALIASED_QUALITY, ANTIALIASED_QUALITY, CLEARTYPE_QUALITY, CLEARTYPE_NATURAL_QUALITY
Vanara.PInvoke.MouseButtonStateThe state of the other mouse buttons plus the SHIFT and CTRL keys.MK_LBUTTON, MK_RBUTTON, MK_SHIFT, MK_CONTROL, MK_MBUTTON, MK_XBUTTON1, MK_XBUTTON2
Vanara.PInvoke.NTDDINTDDI version constantsNTDDI_WIN2K, NTDDI_WIN2KSP1, NTDDI_WIN2KSP2, NTDDI_WIN2KSP3, NTDDI_WIN2KSP4, NTDDI_WINXP, NTDDI_WINXPSP1, NTDDI_WINXPSP2, NTDDI_WINXPSP3, NTDDI_WINXPSP4, NTDDI_WS03, NTDDI_WS03SP1, NTDDI_WS03SP2, NTDDI_WS03SP3, NTDDI_WS03SP4, NTDDI_LONGHORN, NTDDI_VISTA, NTDDI_WIN6, NTDDI_WIN6SP1, NTDDI_VISTASP1, NTDDI_WS08, NTDDI_WIN6SP2, NTDDI_VISTASP2, NTDDI_WS08SP2, NTDDI_WIN6SP3, NTDDI_WS08SP3, NTDDI_VISTASP3, NTDDI_WS08SP4, NTDDI_WIN6SP4, NTDDI_VISTASP4, NTDDI_WIN7, NTDDI_WIN8, NTDDI_WINBLUE, NTDDI_WINTHRESHOLD, NTDDI_WIN10, NTDDI_WIN10_TH2, NTDDI_WIN10_RS1, NTDDI_WIN10_RS2, NTDDI_WIN10_RS3, NTDDI_WIN10_RS4, NTDDI_WIN10_RS5, NTDDI_WIN10_19H1
Vanara.PInvoke.ObjectTypeListLevelValid values for the Vanara.PInvoke.OBJECT_TYPE_LIST.level field.ACCESS_OBJECT_GUID, ACCESS_PROPERTY_SET_GUID, ACCESS_PROPERTY_GUID, ACCESS_MAX_LEVEL
Vanara.PInvoke.PCThe alpha intensity value for the palette entry.PC_RESERVED, PC_EXPLICIT, PC_NOCOLLAPSE
Vanara.PInvoke.PDCAPThe device's power capabilities.PDCAP_D0_SUPPORTED, PDCAP_D1_SUPPORTED, PDCAP_D2_SUPPORTED, PDCAP_D3_SUPPORTED, PDCAP_WAKE_FROM_D0_SUPPORTED, PDCAP_WAKE_FROM_D1_SUPPORTED, PDCAP_WAKE_FROM_D2_SUPPORTED, PDCAP_WAKE_FROM_D3_SUPPORTED, PDCAP_WARM_EJECT_SUPPORTED, PDCAP_S0_SUPPORTED, PDCAP_S1_SUPPORTED, PDCAP_S2_SUPPORTED, PDCAP_S3_SUPPORTED, PDCAP_WAKE_FROM_S0_SUPPORTED, PDCAP_WAKE_FROM_S1_SUPPORTED, PDCAP_WAKE_FROM_S2_SUPPORTED, PDCAP_WAKE_FROM_S3_SUPPORTED, PDCAP_S4_SUPPORTED, PDCAP_S5_SUPPORTED
Vanara.PInvoke.PInvokeClientFlags that determine the minimum supported client(s) for a P/Invoke function.None, Windows2000, WindowsXP, WindowsXP_SP2, WindowsVista, WindowsVista_SP2, Windows7, Windows8, Windows81, Windows10, Windows11
Vanara.PInvoke.POOL_TYPEThe POOL_TYPE enumeration type specifies the type of system memory to allocate.NonPagedPool, NonPagedPoolExecute, NonPagedPoolBase, PagedPool, NonPagedPoolMustSucceed, NonPagedPoolBaseMustSucceed, DontUseThisType, NonPagedPoolBaseCacheAligned, NonPagedPoolCacheAligned, PagedPoolCacheAligned, NonPagedPoolBaseCacheAlignedMustS, NonPagedPoolCacheAlignedMustS, MaxPoolType, NonPagedPoolSession, PagedPoolSession, NonPagedPoolMustSucceedSession, DontUseThisTypeSession, NonPagedPoolCacheAlignedSession, PagedPoolCacheAlignedSession, NonPagedPoolCacheAlignedMustSSession, NonPagedPoolNx, NonPagedPoolNxCacheAligned, NonPagedPoolSessionNx
Vanara.PInvoke.ProcessorArchitectureProcessor architecturePROCESSOR_ARCHITECTURE_INTEL, PROCESSOR_ARCHITECTURE_MIPS, PROCESSOR_ARCHITECTURE_ALPHA, PROCESSOR_ARCHITECTURE_PPC, PROCESSOR_ARCHITECTURE_SHX, PROCESSOR_ARCHITECTURE_ARM, PROCESSOR_ARCHITECTURE_IA64, PROCESSOR_ARCHITECTURE_ALPHA64, PROCESSOR_ARCHITECTURE_MSIL, PROCESSOR_ARCHITECTURE_AMD64, PROCESSOR_ARCHITECTURE_IA32_ON_WIN64, PROCESSOR_ARCHITECTURE_NEUTRAL, PROCESSOR_ARCHITECTURE_ARM64, PROCESSOR_ARCHITECTURE_ARM32_ON_WIN64, PROCESSOR_ARCHITECTURE_UNKNOWN
Vanara.PInvoke.REG_VALUE_TYPEA registry value can store data in various formats. When you store data under a registry value, for instance by calling the RegSetValueEx function, you can specify one of the following values to indicate the type of data being stored. When you retrieve a registry value, functions such as RegQueryValueEx use these values to indicate the type of data retrieved.REG_NONE, REG_SZ, REG_EXPAND_SZ, REG_BINARY, REG_DWORD, REG_DWORD_BIG_ENDIAN, REG_LINK, REG_MULTI_SZ, REG_RESOURCE_LIST, REG_FULL_RESOURCE_DESCRIPTOR, REG_RESOURCE_REQUIREMENTS_LIST, REG_QWORD
Vanara.PInvoke.ResourceTypePredefined resource types.RT_CURSOR, RT_BITMAP, RT_ICON, RT_MENU, RT_DIALOG, RT_STRING, RT_FONTDIR, RT_FONT, RT_ACCELERATOR, RT_RCDATA, RT_MESSAGETABLE, RT_GROUP_CURSOR, RT_GROUP_ICON, RT_VERSION, RT_DLGINCLUDE, RT_PLUGPLAY, RT_VXD, RT_ANICURSOR, RT_ANIICON, RT_HTML, RT_MANIFEST
Vanara.PInvoke.SECURITY_INFORMATIONThe SECURITY_INFORMATION data type identifies the object-related security information being set or queried. This security information includes: The owner of an object The primary group of an object The discretionary access control list (DACL) of an object The system access control list (SACL) of an object OWNER_SECURITY_INFORMATION, GROUP_SECURITY_INFORMATION, DACL_SECURITY_INFORMATION, SACL_SECURITY_INFORMATION, LABEL_SECURITY_INFORMATION, ATTRIBUTE_SECURITY_INFORMATION, SCOPE_SECURITY_INFORMATION, PROCESS_TRUST_LABEL_SECURITY_INFORMATION, BACKUP_SECURITY_INFORMATION, UNPROTECTED_SACL_SECURITY_INFORMATION, UNPROTECTED_DACL_SECURITY_INFORMATION, PROTECTED_SACL_SECURITY_INFORMATION, PROTECTED_DACL_SECURITY_INFORMATION
Vanara.PInvoke.HRESULT.SeverityLevelA value indicating whether an Vanara.PInvoke.HRESULT is a success (Severity bit 31 equals 0).Success, Fail
Vanara.PInvoke.NTStatus.SeverityLevelA value indicating the severity of an Vanara.PInvoke.NTStatus value (bits 30-31).STATUS_SEVERITY_SUCCESS, STATUS_SEVERITY_INFORMATIONAL, STATUS_SEVERITY_WARNING, STATUS_SEVERITY_ERROR
Vanara.PInvoke.ShowWindowCommandThe flags that specify how an application is to be displayed when it is opened.SW_HIDE, SW_SHOWNORMAL, SW_NORMAL, SW_SHOWMINIMIZED, SW_SHOWMAXIMIZED, SW_MAXIMIZE, SW_SHOWNOACTIVATE, SW_SHOW, SW_MINIMIZE, SW_SHOWMINNOACTIVE, SW_SHOWNA, SW_RESTORE, SW_SHOWDEFAULT, SW_FORCEMINIMIZE
Vanara.PInvoke.SizingMethodSpecifies the method used to determine the size of a field or array.Count, Bytes, InclNullTerm, Query, QueryResultInReturn, CheckLastError, Guess
Vanara.PInvoke.LCID.SORTSort order identifiers.SORT_DEFAULT, SORT_JAPANESE_XJIS, SORT_HUNGARIAN_DEFAULT, SORT_CHINESE_BIG5, SORT_CHINESE_PRCP, SORT_GEORGIAN_TRADITIONAL, SORT_KOREAN_KSC, SORT_HUNGARIAN_TECHNICAL, SORT_GERMAN_PHONE_BOOK, SORT_KOREAN_UNICODE, SORT_GEORGIAN_MODERN, SORT_CHINESE_UNICODE, SORT_JAPANESE_UNICODE, SORT_INVARIANT_MATH, SORT_CHINESE_PRC, SORT_CHINESE_BOPOMOFO, SORT_JAPANESE_RADICALSTROKE, SORT_CHINESE_RADICALSTROKE
Vanara.PInvoke.STGMThe STGM constants are flags that indicate conditions for creating and deleting the object and access modes for the object. The STGM constants are included in the IStorage, IStream, and IPropertySetStorage interfaces and in the StgCreateDocfile, StgCreateStorageEx, StgCreateDocfileOnILockBytes, StgOpenStorage, and StgOpenStorageEx functions.

These elements are often combined using an OR operator. They are interpreted in groups as listed in the following table. It is not valid to use more than one element from a single group.

Use a flag from the creation group when creating an object, such as with StgCreateStorageEx or IStorage::CreateStream.

STGM_READ, STGM_DIRECT, STGM_FAILIFTHERE, STGM_WRITE, STGM_READWRITE, STGM_SHARE_EXCLUSIVE, STGM_SHARE_DENY_WRITE, STGM_SHARE_DENY_READ, STGM_SHARE_DENY_NONE, STGM_CREATE, STGM_TRANSACTED, STGM_CONVERT, STGM_PRIORITY, STGM_NOSCRATCH, STGM_NOSNAPSHOT, STGM_DIRECT_SWMR, STGM_DELETEONRELEASE, STGM_SIMPLE
Vanara.Marshaler.StringEncodingIdentifies the type of encoding used to read and write binary representations of strings.Default, Unicode, ASCII, UTF8, UTF32
Vanara.InteropServices.StringListPackMethodMethod used to pack a list of strings into memory.Concatenated, Packed
Vanara.PInvoke.LANGID.SUBLANGSublanguage identifier.SUBLANG_NEUTRAL, SUBLANG_YORUBA_NIGERIA, SUBLANG_LAO_LAO, SUBLANG_LATVIAN_LATVIA, SUBLANG_LITHUANIAN, SUBLANG_LUXEMBOURGISH_LUXEMBOURG, SUBLANG_MACEDONIAN_MACEDONIA, SUBLANG_MALAY_MALAYSIA, SUBLANG_MALAYALAM_INDIA, SUBLANG_KOREAN, SUBLANG_MALTESE_MALTA, SUBLANG_MAPUDUNGUN_CHILE, SUBLANG_MARATHI_INDIA, SUBLANG_MOHAWK_MOHAWK, SUBLANG_MONGOLIAN_CYRILLIC_MONGOLIA, SUBLANG_NEPALI_NEPAL, SUBLANG_NORWEGIAN_BOKMAL, SUBLANG_OCCITAN_FRANCE, SUBLANG_ODIA_INDIA, SUBLANG_MAORI_NEW_ZEALAND, SUBLANG_ORIYA_INDIA, SUBLANG_KONKANI_INDIA, SUBLANG_KICHE_GUATEMALA, SUBLANG_GERMAN, SUBLANG_GREEK_GREECE, SUBLANG_GREENLANDIC_GREENLAND, SUBLANG_GUJARATI_INDIA, SUBLANG_HAUSA_NIGERIA_LATIN, SUBLANG_HAWAIIAN_US, SUBLANG_HEBREW_ISRAEL, SUBLANG_HINDI_INDIA, SUBLANG_KINYARWANDA_RWANDA, SUBLANG_HUNGARIAN_HUNGARY, SUBLANG_IGBO_NIGERIA, SUBLANG_INDONESIAN_INDONESIA, SUBLANG_INUKTITUT_CANADA, SUBLANG_ITALIAN, SUBLANG_JAPANESE_JAPAN, SUBLANG_KANNADA_INDIA, SUBLANG_KAZAK_KAZAKHSTAN, SUBLANG_KHMER_CAMBODIA, SUBLANG_ICELANDIC_ICELAND, SUBLANG_PASHTO_AFGHANISTAN, SUBLANG_PERSIAN_IRAN, SUBLANG_POLISH_POLAND, SUBLANG_TELUGU_INDIA, SUBLANG_THAI_THAILAND, SUBLANG_TIBETAN_PRC, SUBLANG_TIGRINYA_ETHIOPIA, SUBLANG_TSWANA_SOUTH_AFRICA, SUBLANG_TURKISH_TURKEY, SUBLANG_TURKMEN_TURKMENISTAN, SUBLANG_UIGHUR_PRC, SUBLANG_TATAR_RUSSIA, SUBLANG_UKRAINIAN_UKRAINE, SUBLANG_URDU_PAKISTAN, SUBLANG_UZBEK_LATIN, SUBLANG_VIETNAMESE_VIETNAM, SUBLANG_WELSH_UNITED_KINGDOM, SUBLANG_WOLOF_SENEGAL, SUBLANG_XHOSA_SOUTH_AFRICA, SUBLANG_YAKUT_RUSSIA, SUBLANG_YI_PRC, SUBLANG_UPPER_SORBIAN_GERMANY, SUBLANG_TAMIL_INDIA, SUBLANG_TAJIK_TAJIKISTAN, SUBLANG_SYRIAC_SYRIA, SUBLANG_PORTUGUESE_BRAZILIAN, SUBLANG_PUNJABI_INDIA, SUBLANG_QUECHUA_BOLIVIA, SUBLANG_ROMANIAN_ROMANIA, SUBLANG_ROMANSH_SWITZERLAND, SUBLANG_RUSSIAN_RUSSIA, SUBLANG_SAKHA_RUSSIA, SUBLANG_SAMI_NORTHERN_NORWAY, SUBLANG_SANSKRIT_INDIA, SUBLANG_SCOTTISH_GAELIC, SUBLANG_SERBIAN_CROATIA, SUBLANG_SINDHI_INDIA, SUBLANG_SINHALESE_SRI_LANKA, SUBLANG_SOTHO_NORTHERN_SOUTH_AFRICA, SUBLANG_SLOVAK_SLOVAKIA, SUBLANG_SLOVENIAN_SLOVENIA, SUBLANG_SPANISH, SUBLANG_SWAHILI_KENYA, SUBLANG_SWEDISH, SUBLANG_GEORGIAN_GEORGIA, SUBLANG_GALICIAN_GALICIAN, SUBLANG_KYRGYZ_KYRGYZSTAN, SUBLANG_FRISIAN_NETHERLANDS, SUBLANG_DIVEHI_MALDIVES, SUBLANG_DARI_AFGHANISTAN, SUBLANG_DANISH_DENMARK, SUBLANG_CROATIAN_CROATIA, SUBLANG_CZECH_CZECH_REPUBLIC, SUBLANG_CORSICAN_FRANCE, SUBLANG_CHINESE_TRADITIONAL, SUBLANG_CHEROKEE_CHEROKEE, SUBLANG_CENTRAL_KURDISH_IRAQ, SUBLANG_CATALAN_CATALAN, SUBLANG_BULGARIAN_BULGARIA, SUBLANG_BRETON_FRANCE, SUBLANG_BENGALI_INDIA, SUBLANG_BELARUSIAN_BELARUS, SUBLANG_BASQUE_BASQUE, SUBLANG_BASHKIR_RUSSIA, SUBLANG_BANGLA_INDIA, SUBLANG_AZERBAIJANI_AZERBAIJAN_LATIN, SUBLANG_AZERI_LATIN, SUBLANG_ASSAMESE_INDIA, SUBLANG_ARMENIAN_ARMENIA, SUBLANG_ARABIC_SAUDI_ARABIA, SUBLANG_AMHARIC_ETHIOPIA, SUBLANG_ALSATIAN_FRANCE, SUBLANG_ALBANIAN_ALBANIA, SUBLANG_AFRIKAANS_SOUTH_AFRICA, SUBLANG_DEFAULT, SUBLANG_DUTCH, SUBLANG_ENGLISH_US, SUBLANG_ZULU_SOUTH_AFRICA, SUBLANG_FRENCH, SUBLANG_ESTONIAN_ESTONIA, SUBLANG_FAEROESE_FAROE_ISLANDS, SUBLANG_FILIPINO_PHILIPPINES, SUBLANG_FINNISH_FINLAND, SUBLANG_SINDHI_PAKISTAN, SUBLANG_PULAR_SENEGAL, SUBLANG_PUNJABI_PAKISTAN, SUBLANG_SPANISH_MEXICAN, SUBLANG_BENGALI_BANGLADESH, SUBLANG_ARABIC_IRAQ, SUBLANG_SAMI_NORTHERN_SWEDEN, SUBLANG_FULAH_SENEGAL, SUBLANG_TSWANA_BOTSWANA, SUBLANG_BANGLA_BANGLADESH, SUBLANG_TIGRINYA_ERITREA, SUBLANG_TIGRIGNA_ERITREA, SUBLANG_TAMIL_SRI_LANKA, SUBLANG_TAMAZIGHT_ALGERIA_LATIN, SUBLANG_SWEDISH_FINLAND, SUBLANG_AZERBAIJANI_AZERBAIJAN_CYRILLIC, SUBLANG_SERBIAN_LATIN, SUBLANG_SINDHI_AFGHANISTAN, SUBLANG_AZERI_CYRILLIC, SUBLANG_FRENCH_BELGIAN, SUBLANG_PORTUGUESE, SUBLANG_URDU_INDIA, SUBLANG_QUECHUA_ECUADOR, SUBLANG_IRISH_IRELAND, SUBLANG_ENGLISH_UK, SUBLANG_SYS_DEFAULT, SUBLANG_LOWER_SORBIAN_GERMANY, SUBLANG_DUTCH_BELGIAN, SUBLANG_MALAY_BRUNEI_DARUSSALAM, SUBLANG_KASHMIRI_INDIA, SUBLANG_KASHMIRI_SASIA, SUBLANG_INUKTITUT_CANADA_LATIN, SUBLANG_VALENCIAN_VALENCIA, SUBLANG_UZBEK_CYRILLIC, SUBLANG_MONGOLIAN_PRC, SUBLANG_GERMAN_SWISS, SUBLANG_NEPALI_INDIA, SUBLANG_CHINESE_SIMPLIFIED, SUBLANG_ITALIAN_SWISS, SUBLANG_NORWEGIAN_NYNORSK, SUBLANG_SPANISH_MODERN, SUBLANG_CUSTOM_DEFAULT, SUBLANG_GERMAN_AUSTRIAN, SUBLANG_ENGLISH_AUS, SUBLANG_QUECHUA_PERU, SUBLANG_CHINESE_HONGKONG, SUBLANG_ARABIC_EGYPT, SUBLANG_SAMI_NORTHERN_FINLAND, SUBLANG_FRENCH_CANADIAN, SUBLANG_SERBIAN_CYRILLIC, SUBLANG_ENGLISH_CAN, SUBLANG_FRENCH_SWISS, SUBLANG_GERMAN_LUXEMBOURG, SUBLANG_SPANISH_GUATEMALA, SUBLANG_CUSTOM_UNSPECIFIED, SUBLANG_TAMAZIGHT_MOROCCO_TIFINAGH, SUBLANG_CROATIAN_BOSNIA_HERZEGOVINA_LATIN, SUBLANG_ARABIC_LIBYA, SUBLANG_SAMI_LULE_NORWAY, SUBLANG_CHINESE_SINGAPORE, SUBLANG_SPANISH_COSTA_RICA, SUBLANG_FRENCH_LUXEMBOURG, SUBLANG_UI_CUSTOM_DEFAULT, SUBLANG_ARABIC_ALGERIA, SUBLANG_GERMAN_LIECHTENSTEIN, SUBLANG_ENGLISH_NZ, SUBLANG_CHINESE_MACAU, SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_LATIN, SUBLANG_SAMI_LULE_SWEDEN, SUBLANG_ENGLISH_EIRE, SUBLANG_SPANISH_PANAMA, SUBLANG_FRENCH_MONACO, SUBLANG_SAMI_SOUTHERN_NORWAY, SUBLANG_ARABIC_MOROCCO, SUBLANG_SERBIAN_BOSNIA_HERZEGOVINA_LATIN, SUBLANG_ENGLISH_SOUTH_AFRICA, SUBLANG_SERBIAN_BOSNIA_HERZEGOVINA_CYRILLIC, SUBLANG_ARABIC_TUNISIA, SUBLANG_SAMI_SOUTHERN_SWEDEN, SUBLANG_SPANISH_DOMINICAN_REPUBLIC, SUBLANG_SPANISH_VENEZUELA, SUBLANG_ENGLISH_JAMAICA, SUBLANG_SAMI_SKOLT_FINLAND, SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_CYRILLIC, SUBLANG_ARABIC_OMAN, SUBLANG_ENGLISH_CARIBBEAN, SUBLANG_SAMI_INARI_FINLAND, SUBLANG_SERBIAN_SERBIA_LATIN, SUBLANG_SPANISH_COLOMBIA, SUBLANG_ARABIC_YEMEN, SUBLANG_ARABIC_SYRIA, SUBLANG_ENGLISH_BELIZE, SUBLANG_SERBIAN_SERBIA_CYRILLIC, SUBLANG_SPANISH_PERU, SUBLANG_ARABIC_JORDAN, SUBLANG_SERBIAN_MONTENEGRO_LATIN, SUBLANG_ENGLISH_TRINIDAD, SUBLANG_SPANISH_ARGENTINA, SUBLANG_SPANISH_ECUADOR, SUBLANG_SERBIAN_MONTENEGRO_CYRILLIC, SUBLANG_ARABIC_LEBANON, SUBLANG_ENGLISH_ZIMBABWE, SUBLANG_ENGLISH_PHILIPPINES, SUBLANG_SPANISH_CHILE, SUBLANG_ARABIC_KUWAIT, SUBLANG_SPANISH_URUGUAY, SUBLANG_ARABIC_UAE, SUBLANG_SPANISH_PARAGUAY, SUBLANG_ARABIC_BAHRAIN, SUBLANG_ENGLISH_INDIA, SUBLANG_SPANISH_BOLIVIA, SUBLANG_ARABIC_QATAR, SUBLANG_SPANISH_EL_SALVADOR, SUBLANG_ENGLISH_MALAYSIA, SUBLANG_ENGLISH_SINGAPORE, SUBLANG_SPANISH_HONDURAS, SUBLANG_SPANISH_NICARAGUA, SUBLANG_SPANISH_PUERTO_RICO, SUBLANG_SPANISH_US
Vanara.PInvoke.SYSTEM_POWER_STATE

The SYSTEM_POWER_STATE enumeration type is used to indicate a system power state.

PowerSystemUnspecified, PowerSystemWorking, PowerSystemSleeping1, PowerSystemSleeping2, PowerSystemSleeping3, PowerSystemHibernate, PowerSystemShutdown, PowerSystemMaximum
Vanara.PInvoke.SystemColorIndexColor index used to get a system color from GetSysColor.COLOR_SCROLLBAR, COLOR_DESKTOP, COLOR_BACKGROUND, COLOR_ACTIVECAPTION, COLOR_INACTIVECAPTION, COLOR_MENU, COLOR_WINDOW, COLOR_WINDOWFRAME, COLOR_MENUTEXT, COLOR_WINDOWTEXT, COLOR_CAPTIONTEXT, COLOR_ACTIVEBORDER, COLOR_INACTIVEBORDER, COLOR_APPWORKSPACE, COLOR_HIGHLIGHT, COLOR_HIGHLIGHTTEXT, COLOR_BTNFACE, COLOR_3DFACE, COLOR_BTNSHADOW, COLOR_3DSHADOW, COLOR_GRAYTEXT, COLOR_BTNTEXT, COLOR_INACTIVECAPTIONTEXT, COLOR_3DHILIGHT, COLOR_3DHIGHLIGHT, COLOR_BTNHIGHLIGHT, COLOR_BTNHILIGHT, COLOR_3DDKSHADOW, COLOR_3DLIGHT, COLOR_INFOTEXT, COLOR_INFOBK, COLOR_HOTLIGHT, COLOR_GRADIENTACTIVECAPTION, COLOR_GRADIENTINACTIVECAPTION, COLOR_MENUHILIGHT, COLOR_MENUBAR
Vanara.PInvoke.SystemShutDownReasonFlags used in the ExitWindowsEx, InitiateShutdown and InitiateSystemShutdownEx functions.SHTDN_REASON_MINOR_OTHER, SHTDN_REASON_MAJOR_OTHER, SHTDN_REASON_MAJOR_NONE, SHTDN_REASON_MINOR_MAINTENANCE, SHTDN_REASON_MINOR_INSTALLATION, SHTDN_REASON_MINOR_UPGRADE, SHTDN_REASON_MINOR_RECONFIG, SHTDN_REASON_MINOR_HUNG, SHTDN_REASON_MINOR_UNSTABLE, SHTDN_REASON_MINOR_DISK, SHTDN_REASON_MINOR_PROCESSOR, SHTDN_REASON_MINOR_NETWORKCARD, SHTDN_REASON_MINOR_POWER_SUPPLY, SHTDN_REASON_MINOR_CORDUNPLUGGED, SHTDN_REASON_MINOR_ENVIRONMENT, SHTDN_REASON_MINOR_HARDWARE_DRIVER, SHTDN_REASON_MINOR_OTHERDRIVER, SHTDN_REASON_MINOR_BLUESCREEN, SHTDN_REASON_MINOR_SERVICEPACK, SHTDN_REASON_MINOR_HOTFIX, SHTDN_REASON_MINOR_SECURITYFIX, SHTDN_REASON_MINOR_SECURITY, SHTDN_REASON_MINOR_NETWORK_CONNECTIVITY, SHTDN_REASON_MINOR_WMI, SHTDN_REASON_MINOR_SERVICEPACK_UNINSTALL, SHTDN_REASON_MINOR_HOTFIX_UNINSTALL, SHTDN_REASON_MINOR_SECURITYFIX_UNINSTALL, SHTDN_REASON_MINOR_MMC, SHTDN_REASON_MINOR_SYSTEMRESTORE, SHTDN_REASON_MINOR_TERMSRV, SHTDN_REASON_MINOR_DC_PROMOTION, SHTDN_REASON_MINOR_DC_DEMOTION, SHTDN_REASON_UNKNOWN, SHTDN_REASON_MINOR_NONE, SHTDN_REASON_MAJOR_HARDWARE, SHTDN_REASON_MAJOR_OPERATINGSYSTEM, SHTDN_REASON_MAJOR_SOFTWARE, SHTDN_REASON_MAJOR_APPLICATION, SHTDN_REASON_MAJOR_SYSTEM, SHTDN_REASON_MAJOR_POWER, SHTDN_REASON_MAJOR_LEGACY_API, SHTDN_REASON_FLAG_COMMENT_REQUIRED, SHTDN_REASON_FLAG_DIRTY_PROBLEM_ID_REQUIRED, SHTDN_REASON_FLAG_CLEAN_UI, SHTDN_REASON_FLAG_DIRTY_UI, SHTDN_REASON_FLAG_MOBILE_UI_RESERVED, SHTDN_REASON_FLAG_USER_DEFINED, SHTDN_REASON_FLAG_PLANNED, SHTDN_REASON_LEGACY_API
Vanara.PInvoke.URLZONEContains all the predefined zones used by Windows Internet Explorer.URLZONE_PREDEFINED_MIN, URLZONE_LOCAL_MACHINE, URLZONE_INTRANET, URLZONE_TRUSTED, URLZONE_INTERNET, URLZONE_UNTRUSTED, URLZONE_PREDEFINED_MAX, URLZONE_USER_MIN, URLZONE_USER_MAX, URLZONE_INVALID
Vanara.PInvoke.WIN32_WINNT_WIN32_WINNT version constants_WIN32_WINNT_NT4, _WIN32_WINNT_WIN2K, _WIN32_WINNT_WINXP, _WIN32_WINNT_WS03, _WIN32_WINNT_WIN6, _WIN32_WINNT_VISTA, _WIN32_WINNT_WS08, _WIN32_WINNT_LONGHORN, _WIN32_WINNT_WIN7, _WIN32_WINNT_WIN8, _WIN32_WINNT_WINBLUE, _WIN32_WINNT_WINTHRESHOLD, _WIN32_WINNT_WIN10

Structures

StructDescription
Vanara.PInvoke.ACCESS_MASKAccess flags.
Vanara.InteropServices.AnySizeStructFieldArray<T>For structures that end with an ANYSIZE array field, this structure can be used to represent the value rather than using System.Runtime.InteropServices.UnmanagedType.ByValArray but only when using an unmanaged type for . Prone to memory overruns. Consider using marshaling.
Vanara.InteropServices.AnySizeStructUnmanagedFieldArray<T>For structures that end with an ANYSIZE array field, this structure can be used to represent the value rather than using System.Runtime.InteropServices.UnmanagedType.ByValArray but only when using an unmanaged type for .
Vanara.PInvoke.ArrayPointer<T>A pointer to an array of entries in a structure.
Vanara.BitField<T>A struct that allows for bit manipulation of a value type.
Vanara.BOOLManaged instance of the four-byte BOOL type.
Vanara.BOOLEANManaged instance of the single-byte BOOLEAN type.
Vanara.PInvoke.CM_PARTIAL_RESOURCE_DESCRIPTOR.BusNumber
Vanara.PInvoke.CLIPFORMATCLIPFORMAT is a 2-byte value representing a clipboard format.

This cannot be used as a drop-in replacement for many of the winuser.h function as they expect a 4-byte value. However, this can automatically convert between the 4-byte values and the 2-byte value.

Vanara.PInvoke.CM_FULL_RESOURCE_DESCRIPTOR

The CM_FULL_RESOURCE_DESCRIPTOR structure specifies a set of system hardware resources of various types, assigned to a device that is connected to a specific bus. This structure is contained within a CM_RESOURCE_LIST structure.

Vanara.PInvoke.CM_PARTIAL_RESOURCE_DESCRIPTORThe CM_PARTIAL_RESOURCE_DESCRIPTOR structure specifies one or more system hardware resources, of a single type, assigned to a device. This structure is used to create an array within a CM_PARTIAL_RESOURCE_LIST structure.
Vanara.PInvoke.CM_PARTIAL_RESOURCE_LIST

The CM_PARTIAL_RESOURCE_LIST structure specifies a set of system hardware resources, of various types, assigned to a device. This structure is contained within a CM_FULL_RESOURCE_DESCRIPTOR structure.

Vanara.PInvoke.CM_POWER_DATAThe CM_POWER_DATA structure contains information about a device's power management state and capabilities.
Vanara.PInvoke.CM_RESOURCE_LISTThe CM_RESOURCE_LIST structure specifies all of the system hardware resources assigned to a device.
Vanara.PInvoke.COLORREFThe COLORREF value is used to specify an RGB color in the form 0x00bbggrr.
Vanara.PInvoke.CM_PARTIAL_RESOURCE_DESCRIPTOR.Connection
Vanara.PInvoke.CORRELATION_VECTORStore the correlation vector that is used to reference events and the generated logs for diagnostic purposes.
Vanara.CYManaged instance of the OLE CY type.
Vanara.DATEManaged instance of the OLE DATE type.
Vanara.DECIMALManaged instance of the OLE DECIMAL type.
Vanara.PInvoke.DEVICE_CAPABILITIESA DEVICE_CAPABILITIES structure describes PnP and power capabilities of a device. This structure is returned in response to an IRP_MN_QUERY_CAPABILITIES IRP.
Vanara.PInvoke.CM_PARTIAL_RESOURCE_DESCRIPTOR.DevicePrivate
Vanara.PInvoke.CM_PARTIAL_RESOURCE_DESCRIPTOR.DeviceSpecificData
Vanara.PInvoke.DEVMODEThe DEVMODE data structure contains information about the initialization and environment of a printer or a display device.
Vanara.PInvoke.CM_PARTIAL_RESOURCE_DESCRIPTOR.Dma
Vanara.PInvoke.CM_PARTIAL_RESOURCE_DESCRIPTOR.DmaV3
Vanara.Extensions.EnumFlagIndexer<T>Structure to use in place of a enumerated type with the System.FlagsAttribute set. Allows for indexer access to flags and simplifies boolean logic.
Vanara.PInvoke.EnumRebase<T>Helper to convert enum to different underlying base type.
Vanara.PInvoke.FOURCCRepresents a four-character code (FOURCC) used to identify data formats, such as video or audio codecs, in multimedia file formats or font metric tables.
Vanara.PInvoke.CM_PARTIAL_RESOURCE_DESCRIPTOR.Generic
Vanara.InteropServices.GuidPtrThe GuidPtr structure represents a LPGUID.
Vanara.PInvoke.HACCELProvides a handle to an accelerator table.
Vanara.PInvoke.HANDLEProvides a generic Windows handle.
Vanara.PInvoke.HBITMAPProvides a handle to a bitmap.
Vanara.PInvoke.HBRUSHProvides a handle to drawing brush.
Vanara.PInvoke.HCOLORSPACEProvides a handle to a color space.
Vanara.PInvoke.HCURSORProvides a handle to cursor.
Vanara.PInvoke.HDCProvides a handle to a graphic device context.
Vanara.PInvoke.HDPAProvides a handle to a DPA.
Vanara.PInvoke.HDROPProvides a handle to a Windows drop operation.
Vanara.PInvoke.HDSAProvides a handle to a DSA.
Vanara.PInvoke.HDWPProvides a handle to a deferred windows position.
Vanara.PInvoke.HENHMETAFILEProvides a handle to an enhanced metafile.
Vanara.PInvoke.HEVENTProvides a handle to a sync event.
Vanara.PInvoke.HFILEProvides a handle to a file.
Vanara.PInvoke.HFONTProvides a handle to a font.
Vanara.PInvoke.HGDIOBJProvides a handle to a graphic device object.
Vanara.PInvoke.HICONProvides a handle to an icon.
Vanara.PInvoke.HIMAGELISTProvides a handle to a Windows image list.
Vanara.PInvoke.HINSTANCEProvides a handle to a module or library instance.
Vanara.PInvoke.HKEYProvides a handle to a Windows registry key.
Vanara.PInvoke.HMENUProvides a handle to a menu.
Vanara.PInvoke.HMETAFILEProvides a handle to a metafile.
Vanara.PInvoke.HMONITORProvides a handle to a monitor.
Vanara.PInvoke.HPALETTEProvides a handle to a palette.
Vanara.PInvoke.HPENProvides a handle to a drawing pen.
Vanara.PInvoke.HPROCESSProvides a handle to a process.
Vanara.PInvoke.HPROPSHEETProvides a handle to a Windows property sheet.
Vanara.PInvoke.HPROPSHEETPAGEProvides a handle to a property sheet page.
Vanara.PInvoke.HRESULTFormal replacement for the Windows HRESULT definition. In windows.h, it is a defined UINT value. For .NET, this class strongly types the value.

The 32-bit value is organized as follows:

Bit 31 30 29 28 27 26 - 16 15 - 0 Field Severity Severity Customer NT status MsgID Facility Code
Vanara.PInvoke.HRGNProvides a handle to a drawing region.
Vanara.PInvoke.HSECTIONProvides a handle to a file mapping object.
Vanara.PInvoke.HTASKProvides a handle to a blocking task.
Vanara.PInvoke.HTHEMEProvides a handle to a Windows theme.
Vanara.PInvoke.HTHREADProvides a handle to a thread.
Vanara.PInvoke.HTHUMBNAILProvides a handle to a Windows thumbnail.
Vanara.PInvoke.HTOKENProvides a handle to an access token.
Vanara.PInvoke.HWNDProvides a handle to a window or dialog.
Vanara.PInvoke.CM_PARTIAL_RESOURCE_DESCRIPTOR.Interrupt
Vanara.PInvoke.IUnknownPointer<T>This structure is used to hold a reference to an IUnknown interface pointer.
Vanara.PInvoke.LANGIDManaged instance of the 16 bit LANGID type.

A language identifier is a standard international numeric abbreviation for the language in a country or geographical region. Each language has a unique language identifier (data type LANGID), a 16-bit value that consists of a primary language identifier and a sublanguage identifier.

Vanara.PInvoke.LCIDAn LCID is a 4-byte value. The value supplied in an LCID is a standard numeric substitution for the international [RFC5646] string.
Vanara.PInvoke.LOGFONTThe LOGFONT structure defines the attributes of a font.
Vanara.PInvoke.LOGPALETTEThe LOGPALETTE structure defines a logical palette.
Vanara.PInvoke.LPCSTRArrayPointerA pointer to an array of ANSI string pointers as a field in a structure.
Vanara.PInvoke.LPCTSTRArrayPointerA pointer to an array of platform specific string pointers as a field in a structure.
Vanara.PInvoke.LPCWSTRArrayPointerA pointer to an array of Unicode (wide) string pointers as a field in a structure.
Vanara.PInvoke.LUIDAn LUID is a 64-bit value guaranteed to be unique only on the system on which it was generated. The uniqueness of a locally unique identifier (LUID) is guaranteed only until the system is restarted.

Applications must use functions and structures to manipulate LUID values.

Vanara.PInvoke.ManagedArrayPointer<T>A pointer to an array of entries in a structure.
Vanara.PInvoke.ManagedStructPointer<T>A pointer to a managed structure.
Vanara.PInvoke.CM_PARTIAL_RESOURCE_DESCRIPTOR.Memory40
Vanara.PInvoke.CM_PARTIAL_RESOURCE_DESCRIPTOR.Memory48
Vanara.PInvoke.CM_PARTIAL_RESOURCE_DESCRIPTOR.Memory64
Vanara.PInvoke.CM_PARTIAL_RESOURCE_DESCRIPTOR.MessageInterruptRaw
Vanara.PInvoke.MSGContains message information from a thread's message queue.
Vanara.PInvoke.NTStatusFormal replacement for the Windows NTStatus definition. In ntstatus.h, it is a defined UINT value. For .NET, this class strongly types the value.

The 32-bit value is organized as follows:

Bit 0 - 1 2 3 4 - 15 16 - 31 Field Sev Customer Reserved Facility Code
Vanara.PInvoke.OBJECT_TYPE_LISTThe OBJECT_TYPE_LIST structure identifies an object type element in a hierarchy of object types. The AccessCheckByType functions use an array of OBJECT_TYPE_LIST structures to define a hierarchy of an object and its subobjects, such as property sets and properties.
Vanara.PInvoke.OFSTRUCTContains information about a file that the OpenFile function opened or attempted to open.
Vanara.PInvoke.PACEProvides a pointer to an access control entry.
Vanara.PInvoke.PACLProvides a handle to an access control list.
Vanara.PInvoke.PALETTEENTRYSpecifies the color and usage of an entry in a logical palette.
Vanara.PInvoke.PFILETIMERepresents a pointer to a System.Runtime.InteropServices.ComTypes.FILETIME structure which holds the number of 100-nanosecond intervals since January 1, 1601. This structure is a 64-bit value.
Vanara.PInvoke.POINTThe POINT structure defines the x- and y-coordinates of a point.
Vanara.PInvoke.POINTSThe POINTS structure defines the coordinates of a point.
Vanara.PInvoke.PRECTDefines the coordinates of the upper-left and lower-right corners of a rectangle.
Vanara.PInvoke.PSECURITY_DESCRIPTORProvides a handle to a security descriptor.
Vanara.PInvoke.PSIDProvides a handle to a security identifier.
Vanara.PInvoke.PSYSTEMTIMESpecifies a date and time, using individual members for the month, day, year, weekday, hour, minute, second, and millisecond. The time is either in coordinated universal time (UTC) or local time, depending on the function that is being called.
Vanara.PInvoke.RECTDefines the coordinates of the upper-left and lower-right corners of a rectangle.
Vanara.PInvoke.RefEnumerator<T>Enumerator with zero copy access using ref.
Vanara.PInvoke.RefEnumeratorEx<T>Enumerator with zero copy access using ref.
Vanara.PInvoke.ResourceIdHelper structure to use for a pointer that can morph into a string, pointer or integer.
Vanara.PInvoke.ResourceIdOrHandle<T>Helper structure to use for a pointer that can morph into a string, handle or integer.
Vanara.PInvoke.RGBQUADThe RGBQUAD structure describes a color consisting of relative intensities of red, green, and blue.
Vanara.PInvoke.SECURITY_ATTRIBUTESThe SECURITY_ATTRIBUTES structure contains the security descriptor for an object and specifies whether the handle retrieved by specifying this structure is inheritable. This structure provides security settings for objects created by various functions, such as CreateFile, CreatePipe, CreateProcess, RegCreateKeyEx, or RegSaveKeyEx.
Vanara.PInvoke.SIZEThe SIZE structure specifies the width and height of a rectangle.
Vanara.PInvoke.SizeTManaged instance of the SizeT type.
Vanara.InteropServices.StrPtrAnsiThe StrPtrAnsi structure represents a pointer to an Ansi string.
Vanara.InteropServices.StrPtrAutoThe StrPtrAuto structure represents a pointer to an Auto string.
Vanara.InteropServices.StrPtrUniThe StrPtrUni structure represents a pointer to an Unicode string.
Vanara.PInvoke.StructPointer<T>A pointer to a structure.
Vanara.PInvoke.SYSTEMTIMESpecifies a date and time, using individual members for the month, day, year, weekday, hour, minute, second, and millisecond. The time is either in coordinated universal time (UTC) or local time, depending on the function that is being called.
Vanara.PInvoke.tagSECURITY_ATTRIBUTESThe SECURITY_ATTRIBUTES structure contains the security descriptor for an object and specifies whether the handle retrieved by specifying this structure is inheritable. This structure provides security settings for objects created by various functions, such as CreateFile, CreatePipe, CreateProcess, RegCreateKeyEx, or RegSaveKeyEx.
Vanara.PInvoke.TEXTMETRICThe TEXTMETRIC structure contains basic information about a physical font. All sizes are specified in logical units; that is, they depend on the current mapping mode of the display context.
Vanara.PInvoke.time_tManaged instance of the time_t type.
Vanara.PInvoke.CM_PARTIAL_RESOURCE_DESCRIPTOR.UnionThe union
Vanara.VARIANT_BOOLManaged instance of the two-byte VARIANT_BOOL type.
Vanara.PInvoke.WIN32_FIND_DATAContains information about the file that is found by the FindFirstFile, FindFirstFileEx, or FindNextFile function.
Vanara.PInvoke.Win32ErrorRepresents a Win32 Error Code. This can be used in place of a return value.

Interfaces

InterfaceDescription
Vanara.PInvoke.IArrayStruct<T>Interface that identifies a structure containing only a 4-byte size field followed by a pointer to an array of .
Vanara.PInvoke.IClipboardFormatterA formatter used to get and set objects on the clipboard. When implemented, use the Vanara.PInvoke.ClipCorrespondingTypeAttribute.Formatter property to
Vanara.Collections.ICOMEnum<T>A generic interface to identify matching COM enumerator interfaces
Vanara.PInvoke.IDeviceContextHandleSignals that a structure or class holds a handle to a device context.
Vanara.PInvoke.IErrorProviderCommon properties and methods for errors.
Vanara.PInvoke.IErrorProvider2<T>Common properties and methods for errors with comparitors.
Vanara.InteropServices.IGetMemorySizeDefines a method that returns the size of a memory block represented by a handle.
Vanara.PInvoke.IGraphicsObjectHandleSignals that a structure or class holds a handle to a graphics object.
Vanara.PInvoke.IHandleSignals that a structure or class holds a HANDLE.
Vanara.Collections.IHistory<T>Provides an interface for a history of items.
Vanara.PInvoke.IKernelHandleSignals that a structure or class holds a handle to a kernel object.
Vanara.InteropServices.IMemoryHandleInterface for a memory handle that supports getting and setting the size of the allocated memory block.
Vanara.InteropServices.IMemoryMethodsInterface to capture unmanaged memory methods.
Vanara.InteropServices.ISafeMemoryHandleInterface for classes that support safe memory pointers.
Vanara.InteropServices.ISafeMemoryHandleBaseDefines the base functionality for a safe memory handle, providing methods and properties for managing allocated memory.
Vanara.InteropServices.ISafeMemoryHandleFactoryExtension interface for Vanara.InteropServices.SafeAllocatedMemoryHandleBase that allows the creation of a new instance of the memory handle.
Vanara.PInvoke.ISecurityObjectSignals that a structure or class holds a pointer to a security object.
Vanara.PInvoke.IShellHandleSignals that a structure or class holds a handle to a shell object.
Vanara.InteropServices.ISimpleMemoryMethodsInterface to capture unmanaged simple (alloc/free) memory methods.
Vanara.ISupportIndexer<T>Interface representing a class that holds an indexer.
Vanara.PInvoke.ISyncHandleSignals that a structure or class holds a handle to a synchronization object.
Vanara.PInvoke.IUserHandleSignals that a structure or class holds a handle to a user object.
Vanara.InteropServices.IVanaraMarshalerSmarter custom marshaler.
Vanara.Collections.IVirtualListMethods<T>Interface that defines the methods for a virtual list. This interface is used by the Vanara.Collections.VirtualList class.
Vanara.Collections.IVirtualReadOnlyListMethods<T>Interface that defines the methods for a virtual read-only list. This interface is used by the Vanara.Collections.VirtualReadOnlyList class.

Classes

ClassDescription
Vanara.PInvoke.AddAsCtorAttributeThis attribute does not yet have an implemented generator. An attribute to indicate that the method of the attributed parameter should be added as a constructor of the class or structure of the type being annotated. The type must be partial and either a structure or class.
Vanara.PInvoke.AddAsMemberAttributeThis attribute does not yet have an implemented generator. An attribute to indicate that the method of the attributed parameter should be added as a member of the class or structure of the type being annotated. The type must be partial and either a structure or class.
Vanara.PInvoke.AdjustAutoMethodNamePatternAttributeThis attribute does not yet have an implemented generator.

Applying this attribute to a class or structure will used the supplied regex pattern to replace portions of the auto-generated method names.

Vanara.InteropServices.AlignedMemory<T>A memory block aligned on a specific byte boundary.
Vanara.InteropServices.AnySizeStringMarshaler<T>A marshaler implementation of Vanara.InteropServices.IVanaraMarshaler to marshal structures whose last field is a character array of length (1) and that uses a field to determine the length of the full string.

Use the cookie paramter of Vanara.InteropServices.AnySizeStringMarshaler to specify the name of the field in that specifies the length of the string in the last field of along with use indicators.

If the field specifies byte, rather than character length, follow the field name with a colon (:) followed by 'b' (for bytes) or 'c' (for characters).

If the field specifies a length that does NOT include the NULL terminator, follow the field name, colon (:), and type specifier by 'r' (for raw) or 'n' (for null-terminated).

If the field name is "*", then the string length will be determined by the amount of allocated memory.

Vanara.Marshaler.MarshalFieldAs.AppendedStringAttributeAttribute that is applied to a string as the final field in a structure to indicate that the string value is appended to the end of the structure. The string is null-terminated. The value determines if any characters are counted in the native size of the structure.
Vanara.Marshaler.MarshalFieldAs.ArrayAttributeAttribute that can be applied to fields in a structure or class to indicate that the field is an array of values in a specified layout and size.
Vanara.PInvoke.ArrayPointerAttributeSpecifies that a parameter represents a pointer to an array for interop scenarios.
Vanara.PInvoke.AssociateAttributeAssociates a Guid with an element.
Vanara.PInvoke.AssociateStringAttributeAssociates a string with an element.
Vanara.PInvoke.AutoHandleAttributeAttribute to apply to simple struct definition that will generate the code for a full HANDLE.
Vanara.PInvoke.AutoSafeHandleAttributeAttribute to apply to simple class definition that will generate the code for a full SafeHANDLE that will perform a close operation on disposal.
Vanara.PInvoke.BeginEndEventContextA disposable context for which a delegate is called at entry and exit.
Vanara.Marshaler.MarshalFieldAs.BitFieldAttribute<T>Attribute that can be applied to fields in a structure or class to indicate that the field is a bitfield.
Vanara.Extensions.BitHelperStatic methods to help with bit manipulation.
Vanara.ByteSizeFormatterA custom formatter for byte sizes (things like files, network bandwidth, etc.) that will automatically determine the best abbreviation.
Vanara.PInvoke.ClipCorrespondingTypeAttributeIndicates the type, medium and method for getting and setting the payload associated with known clipboard formats.
Vanara.PInvoke.CloseHandleFuncDelegate for a method that closes a handle and reports success. Used by SafeHandleBase.
Vanara.InteropServices.ComConnectionPointHelper class to create an advised COM sink. When this class is constructed, the source is queried for an System.Runtime.InteropServices.ComTypes.IConnectionPointContainer reference.
Vanara.PInvoke.InteropServices.ComEnumStringA COM enumerator for System.String values. This is used to enumerate the values of a System.Runtime.InteropServices.ComTypes.IEnumString interface.
Vanara.InteropServices.ComReleaser<T>A safe variable to hold an instance of a COM class that automatically releases the instance on disposal.
Vanara.InteropServices.ComReleaserFactoryFactory for creating Vanara.InteropServices.ComReleaser objects.
Vanara.InteropServices.ComStreamImplements a .NET stream derivation and a COM IStream instance.
Vanara.Collections.IEnumFromCom<T>.ComTryGetNextDelegate that gets the next value in an enumeration and returns true or returns false to indicate there are no more items in the enumeration.
Vanara.Extensions.ComTypeExtensionsExtensions for types in System.Runtime.InteropServices.ComTypes.
Vanara.RunTimeLib.ConstantConversionExtensionsExtension methods for CRT enumerations to convert to .NET enumerations.
Vanara.InteropServices.CorrespondingTypeAttributeAttribute for enum values that provides information about corresponding types and related actions. Useful for Get/Set methods that use an enumeration value to determine the type to get or set.
Vanara.InteropServices.CoTaskMemoryMethodsUnmanaged memory methods for COM.
Vanara.InteropServices.CoTaskMemStringMarshalerMarshals strings that are allocated by native code and must be freed using CoTaskMemFree after use.
Vanara.PInvoke.DeferAutoMethodFromAttributeThis attribute does not yet have an implemented generator.

Applying this attribute to a class or structure will defer the auto-generated methods from that type to this type.

Vanara.Collections.DisposingListRepresents a list of objects that disposes its elements when disposed.
Vanara.Collections.EnumerableEqualityComparer<T>Checks the linear equality of two enumerated lists. For lists to be equal, they must have the same number of elements and each index must hold the same value in each list.
System.Runtime.InteropServices.CustomMarshalers.EnumeratorToEnumVariantMarshalerMarshals the COM IEnumVARIANT interface to the .NET Framework System.Collections.IEnumerator interface, and vice versa.
Vanara.Extensions.EnumExtensionsExtensions for enumerated types.
Vanara.PInvoke.ErrorHelperFunctions to help get error messages from error codes.
Vanara.Collections.EventedList<T>A generic list that provides event for changes to the list. This is an alternative to ObservableCollection that provides distinct events for each action (add, insert, remove, changed).
Vanara.PInvoke.FailedHelperHelper methods for dealing with failure results.
Vanara.Extensions.FileTimeExtensionsExtensions for System.Runtime.InteropServices.ComTypes.FILETIME.
Vanara.Marshaler.MarshalFieldAs.FixedStringAttributeAttribute that can be applied to fields in a structure or class to indicate that the field is a pointer to a string of a specified length.
Vanara.FormatterBase class for expandable formatters.
Vanara.FormatterComposerExtension method to combine formatter instances.
Vanara.PInvoke.FunctionHelperGeneric functions to help with standard function patterns like getting a string from a method.
Vanara.InteropServices.GenericSafeHandleA System.Runtime.InteropServices.SafeHandle that takes a delegate in the constructor that closes the supplied handle.
Vanara.InteropServices.GenericStringMarshaler<T>Marshals strings that are allocated by native code and must be freed after use.
Vanara.InteropServices.GenericStringMarshalerBase<T>Base abstract class for marshaling strings that are allocated by native code and must be freed after use.
Vanara.Collections.GenericVirtualReadOnlyDictionary<T>A generic class that creates a read-only dictionary from a list and getter function.
Vanara.PInvoke.RefEnumeratorEx<T>.GetNextDelegateDelegate to get next element pointer.
Vanara.InteropServices.GuidToStringMarshalerProvides a custom marshaler for converting System.Guid objects to and from native string representations.
Vanara.PInvoke.HANDLEConverterConverts a handle to a string or an integer and vice versa. The string representation is the handle value as an integer.
Vanara.Extensions.HexDumpHelpersExtension to dump a byte array.
Vanara.InteropServices.HGlobalMemoryMethodsUnmanaged memory methods for HGlobal.
Vanara.Collections.History<T>Provides a history of items that lives efficiently in memory and whose size can change easily.
Vanara.PInvoke.IArrayStructExtensionsExtension methods for Vanara.PInvoke.IArrayStruct.
Vanara.PInvoke.IArrayStructMarshaler<T>Allows marshaling of arrays in place of a structure supporting Vanara.PInvoke.IArrayStruct.
Vanara.Collections.IEnumeratorFromNext<T>An implementation the System.Collections.IEnumerator interface that can iterate through next and reset methods.
Vanara.Collections.IEnumFromCom<T>Creates an enumerable class from a get next method in the form of HRESULT Next(uint, TItem[], out uint) and a reset method. Useful if a class doesn't support System.Collections.IEnumerable or System.Collections.Generic.IEnumerable like some COM objects.
Vanara.Collections.IEnumFromIndexer<T>Creates an enumerable class from a counter and an indexer. Useful if a class doesn't support System.Collections.IEnumerable or System.Collections.Generic.IEnumerable like some COM objects.
Vanara.Collections.IEnumFromNext<T>Creates an enumerable class from a get next method and a reset method. Useful if a class doesn't support System.Collections.IEnumerable or System.Collections.Generic.IEnumerable like some COM objects.
Vanara.PInvoke.IgnoreAttributeAttribute to indicate that a field or parameter should be ignored when generating code.
Vanara.PInvoke.FunctionHelper.IidFuncDelegate for functions that use an IID to retrieve an object.
Vanara.PInvoke.FunctionHelper.IidFunc<T>Delegate for functions that use an IID to retrieve an object.
Vanara.PInvoke.FunctionHelper.IidFunc1<T>Delegate for functions that use an IID to retrieve an object.
Vanara.PInvoke.FunctionHelper.IidFunc1<T>Delegate for functions that use an IID to retrieve an object.
Vanara.PInvoke.FunctionHelper.IidFunc2<T>Delegate for functions that use an IID to retrieve an object.
Vanara.PInvoke.FunctionHelper.IidFunc2<T>Delegate for functions that use an IID to retrieve an object.
Vanara.Windows.Shell.IndirectResourceWraps a resource reference used by some Shell classes.
Vanara.Windows.Shell.IndirectStringWraps a string resource reference used by some Shell classes.
Vanara.Extensions.InteropExtensionsExtension methods for System.Runtime.InteropServices.
Vanara.InteropServices.IntPtrConverterFunctions to safely convert a memory pointer to a type.
Vanara.Extensions.IOExtensionsExtensions for classes in System.IO.
Vanara.PInvoke.LibHolds string values for all used external API libraries.
Vanara.InteropServices.LibHelperGeneral functions to support library calls.
Vanara.LinqHelpersHelper methods for LINQ
Vanara.Collections.EventedList<T>.ListChangedEventArgs<T>An System.EventArgs structure passed to events generated by an Vanara.Collections.EventedList.
Vanara.PInvoke.LOGPALETTEThe LOGPALETTE structure defines a logical palette.
Vanara.PInvoke.MacrosPlatform invokable enumerated types, constants and functions from windows.h
Vanara.Marshaler.MarshaledAlternativeAttributeIndicates that a struct has an alternative type that can be used for marshaling purposes.
Vanara.Marshaler.MarshaledAttributeAttribute that can be applied to classes and structures to indicate that they support custom marshaling.
Vanara.Marshaler.MarshalerContains static methods for marshaling objects.
Vanara.Marshaler.MarshalerOptionsGeneral options for marshaling.
Vanara.Marshaler.MarshalExceptionBase exception for marshaling errors.
Vanara.Marshaler.MarshalFieldAsA set of attributes to facilitate custom marshaling.
Vanara.InteropServices.MarshalHelperProvides helper methods for marshaling data between native memory and managed objects using custom marshallers.
Vanara.InteropServices.MarshalingStreamA System.IO.Stream derivative for working with unmanaged memory.
Vanara.MatrixRepresents a two-dimensional matrix of any size.
Vanara.Matrix<T>Represents a two-dimensional matrix of any size.
Vanara.InteropServices.MemoryMethodsBaseImplementation of Vanara.InteropServices.IMemoryMethods using just the methods from Vanara.InteropServices.ISimpleMemoryMethods.
Vanara.PInvoke.Collections.NativeMemoryEnumerator<T>Provides a generic enumerator over native memory.
Vanara.InteropServices.NativeMemoryStreamA System.IO.Stream derivative for working with unmanaged memory.
Vanara.InteropServices.NullTermStringArrayMarshalerMarshals an array of strings to a concatenated list of strings with an extra NULL terminator.
Vanara.PInvoke.OverlappedAsyncHelper methods to work with asynchronous methods using System.Threading.NativeOverlapped.
Vanara.PInvoke.OverlappedAsync.OverlappedAsyncResultHolds all pertinent information for handling results and errors in an overlapped set of method calls.
System.Runtime.CompilerServices.OverloadResolutionPriorityAttributeSpecifies the priority of a member in overload resolution. When unspecified, the default priority is 0.
Vanara.PInvoke.PFILETIMERepresents a pointer to a System.Runtime.InteropServices.ComTypes.FILETIME structure which holds the number of 100-nanosecond intervals since January 1, 1601. This structure is a 64-bit value.
Vanara.InteropServices.PinnedObjectA safe class that represents an object that is pinned in memory.
Vanara.Extensions.PInvokeClientExtensionsExtension methods for Vanara.PInvoke.PInvokeClient.
Vanara.PInvoke.PInvokeDataAttributeCaptures information about P/Invoke calls.
Vanara.PInvoke.PointerDefAttributeSpecifies metadata for pointer definitions used in interop scenarios, enabling customization of marshaling and memory management between managed and unmanaged code.
Vanara.PInvoke.PRECTDefines the coordinates of the upper-left and lower-right corners of a rectangle.
Vanara.PInvoke.PSYSTEMTIMESpecifies a date and time, using individual members for the month, day, year, weekday, hour, minute, second, and millisecond. The time is either in coordinated universal time (UTC) or local time, depending on the function that is being called.
Vanara.PInvoke.FunctionHelper.PtrFunc<T>Delegate to get the size of memory allocated to a pointer.
Vanara.PInvoke.FunctionHelper.PtrFunc<T>Delegate to get the size of memory allocated to a pointer.
Vanara.Extensions.ReflectionExtensionsExtensions related to System.Reflection
Vanara.Extensions.Reflection.ReflectionExtensionsExtensions for System.Object related to System.Reflection
Vanara.Extensions.RegistryTypeExtExtension methods for registry types.
Vanara.InteropServices.SafeAllocatedMemoryHandleAbstract base class for all SafeHandle derivatives that encapsulate handling unmanaged memory.
Vanara.InteropServices.SafeAllocatedMemoryHandleBaseAbstract base class for all SafeHandle derivatives that encapsulate handling unmanaged memory. This class assumes read-only memory.
Vanara.InteropServices.SafeAnysizeStruct<T>For structures with a single array as the last field that are intended to be variable length, this class manages the structure and automatically marshals the correct structure to memory.
Vanara.InteropServices.SafeAnysizeStructBase<T>For structures with a single array as the last field that are intended to be variable length, this class manages the structure and automatically marshals the correct structure to memory.
Vanara.InteropServices.SafeAnysizeStructMarshaler<T>A marshaler implementation of Vanara.InteropServices.IVanaraMarshaler to set the marshaler as an attribute using Vanara.InteropServices.SafeAnysizeStruct. Use the cookie paramter of Vanara.InteropServices.SafeAnysizeStructMarshaler.#ctor(System.String) to specify the name of the field in that specifies the number of elements in the last field of .
Vanara.InteropServices.SafeByteArrayAn safe unmanaged array of bytes allocated on the global heap.
Vanara.InteropServices.SafeCoTaskMemHandleA System.Runtime.InteropServices.SafeHandle for memory allocated via COM.
Vanara.InteropServices.SafeCoTaskMemStringSafely handles an unmanaged memory allocated Unicode string.
Vanara.InteropServices.SafeCoTaskMemStruct<T>A structure handler based on unmanaged memory allocated by AllocCoTaskMem.
Vanara.InteropServices.SafeElementArray<T>A safe unmanaged array of structures allocated on the global heap with a prefix type (usually a uint or int) that determines the count of elements.
Vanara.InteropServices.SafeGuidPtr

Represents a GUID point, or REFGUID, that will automatically dispose the memory to which it points at the end of scope.

You must use the Vanara.InteropServices.SafeGuidPtr.Null value, or the parameter-less constructor to pass the equivalent of .
Vanara.PInvoke.SafeHANDLEBase class for all native handles.
Vanara.InteropServices.SafeHGlobalHandleA System.Runtime.InteropServices.SafeHandle for memory allocated via LocalAlloc.
Vanara.InteropServices.SafeHGlobalStruct<T>A structure handler based on unmanaged memory allocated by AllocHGlobal.
Vanara.InteropServices.SafeLPSTRClass that represents a LPSTR with allocated memory behind it.
Vanara.InteropServices.SafeLPTSTRClass that represents a LPTSTR with allocated memory behind it.
Vanara.InteropServices.SafeLPWSTRClass that represents a LPWSTR with allocated memory behind it.
Vanara.InteropServices.SafeMemoryHandle<T>Abstract base class for all SafeAllocatedMemoryHandle derivatives that apply a specific memory handling routine set.
Vanara.InteropServices.SafeMemoryHandleExt<T>A System.Runtime.InteropServices.SafeHandle for memory allocated via COM.
Vanara.InteropServices.SafeMemoryPool<T>A memory pool that will automatically release all memory pointers on disposal.
Vanara.InteropServices.SafeMemString<T>Base abstract class for a string handler based on Vanara.InteropServices.SafeMemoryHandle.
Vanara.InteropServices.SafeMemStruct<T>Base abstract class for a structure handler based on Vanara.InteropServices.SafeMemoryHandle.
Vanara.InteropServices.SafeNativeArray<T>A safe unmanaged array of structures allocated on the global heap. Array size determined by allocated memory size divided by size of structure.
Vanara.InteropServices.SafeNativeArrayBase<T>A safe unmanaged array of structures. Array size determined by size of structure.
Vanara.InteropServices.SafeNativeLinkedList<T>A safe unmanaged linked list of structures allocated on the global heap.
Vanara.InteropServices.SafeNativeListBase<T>An abstract base class for a safe, unmanaged list of structures allocated by a memory scheme.
Vanara.PInvoke.SafeResourceIdRepresents a system resource name that can identify as a string, integer, or pointer.
Vanara.PInvoke.FunctionHelper.SBFunc<T>Delegate that takes and StringBuilder and initial size and returns a result.
Vanara.PInvoke.FunctionHelper.SBFunc<T>Delegate that takes and StringBuilder and initial size and returns a result.
Vanara.PInvoke.FunctionHelper.SBFunc<T>Delegate that takes and StringBuilder and initial size and returns a result.
Vanara.PInvoke.SECURITY_ATTRIBUTESThe SECURITY_ATTRIBUTES structure contains the security descriptor for an object and specifies whether the handle retrieved by specifying this structure is inheritable. This structure provides security settings for objects created by various functions, such as CreateFile, CreatePipe, CreateProcess, RegCreateKeyEx, or RegSaveKeyEx.
Vanara.PInvoke.SizeDefAttributeThis attribute does not yet have an implemented generator.
Vanara.PInvoke.SizeFieldNameAttributeExtExtension methods for Vanara.PInvoke.SizeDefAttribute to get the size of an array pointer within a structure via attribute.
Vanara.PInvoke.FunctionHelper.SizeFunc<T>Gets a size and returns an error.
Vanara.PInvoke.FunctionHelper.SizeFunc<T>Gets a size and returns an error.
Vanara.Marshaler.MarshalFieldAs.SizeOfAttributeAttribute that can be applied to fields in a structure or class to indicate that the field should be initialized with the native size of the parent structure or class or that indicates the size of the native structure or class on retrieval.
Vanara.Matrix.SpanActionA delegate that acts on a System.Span to set the values of the matrix.
Vanara.Collections.SparseArray<T>A sparse array based on a dictionary.
Vanara.PInvoke.StaticFieldValueHashGets a static field's name from its value and caches the list for faster lookups.
Vanara.Extensions.StringHelperA safe class that represents an object that is pinned in memory.
Vanara.InteropServices.StringPtrArrayMarshalerMarshals an array of strings to an array of pointers to strings with a NULL pointer at the end of the array.
Vanara.PInvoke.StructHelperHelper methods for structures.
Vanara.PInvoke.StructPointerHelper methods for Vanara.PInvoke.StructPointer.
Vanara.PInvoke.StructPointerAttributeSpecifies that a parameter is a pointer to a structure type, enabling control over marshaling behavior between managed and unmanaged code in platform invoke (P/Invoke) scenarios.
Vanara.Marshaler.MarshalFieldAs.StructPtrAttributeAttribute that can be applied to fields in a structure or class to indicate that the field is a pointer to a structure.
Vanara.PInvoke.SuppressAutoGenAttributeAn attribute that can be applied to a code element to suppress the automatic generation of P/Invoke methods for that element.
Vanara.Collections.VirtualReadOnlyList<T>.TryGetDelegateDelegate for a method that tries to get the element at the specified index.
Vanara.Collections.TryGetNext<T>Delegate that gets the next value in an enumeration and returns true or returns false to indicate there are no more items in the enumeration.
Vanara.Collections.TryGetNext<T>Delegate that gets the next value in an enumeration and returns true or returns false to indicate there are no more items in the enumeration.
Vanara.Collections.GenericVirtualReadOnlyDictionary<T>.TryGetValueDelegateDelegate for the implementation of the Vanara.Collections.GenericVirtualReadOnlyDictionary.TryGetValue(,@) method.
Vanara.PInvoke.TypeDefAttributeAn attribute that can be applied to a partial struct to generate a body that mimics .
Vanara.InteropServices.UnionHelperMethods for working with unions in unmanaged structures.
Vanara.PInvoke.Collections.UntypedNativeMemoryEnumeratorProvides an enumerator over native memory.
Vanara.InteropServices.VanaraCustomMarshaler<T>Provides an System.Runtime.InteropServices.ICustomMarshaler instance that utilizes an Vanara.InteropServices.IVanaraMarshaler implementation.
Vanara.InteropServices.VanaraMarshalerProvides methods to assist with custom marshaling.
Vanara.InteropServices.VanaraMarshalerAttributeApply this attribute to a class or structure to have all Vanara interop function process via the marshaler.
Vanara.Collections.VirtualDictionary<T>A generic base class for providing a dictionary that gets and sets its values using virtual method calls. Useful for exposing lookups into existing list environments like the file system, registry, service controller, etc.
Vanara.Collections.VirtualList<T>A virtual list that implements a lot of the scaffolding.
Vanara.Collections.VirtualListMethodCarrier<T>Wrapper for Vanara.Collections.IVirtualListMethods that allows for the use of delegates instead of implementing the interface.
Vanara.Collections.VirtualReadOnlyDictionary<T>A generic base class for providing a read-only dictionary that gets its values using virtual method calls. Useful for exposing lookups into existing list environments like the file system, registry, service controller, etc.
Vanara.Collections.VirtualReadOnlyList<T>A virtual read-only list that implements a lot of the scaffolding.
Vanara.PInvoke.WrapsAttributeSpecifies one or more types that the attributed class is intended to wrap or represent.