Skip to content

Releases: Septh/libwin32

v0.11.0

21 Aug 06:19

Choose a tag to compare

Breaking changes

  • refactor(user32): rework BroadcastSystemMessage[Ex]() 1d3aa16
  • refactor(user32): rework WNDCLASS[EX] registration f6fc2e4
  • fix(kernel32): CloseHandle() returns a boolean 4413a39

New features

  • feat(advapi32): add LsaQueryInformationPolicy() and LsaQuery<XXX>InformationPolicy() stubs 651fb1f
  • feat(advapi32): add LsaLookupNames2() and LsaFreeMemory() 6618b78
  • feat(advapi32): add LsaEnumerateAccountRights() 22c2d4f
  • feat(advapi32): mark unused TOKEN_INFORMATION_CLASS values 71f446c
  • feat(demos): rename old token demo to sid.ts and add real GetTokenInformation() demo 611e8a6
  • feat(consts): extend ACCESS_MASK_ enum e334512

Fixes

  • fix(advapi32): disambiguate GetTokenInformation() overloads e83a847
  • fix(advapi32): move OpenProcessToken() to token.ts 63eec58
  • fix(advapi32): use readUInt32LE() in GetTokenSessionIdInformation() 2ecbf0d
  • fix(advapi32): fix AdjustTokenPrivilege() native prototype and return value 07c7589
  • fix(advapi32): remove unused import ae00c0b

Perfs

  • refactor(user32): better handling of WNDPROC callback registration f9e2a23
  • perf(advapi32): simplify functions 0d46ea9
  • perf(advapi32): use a constant for DWORD_LENGTH c88cb64
  • perf(libs): use new flexible & dynamic arrays feature from Koffi 2.14.0 0d785db
  • perf(advapi32): optimize function returns 4674f7c
  • perf(ctypes): predefine most used pointer types 81b3966

Other

  • docs: update README 6cd77b8
  • docs(advapi32): rephrase JSDoc for LsaLookupNames2() 52b88a2
  • build: update npm 'clean' script b55f5e3
  • refactor(advapi32): move token information functions to their own file 5a9b1d2
  • docs(advapi32): typo in JSDoc 60cb5bb
  • docs(consts): add link to TOKEN_INFORMATION_CLASS doc 493d48c
  • docs(demos): explain GetTokenGroupsInformation() and FreeSid() ba04329
  • chore: update to koffi 2.14 0c67981
  • style(all): cosmetic edits and formatting 9cb44a1
  • refactor(internals): remove Win32Dll class since we don't expose libs any more 7e6e3a4

v0.10.0...v0.11.0

v0.10.0

16 Aug 03:43

Choose a tag to compare

  • fix(demos): embrace new GetTokenInformation() signature e876a3b
  • docs: update READMEs 8e1b99d
  • chore: VS Code stuff d22acf0
  • feat(advapi32): add IsWellKnownSid() dec8351
  • feat(advapi32): add CreateWellKnownSid() 0dd10e7
  • feat(advapi32): add CopySid() 8442a95
  • feat(advapi32): add GetLengthSid() efead28
  • fix(internals): fix string output buffer decoding ea33d96
  • refactor(advapi32): simplify signature of AllocateAndInitializeSid d207097
  • fix(consts): rename TOKEN_TYPE enumeration c3c0b1e
  • perf(advapi32): optimize token information structures decoding 3dc9bfd
  • fix(structs): TokenAppContainer pointer can be null at times ada1cf7
  • style(structs): move SID definition closer to SID_AND_ATTRIBUTES 56c2124
  • feat(structs): add some useful constants 267c7f0
  • refactor(structs): don't use a class for CLAIM_SECURITY_ATTRIBUTES_INFORMATION 620d34e
  • docs(consts): add MS doc url a235615
  • feat(consts): add INSUFFICIENT_BUFFER to ERROR_ enum bdf59a1
  • feat(structs): use dynamic arrays wherever possible b990070
  • fix(structs): mark possibly null pointers 05a6c0e
  • perf(advapi32): use internal const enum for TokenInformationClass and per-class buffer length 722c38f
  • feat(structs): export ACL_REVISION and ACL_REVISION_DS 1043c73
  • refactor(structs): import consts as type 9b90da9
  • refactor(private): simplify internal StringOutputBuffer 8a610ff
  • feat(advapi32): undeprecate GetTokenInformation() f41bfbe
  • fix(advapi32): fix all token information related functions 7a09f9f
  • fix(consts): add missing ending underscore to SEE_MASK_ db2fd3e
  • misc: vscode stuff 1992e5f
  • refactor(user32): split large library into smaller files 31f3595
  • docs(advapi32): add JSDoc to RegGetValue() 5f41490
  • fix(consts): remove incorrect const keyword 1fa1280
  • build: update npm scripts cbe2b58
  • fix(psapi): add mission PURE declaration fc72881
  • fix(user32): clear lpfnWndProc when WNDCLASS(EX) has no classname a45f2be

v0.9.0...v0.10.0

v0.9.0

13 Aug 09:38

Choose a tag to compare

  • feat(demos): extend process example e8a30e0
  • feat(structs): make all classes zero-fill themselves bfe8cd6
  • feat(user32): automatically call koffi.unregister(wndproc) when unregistering a WNDCLASS(EX) 75a4c07
  • perf(user32): simplify functions 4ea0327
  • perf(secur32): simplify functions 81cc029
  • perf(psapi): simplify functions 538394a
  • fix(ole32): remove unused imports 25b97f0
  • perf(kernel32): simplify functions 4c043d4
  • fix(ctypes): remove unused CUnion type 2aa2982
  • fix(libs): add missing exports 875d829
  • perf(advapi32): simplify functions 4da14b5
  • refactor(advapi32): reintegrate freeSid() inside AllocateAndInitializeSid() d460921
  • perf(advapi32): simplify functions a7fc609
  • feat(advapi32): finish RegSetKeyValue() and RegSetValueEx() b1b9dfa
  • fix(advapi32): remove unnecessary assertions in RegGetValue() 04e1b9a
  • fix(advapi32): make RegGetValue() return a copy of the internal buffer when reading REG_BINARY values b4b69c1
  • feat(advapi32): turn SID into a class 33f4464
  • fix(advapi32): LSTATUS is a synonym for ERROR_ 2889958
  • docs: typo in comment b54f7e0
  • fix(advapi32): use STATUS_SUCCESS for functions that returns a NTSTATUS 06f191f
  • fix: add missing stripInternal flag in tsconfig 5889fc1
  • fix(advapi32): use HTOKEN instead of generic HANDLE in function prototypes da90017
  • refactor(all): various tweaks 8cbb209
  • feat(shell32): add ShellExecuteEx() 53daba6
  • feat(kernel32): add GetExitCodeProcess() 1536b91
  • feat(kernel32): add WaitForSingleObject() df025d2
  • feat(ole32): add CoInitializeEx() e17b032
  • feat(shell32): add ShellExecuteEx eef845e
  • feat(advapi32): make subAuthorityN parameters optional in AllocateAndInitializeSid() d5e465b
  • feat(advapi32): add CheckTokenMembership() ac60a23
  • style(libs): remove useless PURE annotation 93103f0
  • refactor(user32)!: BroadcastSystemMessage() and BroadcastSystemMessageEx() ae34432
  • refactor(advapi32): split large library into smaller files 6143f95
  • deprecate(advapi32): deprecate GetTokenInformation() and TOKEN_INFORMATION_CLASS a1ef80d
  • feat(advapi32): split GetTokenInformation() in GetToken<xxx>Information() stubs d466008

v0.8.3...v0.9.0

v0.8.3

11 Aug 14:54

Choose a tag to compare

  • build: update @node/types fefb76c
  • fix(advapi32): remove local decodeSid() in GetTokenInformation() 79816ee
  • fix(advapi32): use Array.from() in decodeSid() 5abddc5
  • fix(user32): avoid regression in Koffi 2.13.0 with unnamed proto() types 7066b54
  • fix(libs): don't reexport koffi 31f24c9
  • style(advapi32): clean decodeSid() bb03d98
  • style(advapi32): clarify AdjustTokenPrivileges() d6964e4
  • feat(psapi): add GetProcessMemoryInfo() 1107271
  • feat(kernel32): add GetHandleInformation() 9389f1d
  • build: adjust tsconfigs 9fd368a
  • feat(advapi32): add PrivilegeCheck() dc85793
  • feat(advapi32): add AdjustTokenPrivileges() 37d25bb
  • feat(kernel32): add GetCurrentProcessId() a919dcd
  • feat(advapi32): decode claim attributes in GetTokenInformation() e849889

v0.8.2...v0.8.3

v0.8.2

09 Aug 14:59

Choose a tag to compare

  • feat(user32): add EnumDesktopWindows() d314907
  • feat(user32): add MessageBox() return values constants (IDxxx) 4adb86d
  • refactor(user32): move WNDPROC types to user32.ts e7e9c83
  • docs: fix typos 11304a1
  • perf(advapi32): enhance SID decoding 63c169c
  • perf(ctypes): use anonymous types everywhere 67ce134
  • refactor(consts): export all SID_IDENTIFIER_AUTHORITY values as consts ffb2f96
  • build(chore): update to koffi-cream 2.14.0; update other dev dependencies cff4f1e
  • fix(chore): remove unnecessary koffi-cream augmentation in ambient.d.ts 877ab69
  • fix(rollup-plugin): add missing quantifier in regex a1b34e1
  • build(chore): update to koffi-cream 2.12.3 23fc4ff
  • fix(advapi32): make GetTokenInformation throw on TokenUserClaimAttributes and TokenDeviceClaimAttributes queries 641aae6
  • style(advapi32): rephrase comments (again) 99160fe

v0.8.1...v0.8.2

v0.8.1

26 Jul 01:51

Choose a tag to compare

  • fix(build): filter out tsconfig.json 31cc76e
  • feat(advapi32): add RegCopyTree b93470e
  • feat(advapi32): add LookupPrivilegeValue f7e53c1
  • feat(advapi32): add LookupPrivilegeName 7d8b78e
  • feat(advapi32): add LookupAccountSidLocal 8c3a75b
  • feat(advapi32): add LookupAccountName c2150c2
  • refactor(advapi32,kernel32): enhance sid handling 7d1440c
  • style(advapi32): rephrase comments 253a3d5
  • feat(libs): add CUnion type 9e8a419
  • refactor(repo): use project references 6a1189a
  • Merge branch 'next' d2fd426
  • fix(ctypes): don't expose ctypes 3168963
  • style(libs): style edits 069ad5e
  • refactor(consts): sort const alphabetically 09c6247
  • fix(demos): fix registry demo f12ca75

v0.8.0...v0.8.1

v0.8.0

24 Jul 15:06

Choose a tag to compare

  • fix(advapi32): fix RegEnumValue parameters types a62b7d1
  • feat(advapi32): add sid to string and string to sid conversion functions 416a5ca
  • feat(libs): use Buffer.allocUnsafe() for StringOutputBuffer d4032c1
  • feat(consts): add security authority constants 3cf1257
  • feat(advapi32): add more registry functions df4b404
  • Update dependencies 9467d43
  • feat(advapi32): add registry functions 1f0381e
  • refactor(libs)!: finish refactoring df06289
  • build(ts): update tsconfig to module node18 4e837f5
  • build(deps): update all dev deps to their latest version da1d3e1
  • refactor(libs): add sanity test on internal library reference 8b10934

v0.7.0...v0.8.0

v0.7.0

27 May 14:52

Choose a tag to compare

Breaking changes

  • feat(advapi32)!: make GetTokenInformation() return useful objects instead of an anonymous pointer 402ad9d
  • refactor(user32)!: redesign signature of PeekMessage() 7d3c338
  • refactor(user32)!: redesign signature of GetWindowThreadProcessId() 1785862
  • refactor(user32)!: redesign signature of GetMessage() 2b9c4bf
  • refactor(user32)!: redesign signature of GetCursorPos() 54cf117
  • refactor(user32)!: redesign signature of GetClassInfo()/GetClassInfoEx() 99b7054
  • refactor(user32)!: redesign signature of BroadcastSystemMessage()/BroadcastSystemMessageEx() 11dcfab

New features

  • feat(user32): add MessageBoxEx() 1b28653
  • feat(user32): add AdjustWindowRectExForDpi() 390a3de
  • feat(demos): add gettokeninformation demo cb622f6
  • feat(advapi32): add AllocateAndInitializeSid()/FreeSid() 34f5d91
  • feat(advapi32): add EqualSid() 5ed286b
  • feat(advapi32): add SE_GROUP_xxx consts 960f38e

Fixes

  • fix(rollup): make plugin-enum work with the new layout 2ce7523
  • fix(advapi32): use a fixed size array for SID.SubAuthority 0d575a2
  • fix(advapi32)!: fix DesiredAccess parameter type in OpenProcessToken() signature 7af8d24
  • fix(chore): add missing pure annotation 19cb08b

Misc

  • docs: update README 04a0cd2
  • style(user32): minor tweaks 4350ee7
  • refactor(advapi32): remove unused imports 5f0384a
  • chore(build): fine tune tsconfigs a8ba4fa
  • refactor(advapi32): have AllocateAndInitializeSid() immediately free the allocated Sid. Make FreeSid() a noop c1bf696
  • docs(advapi32): add missing links to MS docs 716a2dd
  • refactor(libs): consolidate all consts in one file 731abcc
  • refactor(libs): consolidate all structs in one file a8ebd86
  • build(demos): don't use subfolders for bundles output 4bcd043
  • refactor(libs): consolidate source/win32 directory structure to one file per DLL a5fbd45
  • refactor(libs): move structures definitions to their own directory 9ff3e8b
  • refactor(ctypes): simplify and name ctypes b1ecb9e
  • refactor(all): get rid of awkward functions namespaces 3dfc717
  • style(chore): remove extraneous commas 5884cba
  • build(demos): remove the rollup plugin for koffi 9c6e1a9

v0.6.1...v0.7.0

v0.6.1

20 May 15:16

Choose a tag to compare

  • Add .npmrc 1d60209
  • Use koffi-cream instead of Koffi d826c13
  • chore(package): add cpu and os fields to package.json 1932c34

v0.6.0...v0.6.1

v0.6.0

11 Apr 02:28

Choose a tag to compare

  • refactor(all): more code cleanup cf00e92
  • feat(secur32): add GetUserNameEx f6b8998
  • feat(kernel32,advapi32): new functions: token and SID stuff from advapi32; GetComputerName from kernel32. 62d342f
  • feat(perf): use TypedArray.subarray() instead of .slice() 4cff94c
  • feat(kernel32,advapi32): add Beep, LookupAccountSid, GetTokenInformation c9f97d8
  • refactor(all): more code cleanup e8fb79f
  • refactor(all): Implement lazy bindings, providing lower memory usage as well as enhanced code readability 35ba4ff
  • docs: Update docs b4f70ae
  • feat(user32): Add SM and SM enums bc931e8
  • refactor: More code cleanup 09b638c

v0.5.0...v0.6.0