コード例 #1
0
static int OnMoveOptions(HWND hDlg)
{
    TFileTestData * pData = GetDialogData(hDlg);

    FlagsDialog(hDlg, &pData->dwMoveFileFlags, IDS_MOVEFILE_FLAGS, MoveFileFlags);
    return TRUE;
}
コード例 #2
0
static int OnCreateOptionsClick(HWND hDlg)
{
    TFileTestData * pData = GetDialogData(hDlg);
    bool bRelativeFile = (GetAsyncKeyState(VK_SHIFT) < 0);

    // Shall we edit desired access for relative file?
    if(bRelativeFile)
    {
        FlagsDialog(hDlg, &pData->dwOpenOptionsRF, IDS_OPEN_OPTIONS_RF, CreateOptionsValues);
        return TRUE;
    }

    // Show the dialog for desired access
    FlagsDialog(hDlg, IDC_CREATE_OPTIONS, IDS_CREATE_OPTIONS, CreateOptionsValues);
    return TRUE;
}
コード例 #3
0
static int OnCopyOptions(HWND hDlg)
{
    TFileTestData * pData = GetDialogData(hDlg);

    FlagsDialog(hDlg, &pData->dwCopyFileFlags, IDS_COPYFILE_FLAGS, CopyFileFlags);
    return TRUE;
}
コード例 #4
0
static int OnShareAccessClick(HWND hDlg)
{
    TFileTestData * pData = GetDialogData(hDlg);
    bool bRelativeFile = (GetAsyncKeyState(VK_SHIFT) < 0);

    // Shall we edit desired access for relative file?
    if(bRelativeFile)
    {
        FlagsDialog(hDlg, &pData->dwShareAccessRF, IDS_SHARE_ACCESS_RF, ShareAccessValues);
        return TRUE;
    }

    // Show the dialog for desired access
    FlagsDialog(hDlg, IDC_SHARE_ACCESS, IDS_SHARE_ACCESS, ShareAccessValues);
    return TRUE;
}
コード例 #5
0
ファイル: DlgFlags.cpp プロジェクト: VlaBst6/FileTest
INT_PTR FlagsDialog_OnControl(HWND hWndParent, UINT nIDCtrl, UINT nIDTitle, TFlagInfo * pFlags)
{
    INT_PTR Result = IDCANCEL;
    DWORD dwFlags = 0;

    // Read the flags from the item
    if(DlgText2Hex32(hWndParent, nIDCtrl, &dwFlags) != ERROR_SUCCESS)
        return IDCANCEL;

    // Invoke the dialog
    Result = FlagsDialog(hWndParent, &dwFlags, nIDTitle, pFlags);
    if(Result == IDOK)
        Hex2DlgText32(hWndParent, nIDCtrl, dwFlags);
    return Result;
}
コード例 #6
0
static int OnSendRequestOplock(HWND hDlg, bool bRequestOplock)
{
    REQUEST_OPLOCK_OUTPUT_BUFFER Out;
    REQUEST_OPLOCK_INPUT_BUFFER In;
    TFileTestData * pData = GetDialogData(hDlg);
    DWORD RequestedOplockLevel = 0;
    DWORD InputFlags = REQUEST_OPLOCK_INPUT_FLAG_ACK;

    // If the caller is requesting oplock, ask the user which one he wants
    if(bRequestOplock)
    {
        // Ask the user for flags
        if(FlagsDialog(hDlg, &pData->dwOplockLevel, IDS_OPLOCK_FLAGS, Win7OplockFlags) != IDOK)
            return TRUE;
        RequestedOplockLevel = pData->dwOplockLevel;
        InputFlags = REQUEST_OPLOCK_INPUT_FLAG_REQUEST;
    }

    // Prepare the input buffer
    // Note that value of 0 in In.Flags causes BSOD in FastFat.sys
    // 
    memset(&In, 0, sizeof(REQUEST_OPLOCK_INPUT_BUFFER));
    In.StructureLength = sizeof(REQUEST_OPLOCK_INPUT_BUFFER);
    In.StructureVersion = REQUEST_OPLOCK_CURRENT_VERSION;
    In.RequestedOplockLevel = RequestedOplockLevel;
    In.Flags = InputFlags;

    // Prepare the output buffer
    memset(&Out, 0, sizeof(REQUEST_OPLOCK_OUTPUT_BUFFER));
    Out.StructureLength = sizeof(REQUEST_OPLOCK_OUTPUT_BUFFER);
    Out.StructureVersion = REQUEST_OPLOCK_CURRENT_VERSION;

    // Send the FSCTL to the file system
    return OnSendAsynchronousFsctl(hDlg,
                                   FSCTL_REQUEST_OPLOCK,
                                  &In,
                                   sizeof(REQUEST_OPLOCK_INPUT_BUFFER),
                                  &Out,
                                   sizeof(REQUEST_OPLOCK_OUTPUT_BUFFER));
}
コード例 #7
0
static int OnAllocTypeBrowse(HWND hDlg)
{
    FlagsDialog(hDlg, IDC_ALLOCATION_TYPE, IDS_ALLOCATION_TYPE, AllocationTypeValues);
    return TRUE;
}
コード例 #8
0
static int OnAllocAttributesBrowse(HWND hDlg)
{
    FlagsDialog(hDlg, IDC_ALLOCATION_ATTRIBUTES, IDS_ALLOCATION_ATTRIBUTES, AllocationAttributesValues);
    return TRUE;
}
コード例 #9
0
static int OnDesiredAccessBrowse(HWND hDlg)
{
    FlagsDialog(hDlg, IDC_DESIRED_ACCESS, IDS_DESIRED_ACCESS, DesiredAccessValues);
    return TRUE;
}
コード例 #10
0
ファイル: Page01Create.cpp プロジェクト: BenjaminKim/FileTest
static int OnShareAccessClick(HWND hDlg)
{
    FlagsDialog(hDlg, IDC_SHARE_ACCESS, IDS_SHARE_ACCESS, ShareAccessValues);
    return TRUE;
}
コード例 #11
0
ファイル: Page01Create.cpp プロジェクト: BenjaminKim/FileTest
static int OnFileAttributesClick(HWND hDlg)
{
    FlagsDialog(hDlg, IDC_FILE_ATTRIBUTES, IDS_FILE_ATTRIBUTES, FileAttributesValues);
    return TRUE;
}
コード例 #12
0
static int OnObjAtributesFlags(HWND hDlg)
{
    FlagsDialog(hDlg, IDC_OBJ_ATTR_FLAGS, IDS_OBJECT_ATTRIBUTES_FLAGS, ObjAttrFlagsValues);
    return TRUE;
}