亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? volume.cxx

?? EFI(Extensible Firmware Interface)是下一代BIOS
?? CXX
?? 第 1 頁 / 共 2 頁
字號:
    IN      FIX_LEVEL   FixLevel,
    IN OUT  PMESSAGE    Message,
    IN      ULONG       Flags,
    IN      ULONG       DesiredLogFileSize,
    OUT     PULONG      ExitStatus,
    IN      PCWSTRING   DriveLetter
    )
/*++

Routine Description:

    This routine checks the integrity of the file system on the volume.
    If there are any problems, this routine will attempt to fix them
    to the degree specified in 'FixLevel'.

Arguments:

    FixLevel            - Supplies the level to which the volume should be fixed.
    Message             - Supplies an outlet for messages.
    Flags               - Supplies the flags that controls the behavior of chkdsk
                          (see ulib\inc\ifsentry.hxx for details)
    DesiredLogFileSize  - Tells what logfile size the user wants.
    ExitStatus          - Returns and indication of how the chkdsk went.
    DriveLetter         - For autochk, tells which drive letter we're checking.

Return Value:

    FALSE   - Failure.
    TRUE    - Success.

--*/
{
    MESSAGE msg;
    ULONG exit_status;

    if (!Message) {
        Message = &msg;
    }

    if (NULL == ExitStatus) {
        ExitStatus = &exit_status;
    }

    if (!_sa) {
        return FALSE;
    }

    return _sa->VerifyAndFix(FixLevel,
                             Message,
                             Flags,
                             DesiredLogFileSize,
                             ExitStatus,
                             DriveLetter);
}


IFSUTIL_EXPORT
BOOLEAN
VOL_LIODPDRV::Recover(
    IN      PCWSTRING   FullPathFileName,
    IN OUT  PMESSAGE    Message
    )
/*++

Routine Description:

    This routine searches the named file for bad allocation units.
    It removes these allocation units from the file and marks them
    as bad in the file system.

Arguments:

    FullPathFileName    - Supplies the name of the file to recover.
    Message             - Supplies an outlet for messages.

Return Value:

    FALSE   - Failure.
    TRUE    - Success.

--*/
{
    MESSAGE msg;

    if (!Message) {
        Message = &msg;
    }

    if (!_sa) {
        return FALSE;
    }

    return _sa->RecoverFile(FullPathFileName, Message);
}


IFSUTIL_EXPORT
BOOLEAN
VOL_LIODPDRV::ForceAutochk(
    IN  BOOLEAN     Fix,
    IN  ULONG       Options,
    IN  ULONG       LogFileSize,
    IN  PCWSTRING   Name
    )
/*++

Routine Description:

    This method schedules Autochk to be run at next boot.  If the client
    has not requested bad sector detection or logfile resizing, this
    scheduling is done simply by marking the volume dirty.  If bad sector
    detection or logfile resizing has been requested, the appropriate entry
    is put into the registry to force autochk to run.

Arguments:

    Fix             -- Supplies if chkdsk /f is being implied.
    Options         -- Supplies flags
                          CHKDSK_RECOVER
                          CHKDSK_RESIZE_LOGFILE
                          CHKDSK_SKIP_INDEX_SCAN
                          CHKDSK_SKIP_CYCLE_SCAN
    LogFileSize     -- If CHKDSK_RESIZE_LOGFILE, tells the desired size in bytes.
    Name            -- Supplies the volume's NT name.

Return Value:

    TRUE upon successful completion.

--*/
{
#if !defined( _AUTOCHECK_ ) && !defined( _EFICHECK_ )

    DSTRING             CommandLine;
    DSTRING             dos_drive_name;
    DSTRING             volume_name;
    DSTRING             nt_drive_name;
    DSTRING             drive_path_string;
    PATH                fullpath;
    PATH                dos_path;
    PCWSTRING           name;
    PATH_ANALYZE_CODE   rst;

    if (!CommandLine.Initialize( "autocheck autochk " )) {
        return FALSE;
    }

#if 0
    if (!(Options & (CHKDSK_RECOVER |
                     CHKDSK_SKIP_INDEX_SCAN |
                     CHKDSK_SKIP_CYCLE_SCAN |
                     CHKDSK_RESIZE_LOGFILE))) {

        DSTRING     all_drives;

        // The client has not asked for autochk /r, /l, or /i so it
        // suffices to mark the volume dirty.  Before we do that,
        // make sure there is an entry in the registry to look for
        // dirty volume.
        //

        if (!all_drives.Initialize("*"))
            return FALSE;

        if (AUTOREG::IsEntryPresent(&CommandLine, &all_drives))
            return ForceDirty();

        if (!CommandLine.Strcat(&all_drives))
            return FALSE;

        if (!AUTOREG::AddEntry(&CommandLine))
            return FALSE;

        return ForceDirty();
    }
#endif

    //
    // Let's schedule an explicit autochk.
    //

    //
    // Remove any previous entry of Name from the registry
    //

    if (!AUTOREG::DeleteEntry(&CommandLine, Name))
        return FALSE;

    //
    // Get the alternate name of the drive and remove any previous entry
    // for it from the registry
    //
    if (!IFS_SYSTEM::NtDriveNameToDosDriveName(Name, &dos_drive_name) ||
        !dos_path.Initialize(&dos_drive_name))
        return FALSE;

    rst = dos_path.AnalyzePath(&volume_name,
                               &fullpath,
                               &drive_path_string);

    switch (rst) {
        case PATH_OK:
            DebugAssert(drive_path_string.QueryChCount() == 0);

            if (dos_path.GetPathString()->Stricmp(&volume_name) != 0) {
                // use volume_name as the alternate name
                name = &volume_name;
            } else {
                // try to use fullpath as the alternate name
                name = fullpath.GetPathString();

                if (name->QueryChCount() != 2)
                    break;  // alternate name not drive letter so done
            }

            if (!IFS_SYSTEM::DosDriveNameToNtDriveName(name, &nt_drive_name))
                return FALSE;

            if (!AUTOREG::DeleteEntry(&CommandLine, &nt_drive_name))
                return FALSE;

            break;

        default:
            return FALSE;
    }

    if (Options & CHKDSK_RECOVER) {

        DSTRING R_Option;

        if (!R_Option.Initialize( "/r " ) ||
            !CommandLine.Strcat( &R_Option )) {

            return FALSE;
        }
    }

    if (Options & CHKDSK_SKIP_INDEX_SCAN) {

        DSTRING I_Option;

        if (!I_Option.Initialize( "/i " ) ||
            !CommandLine.Strcat( &I_Option )) {

            return FALSE;
        }
    }

    if (Options & CHKDSK_SKIP_CYCLE_SCAN) {

        DSTRING C_Option;

        if (!C_Option.Initialize( "/c " ) ||
            !CommandLine.Strcat( &C_Option )) {

            return FALSE;
        }
    }

    if (Options & CHKDSK_RESIZE_LOGFILE) {

        DSTRING L_Option;
        CHAR buf[20];

        sprintf(buf, "/l:%d ", LogFileSize / 1024);

        if (!L_Option.Initialize( buf ) ||
            !CommandLine.Strcat( &L_Option )) {

            return FALSE;
        }
    }

    //
    // if /f specified but it's not because of /r, /i, or /c, then
    // specify /p as well.  The options /r, /i, or /c implies /p
    // for autochk.
    //
    if (Fix &&
        !(Options & (CHKDSK_RECOVER |
                     CHKDSK_SKIP_INDEX_SCAN |
                     CHKDSK_SKIP_CYCLE_SCAN))) {
        DSTRING P_Option;

        if (!P_Option.Initialize( "/p " ) ||
            !CommandLine.Strcat( &P_Option )) {

            return FALSE;
        }
    }

    return CommandLine.Strcat( Name ) &&
           AUTOREG::PushEntry( &CommandLine );
#else

    return FALSE;

#endif // _AUTOCHECK_
}


#if defined(FE_SB) && defined(_X86_)

USHORT  VOL_LIODPDRV::_force_format = NONE;
BOOLEAN VOL_LIODPDRV::_force_convert_fat = FALSE;

IFSUTIL_EXPORT
VOID
VOL_LIODPDRV::ForceFormat(
    IN  USHORT FileSystem
    )
/*++

Routine Description:


Arguments:

    None.

Return Value:

    None.

--*/
{
    if (FileSystem != ANY || _force_format == NONE)
        _force_format = FileSystem;
}

USHORT
VOL_LIODPDRV::QueryForceFormat(
    )
/*++

Routine Description:


Arguments:

    None.

Return Value:

    None.

--*/
{
    return _force_format;
}

VOID
VOL_LIODPDRV::ForceConvertFat(
    )
/*++

Routine Description:


Arguments:

    None.

Return Value:

    None.

--*/
{
    _force_convert_fat = TRUE;
}

BOOLEAN
VOL_LIODPDRV::QueryConvertFat(
    )
/*++

Routine Description:


Arguments:

    None.

Return Value:

    None.

--*/
{
    return _force_convert_fat;
}

#endif // FE_SB && _X86_


IFSUTIL_EXPORT
BOOLEAN
VOL_LIODPDRV::QueryAutochkTimeOut(
    OUT PULONG      TimeOut
    )
/*++

Routine Description:

    This routine returns the count down time before autochk
    resumes.

Arguments:

    TimeOut     -- Supplies the location to store the timeout value.

Return Value:

    TRUE if successful.

--*/
{
#if !defined( _EFICHECK_ )
    return QueryTimeOutValue(TimeOut);
#else
    return FALSE;
#endif
}

IFSUTIL_EXPORT
BOOLEAN
VOL_LIODPDRV::SetAutochkTimeOut(
    IN  ULONG      TimeOut
    )
/*++

Routine Description:

    This routine sets the count down time before autochk
    resumes.

Arguments:

    TimeOut     -- Supplies the count down time in seconds

Return Value:

    TRUE if successful.

--*/
{
#if !defined( _EFICHECK_ )
    return SetTimeOutValue(TimeOut);
#else
    return FALSE;
#endif
}


?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
不卡在线视频中文字幕| 欧美亚州韩日在线看免费版国语版| 日韩一区精品视频| 视频一区中文字幕| 美女国产一区二区三区| 国产在线视频一区二区| 国产suv精品一区二区三区| 成人a区在线观看| 欧美午夜电影一区| 欧美电影免费观看高清完整版在线观看| 欧美一区二区三区日韩视频| 精品国产不卡一区二区三区| 日本一区二区三区四区在线视频| 中文成人av在线| 亚洲成人av中文| 国产精品资源网| 91麻豆免费在线观看| 91精品国产免费| 国产精品久久久久久久久免费相片| 亚洲国产aⅴ天堂久久| 高清不卡在线观看av| 国产在线精品一区二区| 人人精品人人爱| 婷婷久久综合九色综合伊人色| 久久国产综合精品| 欧美日韩亚洲综合一区| 日本一区二区成人| 美腿丝袜亚洲色图| 91久久精品日日躁夜夜躁欧美| 欧美成人伊人久久综合网| 自拍偷拍亚洲欧美日韩| 国产福利91精品| 日韩三级免费观看| 午夜电影一区二区| 在线观看视频一区二区| 国产精品毛片大码女人| 国产伦精品一区二区三区在线观看 | 亚洲人成亚洲人成在线观看图片| 日本v片在线高清不卡在线观看| 欧美自拍丝袜亚洲| 一区二区三区四区在线免费观看| 丁香婷婷综合五月| 久久蜜桃一区二区| 国产一区二区日韩精品| 欧美mv日韩mv亚洲| 国内欧美视频一区二区| 精品久久久三级丝袜| 久久不见久久见免费视频1| 欧美一区二区在线不卡| 蜜桃久久av一区| 欧美成人a∨高清免费观看| 青青国产91久久久久久| 欧美二区三区的天堂| 视频一区二区三区在线| 91精品国产色综合久久不卡电影| 日韩在线播放一区二区| 26uuu另类欧美| 成人av第一页| 午夜精品免费在线| 色吧成人激情小说| 美女国产一区二区三区| 久久精品日韩一区二区三区| 成人免费毛片a| 亚洲1区2区3区4区| 精品国产免费人成在线观看| 成人深夜在线观看| 午夜一区二区三区视频| 欧美变态tickle挠乳网站| 国产91综合一区在线观看| 亚洲黄色性网站| 日韩精品一区二区三区在线观看 | 久久精品国产亚洲5555| 2020国产精品久久精品美国| 91丝袜美女网| 韩国精品一区二区| 一级日本不卡的影视| 久久久精品蜜桃| 欧美日韩成人在线一区| 国产成人久久精品77777最新版本| 亚洲激情自拍偷拍| 久久久久国产成人精品亚洲午夜| 在线观看不卡视频| 成人免费黄色大片| 国产揄拍国内精品对白| 丝袜国产日韩另类美女| 亚洲精品中文在线影院| 国产情人综合久久777777| 日韩欧美三级在线| 欧美无砖砖区免费| 欧美优质美女网站| 99久久精品免费看| 99re这里只有精品6| 成人av网站大全| 成人aa视频在线观看| 国产 欧美在线| 国产激情91久久精品导航| 另类小说综合欧美亚洲| 亚洲高清在线精品| 日日夜夜精品免费视频| 日韩影院在线观看| 久久99最新地址| 国产一区二区三区免费| 国产一区视频导航| 高清日韩电视剧大全免费| 国产成人在线视频网站| 高清国产午夜精品久久久久久| 国产精品99久久久久久有的能看| 国产精品一区三区| 成人性生交大片免费看中文网站| 国产成人免费视频网站高清观看视频| 丁香桃色午夜亚洲一区二区三区| 粉嫩高潮美女一区二区三区| 99久久综合99久久综合网站| 91国产视频在线观看| 欧美高清视频www夜色资源网| 日韩欧美一二区| 精品国产免费视频| 国产精品久久福利| 国产精品电影一区二区三区| 亚洲精品乱码久久久久| 天堂成人免费av电影一区| 看国产成人h片视频| 国产69精品久久久久777| 欧美日韩精品一区视频| 久久夜色精品国产噜噜av| 中文字幕日韩精品一区| 偷拍日韩校园综合在线| 成人蜜臀av电影| 欧美高清视频在线高清观看mv色露露十八 | 一区精品在线播放| 精品一区二区在线免费观看| 91国偷自产一区二区三区观看| 日韩欧美一区在线| 亚洲欧美激情视频在线观看一区二区三区| 亚洲电影你懂得| 国产成人午夜电影网| 欧美日韩黄视频| 日韩毛片视频在线看| 激情亚洲综合在线| 91精品国产高清一区二区三区蜜臀 | 一区二区三区欧美日| 成人伦理片在线| 久久夜色精品国产噜噜av| 午夜电影网亚洲视频| 欧美撒尿777hd撒尿| 中文字幕一区二区5566日韩| 国产真实乱偷精品视频免| 欧美精品少妇一区二区三区| 中文字幕一区二| 97se亚洲国产综合自在线观| 国产视频一区在线观看| 国产乱人伦偷精品视频不卡| 精品国产乱码久久久久久夜甘婷婷| 天堂va蜜桃一区二区三区漫画版| 在线观看免费成人| 亚洲成在人线免费| 欧美日韩亚洲综合在线 欧美亚洲特黄一级| 国产精品久久一卡二卡| www.欧美日韩| 自拍偷拍国产精品| 欧美影片第一页| 午夜不卡在线视频| 亚洲激情网站免费观看| 久久婷婷成人综合色| 一区二区三区日韩欧美| 捆绑变态av一区二区三区| 欧美电视剧在线观看完整版| 精品一区二区三区免费| 久久婷婷成人综合色| 一本一本久久a久久精品综合麻豆 一本一道波多野结衣一区二区 | 亚洲精品ww久久久久久p站| 欧美色爱综合网| 久久99精品久久久久久国产越南 | 精品国产人成亚洲区| 成人a免费在线看| 日韩电影免费在线| 中文字幕不卡在线| 欧美精品粉嫩高潮一区二区| 韩日欧美一区二区三区| 亚洲精品高清在线观看| 91精品国产免费| 一本一道久久a久久精品| 免费在线观看一区二区三区| 亚洲国产经典视频| 欧美大片在线观看一区| 色综合中文字幕| 国产精品系列在线观看| 爽爽淫人综合网网站| 最近日韩中文字幕| 久久久亚洲高清| 9191久久久久久久久久久| aaa亚洲精品| 精品一区二区av| 蜜桃精品在线观看| 视频在线观看一区| 亚洲激情五月婷婷| √…a在线天堂一区| 国产色综合一区| 久久精品无码一区二区三区| 日韩一区二区三区免费观看|