[英]Native Windows Function IsTpmReady throws "too many posts were made to a semaphore" error
我正在嘗試從 Windows 中包含的 TpmCoreProvisioning.dll 調用 TpmIsReady 函數。 我沒有注意到代碼有任何明顯的錯誤,但無論如何都會拋出錯誤。
這就是我所擁有的:
package windows
import (
"errors"
"log"
"syscall"
"unsafe"
)
var (
TPMDLL = syscall.NewLazyDLL("TpmCoreProvisioning.dll")
TpmReady = TPMDLL.NewProc("TpmIsReady")
)
func IsTpmReady() (bool, error) {
var enabled byte
ptr := (uintptr)(unsafe.Pointer(&enabled))
_, _, err := TpmReady.Call(ptr)
if errors.Is(err, syscall.Errno(0)) {
return enabled == 1, nil
}
if DEBUG {
log.Printf("IsTpmReady: %v", err)
}
return false, err
}
我使用的東西不正確,還是沒有釋放資源?
如果它仍然不工作......此時我不知道還有什么可以工作......但你可以嘗試在另一台機器上運行它並查看錯誤是否仍然存在。 您可以重置您的機器,但這會很不方便...檢查您是否有任何可能沖突或擴展的程序。 不幸的是,這就是我所能做的一切......希望某些部分有用
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.