f 0 KEY_ALL_ACCESS f create-key* drop ;
: close-key ( hkey -- )
- RegCloseKey dup ERROR_SUCCESS = [
- drop
- ] [
- n>win32-error-string throw
- ] if ;
+ RegCloseKey n>win32-error-check ;
:: with-open-registry-key ( key subkey mode quot -- )
key subkey mode open-key :> hkey
key value-name ptr1 lpType buffer
grow-buffer reg-query-value-ex
] [
- ret n>win32-error-string throw
+ ret throw-windows-error
] if
] if ;