+#if defined( __GNUWIN32__ ) && !defined(wxUSE_NORLANDER_HEADERS)
+bool wxRegKey::GetKeyInfo(size_t* pnSubKeys,
+ size_t* pnMaxKeyLen,
+ size_t* pnValues,
+ size_t* pnMaxValueLen) const
+#else
+bool wxRegKey::GetKeyInfo(ulong *pnSubKeys,
+ ulong *pnMaxKeyLen,
+ ulong *pnValues,
+ ulong *pnMaxValueLen) const
+#endif
+{
+#if defined(__WIN32__) && !defined(__TWIN32__)
+ m_dwLastError = ::RegQueryInfoKey
+ (
+ (HKEY) m_hKey,
+ NULL, // class name
+ NULL, // (ptr to) size of class name buffer
+ RESERVED,
+ pnSubKeys, // [out] number of subkeys
+ pnMaxKeyLen, // [out] max length of a subkey name
+ NULL, // longest subkey class name
+ pnValues, // [out] number of values
+ pnMaxValueLen, // [out] max length of a value name
+ NULL, // longest value data
+ NULL, // security descriptor
+ NULL // time of last modification
+ );
+
+ if ( m_dwLastError != ERROR_SUCCESS ) {
+ wxLogSysError(m_dwLastError, _("can't get info about registry key '%s'"),
+ GetName().c_str());
+ return FALSE;
+ }
+ else
+ return TRUE;
+#else // Win16
+ wxFAIL_MSG("GetKeyInfo() not implemented");
+
+ return FALSE;
+#endif
+}
+