golang.org/x/sys/windows/registry(k键)ReadSubKeyNames()返回空片

I'm trying to read a list of registry names under the given key, but i get an empty slice of strings, instead of actual registry data. Anything i'm doing incorrectly here?

Expected result: []string{"ApplicationBase", "RunTimeVersion", ...}

Actual result printed by CMD: "PS Sub Key Names: []"

k, err := registry.OpenKey(registry.LOCAL_MACHINE,`SOFTWARE\Microsoft\PowerShell\1\PowerShellEngine`, registry.QUERY_VALUE|registry.ENUMERATE_SUB_KEYS)

if err != nil {
    log.Fatal(err)
}   

defer k.Close()

sn, err := k.ReadSubKeyNames(-1)

if err != nil {
    log.Fatal(err)
}   

fmt.Printf("PS Sub Key Names: %q
", sn) 

I figured it out - should have used (k Key)ReadValueNames to get keys of values.