registry.cpp

来自「funambol window mobile客户端源代码」· C++ 代码 · 共 1,075 行 · 第 1/5 页

CPP
1,075
字号
    RegSetValueEx( key, TEXT("port"),   0,
            REG_SZ,  // we currently support only strings
            (UCHAR*)portValue, (wcslen(portValue)+1)*sizeof(WCHAR) );

    RegSetValueEx(key, TEXT("Name"), 0,
            REG_SZ,  // we currently support only strings
            (UCHAR*)nameValue,  (wcslen(nameValue)+1)*sizeof(WCHAR) );

    RegSetValueEx(key, TEXT("DLL"),  0,
            REG_SZ,  // we currently support only strings
            (UCHAR*)DLLValue,(wcslen(DLLValue)+1)*sizeof(WCHAR)  );

    //
    // To create the UserCannotCreate property. Currently not supported
    //
    /*
    RegSetValueEx(
            key,
            TEXT("UserCannotCreate"),
            0,
            REG_DWORD,  // we currently support only strings
            (UCHAR*)TEXT("1"),
            (wcslen(TEXT("1"))+1)*sizeof(wchar_t)
            );
    */
    RegFlushKey(key);

    finally:
    if (key != 0) {
        RegCloseKey(key);
    }
}

/*
* backup sources parameter not present in previous version
*/
bool restoreExtraSources() {
    wchar_t* value = NULL;
    // Contacts
    value = readPropertyValue(getFullReg( TEXT("Software\\%sBkp\\SyncclientPIM\\spds\\sources\\contacts")), TEXT("schedule"));
    setPropertyValue(TEXT("SyncclientPIM\\spds\\sources\\contacts"), TEXT("schedule"),  value                                );
    if (value) { delete [] value; value = NULL; }

    value = readPropertyValue(getFullReg( TEXT("Software\\%sBkp\\SyncclientPIM\\spds\\sources\\contacts")), TEXT("encryption"));
    setPropertyValue(TEXT("SyncclientPIM\\spds\\sources\\contacts"), TEXT("encryption"),  value                                );
    if (value) { delete [] value; value = NULL; }

    value = readPropertyValue(getFullReg( TEXT("Software\\%sBkp\\SyncclientPIM\\spds\\sources\\appointments")), TEXT("schedule"));
    setPropertyValue(TEXT("SyncclientPIM\\spds\\sources\\appointments"), TEXT("schedule"),  value                              );
    if (value) { delete [] value; value = NULL; }

    value = readPropertyValue(getFullReg( TEXT("Software\\%sBkp\\SyncclientPIM\\spds\\sources\\appointments")), TEXT("encryption"));
    setPropertyValue(TEXT("SyncclientPIM\\spds\\sources\\appointments"), TEXT("encryption"),  value                            );
    if (value) { delete [] value; value = NULL; }

    value = readPropertyValue(getFullReg( TEXT("Software\\%sBkp\\SyncclientPIM\\spds\\sources\\tasks")), TEXT("schedule"));
    setPropertyValue(TEXT("SyncclientPIM\\spds\\sources\\tasks"), TEXT("schedule"),  value                              );
    if (value) { delete [] value; value = NULL; }

    value = readPropertyValue(getFullReg( TEXT("Software\\%sBkp\\SyncclientPIM\\spds\\sources\\tasks")), TEXT("encryption"));
    setPropertyValue(TEXT("SyncclientPIM\\spds\\sources\\tasks"), TEXT("encryption"),  value                            );
    if (value) { delete [] value; value = NULL; }

    value = readPropertyValue(getFullReg( TEXT("Software\\%sBkp\\SyncclientPIM\\spds\\sources\\briefcase")), TEXT("schedule"));
    setPropertyValue(TEXT("SyncclientPIM\\spds\\sources\\briefcase"), TEXT("schedule"),  value                              );
    if (value) { delete [] value; value = NULL; }

    value = readPropertyValue(getFullReg( TEXT("Software\\%sBkp\\SyncclientPIM\\spds\\sources\\briefcase")), TEXT("encryption"));
    setPropertyValue(TEXT("SyncclientPIM\\spds\\sources\\briefcase"), TEXT("encryption"),  value                            );
    if (value) { delete [] value; value = NULL; }

    value = readPropertyValue(getFullReg( TEXT("Software\\%sBkp\\SyncclientPIM\\spds\\sources\\notes")), TEXT("schedule"));
    setPropertyValue(TEXT("SyncclientPIM\\spds\\sources\\notes"), TEXT("schedule"),  value                                );
    if (value) { delete [] value; value = NULL; }

    value = readPropertyValue(getFullReg( TEXT("Software\\%sBkp\\SyncclientPIM\\spds\\sources\\notes")), TEXT("encryption"));
    setPropertyValue(TEXT("SyncclientPIM\\spds\\sources\\notes"), TEXT("encryption"),  value                                );
    if (value) { delete [] value; value = NULL; }

    value = readPropertyValue(getFullReg( TEXT("Software\\%sBkp\\SyncclientPIM\\spds\\sources\\mails")), TEXT("schedule"));
    setPropertyValue(TEXT("SyncclientPIM\\spds\\sources\\mails"), TEXT("schedule"),  value                                );
    if (value) { delete [] value; value = NULL; }

    value = readPropertyValue(getFullReg( TEXT("Software\\%sBkp\\SyncclientPIM\\spds\\sources\\mails")), TEXT("encryption"));
    setPropertyValue(TEXT("SyncclientPIM\\spds\\sources\\mails"), TEXT("encryption"),  value                                );
    if (value) { delete [] value; value = NULL; }

    return true;
}

bool restoreSources() {
     wchar_t* value = NULL;
    // Contacts
    value = readPropertyValue(getFullReg( TEXT("Software\\%sBkp\\SyncclientPIM\\spds\\sources\\contacts")), TEXT("sync"));
    setPropertyValue(TEXT("SyncclientPIM\\spds\\sources\\contacts"), TEXT("sync"),  value                                );
    if (value) { delete [] value; value = NULL; }

    value = readPropertyValue(getFullReg( TEXT("Software\\%sBkp\\SyncclientPIM\\spds\\sources\\contacts")), TEXT("last"));
    setPropertyValue(TEXT("SyncclientPIM\\spds\\sources\\contacts"), TEXT("last"),  value                                );
    if (value) { delete [] value; value = NULL; }

    value = readPropertyValue(getFullReg( TEXT("Software\\%sBkp\\SyncclientPIM\\spds\\sources\\contacts")), TEXT("name"));
    setPropertyValue(TEXT("SyncclientPIM\\spds\\sources\\contacts"), TEXT("name"),  value                                );
    if (value) { delete [] value; value = NULL; }

    value = readPropertyValue(getFullReg( TEXT("Software\\%sBkp\\SyncclientPIM\\spds\\sources\\contacts")), TEXT("type"));
    setPropertyValue(TEXT("SyncclientPIM\\spds\\sources\\contacts"), TEXT("type"),  value                                );
    if (value) { delete [] value; value = NULL; }

    value = readPropertyValue(getFullReg( TEXT("Software\\%sBkp\\SyncclientPIM\\spds\\sources\\contacts")), TEXT("syncModes"));
    setPropertyValue(TEXT("SyncclientPIM\\spds\\sources\\contacts"), TEXT("syncModes"),  value                           );
    if (value) { delete [] value; value = NULL; }

    value = readPropertyValue(getFullReg( TEXT("Software\\%sBkp\\SyncclientPIM\\spds\\sources\\contacts")), TEXT("uri"));
    setPropertyValue(TEXT("SyncclientPIM\\spds\\sources\\contacts"), TEXT("uri"),  value                                 );
    if (value) { delete [] value; value = NULL; }

    value = readPropertyValue(getFullReg( TEXT("Software\\%sBkp\\SyncclientPIM\\spds\\sources\\contacts")), TEXT("useSIF"));
    setPropertyValue(TEXT("SyncclientPIM\\spds\\sources\\contacts"), TEXT("useSIF"),  value                              );
    if (value) { delete [] value; value = NULL; }

    value = readPropertyValue(getFullReg( TEXT("Software\\%sBkp\\SyncclientPIM\\spds\\sources\\contacts")), TEXT("encoding"));
    setPropertyValue(TEXT("SyncclientPIM\\spds\\sources\\contacts"), TEXT("encoding"),  value                            );
    if (value) { delete [] value; value = NULL; }

    value = readPropertyValue(getFullReg( TEXT("Software\\%sBkp\\SyncclientPIM\\spds\\sources\\contacts")), TEXT("version"));
    setPropertyValue(TEXT("SyncclientPIM\\spds\\sources\\contacts"), TEXT("version"),  value                            );
    if (value) { delete [] value; value = NULL; }

    value = readPropertyValue(getFullReg( TEXT("Software\\%sBkp\\SyncclientPIM\\spds\\sources\\contacts")), TEXT("supportedTypes"));
    setPropertyValue(TEXT("SyncclientPIM\\spds\\sources\\contacts"), TEXT("supportedTypes"),  value                            );
    if (value) { delete [] value; value = NULL; }


    // Appointment

    value = readPropertyValue(getFullReg( TEXT("Software\\%sBkp\\SyncclientPIM\\spds\\sources\\appointments")), TEXT("sync"));
    setPropertyValue(TEXT("SyncclientPIM\\spds\\sources\\appointments"), TEXT("sync"),  value                                );
    if (value) { delete [] value; value = NULL; }

    value = readPropertyValue(getFullReg( TEXT("Software\\%sBkp\\SyncclientPIM\\spds\\sources\\appointments")), TEXT("last"));
    setPropertyValue(TEXT("SyncclientPIM\\spds\\sources\\appointments"), TEXT("last"),  value                                );
    if (value) { delete [] value; value = NULL; }

    value = readPropertyValue(getFullReg( TEXT("Software\\%sBkp\\SyncclientPIM\\spds\\sources\\appointments")), TEXT("name"));
    setPropertyValue(TEXT("SyncclientPIM\\spds\\sources\\appointments"), TEXT("name"),  value                                );
    if (value) { delete [] value; value = NULL; }

    value = readPropertyValue(getFullReg( TEXT("Software\\%sBkp\\SyncclientPIM\\spds\\sources\\appointments")), TEXT("type"));
    setPropertyValue(TEXT("SyncclientPIM\\spds\\sources\\appointments"), TEXT("type"),  value                                );
    if (value) { delete [] value; value = NULL; }

    value = readPropertyValue(getFullReg( TEXT("Software\\%sBkp\\SyncclientPIM\\spds\\sources\\appointments")), TEXT("syncModes"));
    setPropertyValue(TEXT("SyncclientPIM\\spds\\sources\\appointments"), TEXT("syncModes"),  value                           );
    if (value) { delete [] value; value = NULL; }

    value = readPropertyValue(getFullReg( TEXT("Software\\%sBkp\\SyncclientPIM\\spds\\sources\\appointments")), TEXT("uri"));
    setPropertyValue(TEXT("SyncclientPIM\\spds\\sources\\appointments"), TEXT("uri"),  value                                 );
    if (value) { delete [] value; value = NULL; }

    value = readPropertyValue(getFullReg( TEXT("Software\\%sBkp\\SyncclientPIM\\spds\\sources\\appointments")), TEXT("useSIF"));
    setPropertyValue(TEXT("SyncclientPIM\\spds\\sources\\appointments"), TEXT("useSIF"),  value                              );
    if (value) { delete [] value; value = NULL; }

    value = readPropertyValue(getFullReg( TEXT("Software\\%sBkp\\SyncclientPIM\\spds\\sources\\appointments")), TEXT("encoding"));
    setPropertyValue(TEXT("SyncclientPIM\\spds\\sources\\appointments"), TEXT("encoding"),  value                            );
    if (value) { delete [] value; value = NULL; }

    value = readPropertyValue(getFullReg( TEXT("Software\\%sBkp\\SyncclientPIM\\spds\\sources\\appointments")), TEXT("version"));
    setPropertyValue(TEXT("SyncclientPIM\\spds\\sources\\appointments"), TEXT("version"),  value                            );
    if (value) { delete [] value; value = NULL; }

    value = readPropertyValue(getFullReg( TEXT("Software\\%sBkp\\SyncclientPIM\\spds\\sources\\appointments")), TEXT("supportedTypes"));
    setPropertyValue(TEXT("SyncclientPIM\\spds\\sources\\appointments"), TEXT("supportedTypes"),  value                            );
    if (value) { delete [] value; value = NULL; }

    // Tasks

    value = readPropertyValue(getFullReg( TEXT("Software\\%sBkp\\SyncclientPIM\\spds\\sources\\tasks")), TEXT("sync"));
    setPropertyValue(TEXT("SyncclientPIM\\spds\\sources\\tasks"), TEXT("sync"),  value                                );
    if (value) { delete [] value; value = NULL; }

    value = readPropertyValue(getFullReg( TEXT("Software\\%sBkp\\SyncclientPIM\\spds\\sources\\tasks")), TEXT("last"));
    setPropertyValue(TEXT("SyncclientPIM\\spds\\sources\\tasks"), TEXT("last"),  value                                );
    if (value) { delete [] value; value = NULL; }

    value = readPropertyValue(getFullReg( TEXT("Software\\%sBkp\\SyncclientPIM\\spds\\sources\\tasks")), TEXT("name"));
    setPropertyValue(TEXT("SyncclientPIM\\spds\\sources\\tasks"), TEXT("name"),  value                                );
    if (value) { delete [] value; value = NULL; }

    value = readPropertyValue(getFullReg( TEXT("Software\\%sBkp\\SyncclientPIM\\spds\\sources\\tasks")), TEXT("type"));
    setPropertyValue(TEXT("SyncclientPIM\\spds\\sources\\tasks"), TEXT("type"),  value                                );
    if (value) { delete [] value; value = NULL; }

    value = readPropertyValue(getFullReg( TEXT("Software\\%sBkp\\SyncclientPIM\\spds\\sources\\tasks")), TEXT("syncModes"));
    setPropertyValue(TEXT("SyncclientPIM\\spds\\sources\\tasks"), TEXT("syncModes"),  value                           );
    if (value) { delete [] value; value = NULL; }

    value = readPropertyValue(getFullReg( TEXT("Software\\%sBkp\\SyncclientPIM\\spds\\sources\\tasks")), TEXT("uri"));
    setPropertyValue(TEXT("SyncclientPIM\\spds\\sources\\tasks"), TEXT("uri"),  value                                 );
    if (value) { delete [] value; value = NULL; }

    value = readPropertyValue(getFullReg( TEXT("Software\\%sBkp\\SyncclientPIM\\spds\\sources\\tasks")), TEXT("useSIF"));
    setPropertyValue(TEXT("SyncclientPIM\\spds\\sources\\tasks"), TEXT("useSIF"),  value                              );
    if (value) { delete [] value; value = NULL; }

    value = readPropertyValue(getFullReg( TEXT("Software\\%sBkp\\SyncclientPIM\\spds\\sources\\tasks")), TEXT("encoding"));
    setPropertyValue(TEXT("SyncclientPIM\\spds\\sources\\tasks"), TEXT("encoding"),  value                            );
    if (value) { delete [] value; value = NULL; }

    value = readPropertyValue(getFullReg( TEXT("Software\\%sBkp\\SyncclientPIM\\spds\\sources\\tasks")), TEXT("version"));
    setPropertyValue(TEXT("SyncclientPIM\\spds\\sources\\tasks"), TEXT("version"),  value                            );
    if (value) { delete [] value; value = NULL; }

    value = readPropertyValue(getFullReg( TEXT("Software\\%sBkp\\SyncclientPIM\\spds\\sources\\tasks")), TEXT("supportedTypes"));

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?