⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dlgnewvolwizard.c

📁 文件驱动加密,功能强大,可产生加密分区,支持AES,MD2,MD4,MD5MD2, MD4, MD5, RIPEMD-128, RIPEMD-160, SHA-1, SHA-224, SHA-256,
💻 C
📖 第 1 页 / 共 5 页
字号:
void _dlgNewVolWizard_SetWizardButtons(int PageIdx)
{
    MenuButtonEnable(
                     G_dlgNewVolWizard_MenuBar,
                     ID_WIZ_BACK,
                     (PageIdx > 0)
                    );

    MenuButtonEnable(
                     G_dlgNewVolWizard_MenuBar,
                     ID_WIZ_NEXT,
                     (PageIdx < _dlgNewVolWizard_GetPageIdxOfLastPage())
                    );

    MenuButtonEnable(
                     G_dlgNewVolWizard_MenuBar,
                     IDOK,
                     G_dlgNewVolWizard_AllowFinish
                    );

}


// =========================================================================
BOOL _dlgNewVolWizard_IsHidden()
{
    BOOL retval;

    retval = CheckFileExists(G_dlgNewVolWizard_NewVolParams.Filename);

    return retval;
}


// =========================================================================
void _dlgNewVolWizard_WriteSummary(HWND hWnd)
{
    WCHAR strLARGE_INTEGER[25];  // Must be large enough to store 2^64
                                 // as a string
    LARGE_INTEGER totalSize;
    LARGE_INTEGER tmpLargeInt;
    WCHAR strPrettySectorIVGenMethod[MAX_PRETTYPRINTED_SECTORIVGENMETHOD];
    WCHAR* tmpGUIDStr;
    BOOL firstInList;

    SetDlgItemText(hWnd, IDC_EDIT_SUMMARY, TEXT(""));

    AppendStaticText(
                     hWnd, 
                     IDC_EDIT_SUMMARY, 
                     TEXT("Your new volume will be created with the following properties:")
                    );
    AppendStaticText(hWnd, IDC_EDIT_SUMMARY, EDIT_CRLF);
    AppendStaticText(hWnd, IDC_EDIT_SUMMARY, EDIT_CRLF);

    AppendStaticText(
                     hWnd, 
                     IDC_EDIT_SUMMARY, 
                     TEXT("Filename: ")
                    );
    AppendStaticText(
                     hWnd, 
                     IDC_EDIT_SUMMARY, 
                     G_dlgNewVolWizard_NewVolParams.Filename
                    );
    AppendStaticText(hWnd, IDC_EDIT_SUMMARY, EDIT_CRLF);

    if (_dlgNewVolWizard_IsHidden())
        {
        AppendStaticText(
                         hWnd, 
                         IDC_EDIT_SUMMARY, 
                         TEXT("Hidden volume starting at offset: ")
                        );

        _ultow(
               G_dlgNewVolWizard_NewVolParams.Offset.LowPart,
               strLARGE_INTEGER,
               10
              );
        AppendStaticText(
                         hWnd, 
                         IDC_EDIT_SUMMARY, 
                         strLARGE_INTEGER                         
                        );
        AppendStaticText(hWnd, IDC_EDIT_SUMMARY, EDIT_CRLF);
        }

    if (!(G_dlgNewVolWizard_NewVolParams.UseKeyfile))
        {
        tmpLargeInt.QuadPart = (CRITICAL_DATA_LENGTH / 8);
        totalSize.QuadPart = G_dlgNewVolWizard_NewVolParams.Size.QuadPart +
                             tmpLargeInt.QuadPart;

        AppendStaticText(
                         hWnd, 
                         IDC_EDIT_SUMMARY, 
                         TEXT("Volume size: ")
                        );
        _ultow(
               G_dlgNewVolWizard_NewVolParams.Size.LowPart,
               strLARGE_INTEGER,
               10
              );
        AppendStaticText(
                         hWnd, 
                         IDC_EDIT_SUMMARY, 
                         strLARGE_INTEGER                         
                        );
        AppendStaticText(
                         hWnd, 
                         IDC_EDIT_SUMMARY, 
                         TEXT(" + ")
                        );
        _ultow(
               tmpLargeInt.LowPart,
               strLARGE_INTEGER,
               10
              );
        AppendStaticText(
                         hWnd, 
                         IDC_EDIT_SUMMARY, 
                         strLARGE_INTEGER                         
                        );
        AppendStaticText(
                         hWnd, 
                         IDC_EDIT_SUMMARY, 
                         TEXT(" (for CDB) = ")
                        );
        _ultow(
               totalSize.LowPart,
               strLARGE_INTEGER,
               10
              );
        AppendStaticText(
                         hWnd, 
                         IDC_EDIT_SUMMARY, 
                         strLARGE_INTEGER                         
                        );
        AppendStaticText(
                         hWnd, 
                         IDC_EDIT_SUMMARY, 
                         TEXT(" bytes")
                        );
        AppendStaticText(hWnd, IDC_EDIT_SUMMARY, EDIT_CRLF);


        AppendStaticText(
                         hWnd, 
                         IDC_EDIT_SUMMARY, 
                         TEXT("CDB stored: At start of volume file")
                        );
        AppendStaticText(hWnd, IDC_EDIT_SUMMARY, EDIT_CRLF);
        }
    else
        {
        AppendStaticText(
                         hWnd, 
                         IDC_EDIT_SUMMARY, 
                         TEXT("Volume size: ")
                        );
        _ultow(
               G_dlgNewVolWizard_NewVolParams.Size.LowPart,
               strLARGE_INTEGER,
               10
              );
        AppendStaticText(
                         hWnd, 
                         IDC_EDIT_SUMMARY, 
                         strLARGE_INTEGER                         
                        );
        AppendStaticText(
                         hWnd, 
                         IDC_EDIT_SUMMARY, 
                         TEXT(" bytes")
                        );
        AppendStaticText(hWnd, IDC_EDIT_SUMMARY, EDIT_CRLF);


        AppendStaticText(
                         hWnd, 
                         IDC_EDIT_SUMMARY, 
                         TEXT("CDB stored: In separate keyfile")
                        );
        AppendStaticText(hWnd, IDC_EDIT_SUMMARY, EDIT_CRLF);

        AppendStaticText(
                         hWnd, 
                         IDC_EDIT_SUMMARY, 
                         TEXT("CDB keyfile: ")
                        );
        AppendStaticText(
                         hWnd, 
                         IDC_EDIT_SUMMARY, 
                         G_dlgNewVolWizard_NewVolParams.Keyfile
                        );
        AppendStaticText(hWnd, IDC_EDIT_SUMMARY, EDIT_CRLF);
        }

    AppendStaticText(
                     hWnd, 
                     IDC_EDIT_SUMMARY, 
                     TEXT("Hash algorithm: ")
                    );
    AppendStaticText(
                     hWnd, 
                     IDC_EDIT_SUMMARY, 
                     G_dlgNewVolWizard_NewVolParams.PrettyNameHash
                    );
    AppendStaticText(hWnd, IDC_EDIT_SUMMARY, EDIT_CRLF);
    AppendStaticText(
                     hWnd, 
                     IDC_EDIT_SUMMARY, 
                     TEXT("  [Hash driver: ")
                    );
    AppendStaticText(
                     hWnd, 
                     IDC_EDIT_SUMMARY, 
                     G_dlgNewVolWizard_NewVolParams.DriverHash
                    );
    AppendStaticText(
                     hWnd, 
                     IDC_EDIT_SUMMARY, 
                     TEXT("]")
                    );
    AppendStaticText(hWnd, IDC_EDIT_SUMMARY, EDIT_CRLF);
    AppendStaticText(
                     hWnd, 
                     IDC_EDIT_SUMMARY, 
                     TEXT("  [Hash GUID: ")
                    );
    GUIDToWCHAR(
                &G_dlgNewVolWizard_NewVolParams.ImplGUIDHash,
                &tmpGUIDStr
               );
    AppendStaticText(
                     hWnd, 
                     IDC_EDIT_SUMMARY, 
                     tmpGUIDStr
                    );
    SecZeroAndFreeMemory(
                         tmpGUIDStr,
                         (wcslen(tmpGUIDStr) * sizeof(*tmpGUIDStr))
                        );
    AppendStaticText(
                     hWnd, 
                     IDC_EDIT_SUMMARY, 
                     TEXT("]")
                    );
    AppendStaticText(hWnd, IDC_EDIT_SUMMARY, EDIT_CRLF);

    AppendStaticText(
                     hWnd, 
                     IDC_EDIT_SUMMARY, 
                     TEXT("Key iterations: ")
                    );
    _ultow(
           G_dlgNewVolWizard_NewVolParams.KeyIterations,
           strLARGE_INTEGER,
           10
          );
    AppendStaticText(
                     hWnd, 
                     IDC_EDIT_SUMMARY, 
                     strLARGE_INTEGER                         
                    );
    AppendStaticText(hWnd, IDC_EDIT_SUMMARY, EDIT_CRLF);

    if (G_dlgNewVolWizard_NewVolParams.BlockSizeSelectedCypher <= 0)
        {
        AppendStaticText(
                         hWnd, 
                         IDC_EDIT_SUMMARY, 
                         TEXT("Sector IVs will not be used (cypher has zero or variable blocksize)")
                        );
        AppendStaticText(hWnd, IDC_EDIT_SUMMARY, EDIT_CRLF);
        }
    else
        {
        AppendStaticText(
                         hWnd, 
                         IDC_EDIT_SUMMARY, 
                         TEXT("Cypher has fixed, defined blocksize; sector IVs will be used")
                        );
        AppendStaticText(hWnd, IDC_EDIT_SUMMARY, EDIT_CRLF);
        AppendStaticText(
                         hWnd, 
                         IDC_EDIT_SUMMARY, 
                         TEXT("Sector IV generation method: ")
                        );
        driver_PrettyprintSectorIVGenMethod(
                            G_dlgNewVolWizard_NewVolParams.SectorIVGenMethod,
                            strPrettySectorIVGenMethod,
                            sizeof(strPrettySectorIVGenMethod)
                           );
        AppendStaticText(
                         hWnd, 
                         IDC_EDIT_SUMMARY, 
                         strPrettySectorIVGenMethod
                        );
        AppendStaticText(hWnd, IDC_EDIT_SUMMARY, EDIT_CRLF);

        if (G_dlgNewVolWizard_NewVolParams.XORIV)
            {
            AppendStaticText(
                             hWnd, 
                             IDC_EDIT_SUMMARY, 
                             TEXT("Sector IVs will be XORd with a per-volume IV before use")
                            );
            AppendStaticText(hWnd, IDC_EDIT_SUMMARY, EDIT_CRLF);
            }
        else
            {
            AppendStaticText(
                             hWnd, 
                             IDC_EDIT_SUMMARY, 
                             TEXT("A per-volume IV will not be used")
                            );
            AppendStaticText(hWnd, IDC_EDIT_SUMMARY, EDIT_CRLF);
            }
        }


    AppendStaticText(
                     hWnd, 
                     IDC_EDIT_SUMMARY, 
                     TEXT("Cypher algorithm: ")
                    );
    AppendStaticText(
                     hWnd, 
                     IDC_EDIT_SUMMARY, 
                     G_dlgNewVolWizard_NewVolParams.PrettyNameCypher
                    );
    AppendStaticText(hWnd, IDC_EDIT_SUMMARY, EDIT_CRLF);
    AppendStaticText(
                     hWnd, 
                     IDC_EDIT_SUMMARY, 
                     TEXT("  [Cypher driver: ")
                    );
    AppendStaticText(
                     hWnd, 
                     IDC_EDIT_SUMMARY, 
                     G_dlgNewVolWizard_NewVolParams.DriverCypher
                    );
    AppendStaticText(
                     hWnd, 
                     IDC_EDIT_SUMMARY, 
                     TEXT("]")
                    );
    AppendStaticText(hWnd, IDC_EDIT_SUMMARY, EDIT_CRLF);
    AppendStaticText(
                     hWnd, 
                     IDC_EDIT_SUMMARY, 
                     TEXT("  [Cypher GUID: ")
                    );
    GUIDToWCHAR(
                &G_dlgNewVolWizard_NewVolParams.ImplGUIDHash,
                &tmpGUIDStr
               );
    AppendStaticText(
                     hWnd, 
                     IDC_EDIT_SUMMARY, 
                     tmpGUIDStr

⌨️ 快捷键说明

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