RegOpenKeyEx dando erro 2 ou erro 161, falha nos dois sentidos

Eu estou tentando ler uma chave de registro de um servidor Windows, e não consigo fazer isso funcionar com ou sem barras principais. Se eu tentar:

lError = RegOpenKeyEx(HKEY_LOCAL_MACHINE, "\\SOFTWARE\\Company\\Product\\ServerName", 0, KEY_QUERY_VALUE, &hDomainKey);

Isso me dá o erro 161, que é ERROR_BAD_PATHNAME. (O caminho especificado é inválido.)

Ok, então tente assim:

lError = RegOpenKeyEx(HKEY_LOCAL_MACHINE, "SOFTWARE\\Company\\Product\\ServerName", 0, KEY_QUERY_VALUE, &hDomainKey);

Eu recebo o erro 2, ERROR_FILE_NOT_FOUND. (O sistema não pode encontrar o arquivo especificado.)

Posso abrirregedit e ver o valor que eu quero recuperar, com caminhoMy Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Company\ProductnomeServerNamee digiteREG_SZ. O que estou perdendo aqui?