Release Notes - 3.2.4
Solution layout changes
- Moved much of the individual project file detail to root Directory.Build.* files for consistency. Fixed build errors due to bad or missing project tags. Cleaned up project files.
- Fixed almost all the XML doc and obsolete warnings so to get a clean build
- Fixed AppVeyor build so that it actually would build and now provides a NuGet feed (see README page) with access to early release pacakges.
Additions
- Added
Vanara.PInvoke.DnsApi
and supporting unit test supporting dnsapi.dll. - Added
ISimpleMemoryMethods
(subset ofIMemoryMethods
with just alloc and free) andMemoryMethodsFromSimple<TSimple>
which implements most ofIMemoryMethods
using just the methods fromISimpleMemoryMethods
. - Added
GenericStringMarshalerBase
andGenericStringMarshaler
as custom string marshalers that can be typed against anIMemoryMethods
implementation. The convertedLocalStringMarshaler
andCoTaskMemStringMarshaler
to use that new class. - Introduced base class for
SafeAnysizeStruct
to enable reuse with objects that don't use a single field to determine the length of the array. - Added
GET_X_LPARAM
andGET_Y_LPARAM
toMacros
class and fixedHIWORD
andLOWORD
functions to use unchecked to not lose values. (#114) - Added missing
PROPERTYKEY
constants - Added interface and struct from NotificationActivationCallback.h
- Added
SafeEventHandle
explict IntPtr operator and IntPtr parameter overloads forSetEvent
andResetEvent
. - Added
ObjectIdentifiers
static class with constants used by WinEventProc. (#113)
Fixes
- BREAKING CHANGE: Changed PROPERTYKEY.GetCononicalName to GetCanonicalName (fixed misspelling)
- Fixed bug in
ThumbnailToolbarButtonCollection