Vanara/Core
David Hall a041fc9a67 Fixed incorrect AllocZeros value in HGlobalMemoryMethods 2023-09-07 14:58:46 -06:00
..
BkwdComp Added RequiresUnreferencedCodeAttribute for frameworks other than NET50 and greater. 2022-06-28 16:02:10 -06:00
Collections Exposed VirtualDictionary.Add as virtual method 2022-04-10 22:34:59 -06:00
Extensions Changed ASCII encoder to UTF8 encoder in string helper classes for broader character support. 2023-01-02 14:38:38 -07:00
InteropServices Fixed incorrect AllocZeros value in HGlobalMemoryMethods 2023-09-07 14:58:46 -06:00
Properties Added missing French resources to Vanara.Core 2020-02-29 15:01:18 -07:00
RunTimeLib Added constants and conversion methods for enums in the C Run-time Library related to files. 2021-06-02 13:08:30 -06:00
BeginEndEventContext.cs Added `BeginEndEventContext` to call delegates on context entry and exit 2021-11-11 17:49:22 -07:00
ByteSizeFormatter.cs Added static Instance field and caused 0's to be trimmed off end of Format response. 2019-05-08 19:02:31 -06:00
CompositeFormatter.cs Added missing XML comments 2018-07-31 07:10:20 -06:00
ISupportIndexer.cs Added interface indicating that a specific indexer is supported. 2023-01-16 12:06:28 -07:00
RefEnumerator.cs Added RefEnumerator.Count, Reset and indexer 2020-11-10 21:36:56 -07:00
Vanara.Core.csproj Updated NuGet packages 2022-09-01 17:48:45 -06:00
pkgreadme.md Updated project files 2023-01-27 19:54:38 -07:00
readme.md Updated project files 2023-01-31 15:32:15 -08:00

readme.md

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

Enumerations

Enum Description Values
Vanara.InteropServices.CorrespondingAction Actions that can be taken with a corresponding type. None, Get, Set, GetSet, Exception
Vanara.RunTimeLib.FileAttributeConstant These 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.RunTimeLib.FileOpConstant The 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_RAW, _O_BINARY, _O_WTEXT, _O_U16TEXT, _O_U8TEXT
Vanara.RunTimeLib.FilePermissionConstant These 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.InteropServices.StringListPackMethod Method used to pack a list of strings into memory. Concatenated, Packed

Structures

Struct Description
Vanara.BOOL Managed instance of the four-byte BOOL type.
Vanara.BOOLEAN Managed instance of the single-byte BOOLEAN type.
Vanara.Extensions.EnumFlagIndexer 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.InteropServices.GuidPtr The GuidPtr structure represents a LPGUID.
Vanara.PInvoke.RefEnumerator Enumerator with zero copy access using ref.
Vanara.PInvoke.SizeT Managed instance of the SIZE_T type.
Vanara.InteropServices.StrPtrAnsi The StrPtr structure represents a LPWSTR.
Vanara.InteropServices.StrPtrAuto The StrPtr structure represents a LPTSTR.
Vanara.InteropServices.StrPtrUni The StrPtr structure represents a LPWSTR.
Vanara.PInvoke.time_t Managed instance of the time_t type.

Interfaces

Interface Description
Vanara.PInvoke.IArrayStruct Interface that identifies a structure containing only a 4-byte size field followed by a pointer to an array of .
Vanara.Collections.IHistory Provides an interface for a history of items.
Vanara.InteropServices.IMemoryMethods Interface to capture unmanaged memory methods.
Vanara.InteropServices.ISafeMemoryHandle Interface for classes that support safe memory pointers.
Vanara.InteropServices.ISimpleMemoryMethods Interface to capture unmanaged simple (alloc/free) memory methods.
Vanara.ISupportIndexer Interface representing a class that holds an indexer.
Vanara.InteropServices.IVanaraMarshaler Smarter custom marshaler.

Classes

Class Description
Vanara.InteropServices.AlignedMemory A memory block aligned on a specific byte boundary.
Vanara.PInvoke.BeginEndEventContext A disposable context for which a delegate is called at entry and exit.
Vanara.Extensions.BitHelper Static methods to help with bit manipulation.
Vanara.ByteSizeFormatter A custom formatter for byte sizes (things like files, network bandwidth, etc.) that will automatically determine the best abbreviation.
Vanara.InteropServices.ComConnectionPoint Helper 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.InteropServices.ComReleaser A safe variable to hold an instance of a COM class that automatically releases the instance on disposal.
Vanara.InteropServices.ComReleaserFactory Factory for creating Vanara.InteropServices.ComReleaser1` objects.
Vanara.InteropServices.ComStream Implements a .NET stream derivation and a COM IStream instance.
Vanara.Extensions.ComTypeExtensions Extensions for types in System.Runtime.InteropServices.ComTypes.
Vanara.RunTimeLib.ConstantConversionExtensions Extension methods for CRT enumerations to convert to .NET enumerations.
Vanara.InteropServices.CorrespondingTypeAttribute Attribute 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.CoTaskMemoryMethods Unmanaged memory methods for COM.
Vanara.Collections.EnumerableEqualityComparer 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.
Vanara.Extensions.EnumExtensions Extensions for enumerated types.
Vanara.Collections.EventedList 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.Extensions.FileTimeExtensions Extensions for System.Runtime.InteropServices.ComTypes.FILETIME.
Vanara.Formatter Base class for expandable formatters.
Vanara.FormatterComposer Extension method to combine formatter instances.
Vanara.InteropServices.GenericSafeHandle A System.Runtime.InteropServices.SafeHandle that takes a delegate in the constructor that closes the supplied handle.
Vanara.Collections.GenericVirtualReadOnlyDictionary A generic class that creates a read-only dictionary from a list and getter function.
Vanara.Extensions.HexDempHelpers Extension to dump a byte array.
Vanara.InteropServices.HGlobalMemoryMethods Unmanaged memory methods for HGlobal.
Vanara.Collections.History Provides a history of items that lives efficiently in memory and whose size can change easily.
Vanara.PInvoke.IArrayStructExtensions Extension methods for Vanara.PInvoke.IArrayStruct1`.
Vanara.PInvoke.IArrayStructMarshaler Allows marshaling of arrays in place of a structure supporting Vanara.PInvoke.IArrayStruct1`.
Vanara.Extensions.InteropExtensions Extension methods for System.Runtime.InteropServices.
Vanara.InteropServices.IntPtrConverter Functions to safely convert a memory pointer to a type.
Vanara.Extensions.IOExtensions Extensions for classes in System.IO.
Vanara.InteropServices.LibHelper General functions to support library calls.
Vanara.Collections.EventedList.ListChangedEventArgs An System.EventArgs structure passed to events generated by an Vanara.Collections.EventedList1`.
Vanara.InteropServices.MarshalingStream A System.IO.Stream derivative for working with unmanaged memory.
Vanara.InteropServices.MemoryMethodsBase Implementation of Vanara.InteropServices.IMemoryMethods using just the methods from Vanara.InteropServices.ISimpleMemoryMethods.
Vanara.PInvoke.Collections.NativeMemoryEnumerator Provides a generic enumerator over native memory.
Vanara.InteropServices.NativeMemoryStream A System.IO.Stream derivative for working with unmanaged memory.
Vanara.InteropServices.PinnedObject A safe class that represents an object that is pinned in memory.
Vanara.Extensions.ReflectionExtensions Extensions related to System.Reflection
Vanara.Extensions.Reflection.ReflectionExtensions Extensions for System.Object related to System.Reflection
System.Diagnostics.CodeAnalysis.RequiresUnreferencedCodeAttribute Indicates that the specified method requires dynamic access to code that is not referenced statically, for example, through System.Reflection.
Vanara.InteropServices.SafeAllocatedMemoryHandle Abstract base class for all SafeHandle derivatives that encapsulate handling unmanaged memory.
Vanara.InteropServices.SafeAllocatedMemoryHandleBase Abstract base class for all SafeHandle derivatives that encapsulate handling unmanaged memory. This class assumes read-only memory.
Vanara.InteropServices.SafeByteArray An safe unmanaged array of bytes allocated on the global heap.
Vanara.InteropServices.SafeCoTaskMemHandle A System.Runtime.InteropServices.SafeHandle for memory allocated via COM.
Vanara.InteropServices.SafeCoTaskMemString Safely handles an unmanaged memory allocated Unicode string.
Vanara.InteropServices.SafeCoTaskMemStruct A structure handler based on unmanaged memory allocated by AllocCoTaskMem.
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.InteropServices.SafeHGlobalHandle A System.Runtime.InteropServices.SafeHandle for memory allocated via LocalAlloc.
Vanara.InteropServices.SafeHGlobalStruct A structure handler based on unmanaged memory allocated by AllocHGlobal.
Vanara.InteropServices.SafeLPSTR Class that reprents a LPSTR with allocated memory behind it.
Vanara.InteropServices.SafeLPTSTR Class that reprents a LPTSTR with allocated memory behind it.
Vanara.InteropServices.SafeLPWSTR Class that reprents a LPWSTR with allocated memory behind it.
Vanara.InteropServices.SafeMemoryHandle Abstract base class for all SafeAllocatedMemoryHandle derivatives that apply a specific memory handling routine set.
Vanara.InteropServices.SafeMemoryHandleExt A System.Runtime.InteropServices.SafeHandle for memory allocated via COM.
Vanara.InteropServices.SafeMemoryPool A memory pool that will automatically release all memory pointers on disposal.
Vanara.InteropServices.SafeMemString Base abstract class for a string handler based on Vanara.InteropServices.SafeMemoryHandle1`.
Vanara.InteropServices.SafeMemStruct Base abstract class for a structure handler based on Vanara.InteropServices.SafeMemoryHandle1`.
Vanara.Collections.SparseArray A sparse array based on a dictionary.
Vanara.Extensions.StringHelper A safe class that represents an object that is pinned in memory.
Vanara.Collections.GenericVirtualReadOnlyDictionary.TryGetValueDelegate Delegate for the implementation of the Vanara.Collections.GenericVirtualReadOnlyDictionary2.TryGetValue(0,1@)` method.
Vanara.PInvoke.Collections.UntypedNativeMemoryEnumerator Provides an enumerator over native memory.
Vanara.InteropServices.VanaraCustomMarshaler Provides an System.Runtime.InteropServices.ICustomMarshaler instance that utilizes an Vanara.InteropServices.IVanaraMarshaler implementation.
Vanara.InteropServices.VanaraMarshaler Provides methods to assist with custom marshaling.
Vanara.InteropServices.VanaraMarshalerAttribute Apply this attribute to a class or structure to have all Vanara interop function process via the marshaler.
Vanara.Collections.VirtualDictionary 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.VirtualReadOnlyDictionary 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.