@lordprotector/shutdown-block-reason
Version:
Windows shutdown block reason native addon
38 lines (31 loc) • 686 B
JavaScript
const {endianness} = require("node:os");
const addon = require('bindings')('shutdown-block-reason.node');
function bufferToNumber(buf) {
if (endianness() === 'LE') {
return buf.readInt32LE()
} else {
return buf.readInt32BE()
}
}
/**
* @param {Buffer | number} hwnd
* @param {string} reason
*/
function create(hwnd, reason) {
if (Buffer.isBuffer(hwnd)) {
addon.create(bufferToNumber(hwnd), reason)
return
}
addon.create(hwnd, reason)
}
/**
* @param {Buffer | number} hwnd
*/
function destroy(hwnd) {
if (Buffer.isBuffer(hwnd)) {
addon.destroy(bufferToNumber(hwnd))
return
}
addon.destroy(hwnd)
}
module.exports = { create, destroy };