@@ -297,12 +297,15 @@ func NewCallbackCDecl(fn interface{}) uintptr {
297
297
//sys RegNotifyChangeKeyValue(key Handle, watchSubtree bool, notifyFilter uint32, event Handle, asynchronous bool) (regerrno error) = advapi32.RegNotifyChangeKeyValue
298
298
//sys GetCurrentProcessId() (pid uint32) = kernel32.GetCurrentProcessId
299
299
//sys ProcessIdToSessionId(pid uint32, sessionid *uint32) (err error) = kernel32.ProcessIdToSessionId
300
+ //sys ClosePseudoConsole(console Handle) = kernel32.ClosePseudoConsole
301
+ //sys createPseudoConsole(size uint32, in Handle, out Handle, flags uint32, pconsole *Handle) (hr error) = kernel32.CreatePseudoConsole
300
302
//sys GetConsoleMode(console Handle, mode *uint32) (err error) = kernel32.GetConsoleMode
301
303
//sys SetConsoleMode(console Handle, mode uint32) (err error) = kernel32.SetConsoleMode
302
304
//sys GetConsoleScreenBufferInfo(console Handle, info *ConsoleScreenBufferInfo) (err error) = kernel32.GetConsoleScreenBufferInfo
303
305
//sys setConsoleCursorPosition(console Handle, position uint32) (err error) = kernel32.SetConsoleCursorPosition
304
306
//sys WriteConsole(console Handle, buf *uint16, towrite uint32, written *uint32, reserved *byte) (err error) = kernel32.WriteConsoleW
305
307
//sys ReadConsole(console Handle, buf *uint16, toread uint32, read *uint32, inputControl *byte) (err error) = kernel32.ReadConsoleW
308
+ //sys resizePseudoConsole(pconsole Handle, size uint32) (hr error) = kernel32.ResizePseudoConsole
306
309
//sys CreateToolhelp32Snapshot(flags uint32, processId uint32) (handle Handle, err error) [failretval==InvalidHandle] = kernel32.CreateToolhelp32Snapshot
307
310
//sys Module32First(snapshot Handle, moduleEntry *ModuleEntry32) (err error) = kernel32.Module32FirstW
308
311
//sys Module32Next(snapshot Handle, moduleEntry *ModuleEntry32) (err error) = kernel32.Module32NextW
@@ -1813,3 +1816,17 @@ type PSAPI_WORKING_SET_EX_INFORMATION struct {
1813
1816
// A PSAPI_WORKING_SET_EX_BLOCK union that indicates the attributes of the page at VirtualAddress.
1814
1817
VirtualAttributes PSAPI_WORKING_SET_EX_BLOCK
1815
1818
}
1819
+
1820
+ // CreatePseudoConsole creates a windows pseudo console.
1821
+ func CreatePseudoConsole (size Coord , in Handle , out Handle , flags uint32 , pconsole * Handle ) error {
1822
+ // We need this wrapper to manually cast Coord to uint32. The autogenerated wrappers only
1823
+ // accept arguments that can be casted to uintptr, and Coord can't.
1824
+ return createPseudoConsole (* ((* uint32 )(unsafe .Pointer (& size ))), in , out , flags , pconsole )
1825
+ }
1826
+
1827
+ // ResizePseudoConsole resizes the internal buffers of the pseudo console to the width and height specified in `size`.
1828
+ func ResizePseudoConsole (pconsole Handle , size Coord ) error {
1829
+ // We need this wrapper to manually cast Coord to uint32. The autogenerated wrappers only
1830
+ // accept arguments that can be casted to uintptr, and Coord can't.
1831
+ return resizePseudoConsole (pconsole , * ((* uint32 )(unsafe .Pointer (& size ))))
1832
+ }
0 commit comments