static int OnCommand(HWND hDlg, UINT nNotify, UINT nIDCtrl) { TFileTestData * pData; if(nNotify == BN_CLICKED) { switch(nIDCtrl) { case IDC_READ_FILE: case IDC_WRITE_FILE: case IDC_NTREAD_FILE: case IDC_NTWRITE_FILE: return OnReadWriteFile(hDlg, nIDCtrl); case IDC_LOCK_FILE: case IDC_UNLOCK_FILE: case IDC_NTLOCK_FILE: case IDC_NTUNLOCK_FILE: return OnLockUnlockFile(hDlg, nIDCtrl); case IDC_FILL_DATA: return ExecuteContextMenuForDlgItem(hDlg, IDC_FILL_DATA, IDR_DATA_PATTERN); case IDC_FILL_DATA_ZEROS: case IDC_FILL_DATA_PATTERN: case IDC_FILL_DATA_RANDOM: return UpdateFileData(hDlg, NULL, 0, nIDCtrl); case IDC_GET_FILE_SIZE: return OnGetFileSizeClick(hDlg); case IDC_SET_FILE_POINTER: return OnSetFilePointerClick(hDlg); case IDC_SET_END_OF_FILE: return OnSetEndOfFileClick(hDlg); } } if(nNotify == EN_KILLFOCUS) { if(nIDCtrl == IDC_BYTE_OFFSET || nIDCtrl == IDC_LENGTH) { pData = GetDialogData(hDlg); UpdateFileData(hDlg, NULL, pData->cbFileData, 0); } } return FALSE; }
static int OnCommand(HWND hDlg, UINT nNotify, UINT nIDCtrl) { OPENFILENAME ofn; if(nNotify == BN_CLICKED) { switch(nIDCtrl) { case IDC_FILE_NAME1_BROWSE: InitOpenFileName(&ofn); ofn.lpstrFile = MAKEINTRESOURCE(IDC_FILE_NAME1); ofn.lpstrTitle = MAKEINTRESOURCE(IDS_SELECT_FILE); ofn.lpstrFilter = MAKEINTRESOURCE(IDS_FILTER_ALL); GetOpenFileNameRc(hDlg, &ofn); return TRUE; case IDC_FILE_NAME2_BROWSE: InitOpenFileName(&ofn); ofn.lpstrFile = MAKEINTRESOURCE(IDC_FILE_NAME2); ofn.lpstrTitle = MAKEINTRESOURCE(IDS_SELECT_FILE); ofn.lpstrFilter = MAKEINTRESOURCE(IDS_FILTER_ALL); GetOpenFileNameRc(hDlg, &ofn); return TRUE; case IDC_COPY_FILE: return OnCopyFileClick(hDlg); case IDC_MOVE_FILE: return OnMoveFileClick(hDlg); case IDC_COPY_OPTIONS: return OnCopyOptions(hDlg); case IDC_MOVE_OPTIONS: return OnMoveOptions(hDlg); case IDC_DELETE_FILE: return OnDeleteFileClick(hDlg); case IDC_DELETE_DIRECTORY: return OnDeleteDirectoryClick(hDlg); case IDC_FILE_ID_GET: return OnFileIdGetClick(hDlg); case IDC_FILE_ID_USE: return OnFileIdUse(hDlg, IDC_FILE_ID); case IDC_OBJECT_ID_MORE: return OnObjectIdMoreClick(hDlg); case IDC_OBJECT_ID_USE: return OnFileIdUse(hDlg, IDC_OBJECT_ID); case IDC_NT_QUERY_ATTRIBUTES_FILE: return OnNtQueryAttributesFile(hDlg); case IDC_GET_FILE_ATTRIBUTES: return OnGetFileAttributes(hDlg); case IDC_FLUSH_FILE_BUFFERS: return OnFlushFile(hDlg); case IDC_SET_SPARSE: return OnSendAsynchronousFsctl(hDlg, FSCTL_SET_SPARSE); case IDC_REQUEST_OPLOCK_MENU: return ExecuteContextMenuForDlgItem(hDlg, IDC_REQUEST_OPLOCK_MENU, IDR_OPLOCK_PRE_WIN7); case IDC_REQUEST_OPLOCK_1: return OnSendAsynchronousFsctl(hDlg, FSCTL_REQUEST_OPLOCK_LEVEL_1); case IDC_REQUEST_OPLOCK_2: return OnSendAsynchronousFsctl(hDlg, FSCTL_REQUEST_OPLOCK_LEVEL_2); case IDC_REQUEST_BATCH_OPLOCK: return OnSendAsynchronousFsctl(hDlg, FSCTL_REQUEST_BATCH_OPLOCK); case IDC_REQUEST_FILTER_OPLOCK: return OnSendAsynchronousFsctl(hDlg, FSCTL_REQUEST_FILTER_OPLOCK); case IDC_BREAK_ACKNOWLEDGE_1: return OnSendAsynchronousFsctl(hDlg, FSCTL_OPLOCK_BREAK_ACKNOWLEDGE); case IDC_REQUEST_OPLOCK_WIN7: return OnSendRequestOplock(hDlg, true); case IDC_BREAK_ACKNOWLEDGE_2: return OnSendRequestOplock(hDlg, false); } } if(nNotify == EN_CHANGE) { if(nIDCtrl == IDC_FILE_ID) OnFileIDChange(hDlg, nIDCtrl, IDC_FILE_ID_USE); if(nIDCtrl == IDC_OBJECT_ID) OnFileIDChange(hDlg, nIDCtrl, IDC_OBJECT_ID_USE); } return FALSE; }