Release Notes - 3.1.2
Additions
- Added
SafeAnysizeStruct
to help marshal structures with a 1-element field at the end that can be variable size. Adjusted all structs of this type to use this to marshal along with tests and supported classes. - BREAKING CHANGE: The above forced the removal of
PTOKEN_PRIVILEGES
as that functionality is now in a shared marshaling class. - Added
IMarshalDirective
interface as a means forIntPtrConverter.Convert
to handle odd marshal behavior - Added copy constructor to
SafeMemoryHandle
and consolidated initialization - Added
SafeAllocatedMemoryHandle.TakeOwnership
method to take control of the allocated memory. - Added all codes, enums and many (#67) structures from winioctl.h
- Added all the typelib interfaces from Shell32.dll
- All the CSIDL* and SID_S* constants have been added.
- First pass at adding support for Windows Search to
Vanara.Windows.Shell
- Added
IEnumUnknown
generics implementation - Added a generic IEnumerator implementation
Fixes
- Fixed unterminated string bug in
LSA_UNICODE_STRING.ToString
and implicit operator. - Fixed parameters in
SHCreateShellItemArray
- Fixed marshal parameter on
ICondition::GetSubConditions
- Updated attributes and some parameters in
IShellWindows
- Fixed condition on
IEnumFromCom
where TryGet looped forever. - Fixed bug and docs for Enumerate method
- Fixed condition where
IEnumIDList
is not implemented (#68)