Discussion:
Can't Print Multiple Copies, comdlg32 and comctl32 conflict
(too old to reply)
Submit2s
2007-05-11 13:51:00 UTC
Permalink
Raw Message
Hello, I'm having difficulity determining where the culprit of not being able
to print multiple copies.

1. I know that when conctl32.dll version 6.0 loads last on module loading
from the Winsxs directory plays a part in why multiple copies won't print as
oppose to the comctl32.dll v. 5.82 from the system32 directory loading last.

2. Part of this source code loads comctl.ocx 6.0, 1998 version from a
C:\Public folder as oppose to loading from system32 folder which is more
current than 1998.

Can anyone view this code and determine if the culprit is within this source
code vs what windbg is displaying?


Source code
Public Sub ShowPrinter()

On Error GoTo ShowPrinterError

Const PD_ENABLESETUPHOOK = &H2000
Const PD_ENABLESETUPTEMPLATE = &H8000
Const PD_ENABLESETUPTEMPLATEHANDLE = &H20000
Const PD_ENABLEPRINTHOOK = &H1000
Const PD_ENABLEPRINTTEMPLATE = &H4000
Const PD_ENABLEPRINTTEMPLATEHANDLE = &H10000

Dim pnt As Printer
Dim udtPrintDlg As PrintDlgStruct
Dim udtDevMode As DEVMODE
Dim udtDevNames As DEVNAMES
Dim lngDevModeSize As Long
Dim lngDevNameSize As Long
Dim lngMemHandle As Long
Dim lngAddress As Long

Dim strDriverName As String
Dim strPort As String

'*** init public properties
iAction = 5 'Action property - ShowPrint
lApiReturn = 0 'APIReturn property
lExtendedError = 0 'ExtendedError property

With udtDevMode
.dmSize = Len(udtDevMode)
.dmFields = DM_PAPERSIZE Or DM_ORIENTATION Or DM_COPIES
If mstrPrinterName <> "" Then
.dmDeviceName = mstrPrinterName & Chr$(0)
Else
.dmDeviceName = Printer.DeviceName & Chr$(0)
End If
If mintOrientation = cdlPDOrientPortrait Or mintOrientation =
cdlPDOrientLandscape Then
.dmOrientation = mintOrientation
Else
.dmOrientation = Printer.Orientation
End If
If mlngPaperSize <> 0 Then .dmPaperSize = mlngPaperSize
End With

lngDevModeSize = Len(udtDevMode)
' Get a global memory block to hold a copy of udtDevNode - exit on failure
lngMemHandle = GlobalAlloc(GHND, lngDevModeSize)
If lngMemHandle = 0 Then Exit Sub
udtPrintDlg.hDevMode = lngMemHandle
' Lock udtDevMode's global memory block - exit on failure
lngAddress = GlobalLock(lngMemHandle)
If lngAddress = 0 Then
Exit Sub
Call GlobalFree(lngMemHandle)
End If
' Copy udtDevMode to the global memory block
Call CopyMemory(ByVal lngAddress, udtDevMode, lngDevModeSize)
Call GlobalUnlock(lngMemHandle)

For Each pnt In Printers
If pnt.DeviceName = mstrPrinterName Then
strPort = pnt.Port
strDriverName = pnt.DriverName
Exit For
End If
Next pnt

If strDriverName = "" Then
mstrPrinterName = Printer.DeviceName
strDriverName = Printer.DriverName
strPort = Printer.Port
End If

With udtDevNames
.wDriverOffset = 8
.wDeviceOffset = .wDriverOffset + 1 + Len(strDriverName)
.wOutputOffset = .wDeviceOffset + 1 + Len(mstrPrinterName)
.wDefault = 1
.Extra = strDriverName & Chr$(0) & mstrPrinterName & Chr$(0) & strPort &
Chr$(0)
End With

lngDevNameSize = Len(udtDevNames)
' Get a global memory block to hold a copy of udtDevNode - exit on failure
lngMemHandle = GlobalAlloc(GHND, lngDevNameSize)
If lngMemHandle = 0 Then Exit Sub
udtPrintDlg.hDevNames = lngMemHandle
' Lock udtDevMode's global memory block - exit on failure
lngAddress = GlobalLock(lngMemHandle)
If lngAddress = 0 Then
Call GlobalFree(lngMemHandle)
Exit Sub
End If
' Copy udtDevMode to the global memory block
Call CopyMemory(ByVal lngAddress, udtDevNames, lngDevNameSize)
Call GlobalUnlock(lngMemHandle)

With udtPrintDlg
.lStructSize = Len(udtPrintDlg)
.lpfnSetupHook = 0
.lpfnPrintHook = Addressofproc(AddressOf DialogHook)
.Flags = lFlags ' Or PD_ENABLEPRINTHOOK
.nFromPage = lFromPage
.nToPage = lToPage
.nMinPage = lMin
.nMaxPage = lMax
.nCopies = lCopies
.hwndOwner = glngDialogOwner
End With

'Debug.Print "Before - "; udtDevMode.dmOrientation
'*** Call the PrintDlg API function
lApiReturn = PrintDlg(udtPrintDlg)

'*** handle return from PrintDlg API function
Select Case lApiReturn
Case 0 'user canceled
If bCancelError = True Then
'generate an error
On Error GoTo 0
Call GlobalFree(udtPrintDlg.hDevMode)
Err.Raise cdlCancel
Exit Sub
End If
Case 1 'user selected OK
lngMemHandle = udtPrintDlg.hDevMode
lngAddress = GlobalLock(lngMemHandle)
Call CopyMemory(udtDevMode, ByVal lngAddress, lngDevModeSize)
Call GlobalUnlock(lngMemHandle)
Call GlobalFree(lngMemHandle)

lngMemHandle = udtPrintDlg.hDevNames
lngAddress = GlobalLock(lngMemHandle)
Call CopyMemory(udtDevNames, ByVal lngAddress, lngDevNameSize)
Call GlobalUnlock(lngMemHandle)
Call GlobalFree(lngMemHandle)
With udtPrintDlg
lFromPage = .nFromPage 'nFromPage As Integer - store to FromPage
property
lToPage = .nToPage 'nToPage As Integer - store to ToPage property
lMin = .nMinPage 'nMinPage As Integer - store to Min property
lMax = .nMaxPage 'nMaxPage As Integer - store to Max property
lCopies = .nCopies
lFlags = .Flags
For Each pnt In Printers
If InStr(udtDevNames.Extra, pnt.DeviceName) Then
mstrPrinterName = pnt.DeviceName
Exit For
End If
Next pnt
mintOrientation = udtDevMode.dmOrientation
mlngPaperSize = udtDevMode.dmPaperSize
End With
Case Else 'an error occured
'call CommDlgExtendedError
lExtendedError = CommDlgExtendedError 'store to ExtendedError property
Debug.Assert False
End Select

Exit Sub

ShowPrinterError:

Exit Sub

End Sub
_________________________________________________

Windbg log


*** wait with pending attach
Symbol search path is:
srv*C:\symbols\Symbolserver\msdl_downloads*http://msdl.microsoft.com/download/symbols;srv*C:\symbols\Symbolserver\rockwell_downloads*J:\ABI\__Multi-Plant\Information
Technology\Support\Brewing\Architecture\RSView\Symbols\Rockwell\CPR7\pdb;srv*C:\symbols\Symbolserver\msdl_downloads*J:\ABI\__Multi-Plant\Information
Technology\Support\Brewing\Architecture\RSView\Symbols\Microsoft\pdb;z:;C:\symbols\hp\symbols
Executable search path is:
ModLoad: 00400000 00465000 G:\Bpa\BPAFE.exe
ModLoad: 7c900000 7c9b0000 C:\WINNT\system32\ntdll.dll
ModLoad: 7c800000 7c8f4000 C:\WINNT\system32\kernel32.dll
ModLoad: 66000000 66153000 G:\Bpa\MSVBVM60.DLL
ModLoad: 7e410000 7e4a0000 C:\WINNT\system32\USER32.dll
ModLoad: 77f10000 77f57000 C:\WINNT\system32\GDI32.dll
ModLoad: 77dd0000 77e6b000 C:\WINNT\system32\ADVAPI32.dll
ModLoad: 77e70000 77f01000 C:\WINNT\system32\RPCRT4.dll
ModLoad: 774e0000 7761d000 C:\WINNT\system32\ole32.dll
ModLoad: 77c10000 77c68000 C:\WINNT\system32\msvcrt.dll
ModLoad: 77120000 771ac000 C:\WINNT\system32\OLEAUT32.dll
ModLoad: 63000000 63013000 C:\WINNT\system32\SynTPFcs.dll
ModLoad: 77c00000 77c08000 C:\WINNT\system32\VERSION.dll
ModLoad: 708f0000 70903000 C:\WINNT\system32\asycfilt.dll
ModLoad: 77b40000 77b62000 C:\WINNT\system32\Apphelp.dll
ModLoad: 76fd0000 7704f000 C:\WINNT\system32\CLBCATQ.DLL
ModLoad: 77050000 77115000 C:\WINNT\system32\COMRes.dll
ModLoad: 14190000 14241000 G:\Bpa\BPAUtils.DLL
ModLoad: 0ffd0000 0fff8000 C:\WINNT\system32\rsaenh.dll
ModLoad: 77fe0000 77ff1000 C:\WINNT\system32\Secur32.dll
ModLoad: 33060000 33082000 G:\Bpa\DataLibrary2.DLL
ModLoad: 29800000 2986d000 G:\Bpa\SSTbars2.ocx
ModLoad: 5d090000 5d12a000 C:\WINNT\system32\COMCTL32.dll
ModLoad: 7b000000 7b020000 G:\Bpa\OLEPRO32.DLL
ModLoad: 76b40000 76b6d000 C:\WINNT\system32\WINMM.dll
ModLoad: 7c9c0000 7d1d5000 C:\WINNT\system32\SHELL32.dll
ModLoad: 77f60000 77fd6000 C:\WINNT\system32\SHLWAPI.dll
ModLoad: 773d0000 774d3000
C:\WINNT\WinSxS\x86_Microsoft.Windows.Common-Controls_6595b64144ccf1df_6.0.2600.2982_x-ww_ac3f9c03\comctl32.dll
ModLoad: 745e0000 748a6000 C:\WINNT\system32\msi.dll
ModLoad: 27580000 27685000 G:\Bpa\mscomctl.ocx
ModLoad: 763b0000 763f9000 C:\WINNT\system32\comdlg32.dll
ModLoad: 75e90000 75f40000 C:\WINNT\system32\SXS.DLL
ModLoad: 00f50000 00f5c000 G:\Bpa\regobj.dll
ModLoad: 26800000 2684e000 G:\Bpa\SSTree.ocx
ModLoad: 11000000 1102a000 G:\Bpa\SideBar2.OCX
ModLoad: 20000000 202c5000 C:\WINNT\system32\xpsp2res.dll
ModLoad: 10000000 1007f000 G:\Bpa\VSFlex7L.OCX
ModLoad: 76390000 763ad000 C:\WINNT\system32\IMM32.dll
ModLoad: 68ce0000 68e4b000 G:\Bpa\BPAReport.DLL
ModLoad: 6c390000 6c3d5000 G:\Bpa\BPATrack.DLL
ModLoad: 492c0000 493f5000 G:\Bpa\BPAME.DLL
ModLoad: 02030000 020eb000 G:\Bpa\BPAChart.DLL
ModLoad: 75d50000 75d8c000 G:\Bpa\BPASpecEditor.DLL
ModLoad: 38ba0000 38bc9000 G:\Bpa\bpaRecipeEditor.DLL
ModLoad: 021f0000 02230000 G:\Bpa\BPALDA.DLL
ModLoad: 3d970000 3da04000 G:\Bpa\BPAMisc.DLL
ModLoad: 73f50000 73fb0000 G:\Bpa\bpaBatchManagement.DLL
ModLoad: 2ad00000 2ad39000 G:\Bpa\bpacms.DLL
ModLoad: 02230000 0234e000 G:\Bpa\BPAIntlDataEntry.dll
ModLoad: 02350000 02447000 G:\Bpa\BPABARI.DLL
ModLoad: 71b20000 71b32000 C:\WINNT\system32\MPR.DLL
ModLoad: 75f60000 75f67000 C:\WINNT\System32\drprov.dll
ModLoad: 71c10000 71c1e000 C:\WINNT\System32\ntlanman.dll
ModLoad: 71cd0000 71ce7000 C:\WINNT\System32\NETUI0.dll
ModLoad: 71c90000 71cd0000 C:\WINNT\System32\NETUI1.dll
ModLoad: 5b860000 5b8b4000 C:\WINNT\system32\NETAPI32.dll
ModLoad: 71c80000 71c87000 C:\WINNT\System32\NETRAP.dll
ModLoad: 71bf0000 71c03000 C:\WINNT\System32\SAMLIB.dll
ModLoad: 75f70000 75f79000 C:\WINNT\System32\davclnt.dll
ModLoad: 23670000 236d0000 G:\Bpa\MSRDO20.DLL
ModLoad: 74320000 7435d000 C:\WINNT\system32\ODBC32.dll
ModLoad: 02590000 025a7000 C:\WINNT\system32\odbcint.dll
ModLoad: 282d0000 283ee000 C:\PROGRA~1\Sybase\ODBC\syodase.dll
ModLoad: 71ad0000 71ad9000 C:\WINNT\system32\WSOCK32.dll
ModLoad: 71ab0000 71ac7000 C:\WINNT\system32\WS2_32.dll
ModLoad: 71aa0000 71aa8000 C:\WINNT\system32\WS2HELP.dll
ModLoad: 02ab0000 030ed000 C:\PROGRA~1\Sybase\ODBC\syodicu.dll
ModLoad: 5fe80000 5fe9b000 C:\WINNT\system32\odbccp32.dll
ModLoad: 03110000 03124000 C:\PROGRA~1\Sybase\ODBC\syodaseR.DLL
ModLoad: 71a50000 71a8f000 C:\WINNT\system32\mswsock.dll
ModLoad: 662b0000 66308000 C:\WINNT\system32\hnetcfg.dll
ModLoad: 71a90000 71a98000 C:\WINNT\System32\wshtcpip.dll
ModLoad: 029f0000 02a22000 G:\Bpa\Richtx32.ocx
ModLoad: 7df70000 7df92000 C:\WINNT\system32\oledlg.dll
ModLoad: 75020000 7504d000 G:\Bpa\RichEd32.DLL
ModLoad: 04730000 047cb000 G:\Bpa\Graphs32.OCX
ModLoad: 02a70000 02aad000 G:\Bpa\GSWAG32.dll
ModLoad: 010c0000 010e5000 G:\Bpa\GSWDLL32.dll
ModLoad: 73000000 73026000 C:\WINNT\system32\WINSPOOL.DRV
ModLoad: 73dd0000 73ece000 C:\WINNT\system32\MFC42.DLL
ModLoad: 096e0000 09714000 G:\Bpa\DTPick5.OCX
ModLoad: 76c30000 76c5e000 C:\WINNT\system32\WINTRUST.dll
ModLoad: 77a80000 77b14000 C:\WINNT\system32\CRYPT32.dll
ModLoad: 77b20000 77b32000 C:\WINNT\system32\MSASN1.dll
ModLoad: 76c90000 76cb8000 C:\WINNT\system32\IMAGEHLP.dll
ModLoad: 72d20000 72d29000 C:\WINNT\system32\wdmaud.drv
ModLoad: 72d10000 72d18000 C:\WINNT\system32\msacm32.drv
ModLoad: 77be0000 77bf5000 C:\WINNT\system32\MSACM32.dll
ModLoad: 77bd0000 77bd7000 C:\WINNT\system32\midimap.dll
ModLoad: 74b80000 74c0c000 C:\WINNT\system32\printui.dll
ModLoad: 77cc0000 77cf2000 C:\WINNT\system32\ACTIVEDS.dll
ModLoad: 76e10000 76e35000 C:\WINNT\system32\adsldpc.dll
ModLoad: 76f60000 76f8c000 C:\WINNT\system32\WLDAP32.dll
ModLoad: 76b20000 76b31000 C:\WINNT\system32\ATL.DLL
ModLoad: 74ae0000 74ae7000 C:\WINNT\system32\CFGMGR32.dll
ModLoad: 77920000 77a13000 C:\WINNT\system32\setupapi.DLL
ModLoad: 77a20000 77a74000 C:\WINNT\System32\cscui.dll
ModLoad: 76600000 7661d000 C:\WINNT\System32\CSCDLL.dll
ModLoad: 75f80000 7607d000 C:\WINNT\system32\browseui.dll
ModLoad: 5ad70000 5ada8000 C:\WINNT\system32\UxTheme.dll
ModLoad: 769c0000 76a73000 C:\WINNT\system32\USERENV.dll
ModLoad: 05950000 05b45000
C:\WINNT\System32\spool\DRIVERS\W32X86\3\HPBF432E.DLL
ModLoad: 6e680000 6e6bb000 C:\WINNT\system32\COMPSTUI.dll
ModLoad: 76380000 76385000 C:\WINNT\system32\MSIMG32.dll
ModLoad: 71d40000 71d5c000 C:\WINNT\system32\actxprxy.dll

(818.16c): Unknown exception - code c000008f (first chance)
(818.16c): Access violation - code c0000005 (first chance)
First chance exceptions are reported before any exception handling.
This exception may be expected and handled.
eax=0012d5a0 ebx=66024ade ecx=0012d6bc edx=00000000 esi=00000000 edi=00150744
eip=1101ca05 esp=0012d4a8 ebp=0012d5ec iopl=0 nv up ei pl nz na pe nc
cs=001b ss=0023 ds=0023 es=0023 fs=003b gs=0000 efl=00010202
SideBar2!DllCanUnloadNow+0x146a7:
1101ca05 813e68f80111 cmp dword ptr [esi],0x1101f868 ds:0023:00000000=????????
0:000> kvn
# ChildEBP RetAddr Args to Child
WARNING: Stack unwind information not available. Following frames may be
wrong.
00 0012d5ec 1100d6d2 001506d0 0012d6bc 0012d658
SideBar2!DllCanUnloadNow+0x146a7
01 0012d6f0 1100c3ca 001506d0 00000000 000000a5
SideBar2!DllCanUnloadNow+0x5374
02 0012d808 6602ad73 001506d0 0012d9cc 0012d9d4
SideBar2!DllCanUnloadNow+0x406c
03 0012d824 11004949 00150750 11004630 0012d880 MSVBVM60!CallProcWithArgs+0x1e
04 0012d834 6602ad50 11004949 0012d8f0 0000000a SideBar2+0x4949
05 0012d84c 6602ad08 00150750 0012d930 0012d8f0
MSVBVM60!InvokeVtblEvent+0x32 (FPO: [4,0,2])
06 0012d880 66023023 0012d930 0012d8f0 0000000a MSVBVM60!InvokeEvent+0x42
07 0012d954 66022eb2 00ce4534 00ce303c 00cc4220
MSVBVM60!EvtErrFireWorker+0x159
08 0012d978 6607b164 00ce4534 0000000e 0012d998 MSVBVM60!EvtErrFire+0x1b
09 0012d9d8 66035f01 00ce4534 0000000e 00000000 MSVBVM60!ErrDefMouse+0x2c6
0a 0012da40 660c14dc 00cc4220 000403b4 00000200
MSVBVM60!VBDefControlProc_508+0x3cb
0b 0012da80 66021269 00ce4534 000403b4 00000200 MSVBVM60!PixCtlProc+0x79
0c 0012daa8 66020341 00ce4534 000403b4 00000200 MSVBVM60!CommonGizWndProc+0x5a
0d 0012db04 7e418734 000403b4 00000200 00000000 MSVBVM60!StdCtlWndProc+0xaa
0e 0012db30 7e418816 66020297 000403b4 00000200
USER32!InternalCallWinProc+0x28
0f 0012db98 7e4189cd 00000000 66020297 000403b4
USER32!UserCallWinProcCheckWow+0x150 (FPO: [Non-Fpo])
10 0012dbf8 7e418a10 0012dc20 00000000 0012dc5c
USER32!DispatchMessageWorker+0x306 (FPO: [Non-Fpo])
11 0012dc08 5d0c8a90 0012dc20 03d834cc 03d833d8 USER32!DispatchMessageW+0xf
(FPO: [Non-Fpo])
12 0012dc5c 5d0c8c55 000703c0 03e0467c 00000000
COMCTL32!_RealPropertySheet+0x2cd (FPO: [Non-Fpo])
13 0012dc74 5d0c8c70 0012dc9c 00000000 0012e124
COMCTL32!_PropertySheet+0x138 (FPO: [Non-Fpo])
14 0012dc84 763d972f 0012dc9c 0012e56c 0012e59c COMCTL32!PropertySheetW+0xf
(FPO: [Non-Fpo])
15 0012e124 763d99f1 0012e56c 0012e59c 00000001
comdlg32!Print_InvokePropertySheets+0x251 (FPO: [Non-Fpo])
16 0012e554 763d9c72 0012e56c 0012ea64 00000000 comdlg32!PrintDlgExX+0x27b
(FPO: [Non-Fpo])
17 0012e5f8 763d3401 0012ea64 00000001 00100014
comdlg32!Print_NewPrintDlg+0x110 (FPO: [Non-Fpo])
18 0012ea50 763d4722 0012ea64 0012ef10 141ee11f comdlg32!PrintDlgX+0xab
(FPO: [Non-Fpo])
19 0012ef04 660fe7f5 0012f350 00000000 00000000 comdlg32!PrintDlgA+0x55
(FPO: [Non-Fpo])
1a 0012f41c 660fe829 0015bfe8 00000000 00000000
MSVBVM60!lblEX_ImpAdCallStr+0x2a
1b 0012f4dc 6610697d 03dc3128 0012f52a ffffffff
MSVBVM60!lblEX_VCallHresult+0x1f
1c 0012f6b8 6602ad73 03dc3128 04531fc0 0012f6d8
MSVBVM60!lblEX_ThisVCallHresult+0x1c
1d 0012f6c8 68cf2ba1 03dc31dc 68cf23f4 0012f724 MSVBVM60!CallProcWithArgs+0x1e
1e 0012f6d8 6602ad50 68cf2ba1 0012f744 00000004 BPAReport+0x12ba1
1f 0012f6f0 6602ad08 03dc31dc 0012f88c 0012f744
MSVBVM60!InvokeVtblEvent+0x32 (FPO: [4,0,2])
20 0012f724 66073084 0012f88c 0012f744 00000004 MSVBVM60!InvokeEvent+0x42
21 0012f8d4 6606c4d7 03bb5a84 00000001 0012fb3c MSVBVM60!VBOleFireEvent+0x27e
22 0012f8f4 2983956b 03bb5ba0 0000042f 2984fb58
MSVBVM60!COcx::CEventSink::Invoke+0x2d
23 0012fb54 2980b3e6 016eaf7c 29852ab8 04531fc0
SSTbars2!DllGetClassObject+0x1176
24 0012fcb0 29834b27 04531fc0 016eaf78 00000001 SSTbars2+0xb3e6
25 0012fce8 2980f685 00000022 04531950 0012fd74 SSTbars2+0x34b27
26 00000000 00000000 00000000 00000000 00000000 SSTbars2+0xf685
pallavi 001
2010-11-18 09:38:28 UTC
Permalink
Raw Message
Hi Submit2,

Have you got any solution for this problem, as i'm facing the same.

Could you please share, in case you got any answer.

Thanks and Regards.

> On Friday, May 11, 2007 9:51 AM Submit2 wrote:

> Hello, I'm having difficulity determining where the culprit of not being able
> to print multiple copies.
>
> 1. I know that when conctl32.dll version 6.0 loads last on module loading
> from the Winsxs directory plays a part in why multiple copies won't print as
> oppose to the comctl32.dll v. 5.82 from the system32 directory loading last.
>
> 2. Part of this source code loads comctl.ocx 6.0, 1998 version from a
> C:\Public folder as oppose to loading from system32 folder which is more
> current than 1998.
>
> Can anyone view this code and determine if the culprit is within this source
> code vs what windbg is displaying?
>
>
> Source code
> Public Sub ShowPrinter()
>
> On Error GoTo ShowPrinterError
>
> Const PD_ENABLESETUPHOOK = &H2000
> Const PD_ENABLESETUPTEMPLATE = &H8000
> Const PD_ENABLESETUPTEMPLATEHANDLE = &H20000
> Const PD_ENABLEPRINTHOOK = &H1000
> Const PD_ENABLEPRINTTEMPLATE = &H4000
> Const PD_ENABLEPRINTTEMPLATEHANDLE = &H10000
>
> Dim pnt As Printer
> Dim udtPrintDlg As PrintDlgStruct
> Dim udtDevMode As DEVMODE
> Dim udtDevNames As DEVNAMES
> Dim lngDevModeSize As Long
> Dim lngDevNameSize As Long
> Dim lngMemHandle As Long
> Dim lngAddress As Long
>
> Dim strDriverName As String
> Dim strPort As String
>
> '*** init public properties
> iAction = 5 'Action property - ShowPrint
> lApiReturn = 0 'APIReturn property
> lExtendedError = 0 'ExtendedError property
>
> With udtDevMode
> .dmSize = Len(udtDevMode)
> .dmFields = DM_PAPERSIZE Or DM_ORIENTATION Or DM_COPIES
> If mstrPrinterName <> "" Then
> .dmDeviceName = mstrPrinterName & Chr$(0)
> Else
> .dmDeviceName = Printer.DeviceName & Chr$(0)
> End If
> If mintOrientation = cdlPDOrientPortrait Or mintOrientation =
> cdlPDOrientLandscape Then
> .dmOrientation = mintOrientation
> Else
> .dmOrientation = Printer.Orientation
> End If
> If mlngPaperSize <> 0 Then .dmPaperSize = mlngPaperSize
> End With
>
> lngDevModeSize = Len(udtDevMode)
> ' Get a global memory block to hold a copy of udtDevNode - exit on failure
> lngMemHandle = GlobalAlloc(GHND, lngDevModeSize)
> If lngMemHandle = 0 Then Exit Sub
> udtPrintDlg.hDevMode = lngMemHandle
> ' Lock udtDevMode's global memory block - exit on failure
> lngAddress = GlobalLock(lngMemHandle)
> If lngAddress = 0 Then
> Exit Sub
> Call GlobalFree(lngMemHandle)
> End If
> ' Copy udtDevMode to the global memory block
> Call CopyMemory(ByVal lngAddress, udtDevMode, lngDevModeSize)
> Call GlobalUnlock(lngMemHandle)
>
> For Each pnt In Printers
> If pnt.DeviceName = mstrPrinterName Then
> strPort = pnt.Port
> strDriverName = pnt.DriverName
> Exit For
> End If
> Next pnt
>
> If strDriverName = "" Then
> mstrPrinterName = Printer.DeviceName
> strDriverName = Printer.DriverName
> strPort = Printer.Port
> End If
>
> With udtDevNames
> .wDriverOffset = 8
> .wDeviceOffset = .wDriverOffset + 1 + Len(strDriverName)
> .wOutputOffset = .wDeviceOffset + 1 + Len(mstrPrinterName)
> .wDefault = 1
> .Extra = strDriverName & Chr$(0) & mstrPrinterName & Chr$(0) & strPort &
> Chr$(0)
> End With
>
> lngDevNameSize = Len(udtDevNames)
> ' Get a global memory block to hold a copy of udtDevNode - exit on failure
> lngMemHandle = GlobalAlloc(GHND, lngDevNameSize)
> If lngMemHandle = 0 Then Exit Sub
> udtPrintDlg.hDevNames = lngMemHandle
> ' Lock udtDevMode's global memory block - exit on failure
> lngAddress = GlobalLock(lngMemHandle)
> If lngAddress = 0 Then
> Call GlobalFree(lngMemHandle)
> Exit Sub
> End If
> ' Copy udtDevMode to the global memory block
> Call CopyMemory(ByVal lngAddress, udtDevNames, lngDevNameSize)
> Call GlobalUnlock(lngMemHandle)
>
> With udtPrintDlg
> .lStructSize = Len(udtPrintDlg)
> .lpfnSetupHook = 0
> .lpfnPrintHook = Addressofproc(AddressOf DialogHook)
> .Flags = lFlags ' Or PD_ENABLEPRINTHOOK
> .nFromPage = lFromPage
> .nToPage = lToPage
> .nMinPage = lMin
> .nMaxPage = lMax
> .nCopies = lCopies
> .hwndOwner = glngDialogOwner
> End With
>
> 'Debug.Print "Before - "; udtDevMode.dmOrientation
> '*** Call the PrintDlg API function
> lApiReturn = PrintDlg(udtPrintDlg)
>
> '*** handle return from PrintDlg API function
> Select Case lApiReturn
> Case 0 'user canceled
> If bCancelError = True Then
> 'generate an error
> On Error GoTo 0
> Call GlobalFree(udtPrintDlg.hDevMode)
> Err.Raise cdlCancel
> Exit Sub
> End If
> Case 1 'user selected OK
> lngMemHandle = udtPrintDlg.hDevMode
> lngAddress = GlobalLock(lngMemHandle)
> Call CopyMemory(udtDevMode, ByVal lngAddress, lngDevModeSize)
> Call GlobalUnlock(lngMemHandle)
> Call GlobalFree(lngMemHandle)
>
> lngMemHandle = udtPrintDlg.hDevNames
> lngAddress = GlobalLock(lngMemHandle)
> Call CopyMemory(udtDevNames, ByVal lngAddress, lngDevNameSize)
> Call GlobalUnlock(lngMemHandle)
> Call GlobalFree(lngMemHandle)
> With udtPrintDlg
> lFromPage = .nFromPage 'nFromPage As Integer - store to FromPage
> property
> lToPage = .nToPage 'nToPage As Integer - store to ToPage property
> lMin = .nMinPage 'nMinPage As Integer - store to Min property
> lMax = .nMaxPage 'nMaxPage As Integer - store to Max property
> lCopies = .nCopies
> lFlags = .Flags
> For Each pnt In Printers
> If InStr(udtDevNames.Extra, pnt.DeviceName) Then
> mstrPrinterName = pnt.DeviceName
> Exit For
> End If
> Next pnt
> mintOrientation = udtDevMode.dmOrientation
> mlngPaperSize = udtDevMode.dmPaperSize
> End With
> Case Else 'an error occured
> 'call CommDlgExtendedError
> lExtendedError = CommDlgExtendedError 'store to ExtendedError property
> Debug.Assert False
> End Select
>
> Exit Sub
>
> ShowPrinterError:
>
> Exit Sub
>
> End Sub
> _________________________________________________
>
> Windbg log
>
>
> *** wait with pending attach
> Symbol search path is:
> srv*C:\symbols\Symbolserver\msdl_downloads*http://msdl.microsoft.com/download/symbols;srv*C:\symbols\Symbolserver\rockwell_downloads*J:\ABI\__Multi-Plant\Information
> Technology\Support\Brewing\Architecture\RSView\Symbols\Rockwell\CPR7\pdb;srv*C:\symbols\Symbolserver\msdl_downloads*J:\ABI\__Multi-Plant\Information
> Technology\Support\Brewing\Architecture\RSView\Symbols\Microsoft\pdb;z:;C:\symbols\hp\symbols
> Executable search path is:
> ModLoad: 00400000 00465000 G:\Bpa\BPAFE.exe
> ModLoad: 7c900000 7c9b0000 C:\WINNT\system32\ntdll.dll
> ModLoad: 7c800000 7c8f4000 C:\WINNT\system32\kernel32.dll
> ModLoad: 66000000 66153000 G:\Bpa\MSVBVM60.DLL
> ModLoad: 7e410000 7e4a0000 C:\WINNT\system32\USER32.dll
> ModLoad: 77f10000 77f57000 C:\WINNT\system32\GDI32.dll
> ModLoad: 77dd0000 77e6b000 C:\WINNT\system32\ADVAPI32.dll
> ModLoad: 77e70000 77f01000 C:\WINNT\system32\RPCRT4.dll
> ModLoad: 774e0000 7761d000 C:\WINNT\system32\ole32.dll
> ModLoad: 77c10000 77c68000 C:\WINNT\system32\msvcrt.dll
> ModLoad: 77120000 771ac000 C:\WINNT\system32\OLEAUT32.dll
> ModLoad: 63000000 63013000 C:\WINNT\system32\SynTPFcs.dll
> ModLoad: 77c00000 77c08000 C:\WINNT\system32\VERSION.dll
> ModLoad: 708f0000 70903000 C:\WINNT\system32\asycfilt.dll
> ModLoad: 77b40000 77b62000 C:\WINNT\system32\Apphelp.dll
> ModLoad: 76fd0000 7704f000 C:\WINNT\system32\CLBCATQ.DLL
> ModLoad: 77050000 77115000 C:\WINNT\system32\COMRes.dll
> ModLoad: 14190000 14241000 G:\Bpa\BPAUtils.DLL
> ModLoad: 0ffd0000 0fff8000 C:\WINNT\system32\rsaenh.dll
> ModLoad: 77fe0000 77ff1000 C:\WINNT\system32\Secur32.dll
> ModLoad: 33060000 33082000 G:\Bpa\DataLibrary2.DLL
> ModLoad: 29800000 2986d000 G:\Bpa\SSTbars2.ocx
> ModLoad: 5d090000 5d12a000 C:\WINNT\system32\COMCTL32.dll
> ModLoad: 7b000000 7b020000 G:\Bpa\OLEPRO32.DLL
> ModLoad: 76b40000 76b6d000 C:\WINNT\system32\WINMM.dll
> ModLoad: 7c9c0000 7d1d5000 C:\WINNT\system32\SHELL32.dll
> ModLoad: 77f60000 77fd6000 C:\WINNT\system32\SHLWAPI.dll
> ModLoad: 773d0000 774d3000
> C:\WINNT\WinSxS\x86_Microsoft.Windows.Common-Controls_6595b64144ccf1df_6.0.2600.2982_x-ww_ac3f9c03\comctl32.dll
> ModLoad: 745e0000 748a6000 C:\WINNT\system32\msi.dll
> ModLoad: 27580000 27685000 G:\Bpa\mscomctl.ocx
> ModLoad: 763b0000 763f9000 C:\WINNT\system32\comdlg32.dll
> ModLoad: 75e90000 75f40000 C:\WINNT\system32\SXS.DLL
> ModLoad: 00f50000 00f5c000 G:\Bpa\regobj.dll
> ModLoad: 26800000 2684e000 G:\Bpa\SSTree.ocx
> ModLoad: 11000000 1102a000 G:\Bpa\SideBar2.OCX
> ModLoad: 20000000 202c5000 C:\WINNT\system32\xpsp2res.dll
> ModLoad: 10000000 1007f000 G:\Bpa\VSFlex7L.OCX
> ModLoad: 76390000 763ad000 C:\WINNT\system32\IMM32.dll
> ModLoad: 68ce0000 68e4b000 G:\Bpa\BPAReport.DLL
> ModLoad: 6c390000 6c3d5000 G:\Bpa\BPATrack.DLL
> ModLoad: 492c0000 493f5000 G:\Bpa\BPAME.DLL
> ModLoad: 02030000 020eb000 G:\Bpa\BPAChart.DLL
> ModLoad: 75d50000 75d8c000 G:\Bpa\BPASpecEditor.DLL
> ModLoad: 38ba0000 38bc9000 G:\Bpa\bpaRecipeEditor.DLL
> ModLoad: 021f0000 02230000 G:\Bpa\BPALDA.DLL
> ModLoad: 3d970000 3da04000 G:\Bpa\BPAMisc.DLL
> ModLoad: 73f50000 73fb0000 G:\Bpa\bpaBatchManagement.DLL
> ModLoad: 2ad00000 2ad39000 G:\Bpa\bpacms.DLL
> ModLoad: 02230000 0234e000 G:\Bpa\BPAIntlDataEntry.dll
> ModLoad: 02350000 02447000 G:\Bpa\BPABARI.DLL
> ModLoad: 71b20000 71b32000 C:\WINNT\system32\MPR.DLL
> ModLoad: 75f60000 75f67000 C:\WINNT\System32\drprov.dll
> ModLoad: 71c10000 71c1e000 C:\WINNT\System32\ntlanman.dll
> ModLoad: 71cd0000 71ce7000 C:\WINNT\System32\NETUI0.dll
> ModLoad: 71c90000 71cd0000 C:\WINNT\System32\NETUI1.dll
> ModLoad: 5b860000 5b8b4000 C:\WINNT\system32\NETAPI32.dll
> ModLoad: 71c80000 71c87000 C:\WINNT\System32\NETRAP.dll
> ModLoad: 71bf0000 71c03000 C:\WINNT\System32\SAMLIB.dll
> ModLoad: 75f70000 75f79000 C:\WINNT\System32\davclnt.dll
> ModLoad: 23670000 236d0000 G:\Bpa\MSRDO20.DLL
> ModLoad: 74320000 7435d000 C:\WINNT\system32\ODBC32.dll
> ModLoad: 02590000 025a7000 C:\WINNT\system32\odbcint.dll
> ModLoad: 282d0000 283ee000 C:\PROGRA~1\Sybase\ODBC\syodase.dll
> ModLoad: 71ad0000 71ad9000 C:\WINNT\system32\WSOCK32.dll
> ModLoad: 71ab0000 71ac7000 C:\WINNT\system32\WS2_32.dll
> ModLoad: 71aa0000 71aa8000 C:\WINNT\system32\WS2HELP.dll
> ModLoad: 02ab0000 030ed000 C:\PROGRA~1\Sybase\ODBC\syodicu.dll
> ModLoad: 5fe80000 5fe9b000 C:\WINNT\system32\odbccp32.dll
> ModLoad: 03110000 03124000 C:\PROGRA~1\Sybase\ODBC\syodaseR.DLL
> ModLoad: 71a50000 71a8f000 C:\WINNT\system32\mswsock.dll
> ModLoad: 662b0000 66308000 C:\WINNT\system32\hnetcfg.dll
> ModLoad: 71a90000 71a98000 C:\WINNT\System32\wshtcpip.dll
> ModLoad: 029f0000 02a22000 G:\Bpa\Richtx32.ocx
> ModLoad: 7df70000 7df92000 C:\WINNT\system32\oledlg.dll
> ModLoad: 75020000 7504d000 G:\Bpa\RichEd32.DLL
> ModLoad: 04730000 047cb000 G:\Bpa\Graphs32.OCX
> ModLoad: 02a70000 02aad000 G:\Bpa\GSWAG32.dll
> ModLoad: 010c0000 010e5000 G:\Bpa\GSWDLL32.dll
> ModLoad: 73000000 73026000 C:\WINNT\system32\WINSPOOL.DRV
> ModLoad: 73dd0000 73ece000 C:\WINNT\system32\MFC42.DLL
> ModLoad: 096e0000 09714000 G:\Bpa\DTPick5.OCX
> ModLoad: 76c30000 76c5e000 C:\WINNT\system32\WINTRUST.dll
> ModLoad: 77a80000 77b14000 C:\WINNT\system32\CRYPT32.dll
> ModLoad: 77b20000 77b32000 C:\WINNT\system32\MSASN1.dll
> ModLoad: 76c90000 76cb8000 C:\WINNT\system32\IMAGEHLP.dll
> ModLoad: 72d20000 72d29000 C:\WINNT\system32\wdmaud.drv
> ModLoad: 72d10000 72d18000 C:\WINNT\system32\msacm32.drv
> ModLoad: 77be0000 77bf5000 C:\WINNT\system32\MSACM32.dll
> ModLoad: 77bd0000 77bd7000 C:\WINNT\system32\midimap.dll
> ModLoad: 74b80000 74c0c000 C:\WINNT\system32\printui.dll
> ModLoad: 77cc0000 77cf2000 C:\WINNT\system32\ACTIVEDS.dll
> ModLoad: 76e10000 76e35000 C:\WINNT\system32\adsldpc.dll
> ModLoad: 76f60000 76f8c000 C:\WINNT\system32\WLDAP32.dll
> ModLoad: 76b20000 76b31000 C:\WINNT\system32\ATL.DLL
> ModLoad: 74ae0000 74ae7000 C:\WINNT\system32\CFGMGR32.dll
> ModLoad: 77920000 77a13000 C:\WINNT\system32\setupapi.DLL
> ModLoad: 77a20000 77a74000 C:\WINNT\System32\cscui.dll
> ModLoad: 76600000 7661d000 C:\WINNT\System32\CSCDLL.dll
> ModLoad: 75f80000 7607d000 C:\WINNT\system32\browseui.dll
> ModLoad: 5ad70000 5ada8000 C:\WINNT\system32\UxTheme.dll
> ModLoad: 769c0000 76a73000 C:\WINNT\system32\USERENV.dll
> ModLoad: 05950000 05b45000
> C:\WINNT\System32\spool\DRIVERS\W32X86\3\HPBF432E.DLL
> ModLoad: 6e680000 6e6bb000 C:\WINNT\system32\COMPSTUI.dll
> ModLoad: 76380000 76385000 C:\WINNT\system32\MSIMG32.dll
> ModLoad: 71d40000 71d5c000 C:\WINNT\system32\actxprxy.dll
>
> (818.16c): Unknown exception - code c000008f (first chance)
> (818.16c): Access violation - code c0000005 (first chance)
> First chance exceptions are reported before any exception handling.
> This exception may be expected and handled.
> eax=0012d5a0 ebx=66024ade ecx=0012d6bc edx=00000000 esi=00000000 edi=00150744
> eip=1101ca05 esp=0012d4a8 ebp=0012d5ec iopl=0 nv up ei pl nz na pe nc
> cs=001b ss=0023 ds=0023 es=0023 fs=003b gs=0000 efl=00010202
> SideBar2!DllCanUnloadNow+0x146a7:
> 1101ca05 813e68f80111 cmp dword ptr [esi],0x1101f868 ds:0023:00000000=????????
> 0:000> kvn
> # ChildEBP RetAddr Args to Child
> WARNING: Stack unwind information not available. Following frames may be
> wrong.
> 00 0012d5ec 1100d6d2 001506d0 0012d6bc 0012d658
> SideBar2!DllCanUnloadNow+0x146a7
> 01 0012d6f0 1100c3ca 001506d0 00000000 000000a5
> SideBar2!DllCanUnloadNow+0x5374
> 02 0012d808 6602ad73 001506d0 0012d9cc 0012d9d4
> SideBar2!DllCanUnloadNow+0x406c
> 03 0012d824 11004949 00150750 11004630 0012d880 MSVBVM60!CallProcWithArgs+0x1e
> 04 0012d834 6602ad50 11004949 0012d8f0 0000000a SideBar2+0x4949
> 05 0012d84c 6602ad08 00150750 0012d930 0012d8f0
> MSVBVM60!InvokeVtblEvent+0x32 (FPO: [4,0,2])
> 06 0012d880 66023023 0012d930 0012d8f0 0000000a MSVBVM60!InvokeEvent+0x42
> 07 0012d954 66022eb2 00ce4534 00ce303c 00cc4220
> MSVBVM60!EvtErrFireWorker+0x159
> 08 0012d978 6607b164 00ce4534 0000000e 0012d998 MSVBVM60!EvtErrFire+0x1b
> 09 0012d9d8 66035f01 00ce4534 0000000e 00000000 MSVBVM60!ErrDefMouse+0x2c6
> 0a 0012da40 660c14dc 00cc4220 000403b4 00000200
> MSVBVM60!VBDefControlProc_508+0x3cb
> 0b 0012da80 66021269 00ce4534 000403b4 00000200 MSVBVM60!PixCtlProc+0x79
> 0c 0012daa8 66020341 00ce4534 000403b4 00000200 MSVBVM60!CommonGizWndProc+0x5a
> 0d 0012db04 7e418734 000403b4 00000200 00000000 MSVBVM60!StdCtlWndProc+0xaa
> 0e 0012db30 7e418816 66020297 000403b4 00000200
> USER32!InternalCallWinProc+0x28
> 0f 0012db98 7e4189cd 00000000 66020297 000403b4
> USER32!UserCallWinProcCheckWow+0x150 (FPO: [Non-Fpo])
> 10 0012dbf8 7e418a10 0012dc20 00000000 0012dc5c
> USER32!DispatchMessageWorker+0x306 (FPO: [Non-Fpo])
> 11 0012dc08 5d0c8a90 0012dc20 03d834cc 03d833d8 USER32!DispatchMessageW+0xf
> (FPO: [Non-Fpo])
> 12 0012dc5c 5d0c8c55 000703c0 03e0467c 00000000
> COMCTL32!_RealPropertySheet+0x2cd (FPO: [Non-Fpo])
> 13 0012dc74 5d0c8c70 0012dc9c 00000000 0012e124
> COMCTL32!_PropertySheet+0x138 (FPO: [Non-Fpo])
> 14 0012dc84 763d972f 0012dc9c 0012e56c 0012e59c COMCTL32!PropertySheetW+0xf
> (FPO: [Non-Fpo])
> 15 0012e124 763d99f1 0012e56c 0012e59c 00000001
> comdlg32!Print_InvokePropertySheets+0x251 (FPO: [Non-Fpo])
> 16 0012e554 763d9c72 0012e56c 0012ea64 00000000 comdlg32!PrintDlgExX+0x27b
> (FPO: [Non-Fpo])
> 17 0012e5f8 763d3401 0012ea64 00000001 00100014
> comdlg32!Print_NewPrintDlg+0x110 (FPO: [Non-Fpo])
> 18 0012ea50 763d4722 0012ea64 0012ef10 141ee11f comdlg32!PrintDlgX+0xab
> (FPO: [Non-Fpo])
> 19 0012ef04 660fe7f5 0012f350 00000000 00000000 comdlg32!PrintDlgA+0x55
> (FPO: [Non-Fpo])
> 1a 0012f41c 660fe829 0015bfe8 00000000 00000000
> MSVBVM60!lblEX_ImpAdCallStr+0x2a
> 1b 0012f4dc 6610697d 03dc3128 0012f52a ffffffff
> MSVBVM60!lblEX_VCallHresult+0x1f
> 1c 0012f6b8 6602ad73 03dc3128 04531fc0 0012f6d8
> MSVBVM60!lblEX_ThisVCallHresult+0x1c
> 1d 0012f6c8 68cf2ba1 03dc31dc 68cf23f4 0012f724 MSVBVM60!CallProcWithArgs+0x1e
> 1e 0012f6d8 6602ad50 68cf2ba1 0012f744 00000004 BPAReport+0x12ba1
> 1f 0012f6f0 6602ad08 03dc31dc 0012f88c 0012f744
> MSVBVM60!InvokeVtblEvent+0x32 (FPO: [4,0,2])
> 20 0012f724 66073084 0012f88c 0012f744 00000004 MSVBVM60!InvokeEvent+0x42
> 21 0012f8d4 6606c4d7 03bb5a84 00000001 0012fb3c MSVBVM60!VBOleFireEvent+0x27e
> 22 0012f8f4 2983956b 03bb5ba0 0000042f 2984fb58
> MSVBVM60!COcx::CEventSink::Invoke+0x2d
> 23 0012fb54 2980b3e6 016eaf7c 29852ab8 04531fc0
> SSTbars2!DllGetClassObject+0x1176
> 24 0012fcb0 29834b27 04531fc0 016eaf78 00000001 SSTbars2+0xb3e6
> 25 0012fce8 2980f685 00000022 04531950 0012fd74 SSTbars2+0x34b27
> 26 00000000 00000000 00000000 00000000 00000000 SSTbars2+0xf685


> Submitted via EggHeadCafe
> Merging SharePoint List Data into Word Documents
> http://www.eggheadcafe.com/tutorials/aspnet/6054abc5-c5fb-4e86-a352-afd0e8c4a7c6/merging-sharepoint-list-data-into-word-documents.aspx
pallavi 001
2010-11-18 09:39:03 UTC
Permalink
Raw Message
Hi Submit2,

Have you got any solution for this problem, as i'm facing the same.

Could you please share, in case you got any answer.

Thanks and Regards.

> On Friday, May 11, 2007 9:51 AM Submit2 wrote:

> Hello, I'm having difficulity determining where the culprit of not being able
> to print multiple copies.
>
> 1. I know that when conctl32.dll version 6.0 loads last on module loading
> from the Winsxs directory plays a part in why multiple copies won't print as
> oppose to the comctl32.dll v. 5.82 from the system32 directory loading last.
>
> 2. Part of this source code loads comctl.ocx 6.0, 1998 version from a
> C:\Public folder as oppose to loading from system32 folder which is more
> current than 1998.
>
> Can anyone view this code and determine if the culprit is within this source
> code vs what windbg is displaying?
>
>
> Source code
> Public Sub ShowPrinter()
>
> On Error GoTo ShowPrinterError
>
> Const PD_ENABLESETUPHOOK = &H2000
> Const PD_ENABLESETUPTEMPLATE = &H8000
> Const PD_ENABLESETUPTEMPLATEHANDLE = &H20000
> Const PD_ENABLEPRINTHOOK = &H1000
> Const PD_ENABLEPRINTTEMPLATE = &H4000
> Const PD_ENABLEPRINTTEMPLATEHANDLE = &H10000
>
> Dim pnt As Printer
> Dim udtPrintDlg As PrintDlgStruct
> Dim udtDevMode As DEVMODE
> Dim udtDevNames As DEVNAMES
> Dim lngDevModeSize As Long
> Dim lngDevNameSize As Long
> Dim lngMemHandle As Long
> Dim lngAddress As Long
>
> Dim strDriverName As String
> Dim strPort As String
>
> '*** init public properties
> iAction = 5 'Action property - ShowPrint
> lApiReturn = 0 'APIReturn property
> lExtendedError = 0 'ExtendedError property
>
> With udtDevMode
> .dmSize = Len(udtDevMode)
> .dmFields = DM_PAPERSIZE Or DM_ORIENTATION Or DM_COPIES
> If mstrPrinterName <> "" Then
> .dmDeviceName = mstrPrinterName & Chr$(0)
> Else
> .dmDeviceName = Printer.DeviceName & Chr$(0)
> End If
> If mintOrientation = cdlPDOrientPortrait Or mintOrientation =
> cdlPDOrientLandscape Then
> .dmOrientation = mintOrientation
> Else
> .dmOrientation = Printer.Orientation
> End If
> If mlngPaperSize <> 0 Then .dmPaperSize = mlngPaperSize
> End With
>
> lngDevModeSize = Len(udtDevMode)
> ' Get a global memory block to hold a copy of udtDevNode - exit on failure
> lngMemHandle = GlobalAlloc(GHND, lngDevModeSize)
> If lngMemHandle = 0 Then Exit Sub
> udtPrintDlg.hDevMode = lngMemHandle
> ' Lock udtDevMode's global memory block - exit on failure
> lngAddress = GlobalLock(lngMemHandle)
> If lngAddress = 0 Then
> Exit Sub
> Call GlobalFree(lngMemHandle)
> End If
> ' Copy udtDevMode to the global memory block
> Call CopyMemory(ByVal lngAddress, udtDevMode, lngDevModeSize)
> Call GlobalUnlock(lngMemHandle)
>
> For Each pnt In Printers
> If pnt.DeviceName = mstrPrinterName Then
> strPort = pnt.Port
> strDriverName = pnt.DriverName
> Exit For
> End If
> Next pnt
>
> If strDriverName = "" Then
> mstrPrinterName = Printer.DeviceName
> strDriverName = Printer.DriverName
> strPort = Printer.Port
> End If
>
> With udtDevNames
> .wDriverOffset = 8
> .wDeviceOffset = .wDriverOffset + 1 + Len(strDriverName)
> .wOutputOffset = .wDeviceOffset + 1 + Len(mstrPrinterName)
> .wDefault = 1
> .Extra = strDriverName & Chr$(0) & mstrPrinterName & Chr$(0) & strPort &
> Chr$(0)
> End With
>
> lngDevNameSize = Len(udtDevNames)
> ' Get a global memory block to hold a copy of udtDevNode - exit on failure
> lngMemHandle = GlobalAlloc(GHND, lngDevNameSize)
> If lngMemHandle = 0 Then Exit Sub
> udtPrintDlg.hDevNames = lngMemHandle
> ' Lock udtDevMode's global memory block - exit on failure
> lngAddress = GlobalLock(lngMemHandle)
> If lngAddress = 0 Then
> Call GlobalFree(lngMemHandle)
> Exit Sub
> End If
> ' Copy udtDevMode to the global memory block
> Call CopyMemory(ByVal lngAddress, udtDevNames, lngDevNameSize)
> Call GlobalUnlock(lngMemHandle)
>
> With udtPrintDlg
> .lStructSize = Len(udtPrintDlg)
> .lpfnSetupHook = 0
> .lpfnPrintHook = Addressofproc(AddressOf DialogHook)
> .Flags = lFlags ' Or PD_ENABLEPRINTHOOK
> .nFromPage = lFromPage
> .nToPage = lToPage
> .nMinPage = lMin
> .nMaxPage = lMax
> .nCopies = lCopies
> .hwndOwner = glngDialogOwner
> End With
>
> 'Debug.Print "Before - "; udtDevMode.dmOrientation
> '*** Call the PrintDlg API function
> lApiReturn = PrintDlg(udtPrintDlg)
>
> '*** handle return from PrintDlg API function
> Select Case lApiReturn
> Case 0 'user canceled
> If bCancelError = True Then
> 'generate an error
> On Error GoTo 0
> Call GlobalFree(udtPrintDlg.hDevMode)
> Err.Raise cdlCancel
> Exit Sub
> End If
> Case 1 'user selected OK
> lngMemHandle = udtPrintDlg.hDevMode
> lngAddress = GlobalLock(lngMemHandle)
> Call CopyMemory(udtDevMode, ByVal lngAddress, lngDevModeSize)
> Call GlobalUnlock(lngMemHandle)
> Call GlobalFree(lngMemHandle)
>
> lngMemHandle = udtPrintDlg.hDevNames
> lngAddress = GlobalLock(lngMemHandle)
> Call CopyMemory(udtDevNames, ByVal lngAddress, lngDevNameSize)
> Call GlobalUnlock(lngMemHandle)
> Call GlobalFree(lngMemHandle)
> With udtPrintDlg
> lFromPage = .nFromPage 'nFromPage As Integer - store to FromPage
> property
> lToPage = .nToPage 'nToPage As Integer - store to ToPage property
> lMin = .nMinPage 'nMinPage As Integer - store to Min property
> lMax = .nMaxPage 'nMaxPage As Integer - store to Max property
> lCopies = .nCopies
> lFlags = .Flags
> For Each pnt In Printers
> If InStr(udtDevNames.Extra, pnt.DeviceName) Then
> mstrPrinterName = pnt.DeviceName
> Exit For
> End If
> Next pnt
> mintOrientation = udtDevMode.dmOrientation
> mlngPaperSize = udtDevMode.dmPaperSize
> End With
> Case Else 'an error occured
> 'call CommDlgExtendedError
> lExtendedError = CommDlgExtendedError 'store to ExtendedError property
> Debug.Assert False
> End Select
>
> Exit Sub
>
> ShowPrinterError:
>
> Exit Sub
>
> End Sub
> _________________________________________________
>
> Windbg log
>
>
> *** wait with pending attach
> Symbol search path is:
> srv*C:\symbols\Symbolserver\msdl_downloads*http://msdl.microsoft.com/download/symbols;srv*C:\symbols\Symbolserver\rockwell_downloads*J:\ABI\__Multi-Plant\Information
> Technology\Support\Brewing\Architecture\RSView\Symbols\Rockwell\CPR7\pdb;srv*C:\symbols\Symbolserver\msdl_downloads*J:\ABI\__Multi-Plant\Information
> Technology\Support\Brewing\Architecture\RSView\Symbols\Microsoft\pdb;z:;C:\symbols\hp\symbols
> Executable search path is:
> ModLoad: 00400000 00465000 G:\Bpa\BPAFE.exe
> ModLoad: 7c900000 7c9b0000 C:\WINNT\system32\ntdll.dll
> ModLoad: 7c800000 7c8f4000 C:\WINNT\system32\kernel32.dll
> ModLoad: 66000000 66153000 G:\Bpa\MSVBVM60.DLL
> ModLoad: 7e410000 7e4a0000 C:\WINNT\system32\USER32.dll
> ModLoad: 77f10000 77f57000 C:\WINNT\system32\GDI32.dll
> ModLoad: 77dd0000 77e6b000 C:\WINNT\system32\ADVAPI32.dll
> ModLoad: 77e70000 77f01000 C:\WINNT\system32\RPCRT4.dll
> ModLoad: 774e0000 7761d000 C:\WINNT\system32\ole32.dll
> ModLoad: 77c10000 77c68000 C:\WINNT\system32\msvcrt.dll
> ModLoad: 77120000 771ac000 C:\WINNT\system32\OLEAUT32.dll
> ModLoad: 63000000 63013000 C:\WINNT\system32\SynTPFcs.dll
> ModLoad: 77c00000 77c08000 C:\WINNT\system32\VERSION.dll
> ModLoad: 708f0000 70903000 C:\WINNT\system32\asycfilt.dll
> ModLoad: 77b40000 77b62000 C:\WINNT\system32\Apphelp.dll
> ModLoad: 76fd0000 7704f000 C:\WINNT\system32\CLBCATQ.DLL
> ModLoad: 77050000 77115000 C:\WINNT\system32\COMRes.dll
> ModLoad: 14190000 14241000 G:\Bpa\BPAUtils.DLL
> ModLoad: 0ffd0000 0fff8000 C:\WINNT\system32\rsaenh.dll
> ModLoad: 77fe0000 77ff1000 C:\WINNT\system32\Secur32.dll
> ModLoad: 33060000 33082000 G:\Bpa\DataLibrary2.DLL
> ModLoad: 29800000 2986d000 G:\Bpa\SSTbars2.ocx
> ModLoad: 5d090000 5d12a000 C:\WINNT\system32\COMCTL32.dll
> ModLoad: 7b000000 7b020000 G:\Bpa\OLEPRO32.DLL
> ModLoad: 76b40000 76b6d000 C:\WINNT\system32\WINMM.dll
> ModLoad: 7c9c0000 7d1d5000 C:\WINNT\system32\SHELL32.dll
> ModLoad: 77f60000 77fd6000 C:\WINNT\system32\SHLWAPI.dll
> ModLoad: 773d0000 774d3000
> C:\WINNT\WinSxS\x86_Microsoft.Windows.Common-Controls_6595b64144ccf1df_6.0.2600.2982_x-ww_ac3f9c03\comctl32.dll
> ModLoad: 745e0000 748a6000 C:\WINNT\system32\msi.dll
> ModLoad: 27580000 27685000 G:\Bpa\mscomctl.ocx
> ModLoad: 763b0000 763f9000 C:\WINNT\system32\comdlg32.dll
> ModLoad: 75e90000 75f40000 C:\WINNT\system32\SXS.DLL
> ModLoad: 00f50000 00f5c000 G:\Bpa\regobj.dll
> ModLoad: 26800000 2684e000 G:\Bpa\SSTree.ocx
> ModLoad: 11000000 1102a000 G:\Bpa\SideBar2.OCX
> ModLoad: 20000000 202c5000 C:\WINNT\system32\xpsp2res.dll
> ModLoad: 10000000 1007f000 G:\Bpa\VSFlex7L.OCX
> ModLoad: 76390000 763ad000 C:\WINNT\system32\IMM32.dll
> ModLoad: 68ce0000 68e4b000 G:\Bpa\BPAReport.DLL
> ModLoad: 6c390000 6c3d5000 G:\Bpa\BPATrack.DLL
> ModLoad: 492c0000 493f5000 G:\Bpa\BPAME.DLL
> ModLoad: 02030000 020eb000 G:\Bpa\BPAChart.DLL
> ModLoad: 75d50000 75d8c000 G:\Bpa\BPASpecEditor.DLL
> ModLoad: 38ba0000 38bc9000 G:\Bpa\bpaRecipeEditor.DLL
> ModLoad: 021f0000 02230000 G:\Bpa\BPALDA.DLL
> ModLoad: 3d970000 3da04000 G:\Bpa\BPAMisc.DLL
> ModLoad: 73f50000 73fb0000 G:\Bpa\bpaBatchManagement.DLL
> ModLoad: 2ad00000 2ad39000 G:\Bpa\bpacms.DLL
> ModLoad: 02230000 0234e000 G:\Bpa\BPAIntlDataEntry.dll
> ModLoad: 02350000 02447000 G:\Bpa\BPABARI.DLL
> ModLoad: 71b20000 71b32000 C:\WINNT\system32\MPR.DLL
> ModLoad: 75f60000 75f67000 C:\WINNT\System32\drprov.dll
> ModLoad: 71c10000 71c1e000 C:\WINNT\System32\ntlanman.dll
> ModLoad: 71cd0000 71ce7000 C:\WINNT\System32\NETUI0.dll
> ModLoad: 71c90000 71cd0000 C:\WINNT\System32\NETUI1.dll
> ModLoad: 5b860000 5b8b4000 C:\WINNT\system32\NETAPI32.dll
> ModLoad: 71c80000 71c87000 C:\WINNT\System32\NETRAP.dll
> ModLoad: 71bf0000 71c03000 C:\WINNT\System32\SAMLIB.dll
> ModLoad: 75f70000 75f79000 C:\WINNT\System32\davclnt.dll
> ModLoad: 23670000 236d0000 G:\Bpa\MSRDO20.DLL
> ModLoad: 74320000 7435d000 C:\WINNT\system32\ODBC32.dll
> ModLoad: 02590000 025a7000 C:\WINNT\system32\odbcint.dll
> ModLoad: 282d0000 283ee000 C:\PROGRA~1\Sybase\ODBC\syodase.dll
> ModLoad: 71ad0000 71ad9000 C:\WINNT\system32\WSOCK32.dll
> ModLoad: 71ab0000 71ac7000 C:\WINNT\system32\WS2_32.dll
> ModLoad: 71aa0000 71aa8000 C:\WINNT\system32\WS2HELP.dll
> ModLoad: 02ab0000 030ed000 C:\PROGRA~1\Sybase\ODBC\syodicu.dll
> ModLoad: 5fe80000 5fe9b000 C:\WINNT\system32\odbccp32.dll
> ModLoad: 03110000 03124000 C:\PROGRA~1\Sybase\ODBC\syodaseR.DLL
> ModLoad: 71a50000 71a8f000 C:\WINNT\system32\mswsock.dll
> ModLoad: 662b0000 66308000 C:\WINNT\system32\hnetcfg.dll
> ModLoad: 71a90000 71a98000 C:\WINNT\System32\wshtcpip.dll
> ModLoad: 029f0000 02a22000 G:\Bpa\Richtx32.ocx
> ModLoad: 7df70000 7df92000 C:\WINNT\system32\oledlg.dll
> ModLoad: 75020000 7504d000 G:\Bpa\RichEd32.DLL
> ModLoad: 04730000 047cb000 G:\Bpa\Graphs32.OCX
> ModLoad: 02a70000 02aad000 G:\Bpa\GSWAG32.dll
> ModLoad: 010c0000 010e5000 G:\Bpa\GSWDLL32.dll
> ModLoad: 73000000 73026000 C:\WINNT\system32\WINSPOOL.DRV
> ModLoad: 73dd0000 73ece000 C:\WINNT\system32\MFC42.DLL
> ModLoad: 096e0000 09714000 G:\Bpa\DTPick5.OCX
> ModLoad: 76c30000 76c5e000 C:\WINNT\system32\WINTRUST.dll
> ModLoad: 77a80000 77b14000 C:\WINNT\system32\CRYPT32.dll
> ModLoad: 77b20000 77b32000 C:\WINNT\system32\MSASN1.dll
> ModLoad: 76c90000 76cb8000 C:\WINNT\system32\IMAGEHLP.dll
> ModLoad: 72d20000 72d29000 C:\WINNT\system32\wdmaud.drv
> ModLoad: 72d10000 72d18000 C:\WINNT\system32\msacm32.drv
> ModLoad: 77be0000 77bf5000 C:\WINNT\system32\MSACM32.dll
> ModLoad: 77bd0000 77bd7000 C:\WINNT\system32\midimap.dll
> ModLoad: 74b80000 74c0c000 C:\WINNT\system32\printui.dll
> ModLoad: 77cc0000 77cf2000 C:\WINNT\system32\ACTIVEDS.dll
> ModLoad: 76e10000 76e35000 C:\WINNT\system32\adsldpc.dll
> ModLoad: 76f60000 76f8c000 C:\WINNT\system32\WLDAP32.dll
> ModLoad: 76b20000 76b31000 C:\WINNT\system32\ATL.DLL
> ModLoad: 74ae0000 74ae7000 C:\WINNT\system32\CFGMGR32.dll
> ModLoad: 77920000 77a13000 C:\WINNT\system32\setupapi.DLL
> ModLoad: 77a20000 77a74000 C:\WINNT\System32\cscui.dll
> ModLoad: 76600000 7661d000 C:\WINNT\System32\CSCDLL.dll
> ModLoad: 75f80000 7607d000 C:\WINNT\system32\browseui.dll
> ModLoad: 5ad70000 5ada8000 C:\WINNT\system32\UxTheme.dll
> ModLoad: 769c0000 76a73000 C:\WINNT\system32\USERENV.dll
> ModLoad: 05950000 05b45000
> C:\WINNT\System32\spool\DRIVERS\W32X86\3\HPBF432E.DLL
> ModLoad: 6e680000 6e6bb000 C:\WINNT\system32\COMPSTUI.dll
> ModLoad: 76380000 76385000 C:\WINNT\system32\MSIMG32.dll
> ModLoad: 71d40000 71d5c000 C:\WINNT\system32\actxprxy.dll
>
> (818.16c): Unknown exception - code c000008f (first chance)
> (818.16c): Access violation - code c0000005 (first chance)
> First chance exceptions are reported before any exception handling.
> This exception may be expected and handled.
> eax=0012d5a0 ebx=66024ade ecx=0012d6bc edx=00000000 esi=00000000 edi=00150744
> eip=1101ca05 esp=0012d4a8 ebp=0012d5ec iopl=0 nv up ei pl nz na pe nc
> cs=001b ss=0023 ds=0023 es=0023 fs=003b gs=0000 efl=00010202
> SideBar2!DllCanUnloadNow+0x146a7:
> 1101ca05 813e68f80111 cmp dword ptr [esi],0x1101f868 ds:0023:00000000=????????
> 0:000> kvn
> # ChildEBP RetAddr Args to Child
> WARNING: Stack unwind information not available. Following frames may be
> wrong.
> 00 0012d5ec 1100d6d2 001506d0 0012d6bc 0012d658
> SideBar2!DllCanUnloadNow+0x146a7
> 01 0012d6f0 1100c3ca 001506d0 00000000 000000a5
> SideBar2!DllCanUnloadNow+0x5374
> 02 0012d808 6602ad73 001506d0 0012d9cc 0012d9d4
> SideBar2!DllCanUnloadNow+0x406c
> 03 0012d824 11004949 00150750 11004630 0012d880 MSVBVM60!CallProcWithArgs+0x1e
> 04 0012d834 6602ad50 11004949 0012d8f0 0000000a SideBar2+0x4949
> 05 0012d84c 6602ad08 00150750 0012d930 0012d8f0
> MSVBVM60!InvokeVtblEvent+0x32 (FPO: [4,0,2])
> 06 0012d880 66023023 0012d930 0012d8f0 0000000a MSVBVM60!InvokeEvent+0x42
> 07 0012d954 66022eb2 00ce4534 00ce303c 00cc4220
> MSVBVM60!EvtErrFireWorker+0x159
> 08 0012d978 6607b164 00ce4534 0000000e 0012d998 MSVBVM60!EvtErrFire+0x1b
> 09 0012d9d8 66035f01 00ce4534 0000000e 00000000 MSVBVM60!ErrDefMouse+0x2c6
> 0a 0012da40 660c14dc 00cc4220 000403b4 00000200
> MSVBVM60!VBDefControlProc_508+0x3cb
> 0b 0012da80 66021269 00ce4534 000403b4 00000200 MSVBVM60!PixCtlProc+0x79
> 0c 0012daa8 66020341 00ce4534 000403b4 00000200 MSVBVM60!CommonGizWndProc+0x5a
> 0d 0012db04 7e418734 000403b4 00000200 00000000 MSVBVM60!StdCtlWndProc+0xaa
> 0e 0012db30 7e418816 66020297 000403b4 00000200
> USER32!InternalCallWinProc+0x28
> 0f 0012db98 7e4189cd 00000000 66020297 000403b4
> USER32!UserCallWinProcCheckWow+0x150 (FPO: [Non-Fpo])
> 10 0012dbf8 7e418a10 0012dc20 00000000 0012dc5c
> USER32!DispatchMessageWorker+0x306 (FPO: [Non-Fpo])
> 11 0012dc08 5d0c8a90 0012dc20 03d834cc 03d833d8 USER32!DispatchMessageW+0xf
> (FPO: [Non-Fpo])
> 12 0012dc5c 5d0c8c55 000703c0 03e0467c 00000000
> COMCTL32!_RealPropertySheet+0x2cd (FPO: [Non-Fpo])
> 13 0012dc74 5d0c8c70 0012dc9c 00000000 0012e124
> COMCTL32!_PropertySheet+0x138 (FPO: [Non-Fpo])
> 14 0012dc84 763d972f 0012dc9c 0012e56c 0012e59c COMCTL32!PropertySheetW+0xf
> (FPO: [Non-Fpo])
> 15 0012e124 763d99f1 0012e56c 0012e59c 00000001
> comdlg32!Print_InvokePropertySheets+0x251 (FPO: [Non-Fpo])
> 16 0012e554 763d9c72 0012e56c 0012ea64 00000000 comdlg32!PrintDlgExX+0x27b
> (FPO: [Non-Fpo])
> 17 0012e5f8 763d3401 0012ea64 00000001 00100014
> comdlg32!Print_NewPrintDlg+0x110 (FPO: [Non-Fpo])
> 18 0012ea50 763d4722 0012ea64 0012ef10 141ee11f comdlg32!PrintDlgX+0xab
> (FPO: [Non-Fpo])
> 19 0012ef04 660fe7f5 0012f350 00000000 00000000 comdlg32!PrintDlgA+0x55
> (FPO: [Non-Fpo])
> 1a 0012f41c 660fe829 0015bfe8 00000000 00000000
> MSVBVM60!lblEX_ImpAdCallStr+0x2a
> 1b 0012f4dc 6610697d 03dc3128 0012f52a ffffffff
> MSVBVM60!lblEX_VCallHresult+0x1f
> 1c 0012f6b8 6602ad73 03dc3128 04531fc0 0012f6d8
> MSVBVM60!lblEX_ThisVCallHresult+0x1c
> 1d 0012f6c8 68cf2ba1 03dc31dc 68cf23f4 0012f724 MSVBVM60!CallProcWithArgs+0x1e
> 1e 0012f6d8 6602ad50 68cf2ba1 0012f744 00000004 BPAReport+0x12ba1
> 1f 0012f6f0 6602ad08 03dc31dc 0012f88c 0012f744
> MSVBVM60!InvokeVtblEvent+0x32 (FPO: [4,0,2])
> 20 0012f724 66073084 0012f88c 0012f744 00000004 MSVBVM60!InvokeEvent+0x42
> 21 0012f8d4 6606c4d7 03bb5a84 00000001 0012fb3c MSVBVM60!VBOleFireEvent+0x27e
> 22 0012f8f4 2983956b 03bb5ba0 0000042f 2984fb58
> MSVBVM60!COcx::CEventSink::Invoke+0x2d
> 23 0012fb54 2980b3e6 016eaf7c 29852ab8 04531fc0
> SSTbars2!DllGetClassObject+0x1176
> 24 0012fcb0 29834b27 04531fc0 016eaf78 00000001 SSTbars2+0xb3e6
> 25 0012fce8 2980f685 00000022 04531950 0012fd74 SSTbars2+0x34b27
> 26 00000000 00000000 00000000 00000000 00000000 SSTbars2+0xf685


>> On Thursday, November 18, 2010 4:38 AM pallavi 001 wrote:

>> Hi Submit2,
>>
>>
>>
>> Have you got any solution for this problem, as i'm facing the same.
>>
>>
>>
>> Could you please share, in case you got any answer.
>>
>>
>>
>> Thanks and Regards.


>> Submitted via EggHeadCafe
>> Creating a SharePoint Designer workflow
>> http://www.eggheadcafe.com/tutorials/aspnet/4b58a093-2c77-4568-81f0-f31feee2704a/creating-a-sharepoint-designer-workflow.aspx
pallavi 001
2010-11-18 09:40:12 UTC
Permalink
Raw Message
Hi Submit2,

Have you got any solution for this problem, as i'm facing the same.

Could you please share, in case you got any answer.

Thanks and Regards.

> On Friday, May 11, 2007 9:51 AM Submit2 wrote:

> Hello, I'm having difficulity determining where the culprit of not being able
> to print multiple copies.
>
> 1. I know that when conctl32.dll version 6.0 loads last on module loading
> from the Winsxs directory plays a part in why multiple copies won't print as
> oppose to the comctl32.dll v. 5.82 from the system32 directory loading last.
>
> 2. Part of this source code loads comctl.ocx 6.0, 1998 version from a
> C:\Public folder as oppose to loading from system32 folder which is more
> current than 1998.
>
> Can anyone view this code and determine if the culprit is within this source
> code vs what windbg is displaying?
>
>
> Source code
> Public Sub ShowPrinter()
>
> On Error GoTo ShowPrinterError
>
> Const PD_ENABLESETUPHOOK = &H2000
> Const PD_ENABLESETUPTEMPLATE = &H8000
> Const PD_ENABLESETUPTEMPLATEHANDLE = &H20000
> Const PD_ENABLEPRINTHOOK = &H1000
> Const PD_ENABLEPRINTTEMPLATE = &H4000
> Const PD_ENABLEPRINTTEMPLATEHANDLE = &H10000
>
> Dim pnt As Printer
> Dim udtPrintDlg As PrintDlgStruct
> Dim udtDevMode As DEVMODE
> Dim udtDevNames As DEVNAMES
> Dim lngDevModeSize As Long
> Dim lngDevNameSize As Long
> Dim lngMemHandle As Long
> Dim lngAddress As Long
>
> Dim strDriverName As String
> Dim strPort As String
>
> '*** init public properties
> iAction = 5 'Action property - ShowPrint
> lApiReturn = 0 'APIReturn property
> lExtendedError = 0 'ExtendedError property
>
> With udtDevMode
> .dmSize = Len(udtDevMode)
> .dmFields = DM_PAPERSIZE Or DM_ORIENTATION Or DM_COPIES
> If mstrPrinterName <> "" Then
> .dmDeviceName = mstrPrinterName & Chr$(0)
> Else
> .dmDeviceName = Printer.DeviceName & Chr$(0)
> End If
> If mintOrientation = cdlPDOrientPortrait Or mintOrientation =
> cdlPDOrientLandscape Then
> .dmOrientation = mintOrientation
> Else
> .dmOrientation = Printer.Orientation
> End If
> If mlngPaperSize <> 0 Then .dmPaperSize = mlngPaperSize
> End With
>
> lngDevModeSize = Len(udtDevMode)
> ' Get a global memory block to hold a copy of udtDevNode - exit on failure
> lngMemHandle = GlobalAlloc(GHND, lngDevModeSize)
> If lngMemHandle = 0 Then Exit Sub
> udtPrintDlg.hDevMode = lngMemHandle
> ' Lock udtDevMode's global memory block - exit on failure
> lngAddress = GlobalLock(lngMemHandle)
> If lngAddress = 0 Then
> Exit Sub
> Call GlobalFree(lngMemHandle)
> End If
> ' Copy udtDevMode to the global memory block
> Call CopyMemory(ByVal lngAddress, udtDevMode, lngDevModeSize)
> Call GlobalUnlock(lngMemHandle)
>
> For Each pnt In Printers
> If pnt.DeviceName = mstrPrinterName Then
> strPort = pnt.Port
> strDriverName = pnt.DriverName
> Exit For
> End If
> Next pnt
>
> If strDriverName = "" Then
> mstrPrinterName = Printer.DeviceName
> strDriverName = Printer.DriverName
> strPort = Printer.Port
> End If
>
> With udtDevNames
> .wDriverOffset = 8
> .wDeviceOffset = .wDriverOffset + 1 + Len(strDriverName)
> .wOutputOffset = .wDeviceOffset + 1 + Len(mstrPrinterName)
> .wDefault = 1
> .Extra = strDriverName & Chr$(0) & mstrPrinterName & Chr$(0) & strPort &
> Chr$(0)
> End With
>
> lngDevNameSize = Len(udtDevNames)
> ' Get a global memory block to hold a copy of udtDevNode - exit on failure
> lngMemHandle = GlobalAlloc(GHND, lngDevNameSize)
> If lngMemHandle = 0 Then Exit Sub
> udtPrintDlg.hDevNames = lngMemHandle
> ' Lock udtDevMode's global memory block - exit on failure
> lngAddress = GlobalLock(lngMemHandle)
> If lngAddress = 0 Then
> Call GlobalFree(lngMemHandle)
> Exit Sub
> End If
> ' Copy udtDevMode to the global memory block
> Call CopyMemory(ByVal lngAddress, udtDevNames, lngDevNameSize)
> Call GlobalUnlock(lngMemHandle)
>
> With udtPrintDlg
> .lStructSize = Len(udtPrintDlg)
> .lpfnSetupHook = 0
> .lpfnPrintHook = Addressofproc(AddressOf DialogHook)
> .Flags = lFlags ' Or PD_ENABLEPRINTHOOK
> .nFromPage = lFromPage
> .nToPage = lToPage
> .nMinPage = lMin
> .nMaxPage = lMax
> .nCopies = lCopies
> .hwndOwner = glngDialogOwner
> End With
>
> 'Debug.Print "Before - "; udtDevMode.dmOrientation
> '*** Call the PrintDlg API function
> lApiReturn = PrintDlg(udtPrintDlg)
>
> '*** handle return from PrintDlg API function
> Select Case lApiReturn
> Case 0 'user canceled
> If bCancelError = True Then
> 'generate an error
> On Error GoTo 0
> Call GlobalFree(udtPrintDlg.hDevMode)
> Err.Raise cdlCancel
> Exit Sub
> End If
> Case 1 'user selected OK
> lngMemHandle = udtPrintDlg.hDevMode
> lngAddress = GlobalLock(lngMemHandle)
> Call CopyMemory(udtDevMode, ByVal lngAddress, lngDevModeSize)
> Call GlobalUnlock(lngMemHandle)
> Call GlobalFree(lngMemHandle)
>
> lngMemHandle = udtPrintDlg.hDevNames
> lngAddress = GlobalLock(lngMemHandle)
> Call CopyMemory(udtDevNames, ByVal lngAddress, lngDevNameSize)
> Call GlobalUnlock(lngMemHandle)
> Call GlobalFree(lngMemHandle)
> With udtPrintDlg
> lFromPage = .nFromPage 'nFromPage As Integer - store to FromPage
> property
> lToPage = .nToPage 'nToPage As Integer - store to ToPage property
> lMin = .nMinPage 'nMinPage As Integer - store to Min property
> lMax = .nMaxPage 'nMaxPage As Integer - store to Max property
> lCopies = .nCopies
> lFlags = .Flags
> For Each pnt In Printers
> If InStr(udtDevNames.Extra, pnt.DeviceName) Then
> mstrPrinterName = pnt.DeviceName
> Exit For
> End If
> Next pnt
> mintOrientation = udtDevMode.dmOrientation
> mlngPaperSize = udtDevMode.dmPaperSize
> End With
> Case Else 'an error occured
> 'call CommDlgExtendedError
> lExtendedError = CommDlgExtendedError 'store to ExtendedError property
> Debug.Assert False
> End Select
>
> Exit Sub
>
> ShowPrinterError:
>
> Exit Sub
>
> End Sub
> _________________________________________________
>
> Windbg log
>
>
> *** wait with pending attach
> Symbol search path is:
> srv*C:\symbols\Symbolserver\msdl_downloads*http://msdl.microsoft.com/download/symbols;srv*C:\symbols\Symbolserver\rockwell_downloads*J:\ABI\__Multi-Plant\Information
> Technology\Support\Brewing\Architecture\RSView\Symbols\Rockwell\CPR7\pdb;srv*C:\symbols\Symbolserver\msdl_downloads*J:\ABI\__Multi-Plant\Information
> Technology\Support\Brewing\Architecture\RSView\Symbols\Microsoft\pdb;z:;C:\symbols\hp\symbols
> Executable search path is:
> ModLoad: 00400000 00465000 G:\Bpa\BPAFE.exe
> ModLoad: 7c900000 7c9b0000 C:\WINNT\system32\ntdll.dll
> ModLoad: 7c800000 7c8f4000 C:\WINNT\system32\kernel32.dll
> ModLoad: 66000000 66153000 G:\Bpa\MSVBVM60.DLL
> ModLoad: 7e410000 7e4a0000 C:\WINNT\system32\USER32.dll
> ModLoad: 77f10000 77f57000 C:\WINNT\system32\GDI32.dll
> ModLoad: 77dd0000 77e6b000 C:\WINNT\system32\ADVAPI32.dll
> ModLoad: 77e70000 77f01000 C:\WINNT\system32\RPCRT4.dll
> ModLoad: 774e0000 7761d000 C:\WINNT\system32\ole32.dll
> ModLoad: 77c10000 77c68000 C:\WINNT\system32\msvcrt.dll
> ModLoad: 77120000 771ac000 C:\WINNT\system32\OLEAUT32.dll
> ModLoad: 63000000 63013000 C:\WINNT\system32\SynTPFcs.dll
> ModLoad: 77c00000 77c08000 C:\WINNT\system32\VERSION.dll
> ModLoad: 708f0000 70903000 C:\WINNT\system32\asycfilt.dll
> ModLoad: 77b40000 77b62000 C:\WINNT\system32\Apphelp.dll
> ModLoad: 76fd0000 7704f000 C:\WINNT\system32\CLBCATQ.DLL
> ModLoad: 77050000 77115000 C:\WINNT\system32\COMRes.dll
> ModLoad: 14190000 14241000 G:\Bpa\BPAUtils.DLL
> ModLoad: 0ffd0000 0fff8000 C:\WINNT\system32\rsaenh.dll
> ModLoad: 77fe0000 77ff1000 C:\WINNT\system32\Secur32.dll
> ModLoad: 33060000 33082000 G:\Bpa\DataLibrary2.DLL
> ModLoad: 29800000 2986d000 G:\Bpa\SSTbars2.ocx
> ModLoad: 5d090000 5d12a000 C:\WINNT\system32\COMCTL32.dll
> ModLoad: 7b000000 7b020000 G:\Bpa\OLEPRO32.DLL
> ModLoad: 76b40000 76b6d000 C:\WINNT\system32\WINMM.dll
> ModLoad: 7c9c0000 7d1d5000 C:\WINNT\system32\SHELL32.dll
> ModLoad: 77f60000 77fd6000 C:\WINNT\system32\SHLWAPI.dll
> ModLoad: 773d0000 774d3000
> C:\WINNT\WinSxS\x86_Microsoft.Windows.Common-Controls_6595b64144ccf1df_6.0.2600.2982_x-ww_ac3f9c03\comctl32.dll
> ModLoad: 745e0000 748a6000 C:\WINNT\system32\msi.dll
> ModLoad: 27580000 27685000 G:\Bpa\mscomctl.ocx
> ModLoad: 763b0000 763f9000 C:\WINNT\system32\comdlg32.dll
> ModLoad: 75e90000 75f40000 C:\WINNT\system32\SXS.DLL
> ModLoad: 00f50000 00f5c000 G:\Bpa\regobj.dll
> ModLoad: 26800000 2684e000 G:\Bpa\SSTree.ocx
> ModLoad: 11000000 1102a000 G:\Bpa\SideBar2.OCX
> ModLoad: 20000000 202c5000 C:\WINNT\system32\xpsp2res.dll
> ModLoad: 10000000 1007f000 G:\Bpa\VSFlex7L.OCX
> ModLoad: 76390000 763ad000 C:\WINNT\system32\IMM32.dll
> ModLoad: 68ce0000 68e4b000 G:\Bpa\BPAReport.DLL
> ModLoad: 6c390000 6c3d5000 G:\Bpa\BPATrack.DLL
> ModLoad: 492c0000 493f5000 G:\Bpa\BPAME.DLL
> ModLoad: 02030000 020eb000 G:\Bpa\BPAChart.DLL
> ModLoad: 75d50000 75d8c000 G:\Bpa\BPASpecEditor.DLL
> ModLoad: 38ba0000 38bc9000 G:\Bpa\bpaRecipeEditor.DLL
> ModLoad: 021f0000 02230000 G:\Bpa\BPALDA.DLL
> ModLoad: 3d970000 3da04000 G:\Bpa\BPAMisc.DLL
> ModLoad: 73f50000 73fb0000 G:\Bpa\bpaBatchManagement.DLL
> ModLoad: 2ad00000 2ad39000 G:\Bpa\bpacms.DLL
> ModLoad: 02230000 0234e000 G:\Bpa\BPAIntlDataEntry.dll
> ModLoad: 02350000 02447000 G:\Bpa\BPABARI.DLL
> ModLoad: 71b20000 71b32000 C:\WINNT\system32\MPR.DLL
> ModLoad: 75f60000 75f67000 C:\WINNT\System32\drprov.dll
> ModLoad: 71c10000 71c1e000 C:\WINNT\System32\ntlanman.dll
> ModLoad: 71cd0000 71ce7000 C:\WINNT\System32\NETUI0.dll
> ModLoad: 71c90000 71cd0000 C:\WINNT\System32\NETUI1.dll
> ModLoad: 5b860000 5b8b4000 C:\WINNT\system32\NETAPI32.dll
> ModLoad: 71c80000 71c87000 C:\WINNT\System32\NETRAP.dll
> ModLoad: 71bf0000 71c03000 C:\WINNT\System32\SAMLIB.dll
> ModLoad: 75f70000 75f79000 C:\WINNT\System32\davclnt.dll
> ModLoad: 23670000 236d0000 G:\Bpa\MSRDO20.DLL
> ModLoad: 74320000 7435d000 C:\WINNT\system32\ODBC32.dll
> ModLoad: 02590000 025a7000 C:\WINNT\system32\odbcint.dll
> ModLoad: 282d0000 283ee000 C:\PROGRA~1\Sybase\ODBC\syodase.dll
> ModLoad: 71ad0000 71ad9000 C:\WINNT\system32\WSOCK32.dll
> ModLoad: 71ab0000 71ac7000 C:\WINNT\system32\WS2_32.dll
> ModLoad: 71aa0000 71aa8000 C:\WINNT\system32\WS2HELP.dll
> ModLoad: 02ab0000 030ed000 C:\PROGRA~1\Sybase\ODBC\syodicu.dll
> ModLoad: 5fe80000 5fe9b000 C:\WINNT\system32\odbccp32.dll
> ModLoad: 03110000 03124000 C:\PROGRA~1\Sybase\ODBC\syodaseR.DLL
> ModLoad: 71a50000 71a8f000 C:\WINNT\system32\mswsock.dll
> ModLoad: 662b0000 66308000 C:\WINNT\system32\hnetcfg.dll
> ModLoad: 71a90000 71a98000 C:\WINNT\System32\wshtcpip.dll
> ModLoad: 029f0000 02a22000 G:\Bpa\Richtx32.ocx
> ModLoad: 7df70000 7df92000 C:\WINNT\system32\oledlg.dll
> ModLoad: 75020000 7504d000 G:\Bpa\RichEd32.DLL
> ModLoad: 04730000 047cb000 G:\Bpa\Graphs32.OCX
> ModLoad: 02a70000 02aad000 G:\Bpa\GSWAG32.dll
> ModLoad: 010c0000 010e5000 G:\Bpa\GSWDLL32.dll
> ModLoad: 73000000 73026000 C:\WINNT\system32\WINSPOOL.DRV
> ModLoad: 73dd0000 73ece000 C:\WINNT\system32\MFC42.DLL
> ModLoad: 096e0000 09714000 G:\Bpa\DTPick5.OCX
> ModLoad: 76c30000 76c5e000 C:\WINNT\system32\WINTRUST.dll
> ModLoad: 77a80000 77b14000 C:\WINNT\system32\CRYPT32.dll
> ModLoad: 77b20000 77b32000 C:\WINNT\system32\MSASN1.dll
> ModLoad: 76c90000 76cb8000 C:\WINNT\system32\IMAGEHLP.dll
> ModLoad: 72d20000 72d29000 C:\WINNT\system32\wdmaud.drv
> ModLoad: 72d10000 72d18000 C:\WINNT\system32\msacm32.drv
> ModLoad: 77be0000 77bf5000 C:\WINNT\system32\MSACM32.dll
> ModLoad: 77bd0000 77bd7000 C:\WINNT\system32\midimap.dll
> ModLoad: 74b80000 74c0c000 C:\WINNT\system32\printui.dll
> ModLoad: 77cc0000 77cf2000 C:\WINNT\system32\ACTIVEDS.dll
> ModLoad: 76e10000 76e35000 C:\WINNT\system32\adsldpc.dll
> ModLoad: 76f60000 76f8c000 C:\WINNT\system32\WLDAP32.dll
> ModLoad: 76b20000 76b31000 C:\WINNT\system32\ATL.DLL
> ModLoad: 74ae0000 74ae7000 C:\WINNT\system32\CFGMGR32.dll
> ModLoad: 77920000 77a13000 C:\WINNT\system32\setupapi.DLL
> ModLoad: 77a20000 77a74000 C:\WINNT\System32\cscui.dll
> ModLoad: 76600000 7661d000 C:\WINNT\System32\CSCDLL.dll
> ModLoad: 75f80000 7607d000 C:\WINNT\system32\browseui.dll
> ModLoad: 5ad70000 5ada8000 C:\WINNT\system32\UxTheme.dll
> ModLoad: 769c0000 76a73000 C:\WINNT\system32\USERENV.dll
> ModLoad: 05950000 05b45000
> C:\WINNT\System32\spool\DRIVERS\W32X86\3\HPBF432E.DLL
> ModLoad: 6e680000 6e6bb000 C:\WINNT\system32\COMPSTUI.dll
> ModLoad: 76380000 76385000 C:\WINNT\system32\MSIMG32.dll
> ModLoad: 71d40000 71d5c000 C:\WINNT\system32\actxprxy.dll
>
> (818.16c): Unknown exception - code c000008f (first chance)
> (818.16c): Access violation - code c0000005 (first chance)
> First chance exceptions are reported before any exception handling.
> This exception may be expected and handled.
> eax=0012d5a0 ebx=66024ade ecx=0012d6bc edx=00000000 esi=00000000 edi=00150744
> eip=1101ca05 esp=0012d4a8 ebp=0012d5ec iopl=0 nv up ei pl nz na pe nc
> cs=001b ss=0023 ds=0023 es=0023 fs=003b gs=0000 efl=00010202
> SideBar2!DllCanUnloadNow+0x146a7:
> 1101ca05 813e68f80111 cmp dword ptr [esi],0x1101f868 ds:0023:00000000=????????
> 0:000> kvn
> # ChildEBP RetAddr Args to Child
> WARNING: Stack unwind information not available. Following frames may be
> wrong.
> 00 0012d5ec 1100d6d2 001506d0 0012d6bc 0012d658
> SideBar2!DllCanUnloadNow+0x146a7
> 01 0012d6f0 1100c3ca 001506d0 00000000 000000a5
> SideBar2!DllCanUnloadNow+0x5374
> 02 0012d808 6602ad73 001506d0 0012d9cc 0012d9d4
> SideBar2!DllCanUnloadNow+0x406c
> 03 0012d824 11004949 00150750 11004630 0012d880 MSVBVM60!CallProcWithArgs+0x1e
> 04 0012d834 6602ad50 11004949 0012d8f0 0000000a SideBar2+0x4949
> 05 0012d84c 6602ad08 00150750 0012d930 0012d8f0
> MSVBVM60!InvokeVtblEvent+0x32 (FPO: [4,0,2])
> 06 0012d880 66023023 0012d930 0012d8f0 0000000a MSVBVM60!InvokeEvent+0x42
> 07 0012d954 66022eb2 00ce4534 00ce303c 00cc4220
> MSVBVM60!EvtErrFireWorker+0x159
> 08 0012d978 6607b164 00ce4534 0000000e 0012d998 MSVBVM60!EvtErrFire+0x1b
> 09 0012d9d8 66035f01 00ce4534 0000000e 00000000 MSVBVM60!ErrDefMouse+0x2c6
> 0a 0012da40 660c14dc 00cc4220 000403b4 00000200
> MSVBVM60!VBDefControlProc_508+0x3cb
> 0b 0012da80 66021269 00ce4534 000403b4 00000200 MSVBVM60!PixCtlProc+0x79
> 0c 0012daa8 66020341 00ce4534 000403b4 00000200 MSVBVM60!CommonGizWndProc+0x5a
> 0d 0012db04 7e418734 000403b4 00000200 00000000 MSVBVM60!StdCtlWndProc+0xaa
> 0e 0012db30 7e418816 66020297 000403b4 00000200
> USER32!InternalCallWinProc+0x28
> 0f 0012db98 7e4189cd 00000000 66020297 000403b4
> USER32!UserCallWinProcCheckWow+0x150 (FPO: [Non-Fpo])
> 10 0012dbf8 7e418a10 0012dc20 00000000 0012dc5c
> USER32!DispatchMessageWorker+0x306 (FPO: [Non-Fpo])
> 11 0012dc08 5d0c8a90 0012dc20 03d834cc 03d833d8 USER32!DispatchMessageW+0xf
> (FPO: [Non-Fpo])
> 12 0012dc5c 5d0c8c55 000703c0 03e0467c 00000000
> COMCTL32!_RealPropertySheet+0x2cd (FPO: [Non-Fpo])
> 13 0012dc74 5d0c8c70 0012dc9c 00000000 0012e124
> COMCTL32!_PropertySheet+0x138 (FPO: [Non-Fpo])
> 14 0012dc84 763d972f 0012dc9c 0012e56c 0012e59c COMCTL32!PropertySheetW+0xf
> (FPO: [Non-Fpo])
> 15 0012e124 763d99f1 0012e56c 0012e59c 00000001
> comdlg32!Print_InvokePropertySheets+0x251 (FPO: [Non-Fpo])
> 16 0012e554 763d9c72 0012e56c 0012ea64 00000000 comdlg32!PrintDlgExX+0x27b
> (FPO: [Non-Fpo])
> 17 0012e5f8 763d3401 0012ea64 00000001 00100014
> comdlg32!Print_NewPrintDlg+0x110 (FPO: [Non-Fpo])
> 18 0012ea50 763d4722 0012ea64 0012ef10 141ee11f comdlg32!PrintDlgX+0xab
> (FPO: [Non-Fpo])
> 19 0012ef04 660fe7f5 0012f350 00000000 00000000 comdlg32!PrintDlgA+0x55
> (FPO: [Non-Fpo])
> 1a 0012f41c 660fe829 0015bfe8 00000000 00000000
> MSVBVM60!lblEX_ImpAdCallStr+0x2a
> 1b 0012f4dc 6610697d 03dc3128 0012f52a ffffffff
> MSVBVM60!lblEX_VCallHresult+0x1f
> 1c 0012f6b8 6602ad73 03dc3128 04531fc0 0012f6d8
> MSVBVM60!lblEX_ThisVCallHresult+0x1c
> 1d 0012f6c8 68cf2ba1 03dc31dc 68cf23f4 0012f724 MSVBVM60!CallProcWithArgs+0x1e
> 1e 0012f6d8 6602ad50 68cf2ba1 0012f744 00000004 BPAReport+0x12ba1
> 1f 0012f6f0 6602ad08 03dc31dc 0012f88c 0012f744
> MSVBVM60!InvokeVtblEvent+0x32 (FPO: [4,0,2])
> 20 0012f724 66073084 0012f88c 0012f744 00000004 MSVBVM60!InvokeEvent+0x42
> 21 0012f8d4 6606c4d7 03bb5a84 00000001 0012fb3c MSVBVM60!VBOleFireEvent+0x27e
> 22 0012f8f4 2983956b 03bb5ba0 0000042f 2984fb58
> MSVBVM60!COcx::CEventSink::Invoke+0x2d
> 23 0012fb54 2980b3e6 016eaf7c 29852ab8 04531fc0
> SSTbars2!DllGetClassObject+0x1176
> 24 0012fcb0 29834b27 04531fc0 016eaf78 00000001 SSTbars2+0xb3e6
> 25 0012fce8 2980f685 00000022 04531950 0012fd74 SSTbars2+0x34b27
> 26 00000000 00000000 00000000 00000000 00000000 SSTbars2+0xf685


>> On Thursday, November 18, 2010 4:38 AM pallavi 001 wrote:

>> Hi Submit2,
>>
>>
>>
>> Have you got any solution for this problem, as i'm facing the same.
>>
>>
>>
>> Could you please share, in case you got any answer.
>>
>>
>>
>> Thanks and Regards.


>>> On Thursday, November 18, 2010 4:38 AM pallavi 001 wrote:

>>> Hi Submit2,
>>>
>>>
>>>
>>> Have you got any solution for this problem, as i'm facing the same.
>>>
>>>
>>>
>>> Could you please share, in case you got any answer.
>>>
>>>
>>>
>>> Thanks and Regards.


>>> Submitted via EggHeadCafe
>>> Office Open XML File Formats - Word 2007
>>> http://www.eggheadcafe.com/tutorials/aspnet/190e6d8f-3c4e-427b-ab86-1afbf94a1869/office-open-xml-file-formats--word-2007.aspx
pallavi 001
2010-11-18 09:40:57 UTC
Permalink
Raw Message
Hi Submit2,

Have you got any solution for this problem, as i'm facing the same.

Could you please share, in case you got any answer.

Thanks and Regards.

> On Friday, May 11, 2007 9:51 AM Submit2 wrote:

> Hello, I'm having difficulity determining where the culprit of not being able
> to print multiple copies.
>
> 1. I know that when conctl32.dll version 6.0 loads last on module loading
> from the Winsxs directory plays a part in why multiple copies won't print as
> oppose to the comctl32.dll v. 5.82 from the system32 directory loading last.
>
> 2. Part of this source code loads comctl.ocx 6.0, 1998 version from a
> C:\Public folder as oppose to loading from system32 folder which is more
> current than 1998.
>
> Can anyone view this code and determine if the culprit is within this source
> code vs what windbg is displaying?
>
>
> Source code
> Public Sub ShowPrinter()
>
> On Error GoTo ShowPrinterError
>
> Const PD_ENABLESETUPHOOK = &H2000
> Const PD_ENABLESETUPTEMPLATE = &H8000
> Const PD_ENABLESETUPTEMPLATEHANDLE = &H20000
> Const PD_ENABLEPRINTHOOK = &H1000
> Const PD_ENABLEPRINTTEMPLATE = &H4000
> Const PD_ENABLEPRINTTEMPLATEHANDLE = &H10000
>
> Dim pnt As Printer
> Dim udtPrintDlg As PrintDlgStruct
> Dim udtDevMode As DEVMODE
> Dim udtDevNames As DEVNAMES
> Dim lngDevModeSize As Long
> Dim lngDevNameSize As Long
> Dim lngMemHandle As Long
> Dim lngAddress As Long
>
> Dim strDriverName As String
> Dim strPort As String
>
> '*** init public properties
> iAction = 5 'Action property - ShowPrint
> lApiReturn = 0 'APIReturn property
> lExtendedError = 0 'ExtendedError property
>
> With udtDevMode
> .dmSize = Len(udtDevMode)
> .dmFields = DM_PAPERSIZE Or DM_ORIENTATION Or DM_COPIES
> If mstrPrinterName <> "" Then
> .dmDeviceName = mstrPrinterName & Chr$(0)
> Else
> .dmDeviceName = Printer.DeviceName & Chr$(0)
> End If
> If mintOrientation = cdlPDOrientPortrait Or mintOrientation =
> cdlPDOrientLandscape Then
> .dmOrientation = mintOrientation
> Else
> .dmOrientation = Printer.Orientation
> End If
> If mlngPaperSize <> 0 Then .dmPaperSize = mlngPaperSize
> End With
>
> lngDevModeSize = Len(udtDevMode)
> ' Get a global memory block to hold a copy of udtDevNode - exit on failure
> lngMemHandle = GlobalAlloc(GHND, lngDevModeSize)
> If lngMemHandle = 0 Then Exit Sub
> udtPrintDlg.hDevMode = lngMemHandle
> ' Lock udtDevMode's global memory block - exit on failure
> lngAddress = GlobalLock(lngMemHandle)
> If lngAddress = 0 Then
> Exit Sub
> Call GlobalFree(lngMemHandle)
> End If
> ' Copy udtDevMode to the global memory block
> Call CopyMemory(ByVal lngAddress, udtDevMode, lngDevModeSize)
> Call GlobalUnlock(lngMemHandle)
>
> For Each pnt In Printers
> If pnt.DeviceName = mstrPrinterName Then
> strPort = pnt.Port
> strDriverName = pnt.DriverName
> Exit For
> End If
> Next pnt
>
> If strDriverName = "" Then
> mstrPrinterName = Printer.DeviceName
> strDriverName = Printer.DriverName
> strPort = Printer.Port
> End If
>
> With udtDevNames
> .wDriverOffset = 8
> .wDeviceOffset = .wDriverOffset + 1 + Len(strDriverName)
> .wOutputOffset = .wDeviceOffset + 1 + Len(mstrPrinterName)
> .wDefault = 1
> .Extra = strDriverName & Chr$(0) & mstrPrinterName & Chr$(0) & strPort &
> Chr$(0)
> End With
>
> lngDevNameSize = Len(udtDevNames)
> ' Get a global memory block to hold a copy of udtDevNode - exit on failure
> lngMemHandle = GlobalAlloc(GHND, lngDevNameSize)
> If lngMemHandle = 0 Then Exit Sub
> udtPrintDlg.hDevNames = lngMemHandle
> ' Lock udtDevMode's global memory block - exit on failure
> lngAddress = GlobalLock(lngMemHandle)
> If lngAddress = 0 Then
> Call GlobalFree(lngMemHandle)
> Exit Sub
> End If
> ' Copy udtDevMode to the global memory block
> Call CopyMemory(ByVal lngAddress, udtDevNames, lngDevNameSize)
> Call GlobalUnlock(lngMemHandle)
>
> With udtPrintDlg
> .lStructSize = Len(udtPrintDlg)
> .lpfnSetupHook = 0
> .lpfnPrintHook = Addressofproc(AddressOf DialogHook)
> .Flags = lFlags ' Or PD_ENABLEPRINTHOOK
> .nFromPage = lFromPage
> .nToPage = lToPage
> .nMinPage = lMin
> .nMaxPage = lMax
> .nCopies = lCopies
> .hwndOwner = glngDialogOwner
> End With
>
> 'Debug.Print "Before - "; udtDevMode.dmOrientation
> '*** Call the PrintDlg API function
> lApiReturn = PrintDlg(udtPrintDlg)
>
> '*** handle return from PrintDlg API function
> Select Case lApiReturn
> Case 0 'user canceled
> If bCancelError = True Then
> 'generate an error
> On Error GoTo 0
> Call GlobalFree(udtPrintDlg.hDevMode)
> Err.Raise cdlCancel
> Exit Sub
> End If
> Case 1 'user selected OK
> lngMemHandle = udtPrintDlg.hDevMode
> lngAddress = GlobalLock(lngMemHandle)
> Call CopyMemory(udtDevMode, ByVal lngAddress, lngDevModeSize)
> Call GlobalUnlock(lngMemHandle)
> Call GlobalFree(lngMemHandle)
>
> lngMemHandle = udtPrintDlg.hDevNames
> lngAddress = GlobalLock(lngMemHandle)
> Call CopyMemory(udtDevNames, ByVal lngAddress, lngDevNameSize)
> Call GlobalUnlock(lngMemHandle)
> Call GlobalFree(lngMemHandle)
> With udtPrintDlg
> lFromPage = .nFromPage 'nFromPage As Integer - store to FromPage
> property
> lToPage = .nToPage 'nToPage As Integer - store to ToPage property
> lMin = .nMinPage 'nMinPage As Integer - store to Min property
> lMax = .nMaxPage 'nMaxPage As Integer - store to Max property
> lCopies = .nCopies
> lFlags = .Flags
> For Each pnt In Printers
> If InStr(udtDevNames.Extra, pnt.DeviceName) Then
> mstrPrinterName = pnt.DeviceName
> Exit For
> End If
> Next pnt
> mintOrientation = udtDevMode.dmOrientation
> mlngPaperSize = udtDevMode.dmPaperSize
> End With
> Case Else 'an error occured
> 'call CommDlgExtendedError
> lExtendedError = CommDlgExtendedError 'store to ExtendedError property
> Debug.Assert False
> End Select
>
> Exit Sub
>
> ShowPrinterError:
>
> Exit Sub
>
> End Sub
> _________________________________________________
>
> Windbg log
>
>
> *** wait with pending attach
> Symbol search path is:
> srv*C:\symbols\Symbolserver\msdl_downloads*http://msdl.microsoft.com/download/symbols;srv*C:\symbols\Symbolserver\rockwell_downloads*J:\ABI\__Multi-Plant\Information
> Technology\Support\Brewing\Architecture\RSView\Symbols\Rockwell\CPR7\pdb;srv*C:\symbols\Symbolserver\msdl_downloads*J:\ABI\__Multi-Plant\Information
> Technology\Support\Brewing\Architecture\RSView\Symbols\Microsoft\pdb;z:;C:\symbols\hp\symbols
> Executable search path is:
> ModLoad: 00400000 00465000 G:\Bpa\BPAFE.exe
> ModLoad: 7c900000 7c9b0000 C:\WINNT\system32\ntdll.dll
> ModLoad: 7c800000 7c8f4000 C:\WINNT\system32\kernel32.dll
> ModLoad: 66000000 66153000 G:\Bpa\MSVBVM60.DLL
> ModLoad: 7e410000 7e4a0000 C:\WINNT\system32\USER32.dll
> ModLoad: 77f10000 77f57000 C:\WINNT\system32\GDI32.dll
> ModLoad: 77dd0000 77e6b000 C:\WINNT\system32\ADVAPI32.dll
> ModLoad: 77e70000 77f01000 C:\WINNT\system32\RPCRT4.dll
> ModLoad: 774e0000 7761d000 C:\WINNT\system32\ole32.dll
> ModLoad: 77c10000 77c68000 C:\WINNT\system32\msvcrt.dll
> ModLoad: 77120000 771ac000 C:\WINNT\system32\OLEAUT32.dll
> ModLoad: 63000000 63013000 C:\WINNT\system32\SynTPFcs.dll
> ModLoad: 77c00000 77c08000 C:\WINNT\system32\VERSION.dll
> ModLoad: 708f0000 70903000 C:\WINNT\system32\asycfilt.dll
> ModLoad: 77b40000 77b62000 C:\WINNT\system32\Apphelp.dll
> ModLoad: 76fd0000 7704f000 C:\WINNT\system32\CLBCATQ.DLL
> ModLoad: 77050000 77115000 C:\WINNT\system32\COMRes.dll
> ModLoad: 14190000 14241000 G:\Bpa\BPAUtils.DLL
> ModLoad: 0ffd0000 0fff8000 C:\WINNT\system32\rsaenh.dll
> ModLoad: 77fe0000 77ff1000 C:\WINNT\system32\Secur32.dll
> ModLoad: 33060000 33082000 G:\Bpa\DataLibrary2.DLL
> ModLoad: 29800000 2986d000 G:\Bpa\SSTbars2.ocx
> ModLoad: 5d090000 5d12a000 C:\WINNT\system32\COMCTL32.dll
> ModLoad: 7b000000 7b020000 G:\Bpa\OLEPRO32.DLL
> ModLoad: 76b40000 76b6d000 C:\WINNT\system32\WINMM.dll
> ModLoad: 7c9c0000 7d1d5000 C:\WINNT\system32\SHELL32.dll
> ModLoad: 77f60000 77fd6000 C:\WINNT\system32\SHLWAPI.dll
> ModLoad: 773d0000 774d3000
> C:\WINNT\WinSxS\x86_Microsoft.Windows.Common-Controls_6595b64144ccf1df_6.0.2600.2982_x-ww_ac3f9c03\comctl32.dll
> ModLoad: 745e0000 748a6000 C:\WINNT\system32\msi.dll
> ModLoad: 27580000 27685000 G:\Bpa\mscomctl.ocx
> ModLoad: 763b0000 763f9000 C:\WINNT\system32\comdlg32.dll
> ModLoad: 75e90000 75f40000 C:\WINNT\system32\SXS.DLL
> ModLoad: 00f50000 00f5c000 G:\Bpa\regobj.dll
> ModLoad: 26800000 2684e000 G:\Bpa\SSTree.ocx
> ModLoad: 11000000 1102a000 G:\Bpa\SideBar2.OCX
> ModLoad: 20000000 202c5000 C:\WINNT\system32\xpsp2res.dll
> ModLoad: 10000000 1007f000 G:\Bpa\VSFlex7L.OCX
> ModLoad: 76390000 763ad000 C:\WINNT\system32\IMM32.dll
> ModLoad: 68ce0000 68e4b000 G:\Bpa\BPAReport.DLL
> ModLoad: 6c390000 6c3d5000 G:\Bpa\BPATrack.DLL
> ModLoad: 492c0000 493f5000 G:\Bpa\BPAME.DLL
> ModLoad: 02030000 020eb000 G:\Bpa\BPAChart.DLL
> ModLoad: 75d50000 75d8c000 G:\Bpa\BPASpecEditor.DLL
> ModLoad: 38ba0000 38bc9000 G:\Bpa\bpaRecipeEditor.DLL
> ModLoad: 021f0000 02230000 G:\Bpa\BPALDA.DLL
> ModLoad: 3d970000 3da04000 G:\Bpa\BPAMisc.DLL
> ModLoad: 73f50000 73fb0000 G:\Bpa\bpaBatchManagement.DLL
> ModLoad: 2ad00000 2ad39000 G:\Bpa\bpacms.DLL
> ModLoad: 02230000 0234e000 G:\Bpa\BPAIntlDataEntry.dll
> ModLoad: 02350000 02447000 G:\Bpa\BPABARI.DLL
> ModLoad: 71b20000 71b32000 C:\WINNT\system32\MPR.DLL
> ModLoad: 75f60000 75f67000 C:\WINNT\System32\drprov.dll
> ModLoad: 71c10000 71c1e000 C:\WINNT\System32\ntlanman.dll
> ModLoad: 71cd0000 71ce7000 C:\WINNT\System32\NETUI0.dll
> ModLoad: 71c90000 71cd0000 C:\WINNT\System32\NETUI1.dll
> ModLoad: 5b860000 5b8b4000 C:\WINNT\system32\NETAPI32.dll
> ModLoad: 71c80000 71c87000 C:\WINNT\System32\NETRAP.dll
> ModLoad: 71bf0000 71c03000 C:\WINNT\System32\SAMLIB.dll
> ModLoad: 75f70000 75f79000 C:\WINNT\System32\davclnt.dll
> ModLoad: 23670000 236d0000 G:\Bpa\MSRDO20.DLL
> ModLoad: 74320000 7435d000 C:\WINNT\system32\ODBC32.dll
> ModLoad: 02590000 025a7000 C:\WINNT\system32\odbcint.dll
> ModLoad: 282d0000 283ee000 C:\PROGRA~1\Sybase\ODBC\syodase.dll
> ModLoad: 71ad0000 71ad9000 C:\WINNT\system32\WSOCK32.dll
> ModLoad: 71ab0000 71ac7000 C:\WINNT\system32\WS2_32.dll
> ModLoad: 71aa0000 71aa8000 C:\WINNT\system32\WS2HELP.dll
> ModLoad: 02ab0000 030ed000 C:\PROGRA~1\Sybase\ODBC\syodicu.dll
> ModLoad: 5fe80000 5fe9b000 C:\WINNT\system32\odbccp32.dll
> ModLoad: 03110000 03124000 C:\PROGRA~1\Sybase\ODBC\syodaseR.DLL
> ModLoad: 71a50000 71a8f000 C:\WINNT\system32\mswsock.dll
> ModLoad: 662b0000 66308000 C:\WINNT\system32\hnetcfg.dll
> ModLoad: 71a90000 71a98000 C:\WINNT\System32\wshtcpip.dll
> ModLoad: 029f0000 02a22000 G:\Bpa\Richtx32.ocx
> ModLoad: 7df70000 7df92000 C:\WINNT\system32\oledlg.dll
> ModLoad: 75020000 7504d000 G:\Bpa\RichEd32.DLL
> ModLoad: 04730000 047cb000 G:\Bpa\Graphs32.OCX
> ModLoad: 02a70000 02aad000 G:\Bpa\GSWAG32.dll
> ModLoad: 010c0000 010e5000 G:\Bpa\GSWDLL32.dll
> ModLoad: 73000000 73026000 C:\WINNT\system32\WINSPOOL.DRV
> ModLoad: 73dd0000 73ece000 C:\WINNT\system32\MFC42.DLL
> ModLoad: 096e0000 09714000 G:\Bpa\DTPick5.OCX
> ModLoad: 76c30000 76c5e000 C:\WINNT\system32\WINTRUST.dll
> ModLoad: 77a80000 77b14000 C:\WINNT\system32\CRYPT32.dll
> ModLoad: 77b20000 77b32000 C:\WINNT\system32\MSASN1.dll
> ModLoad: 76c90000 76cb8000 C:\WINNT\system32\IMAGEHLP.dll
> ModLoad: 72d20000 72d29000 C:\WINNT\system32\wdmaud.drv
> ModLoad: 72d10000 72d18000 C:\WINNT\system32\msacm32.drv
> ModLoad: 77be0000 77bf5000 C:\WINNT\system32\MSACM32.dll
> ModLoad: 77bd0000 77bd7000 C:\WINNT\system32\midimap.dll
> ModLoad: 74b80000 74c0c000 C:\WINNT\system32\printui.dll
> ModLoad: 77cc0000 77cf2000 C:\WINNT\system32\ACTIVEDS.dll
> ModLoad: 76e10000 76e35000 C:\WINNT\system32\adsldpc.dll
> ModLoad: 76f60000 76f8c000 C:\WINNT\system32\WLDAP32.dll
> ModLoad: 76b20000 76b31000 C:\WINNT\system32\ATL.DLL
> ModLoad: 74ae0000 74ae7000 C:\WINNT\system32\CFGMGR32.dll
> ModLoad: 77920000 77a13000 C:\WINNT\system32\setupapi.DLL
> ModLoad: 77a20000 77a74000 C:\WINNT\System32\cscui.dll
> ModLoad: 76600000 7661d000 C:\WINNT\System32\CSCDLL.dll
> ModLoad: 75f80000 7607d000 C:\WINNT\system32\browseui.dll
> ModLoad: 5ad70000 5ada8000 C:\WINNT\system32\UxTheme.dll
> ModLoad: 769c0000 76a73000 C:\WINNT\system32\USERENV.dll
> ModLoad: 05950000 05b45000
> C:\WINNT\System32\spool\DRIVERS\W32X86\3\HPBF432E.DLL
> ModLoad: 6e680000 6e6bb000 C:\WINNT\system32\COMPSTUI.dll
> ModLoad: 76380000 76385000 C:\WINNT\system32\MSIMG32.dll
> ModLoad: 71d40000 71d5c000 C:\WINNT\system32\actxprxy.dll
>
> (818.16c): Unknown exception - code c000008f (first chance)
> (818.16c): Access violation - code c0000005 (first chance)
> First chance exceptions are reported before any exception handling.
> This exception may be expected and handled.
> eax=0012d5a0 ebx=66024ade ecx=0012d6bc edx=00000000 esi=00000000 edi=00150744
> eip=1101ca05 esp=0012d4a8 ebp=0012d5ec iopl=0 nv up ei pl nz na pe nc
> cs=001b ss=0023 ds=0023 es=0023 fs=003b gs=0000 efl=00010202
> SideBar2!DllCanUnloadNow+0x146a7:
> 1101ca05 813e68f80111 cmp dword ptr [esi],0x1101f868 ds:0023:00000000=????????
> 0:000> kvn
> # ChildEBP RetAddr Args to Child
> WARNING: Stack unwind information not available. Following frames may be
> wrong.
> 00 0012d5ec 1100d6d2 001506d0 0012d6bc 0012d658
> SideBar2!DllCanUnloadNow+0x146a7
> 01 0012d6f0 1100c3ca 001506d0 00000000 000000a5
> SideBar2!DllCanUnloadNow+0x5374
> 02 0012d808 6602ad73 001506d0 0012d9cc 0012d9d4
> SideBar2!DllCanUnloadNow+0x406c
> 03 0012d824 11004949 00150750 11004630 0012d880 MSVBVM60!CallProcWithArgs+0x1e
> 04 0012d834 6602ad50 11004949 0012d8f0 0000000a SideBar2+0x4949
> 05 0012d84c 6602ad08 00150750 0012d930 0012d8f0
> MSVBVM60!InvokeVtblEvent+0x32 (FPO: [4,0,2])
> 06 0012d880 66023023 0012d930 0012d8f0 0000000a MSVBVM60!InvokeEvent+0x42
> 07 0012d954 66022eb2 00ce4534 00ce303c 00cc4220
> MSVBVM60!EvtErrFireWorker+0x159
> 08 0012d978 6607b164 00ce4534 0000000e 0012d998 MSVBVM60!EvtErrFire+0x1b
> 09 0012d9d8 66035f01 00ce4534 0000000e 00000000 MSVBVM60!ErrDefMouse+0x2c6
> 0a 0012da40 660c14dc 00cc4220 000403b4 00000200
> MSVBVM60!VBDefControlProc_508+0x3cb
> 0b 0012da80 66021269 00ce4534 000403b4 00000200 MSVBVM60!PixCtlProc+0x79
> 0c 0012daa8 66020341 00ce4534 000403b4 00000200 MSVBVM60!CommonGizWndProc+0x5a
> 0d 0012db04 7e418734 000403b4 00000200 00000000 MSVBVM60!StdCtlWndProc+0xaa
> 0e 0012db30 7e418816 66020297 000403b4 00000200
> USER32!InternalCallWinProc+0x28
> 0f 0012db98 7e4189cd 00000000 66020297 000403b4
> USER32!UserCallWinProcCheckWow+0x150 (FPO: [Non-Fpo])
> 10 0012dbf8 7e418a10 0012dc20 00000000 0012dc5c
> USER32!DispatchMessageWorker+0x306 (FPO: [Non-Fpo])
> 11 0012dc08 5d0c8a90 0012dc20 03d834cc 03d833d8 USER32!DispatchMessageW+0xf
> (FPO: [Non-Fpo])
> 12 0012dc5c 5d0c8c55 000703c0 03e0467c 00000000
> COMCTL32!_RealPropertySheet+0x2cd (FPO: [Non-Fpo])
> 13 0012dc74 5d0c8c70 0012dc9c 00000000 0012e124
> COMCTL32!_PropertySheet+0x138 (FPO: [Non-Fpo])
> 14 0012dc84 763d972f 0012dc9c 0012e56c 0012e59c COMCTL32!PropertySheetW+0xf
> (FPO: [Non-Fpo])
> 15 0012e124 763d99f1 0012e56c 0012e59c 00000001
> comdlg32!Print_InvokePropertySheets+0x251 (FPO: [Non-Fpo])
> 16 0012e554 763d9c72 0012e56c 0012ea64 00000000 comdlg32!PrintDlgExX+0x27b
> (FPO: [Non-Fpo])
> 17 0012e5f8 763d3401 0012ea64 00000001 00100014
> comdlg32!Print_NewPrintDlg+0x110 (FPO: [Non-Fpo])
> 18 0012ea50 763d4722 0012ea64 0012ef10 141ee11f comdlg32!PrintDlgX+0xab
> (FPO: [Non-Fpo])
> 19 0012ef04 660fe7f5 0012f350 00000000 00000000 comdlg32!PrintDlgA+0x55
> (FPO: [Non-Fpo])
> 1a 0012f41c 660fe829 0015bfe8 00000000 00000000
> MSVBVM60!lblEX_ImpAdCallStr+0x2a
> 1b 0012f4dc 6610697d 03dc3128 0012f52a ffffffff
> MSVBVM60!lblEX_VCallHresult+0x1f
> 1c 0012f6b8 6602ad73 03dc3128 04531fc0 0012f6d8
> MSVBVM60!lblEX_ThisVCallHresult+0x1c
> 1d 0012f6c8 68cf2ba1 03dc31dc 68cf23f4 0012f724 MSVBVM60!CallProcWithArgs+0x1e
> 1e 0012f6d8 6602ad50 68cf2ba1 0012f744 00000004 BPAReport+0x12ba1
> 1f 0012f6f0 6602ad08 03dc31dc 0012f88c 0012f744
> MSVBVM60!InvokeVtblEvent+0x32 (FPO: [4,0,2])
> 20 0012f724 66073084 0012f88c 0012f744 00000004 MSVBVM60!InvokeEvent+0x42
> 21 0012f8d4 6606c4d7 03bb5a84 00000001 0012fb3c MSVBVM60!VBOleFireEvent+0x27e
> 22 0012f8f4 2983956b 03bb5ba0 0000042f 2984fb58
> MSVBVM60!COcx::CEventSink::Invoke+0x2d
> 23 0012fb54 2980b3e6 016eaf7c 29852ab8 04531fc0
> SSTbars2!DllGetClassObject+0x1176
> 24 0012fcb0 29834b27 04531fc0 016eaf78 00000001 SSTbars2+0xb3e6
> 25 0012fce8 2980f685 00000022 04531950 0012fd74 SSTbars2+0x34b27
> 26 00000000 00000000 00000000 00000000 00000000 SSTbars2+0xf685


>> On Thursday, November 18, 2010 4:38 AM pallavi 001 wrote:

>> Hi Submit2,
>>
>>
>>
>> Have you got any solution for this problem, as i'm facing the same.
>>
>>
>>
>> Could you please share, in case you got any answer.
>>
>>
>>
>> Thanks and Regards.


>>> On Thursday, November 18, 2010 4:38 AM pallavi 001 wrote:

>>> Hi Submit2,
>>>
>>>
>>>
>>> Have you got any solution for this problem, as i'm facing the same.
>>>
>>>
>>>
>>> Could you please share, in case you got any answer.
>>>
>>>
>>>
>>> Thanks and Regards.


>>>> On Thursday, November 18, 2010 4:40 AM pallavi 001 wrote:

>>>> Hi Submit2,
>>>>
>>>>
>>>>
>>>> Have you got any solution for this problem, as i'm facing the same.
>>>>
>>>>
>>>>
>>>> Could you please share, in case you got any answer.
>>>>
>>>>
>>>>
>>>> Thanks and Regards.


>>>> Submitted via EggHeadCafe
>>>> Custom task processes in SharePoint Designer Workflows
>>>> http://www.eggheadcafe.com/tutorials/aspnet/872c3a54-cc00-4fa0-b98b-2e9ea9a559dd/custom-task-processes-in-sharepoint-designer-workflows.aspx
pallavi 001
2010-11-18 09:40:59 UTC
Permalink
Raw Message
Hi Submit2,

Have you got any solution for this problem, as i'm facing the same.

Could you please share, in case you got any answer.

Thanks and Regards.

> On Friday, May 11, 2007 9:51 AM Submit2 wrote:

> Hello, I'm having difficulity determining where the culprit of not being able
> to print multiple copies.
>
> 1. I know that when conctl32.dll version 6.0 loads last on module loading
> from the Winsxs directory plays a part in why multiple copies won't print as
> oppose to the comctl32.dll v. 5.82 from the system32 directory loading last.
>
> 2. Part of this source code loads comctl.ocx 6.0, 1998 version from a
> C:\Public folder as oppose to loading from system32 folder which is more
> current than 1998.
>
> Can anyone view this code and determine if the culprit is within this source
> code vs what windbg is displaying?
>
>
> Source code
> Public Sub ShowPrinter()
>
> On Error GoTo ShowPrinterError
>
> Const PD_ENABLESETUPHOOK = &H2000
> Const PD_ENABLESETUPTEMPLATE = &H8000
> Const PD_ENABLESETUPTEMPLATEHANDLE = &H20000
> Const PD_ENABLEPRINTHOOK = &H1000
> Const PD_ENABLEPRINTTEMPLATE = &H4000
> Const PD_ENABLEPRINTTEMPLATEHANDLE = &H10000
>
> Dim pnt As Printer
> Dim udtPrintDlg As PrintDlgStruct
> Dim udtDevMode As DEVMODE
> Dim udtDevNames As DEVNAMES
> Dim lngDevModeSize As Long
> Dim lngDevNameSize As Long
> Dim lngMemHandle As Long
> Dim lngAddress As Long
>
> Dim strDriverName As String
> Dim strPort As String
>
> '*** init public properties
> iAction = 5 'Action property - ShowPrint
> lApiReturn = 0 'APIReturn property
> lExtendedError = 0 'ExtendedError property
>
> With udtDevMode
> .dmSize = Len(udtDevMode)
> .dmFields = DM_PAPERSIZE Or DM_ORIENTATION Or DM_COPIES
> If mstrPrinterName <> "" Then
> .dmDeviceName = mstrPrinterName & Chr$(0)
> Else
> .dmDeviceName = Printer.DeviceName & Chr$(0)
> End If
> If mintOrientation = cdlPDOrientPortrait Or mintOrientation =
> cdlPDOrientLandscape Then
> .dmOrientation = mintOrientation
> Else
> .dmOrientation = Printer.Orientation
> End If
> If mlngPaperSize <> 0 Then .dmPaperSize = mlngPaperSize
> End With
>
> lngDevModeSize = Len(udtDevMode)
> ' Get a global memory block to hold a copy of udtDevNode - exit on failure
> lngMemHandle = GlobalAlloc(GHND, lngDevModeSize)
> If lngMemHandle = 0 Then Exit Sub
> udtPrintDlg.hDevMode = lngMemHandle
> ' Lock udtDevMode's global memory block - exit on failure
> lngAddress = GlobalLock(lngMemHandle)
> If lngAddress = 0 Then
> Exit Sub
> Call GlobalFree(lngMemHandle)
> End If
> ' Copy udtDevMode to the global memory block
> Call CopyMemory(ByVal lngAddress, udtDevMode, lngDevModeSize)
> Call GlobalUnlock(lngMemHandle)
>
> For Each pnt In Printers
> If pnt.DeviceName = mstrPrinterName Then
> strPort = pnt.Port
> strDriverName = pnt.DriverName
> Exit For
> End If
> Next pnt
>
> If strDriverName = "" Then
> mstrPrinterName = Printer.DeviceName
> strDriverName = Printer.DriverName
> strPort = Printer.Port
> End If
>
> With udtDevNames
> .wDriverOffset = 8
> .wDeviceOffset = .wDriverOffset + 1 + Len(strDriverName)
> .wOutputOffset = .wDeviceOffset + 1 + Len(mstrPrinterName)
> .wDefault = 1
> .Extra = strDriverName & Chr$(0) & mstrPrinterName & Chr$(0) & strPort &
> Chr$(0)
> End With
>
> lngDevNameSize = Len(udtDevNames)
> ' Get a global memory block to hold a copy of udtDevNode - exit on failure
> lngMemHandle = GlobalAlloc(GHND, lngDevNameSize)
> If lngMemHandle = 0 Then Exit Sub
> udtPrintDlg.hDevNames = lngMemHandle
> ' Lock udtDevMode's global memory block - exit on failure
> lngAddress = GlobalLock(lngMemHandle)
> If lngAddress = 0 Then
> Call GlobalFree(lngMemHandle)
> Exit Sub
> End If
> ' Copy udtDevMode to the global memory block
> Call CopyMemory(ByVal lngAddress, udtDevNames, lngDevNameSize)
> Call GlobalUnlock(lngMemHandle)
>
> With udtPrintDlg
> .lStructSize = Len(udtPrintDlg)
> .lpfnSetupHook = 0
> .lpfnPrintHook = Addressofproc(AddressOf DialogHook)
> .Flags = lFlags ' Or PD_ENABLEPRINTHOOK
> .nFromPage = lFromPage
> .nToPage = lToPage
> .nMinPage = lMin
> .nMaxPage = lMax
> .nCopies = lCopies
> .hwndOwner = glngDialogOwner
> End With
>
> 'Debug.Print "Before - "; udtDevMode.dmOrientation
> '*** Call the PrintDlg API function
> lApiReturn = PrintDlg(udtPrintDlg)
>
> '*** handle return from PrintDlg API function
> Select Case lApiReturn
> Case 0 'user canceled
> If bCancelError = True Then
> 'generate an error
> On Error GoTo 0
> Call GlobalFree(udtPrintDlg.hDevMode)
> Err.Raise cdlCancel
> Exit Sub
> End If
> Case 1 'user selected OK
> lngMemHandle = udtPrintDlg.hDevMode
> lngAddress = GlobalLock(lngMemHandle)
> Call CopyMemory(udtDevMode, ByVal lngAddress, lngDevModeSize)
> Call GlobalUnlock(lngMemHandle)
> Call GlobalFree(lngMemHandle)
>
> lngMemHandle = udtPrintDlg.hDevNames
> lngAddress = GlobalLock(lngMemHandle)
> Call CopyMemory(udtDevNames, ByVal lngAddress, lngDevNameSize)
> Call GlobalUnlock(lngMemHandle)
> Call GlobalFree(lngMemHandle)
> With udtPrintDlg
> lFromPage = .nFromPage 'nFromPage As Integer - store to FromPage
> property
> lToPage = .nToPage 'nToPage As Integer - store to ToPage property
> lMin = .nMinPage 'nMinPage As Integer - store to Min property
> lMax = .nMaxPage 'nMaxPage As Integer - store to Max property
> lCopies = .nCopies
> lFlags = .Flags
> For Each pnt In Printers
> If InStr(udtDevNames.Extra, pnt.DeviceName) Then
> mstrPrinterName = pnt.DeviceName
> Exit For
> End If
> Next pnt
> mintOrientation = udtDevMode.dmOrientation
> mlngPaperSize = udtDevMode.dmPaperSize
> End With
> Case Else 'an error occured
> 'call CommDlgExtendedError
> lExtendedError = CommDlgExtendedError 'store to ExtendedError property
> Debug.Assert False
> End Select
>
> Exit Sub
>
> ShowPrinterError:
>
> Exit Sub
>
> End Sub
> _________________________________________________
>
> Windbg log
>
>
> *** wait with pending attach
> Symbol search path is:
> srv*C:\symbols\Symbolserver\msdl_downloads*http://msdl.microsoft.com/download/symbols;srv*C:\symbols\Symbolserver\rockwell_downloads*J:\ABI\__Multi-Plant\Information
> Technology\Support\Brewing\Architecture\RSView\Symbols\Rockwell\CPR7\pdb;srv*C:\symbols\Symbolserver\msdl_downloads*J:\ABI\__Multi-Plant\Information
> Technology\Support\Brewing\Architecture\RSView\Symbols\Microsoft\pdb;z:;C:\symbols\hp\symbols
> Executable search path is:
> ModLoad: 00400000 00465000 G:\Bpa\BPAFE.exe
> ModLoad: 7c900000 7c9b0000 C:\WINNT\system32\ntdll.dll
> ModLoad: 7c800000 7c8f4000 C:\WINNT\system32\kernel32.dll
> ModLoad: 66000000 66153000 G:\Bpa\MSVBVM60.DLL
> ModLoad: 7e410000 7e4a0000 C:\WINNT\system32\USER32.dll
> ModLoad: 77f10000 77f57000 C:\WINNT\system32\GDI32.dll
> ModLoad: 77dd0000 77e6b000 C:\WINNT\system32\ADVAPI32.dll
> ModLoad: 77e70000 77f01000 C:\WINNT\system32\RPCRT4.dll
> ModLoad: 774e0000 7761d000 C:\WINNT\system32\ole32.dll
> ModLoad: 77c10000 77c68000 C:\WINNT\system32\msvcrt.dll
> ModLoad: 77120000 771ac000 C:\WINNT\system32\OLEAUT32.dll
> ModLoad: 63000000 63013000 C:\WINNT\system32\SynTPFcs.dll
> ModLoad: 77c00000 77c08000 C:\WINNT\system32\VERSION.dll
> ModLoad: 708f0000 70903000 C:\WINNT\system32\asycfilt.dll
> ModLoad: 77b40000 77b62000 C:\WINNT\system32\Apphelp.dll
> ModLoad: 76fd0000 7704f000 C:\WINNT\system32\CLBCATQ.DLL
> ModLoad: 77050000 77115000 C:\WINNT\system32\COMRes.dll
> ModLoad: 14190000 14241000 G:\Bpa\BPAUtils.DLL
> ModLoad: 0ffd0000 0fff8000 C:\WINNT\system32\rsaenh.dll
> ModLoad: 77fe0000 77ff1000 C:\WINNT\system32\Secur32.dll
> ModLoad: 33060000 33082000 G:\Bpa\DataLibrary2.DLL
> ModLoad: 29800000 2986d000 G:\Bpa\SSTbars2.ocx
> ModLoad: 5d090000 5d12a000 C:\WINNT\system32\COMCTL32.dll
> ModLoad: 7b000000 7b020000 G:\Bpa\OLEPRO32.DLL
> ModLoad: 76b40000 76b6d000 C:\WINNT\system32\WINMM.dll
> ModLoad: 7c9c0000 7d1d5000 C:\WINNT\system32\SHELL32.dll
> ModLoad: 77f60000 77fd6000 C:\WINNT\system32\SHLWAPI.dll
> ModLoad: 773d0000 774d3000
> C:\WINNT\WinSxS\x86_Microsoft.Windows.Common-Controls_6595b64144ccf1df_6.0.2600.2982_x-ww_ac3f9c03\comctl32.dll
> ModLoad: 745e0000 748a6000 C:\WINNT\system32\msi.dll
> ModLoad: 27580000 27685000 G:\Bpa\mscomctl.ocx
> ModLoad: 763b0000 763f9000 C:\WINNT\system32\comdlg32.dll
> ModLoad: 75e90000 75f40000 C:\WINNT\system32\SXS.DLL
> ModLoad: 00f50000 00f5c000 G:\Bpa\regobj.dll
> ModLoad: 26800000 2684e000 G:\Bpa\SSTree.ocx
> ModLoad: 11000000 1102a000 G:\Bpa\SideBar2.OCX
> ModLoad: 20000000 202c5000 C:\WINNT\system32\xpsp2res.dll
> ModLoad: 10000000 1007f000 G:\Bpa\VSFlex7L.OCX
> ModLoad: 76390000 763ad000 C:\WINNT\system32\IMM32.dll
> ModLoad: 68ce0000 68e4b000 G:\Bpa\BPAReport.DLL
> ModLoad: 6c390000 6c3d5000 G:\Bpa\BPATrack.DLL
> ModLoad: 492c0000 493f5000 G:\Bpa\BPAME.DLL
> ModLoad: 02030000 020eb000 G:\Bpa\BPAChart.DLL
> ModLoad: 75d50000 75d8c000 G:\Bpa\BPASpecEditor.DLL
> ModLoad: 38ba0000 38bc9000 G:\Bpa\bpaRecipeEditor.DLL
> ModLoad: 021f0000 02230000 G:\Bpa\BPALDA.DLL
> ModLoad: 3d970000 3da04000 G:\Bpa\BPAMisc.DLL
> ModLoad: 73f50000 73fb0000 G:\Bpa\bpaBatchManagement.DLL
> ModLoad: 2ad00000 2ad39000 G:\Bpa\bpacms.DLL
> ModLoad: 02230000 0234e000 G:\Bpa\BPAIntlDataEntry.dll
> ModLoad: 02350000 02447000 G:\Bpa\BPABARI.DLL
> ModLoad: 71b20000 71b32000 C:\WINNT\system32\MPR.DLL
> ModLoad: 75f60000 75f67000 C:\WINNT\System32\drprov.dll
> ModLoad: 71c10000 71c1e000 C:\WINNT\System32\ntlanman.dll
> ModLoad: 71cd0000 71ce7000 C:\WINNT\System32\NETUI0.dll
> ModLoad: 71c90000 71cd0000 C:\WINNT\System32\NETUI1.dll
> ModLoad: 5b860000 5b8b4000 C:\WINNT\system32\NETAPI32.dll
> ModLoad: 71c80000 71c87000 C:\WINNT\System32\NETRAP.dll
> ModLoad: 71bf0000 71c03000 C:\WINNT\System32\SAMLIB.dll
> ModLoad: 75f70000 75f79000 C:\WINNT\System32\davclnt.dll
> ModLoad: 23670000 236d0000 G:\Bpa\MSRDO20.DLL
> ModLoad: 74320000 7435d000 C:\WINNT\system32\ODBC32.dll
> ModLoad: 02590000 025a7000 C:\WINNT\system32\odbcint.dll
> ModLoad: 282d0000 283ee000 C:\PROGRA~1\Sybase\ODBC\syodase.dll
> ModLoad: 71ad0000 71ad9000 C:\WINNT\system32\WSOCK32.dll
> ModLoad: 71ab0000 71ac7000 C:\WINNT\system32\WS2_32.dll
> ModLoad: 71aa0000 71aa8000 C:\WINNT\system32\WS2HELP.dll
> ModLoad: 02ab0000 030ed000 C:\PROGRA~1\Sybase\ODBC\syodicu.dll
> ModLoad: 5fe80000 5fe9b000 C:\WINNT\system32\odbccp32.dll
> ModLoad: 03110000 03124000 C:\PROGRA~1\Sybase\ODBC\syodaseR.DLL
> ModLoad: 71a50000 71a8f000 C:\WINNT\system32\mswsock.dll
> ModLoad: 662b0000 66308000 C:\WINNT\system32\hnetcfg.dll
> ModLoad: 71a90000 71a98000 C:\WINNT\System32\wshtcpip.dll
> ModLoad: 029f0000 02a22000 G:\Bpa\Richtx32.ocx
> ModLoad: 7df70000 7df92000 C:\WINNT\system32\oledlg.dll
> ModLoad: 75020000 7504d000 G:\Bpa\RichEd32.DLL
> ModLoad: 04730000 047cb000 G:\Bpa\Graphs32.OCX
> ModLoad: 02a70000 02aad000 G:\Bpa\GSWAG32.dll
> ModLoad: 010c0000 010e5000 G:\Bpa\GSWDLL32.dll
> ModLoad: 73000000 73026000 C:\WINNT\system32\WINSPOOL.DRV
> ModLoad: 73dd0000 73ece000 C:\WINNT\system32\MFC42.DLL
> ModLoad: 096e0000 09714000 G:\Bpa\DTPick5.OCX
> ModLoad: 76c30000 76c5e000 C:\WINNT\system32\WINTRUST.dll
> ModLoad: 77a80000 77b14000 C:\WINNT\system32\CRYPT32.dll
> ModLoad: 77b20000 77b32000 C:\WINNT\system32\MSASN1.dll
> ModLoad: 76c90000 76cb8000 C:\WINNT\system32\IMAGEHLP.dll
> ModLoad: 72d20000 72d29000 C:\WINNT\system32\wdmaud.drv
> ModLoad: 72d10000 72d18000 C:\WINNT\system32\msacm32.drv
> ModLoad: 77be0000 77bf5000 C:\WINNT\system32\MSACM32.dll
> ModLoad: 77bd0000 77bd7000 C:\WINNT\system32\midimap.dll
> ModLoad: 74b80000 74c0c000 C:\WINNT\system32\printui.dll
> ModLoad: 77cc0000 77cf2000 C:\WINNT\system32\ACTIVEDS.dll
> ModLoad: 76e10000 76e35000 C:\WINNT\system32\adsldpc.dll
> ModLoad: 76f60000 76f8c000 C:\WINNT\system32\WLDAP32.dll
> ModLoad: 76b20000 76b31000 C:\WINNT\system32\ATL.DLL
> ModLoad: 74ae0000 74ae7000 C:\WINNT\system32\CFGMGR32.dll
> ModLoad: 77920000 77a13000 C:\WINNT\system32\setupapi.DLL
> ModLoad: 77a20000 77a74000 C:\WINNT\System32\cscui.dll
> ModLoad: 76600000 7661d000 C:\WINNT\System32\CSCDLL.dll
> ModLoad: 75f80000 7607d000 C:\WINNT\system32\browseui.dll
> ModLoad: 5ad70000 5ada8000 C:\WINNT\system32\UxTheme.dll
> ModLoad: 769c0000 76a73000 C:\WINNT\system32\USERENV.dll
> ModLoad: 05950000 05b45000
> C:\WINNT\System32\spool\DRIVERS\W32X86\3\HPBF432E.DLL
> ModLoad: 6e680000 6e6bb000 C:\WINNT\system32\COMPSTUI.dll
> ModLoad: 76380000 76385000 C:\WINNT\system32\MSIMG32.dll
> ModLoad: 71d40000 71d5c000 C:\WINNT\system32\actxprxy.dll
>
> (818.16c): Unknown exception - code c000008f (first chance)
> (818.16c): Access violation - code c0000005 (first chance)
> First chance exceptions are reported before any exception handling.
> This exception may be expected and handled.
> eax=0012d5a0 ebx=66024ade ecx=0012d6bc edx=00000000 esi=00000000 edi=00150744
> eip=1101ca05 esp=0012d4a8 ebp=0012d5ec iopl=0 nv up ei pl nz na pe nc
> cs=001b ss=0023 ds=0023 es=0023 fs=003b gs=0000 efl=00010202
> SideBar2!DllCanUnloadNow+0x146a7:
> 1101ca05 813e68f80111 cmp dword ptr [esi],0x1101f868 ds:0023:00000000=????????
> 0:000> kvn
> # ChildEBP RetAddr Args to Child
> WARNING: Stack unwind information not available. Following frames may be
> wrong.
> 00 0012d5ec 1100d6d2 001506d0 0012d6bc 0012d658
> SideBar2!DllCanUnloadNow+0x146a7
> 01 0012d6f0 1100c3ca 001506d0 00000000 000000a5
> SideBar2!DllCanUnloadNow+0x5374
> 02 0012d808 6602ad73 001506d0 0012d9cc 0012d9d4
> SideBar2!DllCanUnloadNow+0x406c
> 03 0012d824 11004949 00150750 11004630 0012d880 MSVBVM60!CallProcWithArgs+0x1e
> 04 0012d834 6602ad50 11004949 0012d8f0 0000000a SideBar2+0x4949
> 05 0012d84c 6602ad08 00150750 0012d930 0012d8f0
> MSVBVM60!InvokeVtblEvent+0x32 (FPO: [4,0,2])
> 06 0012d880 66023023 0012d930 0012d8f0 0000000a MSVBVM60!InvokeEvent+0x42
> 07 0012d954 66022eb2 00ce4534 00ce303c 00cc4220
> MSVBVM60!EvtErrFireWorker+0x159
> 08 0012d978 6607b164 00ce4534 0000000e 0012d998 MSVBVM60!EvtErrFire+0x1b
> 09 0012d9d8 66035f01 00ce4534 0000000e 00000000 MSVBVM60!ErrDefMouse+0x2c6
> 0a 0012da40 660c14dc 00cc4220 000403b4 00000200
> MSVBVM60!VBDefControlProc_508+0x3cb
> 0b 0012da80 66021269 00ce4534 000403b4 00000200 MSVBVM60!PixCtlProc+0x79
> 0c 0012daa8 66020341 00ce4534 000403b4 00000200 MSVBVM60!CommonGizWndProc+0x5a
> 0d 0012db04 7e418734 000403b4 00000200 00000000 MSVBVM60!StdCtlWndProc+0xaa
> 0e 0012db30 7e418816 66020297 000403b4 00000200
> USER32!InternalCallWinProc+0x28
> 0f 0012db98 7e4189cd 00000000 66020297 000403b4
> USER32!UserCallWinProcCheckWow+0x150 (FPO: [Non-Fpo])
> 10 0012dbf8 7e418a10 0012dc20 00000000 0012dc5c
> USER32!DispatchMessageWorker+0x306 (FPO: [Non-Fpo])
> 11 0012dc08 5d0c8a90 0012dc20 03d834cc 03d833d8 USER32!DispatchMessageW+0xf
> (FPO: [Non-Fpo])
> 12 0012dc5c 5d0c8c55 000703c0 03e0467c 00000000
> COMCTL32!_RealPropertySheet+0x2cd (FPO: [Non-Fpo])
> 13 0012dc74 5d0c8c70 0012dc9c 00000000 0012e124
> COMCTL32!_PropertySheet+0x138 (FPO: [Non-Fpo])
> 14 0012dc84 763d972f 0012dc9c 0012e56c 0012e59c COMCTL32!PropertySheetW+0xf
> (FPO: [Non-Fpo])
> 15 0012e124 763d99f1 0012e56c 0012e59c 00000001
> comdlg32!Print_InvokePropertySheets+0x251 (FPO: [Non-Fpo])
> 16 0012e554 763d9c72 0012e56c 0012ea64 00000000 comdlg32!PrintDlgExX+0x27b
> (FPO: [Non-Fpo])
> 17 0012e5f8 763d3401 0012ea64 00000001 00100014
> comdlg32!Print_NewPrintDlg+0x110 (FPO: [Non-Fpo])
> 18 0012ea50 763d4722 0012ea64 0012ef10 141ee11f comdlg32!PrintDlgX+0xab
> (FPO: [Non-Fpo])
> 19 0012ef04 660fe7f5 0012f350 00000000 00000000 comdlg32!PrintDlgA+0x55
> (FPO: [Non-Fpo])
> 1a 0012f41c 660fe829 0015bfe8 00000000 00000000
> MSVBVM60!lblEX_ImpAdCallStr+0x2a
> 1b 0012f4dc 6610697d 03dc3128 0012f52a ffffffff
> MSVBVM60!lblEX_VCallHresult+0x1f
> 1c 0012f6b8 6602ad73 03dc3128 04531fc0 0012f6d8
> MSVBVM60!lblEX_ThisVCallHresult+0x1c
> 1d 0012f6c8 68cf2ba1 03dc31dc 68cf23f4 0012f724 MSVBVM60!CallProcWithArgs+0x1e
> 1e 0012f6d8 6602ad50 68cf2ba1 0012f744 00000004 BPAReport+0x12ba1
> 1f 0012f6f0 6602ad08 03dc31dc 0012f88c 0012f744
> MSVBVM60!InvokeVtblEvent+0x32 (FPO: [4,0,2])
> 20 0012f724 66073084 0012f88c 0012f744 00000004 MSVBVM60!InvokeEvent+0x42
> 21 0012f8d4 6606c4d7 03bb5a84 00000001 0012fb3c MSVBVM60!VBOleFireEvent+0x27e
> 22 0012f8f4 2983956b 03bb5ba0 0000042f 2984fb58
> MSVBVM60!COcx::CEventSink::Invoke+0x2d
> 23 0012fb54 2980b3e6 016eaf7c 29852ab8 04531fc0
> SSTbars2!DllGetClassObject+0x1176
> 24 0012fcb0 29834b27 04531fc0 016eaf78 00000001 SSTbars2+0xb3e6
> 25 0012fce8 2980f685 00000022 04531950 0012fd74 SSTbars2+0x34b27
> 26 00000000 00000000 00000000 00000000 00000000 SSTbars2+0xf685


>> On Thursday, November 18, 2010 4:38 AM pallavi 001 wrote:

>> Hi Submit2,
>>
>>
>>
>> Have you got any solution for this problem, as i'm facing the same.
>>
>>
>>
>> Could you please share, in case you got any answer.
>>
>>
>>
>> Thanks and Regards.


>>> On Thursday, November 18, 2010 4:38 AM pallavi 001 wrote:

>>> Hi Submit2,
>>>
>>>
>>>
>>> Have you got any solution for this problem, as i'm facing the same.
>>>
>>>
>>>
>>> Could you please share, in case you got any answer.
>>>
>>>
>>>
>>> Thanks and Regards.


>>>> On Thursday, November 18, 2010 4:40 AM pallavi 001 wrote:

>>>> Hi Submit2,
>>>>
>>>>
>>>>
>>>> Have you got any solution for this problem, as i'm facing the same.
>>>>
>>>>
>>>>
>>>> Could you please share, in case you got any answer.
>>>>
>>>>
>>>>
>>>> Thanks and Regards.


>>>>> On Thursday, November 18, 2010 4:40 AM pallavi 001 wrote:

>>>>> Hi Submit2,
>>>>>
>>>>>
>>>>>
>>>>> Have you got any solution for this problem, as i'm facing the same.
>>>>>
>>>>>
>>>>>
>>>>> Could you please share, in case you got any answer.
>>>>>
>>>>>
>>>>>
>>>>> Thanks and Regards.


>>>>> Submitted via EggHeadCafe
>>>>> ASP.NET Sum of Numbers Captcha Control with CustomValidator
>>>>> http://www.eggheadcafe.com/tutorials/aspnet/bde8bf73-c31c-4c73-af05-861769e625e8/aspnet-sum-of-numbers-captcha-control-with-customvalidator.aspx
pallavi 001
2010-11-18 09:41:01 UTC
Permalink
Raw Message
Hi Submit2,

Have you got any solution for this problem, as i'm facing the same.

Could you please share, in case you got any answer.

Thanks and Regards.

> On Friday, May 11, 2007 9:51 AM Submit2 wrote:

> Hello, I'm having difficulity determining where the culprit of not being able
> to print multiple copies.
>
> 1. I know that when conctl32.dll version 6.0 loads last on module loading
> from the Winsxs directory plays a part in why multiple copies won't print as
> oppose to the comctl32.dll v. 5.82 from the system32 directory loading last.
>
> 2. Part of this source code loads comctl.ocx 6.0, 1998 version from a
> C:\Public folder as oppose to loading from system32 folder which is more
> current than 1998.
>
> Can anyone view this code and determine if the culprit is within this source
> code vs what windbg is displaying?
>
>
> Source code
> Public Sub ShowPrinter()
>
> On Error GoTo ShowPrinterError
>
> Const PD_ENABLESETUPHOOK = &H2000
> Const PD_ENABLESETUPTEMPLATE = &H8000
> Const PD_ENABLESETUPTEMPLATEHANDLE = &H20000
> Const PD_ENABLEPRINTHOOK = &H1000
> Const PD_ENABLEPRINTTEMPLATE = &H4000
> Const PD_ENABLEPRINTTEMPLATEHANDLE = &H10000
>
> Dim pnt As Printer
> Dim udtPrintDlg As PrintDlgStruct
> Dim udtDevMode As DEVMODE
> Dim udtDevNames As DEVNAMES
> Dim lngDevModeSize As Long
> Dim lngDevNameSize As Long
> Dim lngMemHandle As Long
> Dim lngAddress As Long
>
> Dim strDriverName As String
> Dim strPort As String
>
> '*** init public properties
> iAction = 5 'Action property - ShowPrint
> lApiReturn = 0 'APIReturn property
> lExtendedError = 0 'ExtendedError property
>
> With udtDevMode
> .dmSize = Len(udtDevMode)
> .dmFields = DM_PAPERSIZE Or DM_ORIENTATION Or DM_COPIES
> If mstrPrinterName <> "" Then
> .dmDeviceName = mstrPrinterName & Chr$(0)
> Else
> .dmDeviceName = Printer.DeviceName & Chr$(0)
> End If
> If mintOrientation = cdlPDOrientPortrait Or mintOrientation =
> cdlPDOrientLandscape Then
> .dmOrientation = mintOrientation
> Else
> .dmOrientation = Printer.Orientation
> End If
> If mlngPaperSize <> 0 Then .dmPaperSize = mlngPaperSize
> End With
>
> lngDevModeSize = Len(udtDevMode)
> ' Get a global memory block to hold a copy of udtDevNode - exit on failure
> lngMemHandle = GlobalAlloc(GHND, lngDevModeSize)
> If lngMemHandle = 0 Then Exit Sub
> udtPrintDlg.hDevMode = lngMemHandle
> ' Lock udtDevMode's global memory block - exit on failure
> lngAddress = GlobalLock(lngMemHandle)
> If lngAddress = 0 Then
> Exit Sub
> Call GlobalFree(lngMemHandle)
> End If
> ' Copy udtDevMode to the global memory block
> Call CopyMemory(ByVal lngAddress, udtDevMode, lngDevModeSize)
> Call GlobalUnlock(lngMemHandle)
>
> For Each pnt In Printers
> If pnt.DeviceName = mstrPrinterName Then
> strPort = pnt.Port
> strDriverName = pnt.DriverName
> Exit For
> End If
> Next pnt
>
> If strDriverName = "" Then
> mstrPrinterName = Printer.DeviceName
> strDriverName = Printer.DriverName
> strPort = Printer.Port
> End If
>
> With udtDevNames
> .wDriverOffset = 8
> .wDeviceOffset = .wDriverOffset + 1 + Len(strDriverName)
> .wOutputOffset = .wDeviceOffset + 1 + Len(mstrPrinterName)
> .wDefault = 1
> .Extra = strDriverName & Chr$(0) & mstrPrinterName & Chr$(0) & strPort &
> Chr$(0)
> End With
>
> lngDevNameSize = Len(udtDevNames)
> ' Get a global memory block to hold a copy of udtDevNode - exit on failure
> lngMemHandle = GlobalAlloc(GHND, lngDevNameSize)
> If lngMemHandle = 0 Then Exit Sub
> udtPrintDlg.hDevNames = lngMemHandle
> ' Lock udtDevMode's global memory block - exit on failure
> lngAddress = GlobalLock(lngMemHandle)
> If lngAddress = 0 Then
> Call GlobalFree(lngMemHandle)
> Exit Sub
> End If
> ' Copy udtDevMode to the global memory block
> Call CopyMemory(ByVal lngAddress, udtDevNames, lngDevNameSize)
> Call GlobalUnlock(lngMemHandle)
>
> With udtPrintDlg
> .lStructSize = Len(udtPrintDlg)
> .lpfnSetupHook = 0
> .lpfnPrintHook = Addressofproc(AddressOf DialogHook)
> .Flags = lFlags ' Or PD_ENABLEPRINTHOOK
> .nFromPage = lFromPage
> .nToPage = lToPage
> .nMinPage = lMin
> .nMaxPage = lMax
> .nCopies = lCopies
> .hwndOwner = glngDialogOwner
> End With
>
> 'Debug.Print "Before - "; udtDevMode.dmOrientation
> '*** Call the PrintDlg API function
> lApiReturn = PrintDlg(udtPrintDlg)
>
> '*** handle return from PrintDlg API function
> Select Case lApiReturn
> Case 0 'user canceled
> If bCancelError = True Then
> 'generate an error
> On Error GoTo 0
> Call GlobalFree(udtPrintDlg.hDevMode)
> Err.Raise cdlCancel
> Exit Sub
> End If
> Case 1 'user selected OK
> lngMemHandle = udtPrintDlg.hDevMode
> lngAddress = GlobalLock(lngMemHandle)
> Call CopyMemory(udtDevMode, ByVal lngAddress, lngDevModeSize)
> Call GlobalUnlock(lngMemHandle)
> Call GlobalFree(lngMemHandle)
>
> lngMemHandle = udtPrintDlg.hDevNames
> lngAddress = GlobalLock(lngMemHandle)
> Call CopyMemory(udtDevNames, ByVal lngAddress, lngDevNameSize)
> Call GlobalUnlock(lngMemHandle)
> Call GlobalFree(lngMemHandle)
> With udtPrintDlg
> lFromPage = .nFromPage 'nFromPage As Integer - store to FromPage
> property
> lToPage = .nToPage 'nToPage As Integer - store to ToPage property
> lMin = .nMinPage 'nMinPage As Integer - store to Min property
> lMax = .nMaxPage 'nMaxPage As Integer - store to Max property
> lCopies = .nCopies
> lFlags = .Flags
> For Each pnt In Printers
> If InStr(udtDevNames.Extra, pnt.DeviceName) Then
> mstrPrinterName = pnt.DeviceName
> Exit For
> End If
> Next pnt
> mintOrientation = udtDevMode.dmOrientation
> mlngPaperSize = udtDevMode.dmPaperSize
> End With
> Case Else 'an error occured
> 'call CommDlgExtendedError
> lExtendedError = CommDlgExtendedError 'store to ExtendedError property
> Debug.Assert False
> End Select
>
> Exit Sub
>
> ShowPrinterError:
>
> Exit Sub
>
> End Sub
> _________________________________________________
>
> Windbg log
>
>
> *** wait with pending attach
> Symbol search path is:
> srv*C:\symbols\Symbolserver\msdl_downloads*http://msdl.microsoft.com/download/symbols;srv*C:\symbols\Symbolserver\rockwell_downloads*J:\ABI\__Multi-Plant\Information
> Technology\Support\Brewing\Architecture\RSView\Symbols\Rockwell\CPR7\pdb;srv*C:\symbols\Symbolserver\msdl_downloads*J:\ABI\__Multi-Plant\Information
> Technology\Support\Brewing\Architecture\RSView\Symbols\Microsoft\pdb;z:;C:\symbols\hp\symbols
> Executable search path is:
> ModLoad: 00400000 00465000 G:\Bpa\BPAFE.exe
> ModLoad: 7c900000 7c9b0000 C:\WINNT\system32\ntdll.dll
> ModLoad: 7c800000 7c8f4000 C:\WINNT\system32\kernel32.dll
> ModLoad: 66000000 66153000 G:\Bpa\MSVBVM60.DLL
> ModLoad: 7e410000 7e4a0000 C:\WINNT\system32\USER32.dll
> ModLoad: 77f10000 77f57000 C:\WINNT\system32\GDI32.dll
> ModLoad: 77dd0000 77e6b000 C:\WINNT\system32\ADVAPI32.dll
> ModLoad: 77e70000 77f01000 C:\WINNT\system32\RPCRT4.dll
> ModLoad: 774e0000 7761d000 C:\WINNT\system32\ole32.dll
> ModLoad: 77c10000 77c68000 C:\WINNT\system32\msvcrt.dll
> ModLoad: 77120000 771ac000 C:\WINNT\system32\OLEAUT32.dll
> ModLoad: 63000000 63013000 C:\WINNT\system32\SynTPFcs.dll
> ModLoad: 77c00000 77c08000 C:\WINNT\system32\VERSION.dll
> ModLoad: 708f0000 70903000 C:\WINNT\system32\asycfilt.dll
> ModLoad: 77b40000 77b62000 C:\WINNT\system32\Apphelp.dll
> ModLoad: 76fd0000 7704f000 C:\WINNT\system32\CLBCATQ.DLL
> ModLoad: 77050000 77115000 C:\WINNT\system32\COMRes.dll
> ModLoad: 14190000 14241000 G:\Bpa\BPAUtils.DLL
> ModLoad: 0ffd0000 0fff8000 C:\WINNT\system32\rsaenh.dll
> ModLoad: 77fe0000 77ff1000 C:\WINNT\system32\Secur32.dll
> ModLoad: 33060000 33082000 G:\Bpa\DataLibrary2.DLL
> ModLoad: 29800000 2986d000 G:\Bpa\SSTbars2.ocx
> ModLoad: 5d090000 5d12a000 C:\WINNT\system32\COMCTL32.dll
> ModLoad: 7b000000 7b020000 G:\Bpa\OLEPRO32.DLL
> ModLoad: 76b40000 76b6d000 C:\WINNT\system32\WINMM.dll
> ModLoad: 7c9c0000 7d1d5000 C:\WINNT\system32\SHELL32.dll
> ModLoad: 77f60000 77fd6000 C:\WINNT\system32\SHLWAPI.dll
> ModLoad: 773d0000 774d3000
> C:\WINNT\WinSxS\x86_Microsoft.Windows.Common-Controls_6595b64144ccf1df_6.0.2600.2982_x-ww_ac3f9c03\comctl32.dll
> ModLoad: 745e0000 748a6000 C:\WINNT\system32\msi.dll
> ModLoad: 27580000 27685000 G:\Bpa\mscomctl.ocx
> ModLoad: 763b0000 763f9000 C:\WINNT\system32\comdlg32.dll
> ModLoad: 75e90000 75f40000 C:\WINNT\system32\SXS.DLL
> ModLoad: 00f50000 00f5c000 G:\Bpa\regobj.dll
> ModLoad: 26800000 2684e000 G:\Bpa\SSTree.ocx
> ModLoad: 11000000 1102a000 G:\Bpa\SideBar2.OCX
> ModLoad: 20000000 202c5000 C:\WINNT\system32\xpsp2res.dll
> ModLoad: 10000000 1007f000 G:\Bpa\VSFlex7L.OCX
> ModLoad: 76390000 763ad000 C:\WINNT\system32\IMM32.dll
> ModLoad: 68ce0000 68e4b000 G:\Bpa\BPAReport.DLL
> ModLoad: 6c390000 6c3d5000 G:\Bpa\BPATrack.DLL
> ModLoad: 492c0000 493f5000 G:\Bpa\BPAME.DLL
> ModLoad: 02030000 020eb000 G:\Bpa\BPAChart.DLL
> ModLoad: 75d50000 75d8c000 G:\Bpa\BPASpecEditor.DLL
> ModLoad: 38ba0000 38bc9000 G:\Bpa\bpaRecipeEditor.DLL
> ModLoad: 021f0000 02230000 G:\Bpa\BPALDA.DLL
> ModLoad: 3d970000 3da04000 G:\Bpa\BPAMisc.DLL
> ModLoad: 73f50000 73fb0000 G:\Bpa\bpaBatchManagement.DLL
> ModLoad: 2ad00000 2ad39000 G:\Bpa\bpacms.DLL
> ModLoad: 02230000 0234e000 G:\Bpa\BPAIntlDataEntry.dll
> ModLoad: 02350000 02447000 G:\Bpa\BPABARI.DLL
> ModLoad: 71b20000 71b32000 C:\WINNT\system32\MPR.DLL
> ModLoad: 75f60000 75f67000 C:\WINNT\System32\drprov.dll
> ModLoad: 71c10000 71c1e000 C:\WINNT\System32\ntlanman.dll
> ModLoad: 71cd0000 71ce7000 C:\WINNT\System32\NETUI0.dll
> ModLoad: 71c90000 71cd0000 C:\WINNT\System32\NETUI1.dll
> ModLoad: 5b860000 5b8b4000 C:\WINNT\system32\NETAPI32.dll
> ModLoad: 71c80000 71c87000 C:\WINNT\System32\NETRAP.dll
> ModLoad: 71bf0000 71c03000 C:\WINNT\System32\SAMLIB.dll
> ModLoad: 75f70000 75f79000 C:\WINNT\System32\davclnt.dll
> ModLoad: 23670000 236d0000 G:\Bpa\MSRDO20.DLL
> ModLoad: 74320000 7435d000 C:\WINNT\system32\ODBC32.dll
> ModLoad: 02590000 025a7000 C:\WINNT\system32\odbcint.dll
> ModLoad: 282d0000 283ee000 C:\PROGRA~1\Sybase\ODBC\syodase.dll
> ModLoad: 71ad0000 71ad9000 C:\WINNT\system32\WSOCK32.dll
> ModLoad: 71ab0000 71ac7000 C:\WINNT\system32\WS2_32.dll
> ModLoad: 71aa0000 71aa8000 C:\WINNT\system32\WS2HELP.dll
> ModLoad: 02ab0000 030ed000 C:\PROGRA~1\Sybase\ODBC\syodicu.dll
> ModLoad: 5fe80000 5fe9b000 C:\WINNT\system32\odbccp32.dll
> ModLoad: 03110000 03124000 C:\PROGRA~1\Sybase\ODBC\syodaseR.DLL
> ModLoad: 71a50000 71a8f000 C:\WINNT\system32\mswsock.dll
> ModLoad: 662b0000 66308000 C:\WINNT\system32\hnetcfg.dll
> ModLoad: 71a90000 71a98000 C:\WINNT\System32\wshtcpip.dll
> ModLoad: 029f0000 02a22000 G:\Bpa\Richtx32.ocx
> ModLoad: 7df70000 7df92000 C:\WINNT\system32\oledlg.dll
> ModLoad: 75020000 7504d000 G:\Bpa\RichEd32.DLL
> ModLoad: 04730000 047cb000 G:\Bpa\Graphs32.OCX
> ModLoad: 02a70000 02aad000 G:\Bpa\GSWAG32.dll
> ModLoad: 010c0000 010e5000 G:\Bpa\GSWDLL32.dll
> ModLoad: 73000000 73026000 C:\WINNT\system32\WINSPOOL.DRV
> ModLoad: 73dd0000 73ece000 C:\WINNT\system32\MFC42.DLL
> ModLoad: 096e0000 09714000 G:\Bpa\DTPick5.OCX
> ModLoad: 76c30000 76c5e000 C:\WINNT\system32\WINTRUST.dll
> ModLoad: 77a80000 77b14000 C:\WINNT\system32\CRYPT32.dll
> ModLoad: 77b20000 77b32000 C:\WINNT\system32\MSASN1.dll
> ModLoad: 76c90000 76cb8000 C:\WINNT\system32\IMAGEHLP.dll
> ModLoad: 72d20000 72d29000 C:\WINNT\system32\wdmaud.drv
> ModLoad: 72d10000 72d18000 C:\WINNT\system32\msacm32.drv
> ModLoad: 77be0000 77bf5000 C:\WINNT\system32\MSACM32.dll
> ModLoad: 77bd0000 77bd7000 C:\WINNT\system32\midimap.dll
> ModLoad: 74b80000 74c0c000 C:\WINNT\system32\printui.dll
> ModLoad: 77cc0000 77cf2000 C:\WINNT\system32\ACTIVEDS.dll
> ModLoad: 76e10000 76e35000 C:\WINNT\system32\adsldpc.dll
> ModLoad: 76f60000 76f8c000 C:\WINNT\system32\WLDAP32.dll
> ModLoad: 76b20000 76b31000 C:\WINNT\system32\ATL.DLL
> ModLoad: 74ae0000 74ae7000 C:\WINNT\system32\CFGMGR32.dll
> ModLoad: 77920000 77a13000 C:\WINNT\system32\setupapi.DLL
> ModLoad: 77a20000 77a74000 C:\WINNT\System32\cscui.dll
> ModLoad: 76600000 7661d000 C:\WINNT\System32\CSCDLL.dll
> ModLoad: 75f80000 7607d000 C:\WINNT\system32\browseui.dll
> ModLoad: 5ad70000 5ada8000 C:\WINNT\system32\UxTheme.dll
> ModLoad: 769c0000 76a73000 C:\WINNT\system32\USERENV.dll
> ModLoad: 05950000 05b45000
> C:\WINNT\System32\spool\DRIVERS\W32X86\3\HPBF432E.DLL
> ModLoad: 6e680000 6e6bb000 C:\WINNT\system32\COMPSTUI.dll
> ModLoad: 76380000 76385000 C:\WINNT\system32\MSIMG32.dll
> ModLoad: 71d40000 71d5c000 C:\WINNT\system32\actxprxy.dll
>
> (818.16c): Unknown exception - code c000008f (first chance)
> (818.16c): Access violation - code c0000005 (first chance)
> First chance exceptions are reported before any exception handling.
> This exception may be expected and handled.
> eax=0012d5a0 ebx=66024ade ecx=0012d6bc edx=00000000 esi=00000000 edi=00150744
> eip=1101ca05 esp=0012d4a8 ebp=0012d5ec iopl=0 nv up ei pl nz na pe nc
> cs=001b ss=0023 ds=0023 es=0023 fs=003b gs=0000 efl=00010202
> SideBar2!DllCanUnloadNow+0x146a7:
> 1101ca05 813e68f80111 cmp dword ptr [esi],0x1101f868 ds:0023:00000000=????????
> 0:000> kvn
> # ChildEBP RetAddr Args to Child
> WARNING: Stack unwind information not available. Following frames may be
> wrong.
> 00 0012d5ec 1100d6d2 001506d0 0012d6bc 0012d658
> SideBar2!DllCanUnloadNow+0x146a7
> 01 0012d6f0 1100c3ca 001506d0 00000000 000000a5
> SideBar2!DllCanUnloadNow+0x5374
> 02 0012d808 6602ad73 001506d0 0012d9cc 0012d9d4
> SideBar2!DllCanUnloadNow+0x406c
> 03 0012d824 11004949 00150750 11004630 0012d880 MSVBVM60!CallProcWithArgs+0x1e
> 04 0012d834 6602ad50 11004949 0012d8f0 0000000a SideBar2+0x4949
> 05 0012d84c 6602ad08 00150750 0012d930 0012d8f0
> MSVBVM60!InvokeVtblEvent+0x32 (FPO: [4,0,2])
> 06 0012d880 66023023 0012d930 0012d8f0 0000000a MSVBVM60!InvokeEvent+0x42
> 07 0012d954 66022eb2 00ce4534 00ce303c 00cc4220
> MSVBVM60!EvtErrFireWorker+0x159
> 08 0012d978 6607b164 00ce4534 0000000e 0012d998 MSVBVM60!EvtErrFire+0x1b
> 09 0012d9d8 66035f01 00ce4534 0000000e 00000000 MSVBVM60!ErrDefMouse+0x2c6
> 0a 0012da40 660c14dc 00cc4220 000403b4 00000200
> MSVBVM60!VBDefControlProc_508+0x3cb
> 0b 0012da80 66021269 00ce4534 000403b4 00000200 MSVBVM60!PixCtlProc+0x79
> 0c 0012daa8 66020341 00ce4534 000403b4 00000200 MSVBVM60!CommonGizWndProc+0x5a
> 0d 0012db04 7e418734 000403b4 00000200 00000000 MSVBVM60!StdCtlWndProc+0xaa
> 0e 0012db30 7e418816 66020297 000403b4 00000200
> USER32!InternalCallWinProc+0x28
> 0f 0012db98 7e4189cd 00000000 66020297 000403b4
> USER32!UserCallWinProcCheckWow+0x150 (FPO: [Non-Fpo])
> 10 0012dbf8 7e418a10 0012dc20 00000000 0012dc5c
> USER32!DispatchMessageWorker+0x306 (FPO: [Non-Fpo])
> 11 0012dc08 5d0c8a90 0012dc20 03d834cc 03d833d8 USER32!DispatchMessageW+0xf
> (FPO: [Non-Fpo])
> 12 0012dc5c 5d0c8c55 000703c0 03e0467c 00000000
> COMCTL32!_RealPropertySheet+0x2cd (FPO: [Non-Fpo])
> 13 0012dc74 5d0c8c70 0012dc9c 00000000 0012e124
> COMCTL32!_PropertySheet+0x138 (FPO: [Non-Fpo])
> 14 0012dc84 763d972f 0012dc9c 0012e56c 0012e59c COMCTL32!PropertySheetW+0xf
> (FPO: [Non-Fpo])
> 15 0012e124 763d99f1 0012e56c 0012e59c 00000001
> comdlg32!Print_InvokePropertySheets+0x251 (FPO: [Non-Fpo])
> 16 0012e554 763d9c72 0012e56c 0012ea64 00000000 comdlg32!PrintDlgExX+0x27b
> (FPO: [Non-Fpo])
> 17 0012e5f8 763d3401 0012ea64 00000001 00100014
> comdlg32!Print_NewPrintDlg+0x110 (FPO: [Non-Fpo])
> 18 0012ea50 763d4722 0012ea64 0012ef10 141ee11f comdlg32!PrintDlgX+0xab
> (FPO: [Non-Fpo])
> 19 0012ef04 660fe7f5 0012f350 00000000 00000000 comdlg32!PrintDlgA+0x55
> (FPO: [Non-Fpo])
> 1a 0012f41c 660fe829 0015bfe8 00000000 00000000
> MSVBVM60!lblEX_ImpAdCallStr+0x2a
> 1b 0012f4dc 6610697d 03dc3128 0012f52a ffffffff
> MSVBVM60!lblEX_VCallHresult+0x1f
> 1c 0012f6b8 6602ad73 03dc3128 04531fc0 0012f6d8
> MSVBVM60!lblEX_ThisVCallHresult+0x1c
> 1d 0012f6c8 68cf2ba1 03dc31dc 68cf23f4 0012f724 MSVBVM60!CallProcWithArgs+0x1e
> 1e 0012f6d8 6602ad50 68cf2ba1 0012f744 00000004 BPAReport+0x12ba1
> 1f 0012f6f0 6602ad08 03dc31dc 0012f88c 0012f744
> MSVBVM60!InvokeVtblEvent+0x32 (FPO: [4,0,2])
> 20 0012f724 66073084 0012f88c 0012f744 00000004 MSVBVM60!InvokeEvent+0x42
> 21 0012f8d4 6606c4d7 03bb5a84 00000001 0012fb3c MSVBVM60!VBOleFireEvent+0x27e
> 22 0012f8f4 2983956b 03bb5ba0 0000042f 2984fb58
> MSVBVM60!COcx::CEventSink::Invoke+0x2d
> 23 0012fb54 2980b3e6 016eaf7c 29852ab8 04531fc0
> SSTbars2!DllGetClassObject+0x1176
> 24 0012fcb0 29834b27 04531fc0 016eaf78 00000001 SSTbars2+0xb3e6
> 25 0012fce8 2980f685 00000022 04531950 0012fd74 SSTbars2+0x34b27
> 26 00000000 00000000 00000000 00000000 00000000 SSTbars2+0xf685


>> On Thursday, November 18, 2010 4:38 AM pallavi 001 wrote:

>> Hi Submit2,
>>
>>
>>
>> Have you got any solution for this problem, as i'm facing the same.
>>
>>
>>
>> Could you please share, in case you got any answer.
>>
>>
>>
>> Thanks and Regards.


>>> On Thursday, November 18, 2010 4:38 AM pallavi 001 wrote:

>>> Hi Submit2,
>>>
>>>
>>>
>>> Have you got any solution for this problem, as i'm facing the same.
>>>
>>>
>>>
>>> Could you please share, in case you got any answer.
>>>
>>>
>>>
>>> Thanks and Regards.


>>>> On Thursday, November 18, 2010 4:40 AM pallavi 001 wrote:

>>>> Hi Submit2,
>>>>
>>>>
>>>>
>>>> Have you got any solution for this problem, as i'm facing the same.
>>>>
>>>>
>>>>
>>>> Could you please share, in case you got any answer.
>>>>
>>>>
>>>>
>>>> Thanks and Regards.


>>>>> On Thursday, November 18, 2010 4:40 AM pallavi 001 wrote:

>>>>> Hi Submit2,
>>>>>
>>>>>
>>>>>
>>>>> Have you got any solution for this problem, as i'm facing the same.
>>>>>
>>>>>
>>>>>
>>>>> Could you please share, in case you got any answer.
>>>>>
>>>>>
>>>>>
>>>>> Thanks and Regards.


>>>>>> On Thursday, November 18, 2010 4:40 AM pallavi 001 wrote:

>>>>>> Hi Submit2,
>>>>>>
>>>>>>
>>>>>>
>>>>>> Have you got any solution for this problem, as i'm facing the same.
>>>>>>
>>>>>>
>>>>>>
>>>>>> Could you please share, in case you got any answer.
>>>>>>
>>>>>>
>>>>>>
>>>>>> Thanks and Regards.


>>>>>> Submitted via EggHeadCafe
>>>>>> Excel Tips: Net Present Value (NPV) and Internal Rate of Return (IRR)
>>>>>> http://www.eggheadcafe.com/tutorials/aspnet/e426181a-90f1-4bdb-a58a-ef76c7e7cc85/excel-tips-net-present-value-npv-and-internal-rate-of-return-irr.aspx
pallavi 001
2010-11-18 09:41:03 UTC
Permalink
Raw Message
Hi Submit2,

Have you got any solution for this problem, as i'm facing the same.

Could you please share, in case you got any answer.

Thanks and Regards.

> On Friday, May 11, 2007 9:51 AM Submit2 wrote:

> Hello, I'm having difficulity determining where the culprit of not being able
> to print multiple copies.
>
> 1. I know that when conctl32.dll version 6.0 loads last on module loading
> from the Winsxs directory plays a part in why multiple copies won't print as
> oppose to the comctl32.dll v. 5.82 from the system32 directory loading last.
>
> 2. Part of this source code loads comctl.ocx 6.0, 1998 version from a
> C:\Public folder as oppose to loading from system32 folder which is more
> current than 1998.
>
> Can anyone view this code and determine if the culprit is within this source
> code vs what windbg is displaying?
>
>
> Source code
> Public Sub ShowPrinter()
>
> On Error GoTo ShowPrinterError
>
> Const PD_ENABLESETUPHOOK = &H2000
> Const PD_ENABLESETUPTEMPLATE = &H8000
> Const PD_ENABLESETUPTEMPLATEHANDLE = &H20000
> Const PD_ENABLEPRINTHOOK = &H1000
> Const PD_ENABLEPRINTTEMPLATE = &H4000
> Const PD_ENABLEPRINTTEMPLATEHANDLE = &H10000
>
> Dim pnt As Printer
> Dim udtPrintDlg As PrintDlgStruct
> Dim udtDevMode As DEVMODE
> Dim udtDevNames As DEVNAMES
> Dim lngDevModeSize As Long
> Dim lngDevNameSize As Long
> Dim lngMemHandle As Long
> Dim lngAddress As Long
>
> Dim strDriverName As String
> Dim strPort As String
>
> '*** init public properties
> iAction = 5 'Action property - ShowPrint
> lApiReturn = 0 'APIReturn property
> lExtendedError = 0 'ExtendedError property
>
> With udtDevMode
> .dmSize = Len(udtDevMode)
> .dmFields = DM_PAPERSIZE Or DM_ORIENTATION Or DM_COPIES
> If mstrPrinterName <> "" Then
> .dmDeviceName = mstrPrinterName & Chr$(0)
> Else
> .dmDeviceName = Printer.DeviceName & Chr$(0)
> End If
> If mintOrientation = cdlPDOrientPortrait Or mintOrientation =
> cdlPDOrientLandscape Then
> .dmOrientation = mintOrientation
> Else
> .dmOrientation = Printer.Orientation
> End If
> If mlngPaperSize <> 0 Then .dmPaperSize = mlngPaperSize
> End With
>
> lngDevModeSize = Len(udtDevMode)
> ' Get a global memory block to hold a copy of udtDevNode - exit on failure
> lngMemHandle = GlobalAlloc(GHND, lngDevModeSize)
> If lngMemHandle = 0 Then Exit Sub
> udtPrintDlg.hDevMode = lngMemHandle
> ' Lock udtDevMode's global memory block - exit on failure
> lngAddress = GlobalLock(lngMemHandle)
> If lngAddress = 0 Then
> Exit Sub
> Call GlobalFree(lngMemHandle)
> End If
> ' Copy udtDevMode to the global memory block
> Call CopyMemory(ByVal lngAddress, udtDevMode, lngDevModeSize)
> Call GlobalUnlock(lngMemHandle)
>
> For Each pnt In Printers
> If pnt.DeviceName = mstrPrinterName Then
> strPort = pnt.Port
> strDriverName = pnt.DriverName
> Exit For
> End If
> Next pnt
>
> If strDriverName = "" Then
> mstrPrinterName = Printer.DeviceName
> strDriverName = Printer.DriverName
> strPort = Printer.Port
> End If
>
> With udtDevNames
> .wDriverOffset = 8
> .wDeviceOffset = .wDriverOffset + 1 + Len(strDriverName)
> .wOutputOffset = .wDeviceOffset + 1 + Len(mstrPrinterName)
> .wDefault = 1
> .Extra = strDriverName & Chr$(0) & mstrPrinterName & Chr$(0) & strPort &
> Chr$(0)
> End With
>
> lngDevNameSize = Len(udtDevNames)
> ' Get a global memory block to hold a copy of udtDevNode - exit on failure
> lngMemHandle = GlobalAlloc(GHND, lngDevNameSize)
> If lngMemHandle = 0 Then Exit Sub
> udtPrintDlg.hDevNames = lngMemHandle
> ' Lock udtDevMode's global memory block - exit on failure
> lngAddress = GlobalLock(lngMemHandle)
> If lngAddress = 0 Then
> Call GlobalFree(lngMemHandle)
> Exit Sub
> End If
> ' Copy udtDevMode to the global memory block
> Call CopyMemory(ByVal lngAddress, udtDevNames, lngDevNameSize)
> Call GlobalUnlock(lngMemHandle)
>
> With udtPrintDlg
> .lStructSize = Len(udtPrintDlg)
> .lpfnSetupHook = 0
> .lpfnPrintHook = Addressofproc(AddressOf DialogHook)
> .Flags = lFlags ' Or PD_ENABLEPRINTHOOK
> .nFromPage = lFromPage
> .nToPage = lToPage
> .nMinPage = lMin
> .nMaxPage = lMax
> .nCopies = lCopies
> .hwndOwner = glngDialogOwner
> End With
>
> 'Debug.Print "Before - "; udtDevMode.dmOrientation
> '*** Call the PrintDlg API function
> lApiReturn = PrintDlg(udtPrintDlg)
>
> '*** handle return from PrintDlg API function
> Select Case lApiReturn
> Case 0 'user canceled
> If bCancelError = True Then
> 'generate an error
> On Error GoTo 0
> Call GlobalFree(udtPrintDlg.hDevMode)
> Err.Raise cdlCancel
> Exit Sub
> End If
> Case 1 'user selected OK
> lngMemHandle = udtPrintDlg.hDevMode
> lngAddress = GlobalLock(lngMemHandle)
> Call CopyMemory(udtDevMode, ByVal lngAddress, lngDevModeSize)
> Call GlobalUnlock(lngMemHandle)
> Call GlobalFree(lngMemHandle)
>
> lngMemHandle = udtPrintDlg.hDevNames
> lngAddress = GlobalLock(lngMemHandle)
> Call CopyMemory(udtDevNames, ByVal lngAddress, lngDevNameSize)
> Call GlobalUnlock(lngMemHandle)
> Call GlobalFree(lngMemHandle)
> With udtPrintDlg
> lFromPage = .nFromPage 'nFromPage As Integer - store to FromPage
> property
> lToPage = .nToPage 'nToPage As Integer - store to ToPage property
> lMin = .nMinPage 'nMinPage As Integer - store to Min property
> lMax = .nMaxPage 'nMaxPage As Integer - store to Max property
> lCopies = .nCopies
> lFlags = .Flags
> For Each pnt In Printers
> If InStr(udtDevNames.Extra, pnt.DeviceName) Then
> mstrPrinterName = pnt.DeviceName
> Exit For
> End If
> Next pnt
> mintOrientation = udtDevMode.dmOrientation
> mlngPaperSize = udtDevMode.dmPaperSize
> End With
> Case Else 'an error occured
> 'call CommDlgExtendedError
> lExtendedError = CommDlgExtendedError 'store to ExtendedError property
> Debug.Assert False
> End Select
>
> Exit Sub
>
> ShowPrinterError:
>
> Exit Sub
>
> End Sub
> _________________________________________________
>
> Windbg log
>
>
> *** wait with pending attach
> Symbol search path is:
> srv*C:\symbols\Symbolserver\msdl_downloads*http://msdl.microsoft.com/download/symbols;srv*C:\symbols\Symbolserver\rockwell_downloads*J:\ABI\__Multi-Plant\Information
> Technology\Support\Brewing\Architecture\RSView\Symbols\Rockwell\CPR7\pdb;srv*C:\symbols\Symbolserver\msdl_downloads*J:\ABI\__Multi-Plant\Information
> Technology\Support\Brewing\Architecture\RSView\Symbols\Microsoft\pdb;z:;C:\symbols\hp\symbols
> Executable search path is:
> ModLoad: 00400000 00465000 G:\Bpa\BPAFE.exe
> ModLoad: 7c900000 7c9b0000 C:\WINNT\system32\ntdll.dll
> ModLoad: 7c800000 7c8f4000 C:\WINNT\system32\kernel32.dll
> ModLoad: 66000000 66153000 G:\Bpa\MSVBVM60.DLL
> ModLoad: 7e410000 7e4a0000 C:\WINNT\system32\USER32.dll
> ModLoad: 77f10000 77f57000 C:\WINNT\system32\GDI32.dll
> ModLoad: 77dd0000 77e6b000 C:\WINNT\system32\ADVAPI32.dll
> ModLoad: 77e70000 77f01000 C:\WINNT\system32\RPCRT4.dll
> ModLoad: 774e0000 7761d000 C:\WINNT\system32\ole32.dll
> ModLoad: 77c10000 77c68000 C:\WINNT\system32\msvcrt.dll
> ModLoad: 77120000 771ac000 C:\WINNT\system32\OLEAUT32.dll
> ModLoad: 63000000 63013000 C:\WINNT\system32\SynTPFcs.dll
> ModLoad: 77c00000 77c08000 C:\WINNT\system32\VERSION.dll
> ModLoad: 708f0000 70903000 C:\WINNT\system32\asycfilt.dll
> ModLoad: 77b40000 77b62000 C:\WINNT\system32\Apphelp.dll
> ModLoad: 76fd0000 7704f000 C:\WINNT\system32\CLBCATQ.DLL
> ModLoad: 77050000 77115000 C:\WINNT\system32\COMRes.dll
> ModLoad: 14190000 14241000 G:\Bpa\BPAUtils.DLL
> ModLoad: 0ffd0000 0fff8000 C:\WINNT\system32\rsaenh.dll
> ModLoad: 77fe0000 77ff1000 C:\WINNT\system32\Secur32.dll
> ModLoad: 33060000 33082000 G:\Bpa\DataLibrary2.DLL
> ModLoad: 29800000 2986d000 G:\Bpa\SSTbars2.ocx
> ModLoad: 5d090000 5d12a000 C:\WINNT\system32\COMCTL32.dll
> ModLoad: 7b000000 7b020000 G:\Bpa\OLEPRO32.DLL
> ModLoad: 76b40000 76b6d000 C:\WINNT\system32\WINMM.dll
> ModLoad: 7c9c0000 7d1d5000 C:\WINNT\system32\SHELL32.dll
> ModLoad: 77f60000 77fd6000 C:\WINNT\system32\SHLWAPI.dll
> ModLoad: 773d0000 774d3000
> C:\WINNT\WinSxS\x86_Microsoft.Windows.Common-Controls_6595b64144ccf1df_6.0.2600.2982_x-ww_ac3f9c03\comctl32.dll
> ModLoad: 745e0000 748a6000 C:\WINNT\system32\msi.dll
> ModLoad: 27580000 27685000 G:\Bpa\mscomctl.ocx
> ModLoad: 763b0000 763f9000 C:\WINNT\system32\comdlg32.dll
> ModLoad: 75e90000 75f40000 C:\WINNT\system32\SXS.DLL
> ModLoad: 00f50000 00f5c000 G:\Bpa\regobj.dll
> ModLoad: 26800000 2684e000 G:\Bpa\SSTree.ocx
> ModLoad: 11000000 1102a000 G:\Bpa\SideBar2.OCX
> ModLoad: 20000000 202c5000 C:\WINNT\system32\xpsp2res.dll
> ModLoad: 10000000 1007f000 G:\Bpa\VSFlex7L.OCX
> ModLoad: 76390000 763ad000 C:\WINNT\system32\IMM32.dll
> ModLoad: 68ce0000 68e4b000 G:\Bpa\BPAReport.DLL
> ModLoad: 6c390000 6c3d5000 G:\Bpa\BPATrack.DLL
> ModLoad: 492c0000 493f5000 G:\Bpa\BPAME.DLL
> ModLoad: 02030000 020eb000 G:\Bpa\BPAChart.DLL
> ModLoad: 75d50000 75d8c000 G:\Bpa\BPASpecEditor.DLL
> ModLoad: 38ba0000 38bc9000 G:\Bpa\bpaRecipeEditor.DLL
> ModLoad: 021f0000 02230000 G:\Bpa\BPALDA.DLL
> ModLoad: 3d970000 3da04000 G:\Bpa\BPAMisc.DLL
> ModLoad: 73f50000 73fb0000 G:\Bpa\bpaBatchManagement.DLL
> ModLoad: 2ad00000 2ad39000 G:\Bpa\bpacms.DLL
> ModLoad: 02230000 0234e000 G:\Bpa\BPAIntlDataEntry.dll
> ModLoad: 02350000 02447000 G:\Bpa\BPABARI.DLL
> ModLoad: 71b20000 71b32000 C:\WINNT\system32\MPR.DLL
> ModLoad: 75f60000 75f67000 C:\WINNT\System32\drprov.dll
> ModLoad: 71c10000 71c1e000 C:\WINNT\System32\ntlanman.dll
> ModLoad: 71cd0000 71ce7000 C:\WINNT\System32\NETUI0.dll
> ModLoad: 71c90000 71cd0000 C:\WINNT\System32\NETUI1.dll
> ModLoad: 5b860000 5b8b4000 C:\WINNT\system32\NETAPI32.dll
> ModLoad: 71c80000 71c87000 C:\WINNT\System32\NETRAP.dll
> ModLoad: 71bf0000 71c03000 C:\WINNT\System32\SAMLIB.dll
> ModLoad: 75f70000 75f79000 C:\WINNT\System32\davclnt.dll
> ModLoad: 23670000 236d0000 G:\Bpa\MSRDO20.DLL
> ModLoad: 74320000 7435d000 C:\WINNT\system32\ODBC32.dll
> ModLoad: 02590000 025a7000 C:\WINNT\system32\odbcint.dll
> ModLoad: 282d0000 283ee000 C:\PROGRA~1\Sybase\ODBC\syodase.dll
> ModLoad: 71ad0000 71ad9000 C:\WINNT\system32\WSOCK32.dll
> ModLoad: 71ab0000 71ac7000 C:\WINNT\system32\WS2_32.dll
> ModLoad: 71aa0000 71aa8000 C:\WINNT\system32\WS2HELP.dll
> ModLoad: 02ab0000 030ed000 C:\PROGRA~1\Sybase\ODBC\syodicu.dll
> ModLoad: 5fe80000 5fe9b000 C:\WINNT\system32\odbccp32.dll
> ModLoad: 03110000 03124000 C:\PROGRA~1\Sybase\ODBC\syodaseR.DLL
> ModLoad: 71a50000 71a8f000 C:\WINNT\system32\mswsock.dll
> ModLoad: 662b0000 66308000 C:\WINNT\system32\hnetcfg.dll
> ModLoad: 71a90000 71a98000 C:\WINNT\System32\wshtcpip.dll
> ModLoad: 029f0000 02a22000 G:\Bpa\Richtx32.ocx
> ModLoad: 7df70000 7df92000 C:\WINNT\system32\oledlg.dll
> ModLoad: 75020000 7504d000 G:\Bpa\RichEd32.DLL
> ModLoad: 04730000 047cb000 G:\Bpa\Graphs32.OCX
> ModLoad: 02a70000 02aad000 G:\Bpa\GSWAG32.dll
> ModLoad: 010c0000 010e5000 G:\Bpa\GSWDLL32.dll
> ModLoad: 73000000 73026000 C:\WINNT\system32\WINSPOOL.DRV
> ModLoad: 73dd0000 73ece000 C:\WINNT\system32\MFC42.DLL
> ModLoad: 096e0000 09714000 G:\Bpa\DTPick5.OCX
> ModLoad: 76c30000 76c5e000 C:\WINNT\system32\WINTRUST.dll
> ModLoad: 77a80000 77b14000 C:\WINNT\system32\CRYPT32.dll
> ModLoad: 77b20000 77b32000 C:\WINNT\system32\MSASN1.dll
> ModLoad: 76c90000 76cb8000 C:\WINNT\system32\IMAGEHLP.dll
> ModLoad: 72d20000 72d29000 C:\WINNT\system32\wdmaud.drv
> ModLoad: 72d10000 72d18000 C:\WINNT\system32\msacm32.drv
> ModLoad: 77be0000 77bf5000 C:\WINNT\system32\MSACM32.dll
> ModLoad: 77bd0000 77bd7000 C:\WINNT\system32\midimap.dll
> ModLoad: 74b80000 74c0c000 C:\WINNT\system32\printui.dll
> ModLoad: 77cc0000 77cf2000 C:\WINNT\system32\ACTIVEDS.dll
> ModLoad: 76e10000 76e35000 C:\WINNT\system32\adsldpc.dll
> ModLoad: 76f60000 76f8c000 C:\WINNT\system32\WLDAP32.dll
> ModLoad: 76b20000 76b31000 C:\WINNT\system32\ATL.DLL
> ModLoad: 74ae0000 74ae7000 C:\WINNT\system32\CFGMGR32.dll
> ModLoad: 77920000 77a13000 C:\WINNT\system32\setupapi.DLL
> ModLoad: 77a20000 77a74000 C:\WINNT\System32\cscui.dll
> ModLoad: 76600000 7661d000 C:\WINNT\System32\CSCDLL.dll
> ModLoad: 75f80000 7607d000 C:\WINNT\system32\browseui.dll
> ModLoad: 5ad70000 5ada8000 C:\WINNT\system32\UxTheme.dll
> ModLoad: 769c0000 76a73000 C:\WINNT\system32\USERENV.dll
> ModLoad: 05950000 05b45000
> C:\WINNT\System32\spool\DRIVERS\W32X86\3\HPBF432E.DLL
> ModLoad: 6e680000 6e6bb000 C:\WINNT\system32\COMPSTUI.dll
> ModLoad: 76380000 76385000 C:\WINNT\system32\MSIMG32.dll
> ModLoad: 71d40000 71d5c000 C:\WINNT\system32\actxprxy.dll
>
> (818.16c): Unknown exception - code c000008f (first chance)
> (818.16c): Access violation - code c0000005 (first chance)
> First chance exceptions are reported before any exception handling.
> This exception may be expected and handled.
> eax=0012d5a0 ebx=66024ade ecx=0012d6bc edx=00000000 esi=00000000 edi=00150744
> eip=1101ca05 esp=0012d4a8 ebp=0012d5ec iopl=0 nv up ei pl nz na pe nc
> cs=001b ss=0023 ds=0023 es=0023 fs=003b gs=0000 efl=00010202
> SideBar2!DllCanUnloadNow+0x146a7:
> 1101ca05 813e68f80111 cmp dword ptr [esi],0x1101f868 ds:0023:00000000=????????
> 0:000> kvn
> # ChildEBP RetAddr Args to Child
> WARNING: Stack unwind information not available. Following frames may be
> wrong.
> 00 0012d5ec 1100d6d2 001506d0 0012d6bc 0012d658
> SideBar2!DllCanUnloadNow+0x146a7
> 01 0012d6f0 1100c3ca 001506d0 00000000 000000a5
> SideBar2!DllCanUnloadNow+0x5374
> 02 0012d808 6602ad73 001506d0 0012d9cc 0012d9d4
> SideBar2!DllCanUnloadNow+0x406c
> 03 0012d824 11004949 00150750 11004630 0012d880 MSVBVM60!CallProcWithArgs+0x1e
> 04 0012d834 6602ad50 11004949 0012d8f0 0000000a SideBar2+0x4949
> 05 0012d84c 6602ad08 00150750 0012d930 0012d8f0
> MSVBVM60!InvokeVtblEvent+0x32 (FPO: [4,0,2])
> 06 0012d880 66023023 0012d930 0012d8f0 0000000a MSVBVM60!InvokeEvent+0x42
> 07 0012d954 66022eb2 00ce4534 00ce303c 00cc4220
> MSVBVM60!EvtErrFireWorker+0x159
> 08 0012d978 6607b164 00ce4534 0000000e 0012d998 MSVBVM60!EvtErrFire+0x1b
> 09 0012d9d8 66035f01 00ce4534 0000000e 00000000 MSVBVM60!ErrDefMouse+0x2c6
> 0a 0012da40 660c14dc 00cc4220 000403b4 00000200
> MSVBVM60!VBDefControlProc_508+0x3cb
> 0b 0012da80 66021269 00ce4534 000403b4 00000200 MSVBVM60!PixCtlProc+0x79
> 0c 0012daa8 66020341 00ce4534 000403b4 00000200 MSVBVM60!CommonGizWndProc+0x5a
> 0d 0012db04 7e418734 000403b4 00000200 00000000 MSVBVM60!StdCtlWndProc+0xaa
> 0e 0012db30 7e418816 66020297 000403b4 00000200
> USER32!InternalCallWinProc+0x28
> 0f 0012db98 7e4189cd 00000000 66020297 000403b4
> USER32!UserCallWinProcCheckWow+0x150 (FPO: [Non-Fpo])
> 10 0012dbf8 7e418a10 0012dc20 00000000 0012dc5c
> USER32!DispatchMessageWorker+0x306 (FPO: [Non-Fpo])
> 11 0012dc08 5d0c8a90 0012dc20 03d834cc 03d833d8 USER32!DispatchMessageW+0xf
> (FPO: [Non-Fpo])
> 12 0012dc5c 5d0c8c55 000703c0 03e0467c 00000000
> COMCTL32!_RealPropertySheet+0x2cd (FPO: [Non-Fpo])
> 13 0012dc74 5d0c8c70 0012dc9c 00000000 0012e124
> COMCTL32!_PropertySheet+0x138 (FPO: [Non-Fpo])
> 14 0012dc84 763d972f 0012dc9c 0012e56c 0012e59c COMCTL32!PropertySheetW+0xf
> (FPO: [Non-Fpo])
> 15 0012e124 763d99f1 0012e56c 0012e59c 00000001
> comdlg32!Print_InvokePropertySheets+0x251 (FPO: [Non-Fpo])
> 16 0012e554 763d9c72 0012e56c 0012ea64 00000000 comdlg32!PrintDlgExX+0x27b
> (FPO: [Non-Fpo])
> 17 0012e5f8 763d3401 0012ea64 00000001 00100014
> comdlg32!Print_NewPrintDlg+0x110 (FPO: [Non-Fpo])
> 18 0012ea50 763d4722 0012ea64 0012ef10 141ee11f comdlg32!PrintDlgX+0xab
> (FPO: [Non-Fpo])
> 19 0012ef04 660fe7f5 0012f350 00000000 00000000 comdlg32!PrintDlgA+0x55
> (FPO: [Non-Fpo])
> 1a 0012f41c 660fe829 0015bfe8 00000000 00000000
> MSVBVM60!lblEX_ImpAdCallStr+0x2a
> 1b 0012f4dc 6610697d 03dc3128 0012f52a ffffffff
> MSVBVM60!lblEX_VCallHresult+0x1f
> 1c 0012f6b8 6602ad73 03dc3128 04531fc0 0012f6d8
> MSVBVM60!lblEX_ThisVCallHresult+0x1c
> 1d 0012f6c8 68cf2ba1 03dc31dc 68cf23f4 0012f724 MSVBVM60!CallProcWithArgs+0x1e
> 1e 0012f6d8 6602ad50 68cf2ba1 0012f744 00000004 BPAReport+0x12ba1
> 1f 0012f6f0 6602ad08 03dc31dc 0012f88c 0012f744
> MSVBVM60!InvokeVtblEvent+0x32 (FPO: [4,0,2])
> 20 0012f724 66073084 0012f88c 0012f744 00000004 MSVBVM60!InvokeEvent+0x42
> 21 0012f8d4 6606c4d7 03bb5a84 00000001 0012fb3c MSVBVM60!VBOleFireEvent+0x27e
> 22 0012f8f4 2983956b 03bb5ba0 0000042f 2984fb58
> MSVBVM60!COcx::CEventSink::Invoke+0x2d
> 23 0012fb54 2980b3e6 016eaf7c 29852ab8 04531fc0
> SSTbars2!DllGetClassObject+0x1176
> 24 0012fcb0 29834b27 04531fc0 016eaf78 00000001 SSTbars2+0xb3e6
> 25 0012fce8 2980f685 00000022 04531950 0012fd74 SSTbars2+0x34b27
> 26 00000000 00000000 00000000 00000000 00000000 SSTbars2+0xf685


>> On Thursday, November 18, 2010 4:38 AM pallavi 001 wrote:

>> Hi Submit2,
>>
>>
>>
>> Have you got any solution for this problem, as i'm facing the same.
>>
>>
>>
>> Could you please share, in case you got any answer.
>>
>>
>>
>> Thanks and Regards.


>>> On Thursday, November 18, 2010 4:38 AM pallavi 001 wrote:

>>> Hi Submit2,
>>>
>>>
>>>
>>> Have you got any solution for this problem, as i'm facing the same.
>>>
>>>
>>>
>>> Could you please share, in case you got any answer.
>>>
>>>
>>>
>>> Thanks and Regards.


>>>> On Thursday, November 18, 2010 4:40 AM pallavi 001 wrote:

>>>> Hi Submit2,
>>>>
>>>>
>>>>
>>>> Have you got any solution for this problem, as i'm facing the same.
>>>>
>>>>
>>>>
>>>> Could you please share, in case you got any answer.
>>>>
>>>>
>>>>
>>>> Thanks and Regards.


>>>>> On Thursday, November 18, 2010 4:40 AM pallavi 001 wrote:

>>>>> Hi Submit2,
>>>>>
>>>>>
>>>>>
>>>>> Have you got any solution for this problem, as i'm facing the same.
>>>>>
>>>>>
>>>>>
>>>>> Could you please share, in case you got any answer.
>>>>>
>>>>>
>>>>>
>>>>> Thanks and Regards.


>>>>>> On Thursday, November 18, 2010 4:40 AM pallavi 001 wrote:

>>>>>> Hi Submit2,
>>>>>>
>>>>>>
>>>>>>
>>>>>> Have you got any solution for this problem, as i'm facing the same.
>>>>>>
>>>>>>
>>>>>>
>>>>>> Could you please share, in case you got any answer.
>>>>>>
>>>>>>
>>>>>>
>>>>>> Thanks and Regards.


>>>>>>> On Thursday, November 18, 2010 4:40 AM pallavi 001 wrote:

>>>>>>> Hi Submit2,
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> Have you got any solution for this problem, as i'm facing the same.
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> Could you please share, in case you got any answer.
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> Thanks and Regards.


>>>>>>> Submitted via EggHeadCafe
>>>>>>> Custom task processes in SharePoint Designer Workflows
>>>>>>> http://www.eggheadcafe.com/tutorials/aspnet/872c3a54-cc00-4fa0-b98b-2e9ea9a559dd/custom-task-processes-in-sharepoint-designer-workflows.aspx
Loading...