/* subKey を指定した場合は subkey を含むキー以下を削除 subkey が NULL の場合、カレント の配下を削除 */ BOOL TRegistry::DeleteChildTree(LPSTR subKey) { char buf[100]; BOOL ret = TRUE; if (subKey != NULL && OpenKey(subKey) != TRUE) return FALSE; while (EnumKey(0, buf, sizeof(buf))) { if ((ret = DeleteChildTree(buf)) != TRUE) break; } if (subKey != NULL) { CloseKey(); ret = DeleteKey(subKey) ? ret : FALSE; } else { while (EnumValue(0, buf, sizeof(buf))) { if (DeleteValue(buf) != TRUE) { ret = FALSE; break; } } } return ret; }
virtual bool get(size_t Index, string& Value) override { return m_Key && EnumKey(m_Key.Key(), Index, Value); }