What are the valid characters for Registry keys and valuenames?

JCCyC picture JCCyC · Jun 18, 2009 · Viewed 15k times · Source

More specifically, what is the authoritative source for that information?

This may look like a non-programming question, but I need to know whether a registry path fed to my code contains a regular expression or not. I decided the best way to do that is assume that any occurrence of an invalid character (like '*') means a wildcard search.

Answer

Reed Copsey picture Reed Copsey · Jun 18, 2009

For allowable key and value names, see the MSDN page on Structure of the Registry. In particular:

Each key has a name consisting of one or more printable characters. Key names are not case sensitive. Key names cannot include the backslash character (\), but any other printable character can be used. Value names and data can include the backslash character.

Registry value types are explained in detail on MSDN here, in case you need to know the allowable values.