Minutes of the PrintMgr Extensions Test Driver code review 5/01/91 9:30-11:30a attending: ANNMC CHUCKC GREGJ JOHNL JONN O-SIMOP Minutes by JONN General: -- Please number lines in printout next time! -- Test error returns from UserPreference APIs, put in a temporary error message until RobP specs a permanent one. -- Add a CODEWORK to remove the RCDATA from the Dialog Editor output. Contact ByronD on this. -- Ask RobP if other apps need to be notified of changes in logon status. One scheme proposed is to broadcast a user-defined message selected by RegisterWindowsMessage, which any interested app can watch. -- Be sure to use "::" before all global function calls, including Windows APIs, NETLIB calls, and local calls. -- Add test coverage for the case where WNPMPrinterEnum[0] returns no queues. -- Print Manager work item: We should look into the case where periodic refresh generates PM_REFRESH messages faster than they can be handled. Can the Extensions suppress the new refresh if an old one is still queued? Can the Print Manager? -- Note in the CDD and FuncSpec: When the user pauses the printing job, the _destination_ should be paused rather than the queue. -- Be sure to BUGBUG all calls to the C-runtime (these are called only for the Test Driver). -- Note: Due to a C-RT bug, the first call to rand() after a call to srand() always returns 0. -- In the Test Driver section of the CDD, mention the pause/resume/delete/move flags. -- Note that the new Dialog Editor will allow copyright headers in .H files, but not .DLG files. -- Correct Hungarian for "hPMmainwindow" -- Encapsulate the variables dependent on initialization to include UIASSERT ensuring that module is initialized. -- Encapsulate handling of fConfirmation for codesharing. -- Use NETLIB string functions rather than lstr string functions. Specific modules: -- printman.rc: _ALT_-ENTER should be IDM_PROPERTIES in accelerators. -- pmancmd.cxx: Report selected item (as IDM_PROPERTIES) for IDM_DELETE, ID_ABORT, ID_PAUSE, and ID_RESUME as well. In final version, IDM_DELETE and ID_ABORT can use same case. -- pmanenum.cxx: Create a class to build an API buffer. Comment on the meanings of level 0, 1, 2. Hungarian for "pwNullStringOffset" is "pich". Make sure *cAvail is correct for WN_MORE_DATA. Exercise more interesting jobsizes. Use new API buffer class to distinguish between MORE_DATA and OUT_OF_MEMORY. Check error returns from NLS_STR::LoadString(); they are different for resource and memory problems. -- pmanfind.cxx: BUGBUG where maximum lengths for edit fields not known. -- pmanfocs.cxx: No need to explicitly null-terminate after QueryText (but make sure of this). -- pmanmenu.cxx: Create a new Hungarian notation for WN_ error codes (contact BenG), use only for PManExt and other new code. Comment that ReadUserPrivilege will be called on every WNPMChangeMenus in final version. Move comment on WNPMExiting to spec, also note the Exiting() must be able to hide the window. Improve function comment headers in general. InitGlobals(): Note that GetMenu() et al could fail in low-memory conditions. Add error popup to RefreshWindowCaption. Move "&Admin Menus" to resource, move mnemonic to &M. No defined error message for failure to write preference; note this in whine.txt. -- pmansel.cxx: Double-check pwCaps values. Rewrite BuildLine() using NLS_STR::LoadString(usMsgID,apnls) when needed.