Я хочу использовать этот скрипт в качестве ресурса для записи так же, как в Go для Windows, используя Windows API (менеджер сброса)
Пока мой код
Rstrtmgr, _ := syscall.LoadLibrary("Rstrtmgr.dll")
RmStartSession, _ := syscall.GetProcAddress(Rstrtmgr, "RmStartSession")
RmRegisterResources, _ := syscall.GetProcAddress(Rstrtmgr, "RmRegisterResources")
var dwSession uint32 = 0x0
var szSessionKey string
ret, _, callErr := syscall.Syscall9(RmStartSession,
3,
uintptr(unsafe.Pointer(&dwSession)),
uintptr(0x0),
uintptr(unsafe.Pointer(syscall.StringToUTF16Ptr(szSessionKey))),
0,
0,
0,
0,
0,
0)
// code crash here
ret, _, callErr = syscall.Syscall9(RmRegisterResources,
7,
uintptr(dwSession),
uintptr(1),
uintptr(unsafe.Pointer(syscall.StringToUTF16Ptr(szPath))),
uintptr(0),
uintptr(unsafe.Pointer(nil)),
uintptr(0),
uintptr(unsafe.Pointer(nil)),
0,
0)
_ = ret
_ = callErr
но это сбой в RmRegisterResources.
моя цель - получить PID этого процесса, заблокировать мой файл по пути