Microsoft has a Common Error Lookup Tool that will translate error codes (including HRESULTs, which is handy) for you. The output for 9009 is:
# for decimal 9009 / hex 0x2331 :
MSG_DIR_BAD_COMMAND_OR_FILE cmdmsg.h
# '%1' is not recognized as an internal or external command,
# operable program or batch file.
SQL_9009_severity_10 sql_err
# Cannot shrink log file %d (%s) because of minimum log space
# required.
DNS_ERROR_RCODE_NOTAUTH winerror.h
# DNS server not authoritative for zone.
# for hex 0x9009 / decimal 36873 :
SSLEVENT_NO_CIPHERS_SUPPORTED lsapmsgs.mc
# No suitable default server credential exists on this
# system. This will prevent
# server applications that expect to make use of the system
# default credentials
# from accepting SSL connections. An example of such an
# application is the directory
# server. Applications that manage their own credentials,
# such as the internet
# information server, are not affected by this.
# 4 matches found for "9009"
...so the one you're looking for is from cmdmsg.h.
It's not really documentation, per se, but it's at least official.