|
|
/*++
Copyright (c) 1996-2002 Microsoft Corp. & Ricoh Co., Ltd. All rights reserved.
FILE: RPDLDLG2.CPP (from RIAFUI.CPP)
Abstract: Add OEM Page (Job/Log)
Functions: JobPageProc
Environment: Windows NT Unidrv5 driver
Revision History: 09/22/2000 -Masatoshi Kubokura- Began to modify from RIAFUI code. 11/29/2000 -Masatoshi Kubokura- Last modified for XP inbox. 03/04/2002 -Masatoshi Kubokura- Include strsafe.h. Use OemToCharBuff() instead of OemToChar(). 03/27/2002 -Masatoshi Kubokura- Eliminate "#if 0". 03/29/2002 -Masatoshi Kubokura- Use SecureZeroMemory() instead of memset(,0,) 04/01/2002 -Masatoshi Kubokura- Use safe_strlenW() instead of lstrlen().
--*/
#include "pdev.h"
#include "resource.h"
//#include <minidrv.h>
//#include "devmode.h"
//#include "oem.h"
//#include "resource.h"
#include <prsht.h>
#include <mbstring.h> // _ismbcdigit, _ismbcalnum
#ifndef WINNT_40
#include "strsafe.h" // @Mar/01/2002
#endif // !WINNT_40
// Externals
extern HINSTANCE ghInstance;
extern "C" { // External Functions' prototype
extern INT safe_strlenW(wchar_t* psz, size_t cchMax);
// Local Functions' prototype
INT_PTR CALLBACK JobPageProc(HWND, UINT, WPARAM, LPARAM);
/***************************************************************************
Function Name : InitMainDlg ***************************************************************************/ VOID InitMainDlg( HWND hDlg, PUIDATA pUiData) { // initialize edit box
SetDlgItemText(hDlg, IDC_EDIT_JOBMAIN_USERID, pUiData->UserIdBuf); SendDlgItemMessage(hDlg, IDC_EDIT_JOBMAIN_USERID, EM_LIMITTEXT, USERID_LEN, 0); SetDlgItemText(hDlg, IDC_EDIT_JOBMAIN_PASSWORD, pUiData->PasswordBuf); SendDlgItemMessage(hDlg, IDC_EDIT_JOBMAIN_PASSWORD, EM_LIMITTEXT, PASSWORD_LEN, 0); SetDlgItemText(hDlg, IDC_EDIT_JOBMAIN_USERCODE, pUiData->UserCodeBuf); SendDlgItemMessage(hDlg, IDC_EDIT_JOBMAIN_USERCODE, EM_LIMITTEXT, USERCODE_LEN, 0);
// initialize radio button
CheckRadioButton(hDlg, IDC_RADIO_JOB_NORMAL, IDC_RADIO_JOB_SECURE, pUiData->JobType); CheckRadioButton(hDlg, IDC_RADIO_LOG_DISABLED, IDC_RADIO_LOG_ENABLED, pUiData->LogDisabled);
// initialize check box
SendDlgItemMessage(hDlg, IDC_CHECK_JOB_DEFAULT, BM_SETCHECK, (BITTEST32(pUiData->fUiOption, HOLD_OPTIONS)? 0 : 1), 0);
if (1 <= safe_strlenW(pUiData->UserIdBuf, sizeof(pUiData->UserIdBuf))) { EnableWindow(GetDlgItem(hDlg, IDC_RADIO_JOB_SAMPLE), TRUE); EnableWindow(GetDlgItem(hDlg, IDC_RADIO_JOB_SECURE), TRUE); EnableWindow(GetDlgItem(hDlg, IDC_CHECK_JOB_DEFAULT), TRUE); } else { EnableWindow(GetDlgItem(hDlg, IDC_RADIO_JOB_SAMPLE), FALSE); EnableWindow(GetDlgItem(hDlg, IDC_RADIO_JOB_SECURE), FALSE); EnableWindow(GetDlgItem(hDlg, IDC_CHECK_JOB_DEFAULT), FALSE); } if (IDC_RADIO_JOB_SECURE == pUiData->JobType) { EnableWindow(GetDlgItem(hDlg, IDC_LABEL_JOBMAIN_PASSWORD), TRUE); EnableWindow(GetDlgItem(hDlg, IDC_LABEL_JOBMAIN_PASSWORD2), TRUE); EnableWindow(GetDlgItem(hDlg, IDC_EDIT_JOBMAIN_PASSWORD), TRUE); } else { EnableWindow(GetDlgItem(hDlg, IDC_LABEL_JOBMAIN_PASSWORD), FALSE); EnableWindow(GetDlgItem(hDlg, IDC_LABEL_JOBMAIN_PASSWORD2), FALSE); EnableWindow(GetDlgItem(hDlg, IDC_EDIT_JOBMAIN_PASSWORD), FALSE); } if (IDC_RADIO_LOG_ENABLED == pUiData->LogDisabled) { EnableWindow(GetDlgItem(hDlg, IDC_LABEL_JOBMAIN_USERCODE), TRUE); EnableWindow(GetDlgItem(hDlg, IDC_LABEL_JOBMAIN_USERCODE2), TRUE); EnableWindow(GetDlgItem(hDlg, IDC_EDIT_JOBMAIN_USERCODE), TRUE); } else { EnableWindow(GetDlgItem(hDlg, IDC_LABEL_JOBMAIN_USERCODE), FALSE); EnableWindow(GetDlgItem(hDlg, IDC_LABEL_JOBMAIN_USERCODE2), FALSE); EnableWindow(GetDlgItem(hDlg, IDC_EDIT_JOBMAIN_USERCODE), FALSE); }
#ifdef WINNT_40
// Disable tab options when user has no permission.
if (BITTEST32(pUiData->fUiOption, UIPLUGIN_NOPERMISSION)) { EnableWindow(GetDlgItem(hDlg, IDC_LABEL_JOBMAIN_USERID), FALSE); EnableWindow(GetDlgItem(hDlg, IDC_LABEL_JOBMAIN_USERID2), FALSE); EnableWindow(GetDlgItem(hDlg, IDC_LABEL_JOBMAIN_USERID3), FALSE); EnableWindow(GetDlgItem(hDlg, IDC_LABEL_JOBMAIN_JOB), FALSE); EnableWindow(GetDlgItem(hDlg, IDC_LABEL_JOBMAIN_PASSWORD), FALSE); EnableWindow(GetDlgItem(hDlg, IDC_LABEL_JOBMAIN_PASSWORD2), FALSE); EnableWindow(GetDlgItem(hDlg, IDC_LABEL_JOBMAIN_LOG), FALSE); EnableWindow(GetDlgItem(hDlg, IDC_LABEL_JOBMAIN_USERCODE), FALSE); EnableWindow(GetDlgItem(hDlg, IDC_LABEL_JOBMAIN_USERCODE2), FALSE); EnableWindow(GetDlgItem(hDlg, IDC_EDIT_JOBMAIN_USERID), FALSE); EnableWindow(GetDlgItem(hDlg, IDC_EDIT_JOBMAIN_PASSWORD), FALSE); EnableWindow(GetDlgItem(hDlg, IDC_EDIT_JOBMAIN_USERCODE), FALSE); EnableWindow(GetDlgItem(hDlg, IDC_RADIO_JOB_NORMAL), FALSE); EnableWindow(GetDlgItem(hDlg, IDC_RADIO_JOB_SAMPLE), FALSE); EnableWindow(GetDlgItem(hDlg, IDC_RADIO_JOB_SECURE), FALSE); EnableWindow(GetDlgItem(hDlg, IDC_RADIO_LOG_DISABLED), FALSE); EnableWindow(GetDlgItem(hDlg, IDC_RADIO_LOG_ENABLED), FALSE); EnableWindow(GetDlgItem(hDlg, IDC_CHECK_JOB_DEFAULT), FALSE); } #endif // WINNT_40
} //*** InitMainDlg
/***************************************************************************
Function Name : GetInfoFromOEMPdev get data from private devmode ***************************************************************************/ VOID GetInfoFromOEMPdev(PUIDATA pUiData) { POEMUD_EXTRADATA pOEMExtra = pUiData->pOEMExtra;
VERBOSE((DLLTEXT("GetInfoFromOEMPdev: print done?(%d)\n"), BITTEST32(pOEMExtra->fUiOption, PRINT_DONE))); // if previous printing is finished and reset-options flag is valid,
// reset job setting.
if (BITTEST32(pOEMExtra->fUiOption, PRINT_DONE) && !BITTEST32(pOEMExtra->fUiOption, HOLD_OPTIONS)) { pUiData->JobType = IDC_RADIO_JOB_NORMAL; // Use SecureZeroMemory @Mar/29/2002 ->
#if defined(WINNT_40) || defined(RICOH_RELEASE)
memset(pUiData->PasswordBuf, 0, sizeof(pUiData->PasswordBuf)); #else
SecureZeroMemory(pUiData->PasswordBuf, sizeof(pUiData->PasswordBuf)); #endif
// @Mar/29/2002 <-
// do not clear PRINT_DONE flag here
} else { pUiData->JobType = pOEMExtra->JobType; // ascii to unicode
// @Mar/04/2002 ->
// OemToChar((LPSTR)pOEMExtra->PasswordBuf, pUiData->PasswordBuf);
OemToCharBuff((LPSTR)pOEMExtra->PasswordBuf, pUiData->PasswordBuf, PASSWORD_LEN); // @Mar/04/2002 <-
}
pUiData->fUiOption = pOEMExtra->fUiOption; pUiData->LogDisabled = pOEMExtra->LogDisabled; // ascii to unicode
// @Mar/04/2002 ->
// OemToChar((LPSTR)pOEMExtra->UserIdBuf, pUiData->UserIdBuf);
// OemToChar((LPSTR)pOEMExtra->UserCodeBuf, pUiData->UserCodeBuf);
OemToCharBuff((LPSTR)pOEMExtra->UserIdBuf, pUiData->UserIdBuf, USERID_LEN); OemToCharBuff((LPSTR)pOEMExtra->UserCodeBuf, pUiData->UserCodeBuf, USERCODE_LEN); // @Mar/04/2002 <-
} //*** GetInfoFromOEMPdev
/***************************************************************************
Function Name : SetInfoToOEMPdev set data to private devmode ***************************************************************************/ VOID SetInfoToOEMPdev(PUIDATA pUiData) { POEMUD_EXTRADATA pOEMExtra = pUiData->pOEMExtra;
// if only main dialog is changed
if (!BITTEST32(pUiData->fUiOption, JOBLOGDLG_UPDATED)) return;
// unicode to ascii
CharToOem(pUiData->UserIdBuf, (LPSTR)pOEMExtra->UserIdBuf); CharToOem(pUiData->PasswordBuf, (LPSTR)pOEMExtra->PasswordBuf); CharToOem(pUiData->UserCodeBuf, (LPSTR)pOEMExtra->UserCodeBuf);
pOEMExtra->fUiOption = pUiData->fUiOption & 0x00FF; // clear local bit
pOEMExtra->JobType = pUiData->JobType; pOEMExtra->LogDisabled = pUiData->LogDisabled; #if DBG
//DebugBreak();
#endif // DBG
return; } //*** SetInfoToOEMPdev
/***************************************************************************
Function Name : JobPageProc
Parameters : HWND hDlg Handle of this Dialog UINT uMessage WPARAM wParam LPARAM lParam
Modify Note : Modify. 03/01/2000 Masatoshi Kubokura ***************************************************************************/ INT_PTR CALLBACK JobPageProc( HWND hDlg, UINT uMessage, WPARAM wParam, LPARAM lParam) { PUIDATA pUiData; WORD wOldVal, fModified = FALSE, fError = FALSE; INT iOldLen, iNewLen, iCnt;
#if DBG
giDebugLevel = DBG_VERBOSE; #endif // DBG
switch (uMessage) { case WM_INITDIALOG: pUiData = (PUIDATA)((LPPROPSHEETPAGE)lParam)->lParam; SetWindowLongPtr(hDlg, DWLP_USER, (LONG_PTR)pUiData);
// get data from private devmode
GetInfoFromOEMPdev(pUiData);
InitMainDlg(hDlg, pUiData); BITCLR32(pUiData->fUiOption, JOBLOGDLG_UPDATED); break;
case WM_COMMAND: pUiData = (PUIDATA)GetWindowLongPtr(hDlg, DWLP_USER); switch(LOWORD(wParam)) { case IDC_EDIT_JOBMAIN_USERID: iOldLen = safe_strlenW(pUiData->UserIdBuf, sizeof(pUiData->UserIdBuf)); GetDlgItemText(hDlg, IDC_EDIT_JOBMAIN_USERID, pUiData->UserIdBuf, sizeof(pUiData->UserIdBuf) / sizeof(WCHAR)); iNewLen = safe_strlenW(pUiData->UserIdBuf, sizeof(pUiData->UserIdBuf)); if (1 <= iNewLen) { if (IDC_RADIO_JOB_SECURE == pUiData->JobType) { EnableWindow(GetDlgItem(hDlg, IDC_LABEL_JOBMAIN_PASSWORD), TRUE); EnableWindow(GetDlgItem(hDlg, IDC_LABEL_JOBMAIN_PASSWORD2), TRUE); EnableWindow(GetDlgItem(hDlg, IDC_EDIT_JOBMAIN_PASSWORD), TRUE); } EnableWindow(GetDlgItem(hDlg, IDC_RADIO_JOB_SAMPLE), TRUE); EnableWindow(GetDlgItem(hDlg, IDC_RADIO_JOB_SECURE), TRUE); EnableWindow(GetDlgItem(hDlg, IDC_CHECK_JOB_DEFAULT), TRUE); } // if UserID isn't set, disable Print Job setting.
else { CheckRadioButton(hDlg, IDC_RADIO_JOB_NORMAL, IDC_RADIO_JOB_SECURE, (pUiData->JobType = IDC_RADIO_JOB_NORMAL)); EnableWindow(GetDlgItem(hDlg, IDC_RADIO_JOB_SAMPLE), FALSE); EnableWindow(GetDlgItem(hDlg, IDC_RADIO_JOB_SECURE), FALSE); EnableWindow(GetDlgItem(hDlg, IDC_CHECK_JOB_DEFAULT), FALSE); EnableWindow(GetDlgItem(hDlg, IDC_LABEL_JOBMAIN_PASSWORD), FALSE); EnableWindow(GetDlgItem(hDlg, IDC_LABEL_JOBMAIN_PASSWORD2), FALSE); EnableWindow(GetDlgItem(hDlg, IDC_EDIT_JOBMAIN_PASSWORD), FALSE); } if (iOldLen != iNewLen) fModified = TRUE; break;
case IDC_EDIT_JOBMAIN_PASSWORD: iOldLen = safe_strlenW(pUiData->PasswordBuf, sizeof(pUiData->PasswordBuf)); GetDlgItemText(hDlg, IDC_EDIT_JOBMAIN_PASSWORD, pUiData->PasswordBuf, sizeof(pUiData->PasswordBuf) / sizeof(WCHAR)); if (iOldLen != safe_strlenW(pUiData->PasswordBuf, sizeof(pUiData->PasswordBuf))) fModified = TRUE; break;
case IDC_EDIT_JOBMAIN_USERCODE: iOldLen = safe_strlenW(pUiData->UserCodeBuf, sizeof(pUiData->UserCodeBuf)); GetDlgItemText(hDlg, IDC_EDIT_JOBMAIN_USERCODE, pUiData->UserCodeBuf, sizeof(pUiData->UserCodeBuf) / sizeof(WCHAR)); if (iOldLen != safe_strlenW(pUiData->UserCodeBuf, sizeof(pUiData->UserCodeBuf))) fModified = TRUE; break;
case IDC_RADIO_JOB_NORMAL: case IDC_RADIO_JOB_SAMPLE: case IDC_RADIO_JOB_SECURE: wOldVal = pUiData->JobType; CheckRadioButton(hDlg, IDC_RADIO_JOB_NORMAL, IDC_RADIO_JOB_SECURE, (pUiData->JobType = LOWORD(wParam))); if (IDC_RADIO_JOB_SECURE == pUiData->JobType) { EnableWindow(GetDlgItem(hDlg, IDC_LABEL_JOBMAIN_PASSWORD), TRUE); EnableWindow(GetDlgItem(hDlg, IDC_LABEL_JOBMAIN_PASSWORD2), TRUE); EnableWindow(GetDlgItem(hDlg, IDC_EDIT_JOBMAIN_PASSWORD), TRUE); } else { EnableWindow(GetDlgItem(hDlg, IDC_LABEL_JOBMAIN_PASSWORD), FALSE); EnableWindow(GetDlgItem(hDlg, IDC_LABEL_JOBMAIN_PASSWORD2), FALSE); EnableWindow(GetDlgItem(hDlg, IDC_EDIT_JOBMAIN_PASSWORD), FALSE); } if (wOldVal != pUiData->JobType) fModified = TRUE; break;
case IDC_RADIO_LOG_DISABLED: case IDC_RADIO_LOG_ENABLED: wOldVal = pUiData->LogDisabled; CheckRadioButton(hDlg, IDC_RADIO_LOG_DISABLED, IDC_RADIO_LOG_ENABLED, (pUiData->LogDisabled = LOWORD(wParam))); if (IDC_RADIO_LOG_ENABLED == pUiData->LogDisabled) { EnableWindow(GetDlgItem(hDlg, IDC_LABEL_JOBMAIN_USERCODE), TRUE); EnableWindow(GetDlgItem(hDlg, IDC_LABEL_JOBMAIN_USERCODE2), TRUE); EnableWindow(GetDlgItem(hDlg, IDC_EDIT_JOBMAIN_USERCODE), TRUE); } else { EnableWindow(GetDlgItem(hDlg, IDC_LABEL_JOBMAIN_USERCODE), FALSE); EnableWindow(GetDlgItem(hDlg, IDC_LABEL_JOBMAIN_USERCODE2), FALSE); EnableWindow(GetDlgItem(hDlg, IDC_EDIT_JOBMAIN_USERCODE), FALSE); } if (wOldVal != pUiData->LogDisabled) fModified = TRUE; break;
case IDC_CHECK_JOB_DEFAULT: if (BITTEST32(pUiData->fUiOption, HOLD_OPTIONS)) BITCLR32(pUiData->fUiOption, HOLD_OPTIONS); else BITSET32(pUiData->fUiOption, HOLD_OPTIONS); SendDlgItemMessage(hDlg, IDC_CHECK_JOB_DEFAULT, BM_SETCHECK, (BITTEST32(pUiData->fUiOption, HOLD_OPTIONS)? 0 : 1), 0); fModified = TRUE; break;
default: return FALSE; } break;
case WM_NOTIFY: pUiData = (PUIDATA)GetWindowLongPtr(hDlg, DWLP_USER); { NMHDR FAR *lpnmhdr = (NMHDR FAR *)lParam;
switch (lpnmhdr->code) { case PSN_SETACTIVE: break;
// In case of PSN_KILLACTIVE, return FALSE to get PSN_APPLY.
case PSN_KILLACTIVE: // this is when user pushs OK/APPLY button.(1)
VERBOSE((DLLTEXT("** JobPageProc: PSN_KILLACTIVE **\n"))); BITSET32(pUiData->fUiOption, JOBLOGDLG_UPDATED);
// Check User ID (Up to 8 alphanumeric characters)
iNewLen = safe_strlenW(pUiData->UserIdBuf, sizeof(pUiData->UserIdBuf)); for (iCnt = 0; iCnt < iNewLen; iCnt++) { // SBCS alphanumeric?
if (!_ismbcalnum(pUiData->UserIdBuf[iCnt])) { fError = TRUE; break; } } if (fError) { WCHAR wcTmp1[64], wcTmp2[64];
// set cursor to User ID edit box
SetFocus(GetDlgItem(hDlg, IDC_EDIT_JOBMAIN_USERID));
// Display warning dialog
// yasho's point-out @Nov/29/2000 ->
// LoadString(ghInstance, IDS_ERR_USERID_MSG, wcTmp1, sizeof(wcTmp1));
// LoadString(ghInstance, IDS_ERR_USERID_TITLE, wcTmp2, sizeof(wcTmp1));
LoadString(ghInstance, IDS_ERR_USERID_MSG, wcTmp1, sizeof(wcTmp1) / sizeof(*wcTmp1)); LoadString(ghInstance, IDS_ERR_USERID_TITLE, wcTmp2, sizeof(wcTmp2) / sizeof(*wcTmp2)); // @Nov/29/2000 <-
MessageBox(hDlg, wcTmp1, wcTmp2, MB_ICONEXCLAMATION|MB_OK); SetWindowLongPtr(hDlg, DWLP_MSGRESULT, PSNRET_INVALID_NOCHANGEPAGE);
// Do not close property sheets
return TRUE; }
// Check Password (4 digits)
iNewLen = safe_strlenW(pUiData->PasswordBuf, sizeof(pUiData->PasswordBuf)); if (PASSWORD_LEN != iNewLen) // Password must be exactly 4 digits.
{ fError = TRUE; } else { for (iCnt = 0; iCnt < iNewLen; iCnt++) { // SBCS digit?
if (!_ismbcdigit(pUiData->PasswordBuf[iCnt])) { fError = TRUE; break; } } } if (fError) { // if Secure Print is enabled
if (IDC_RADIO_JOB_SECURE == pUiData->JobType) { WCHAR wcTmp1[64], wcTmp2[64];
// set cursor to Password edit box
SetFocus(GetDlgItem(hDlg, IDC_EDIT_JOBMAIN_PASSWORD));
// Display warning dialog
LoadString(ghInstance, IDS_ERR_PASSWORD_MSG, wcTmp1, sizeof(wcTmp1) / sizeof(*wcTmp1)); LoadString(ghInstance, IDS_ERR_PASSWORD_TITLE, wcTmp2, sizeof(wcTmp2) / sizeof(*wcTmp2)); MessageBox(hDlg, wcTmp1, wcTmp2, MB_ICONEXCLAMATION|MB_OK); SetWindowLongPtr(hDlg, DWLP_MSGRESULT, PSNRET_INVALID_NOCHANGEPAGE);
// Do not close property sheets
return TRUE; } else { // Clear invalid Password
// Use SecureZeroMemory @Mar/29/2002 ->
#if defined(WINNT_40) || defined(RICOH_RELEASE)
memset(pUiData->PasswordBuf, 0, sizeof(pUiData->PasswordBuf)); #else
SecureZeroMemory(pUiData->PasswordBuf, sizeof(pUiData->PasswordBuf)); #endif
// @Mar/29/2002 <-
} fError = FALSE; }
// Check User Code (Up to 8 characters)
iNewLen = safe_strlenW(pUiData->UserCodeBuf, sizeof(pUiData->UserCodeBuf)); for (iCnt = 0; iCnt < iNewLen; iCnt++) { // SBCS digit?
if (!_ismbcdigit(pUiData->UserCodeBuf[iCnt])) { fError = TRUE; break; } } if (fError) { // if Log is enabled
if (IDC_RADIO_LOG_ENABLED == pUiData->LogDisabled) { WCHAR wcTmp1[64], wcTmp2[64];
// set cursor to User Code edit box
SetFocus(GetDlgItem(hDlg, IDC_EDIT_JOBMAIN_USERCODE));
// Display warning dialog
LoadString(ghInstance, IDS_ERR_USERCODE_MSG, wcTmp1, sizeof(wcTmp1) / sizeof(*wcTmp1)); LoadString(ghInstance, IDS_ERR_USERCODE_TITLE, wcTmp2, sizeof(wcTmp2) / sizeof(*wcTmp2)); MessageBox(hDlg, wcTmp1, wcTmp2, MB_ICONEXCLAMATION|MB_OK); SetWindowLongPtr(hDlg, DWLP_MSGRESULT, PSNRET_INVALID_NOCHANGEPAGE);
// Do not close property sheets
return TRUE; } else { // Clear invalid User Code
// Use SecureZeroMemory @Mar/29/2002 ->
#if defined(WINNT_40) || defined(RICOH_RELEASE)
memset(pUiData->UserCodeBuf, 0, sizeof(pUiData->UserCodeBuf)); #else
SecureZeroMemory(pUiData->UserCodeBuf, sizeof(pUiData->UserCodeBuf)); #endif
// Mar/29/2002 <-
} fError = FALSE; } return FALSE;
case PSN_APPLY: // this is when user pushs OK/APPLY button.(2)
VERBOSE((DLLTEXT("** JobPageProc: PSN_APPLY **\n")));
// clear PRINT_DONE flag and delete file.
// BUGBUG: When printing document twice, printing job settings are cleared on app's print dialog
// in 2nd printing. @Sep/05/2000 ->
// if (BITTEST32(pUiData->pOEMExtra->fUiOption, PRINT_DONE))
// {
// BITCLR32(pUiData->pOEMExtra->fUiOption, PRINT_DONE);
// VERBOSE(("** Delete file: %ls **\n", pUiData->pOEMExtra->SharedFileName));
// DeleteFile(pUiData->pOEMExtra->SharedFileName);
// }
if (BITTEST32(pUiData->fUiOption, PRINT_DONE)) { BITCLR32(pUiData->fUiOption, PRINT_DONE); VERBOSE(("** Delete file: %ls **\n", pUiData->pOEMExtra->SharedFileName)); DeleteFile(pUiData->pOEMExtra->SharedFileName); } // @Sep/05/2000 <-
// set data to private devmode
SetInfoToOEMPdev(pUiData);
// update private devmode
pUiData->pfnComPropSheet(pUiData->hComPropSheet, CPSFUNC_SET_RESULT, (LPARAM)pUiData->hPropPage, (LPARAM)CPSUI_OK); VERBOSE((DLLTEXT("** PSN_APPLY fUiOption=%x **\n"), pUiData->fUiOption)); break;
case PSN_RESET: // this is when user pushs CANCEL button
VERBOSE((DLLTEXT("** JobPageProc: PSN_RESET **\n"))); break; } } break;
default: return FALSE; }
// activate APPLY button
if (fModified) PropSheet_Changed(GetParent(hDlg), hDlg); return TRUE; } //*** JobPageProc
} // End of extern "C"
|