JairoMarques

Hi all,

IĦŻm trying to certificate my application to Windows Vista.
IĦŻm using SQLDMO in a Visual Basic 6 application, but IĦŻm having trouble in Test Case 31.

In the Test Code below I receive the message:
-2147483645-Automation error One or more arguments are invalid

Any help will be appreciated.

Private Sub Command1_Click()
Dim oNameList As Object
Dim oApplication As Object

Dim n As Integer

On Error GoTo Erro

Screen.MousePointer = vbHourglass
Set oApplication = CreateObject("SQLDMO.Application")
Set oNameList = oApplication.ListAvailableSQLServers
Set oApplication = Nothing
Combo1.Clear
For n = 1 To oNameList.Count
Combo1.AddItem oNameList(n)
Next n
Combo1.ListIndex = 0
Set oNameList = Nothing
Screen.MousePointer = vbDefault
Exit Sub
Erro:
Screen.MousePointer = vbDefault
MsgBox Err.Number & "-" & Err.Description
Set oApplication = Nothing
Set oNameList = Nothing
End Sub

Private Sub Form_Load()
Combo1.Clear
End Sub


AppVerifier log:

< xml version="1.0" encoding="UTF-8" standalone="no" >
<avrf:logfile xmlns:avrf="Application Verifier">
<avrf:logSession TimeStarted="2007-04-05 : 11:33:05" PID="3996" Version="2">
<avrf:logEntry Time="2007-04-05 : 11:33:09" LayerName="Locks" StopCode="0x211" Severity="Error">
<avrf:message>Critical section is already initialized.</avrf:message>
<avrfStick out tonguearameter1>1c454d60 - Critical section address.</avrfStick out tonguearameter1>
<avrfStick out tonguearameter2>59bcfe0 - Critical section debug info address.</avrfStick out tonguearameter2>
<avrfStick out tonguearameter3>4386cc - First initialization stack trace. Use dps to dump it if non-NULL</avrfStick out tonguearameter3>
<avrfStick out tonguearameter4>0 - Not used.</avrfStick out tonguearameter4>
<avrfTongue TiedtackTrace>
<avrf:trace>vfbasics!VfBasicsStopMessage+8e</avrf:trace>
<avrf:trace>vfbasics!AVrfpInitializeCriticalSectionCommon+116</avrf:trace>
<avrf:trace>vfbasics!AVrfpRtlInitializeCriticalSection+12</avrf:trace>
<avrf:trace>SQLDMO!DllRegisterServer+1e42b8</avrf:trace>
<avrf:trace>SQLDMO!+1c174bb6</avrf:trace>
<avrf:trace>SQLDMO!+1c174cc7</avrf:trace>
<avrf:trace>SQLDMO!DllRegisterServer+1e62c3</avrf:trace>
<avrf:trace>verifier!VerifierStopMessage+ea9</avrf:trace>
<avrf:trace>vrfcore!VfCoreStandardDllEntryPointRoutine+127</avrf:trace>
<avrf:trace>vfbasics!AVrfpStandardDllEntryPointRoutine+10e</avrf:trace>
<avrf:trace>ntdll!RtlReleaseSRWLockExclusive+3d</avrf:trace>
<avrf:trace>ntdll!RtlAcquirePebLock+429</avrf:trace>
<avrf:trace>ntdll!RtlAcquirePebLock+6f3</avrf:trace>
<avrf:trace>ntdll!LdrLoadDll+116</avrf:trace>
<avrf:trace>vfbasics!AVrfpLdrLoadDll+5c</avrf:trace>
<avrf:trace>kernel32!LoadLibraryExW+f9</avrf:trace>
<avrf:trace>ole32!CoGetTreatAsClass+32c</avrf:trace>
<avrf:trace>ole32!CoGetTreatAsClass+216</avrf:trace>
<avrf:trace>ole32!CoRegisterChannelHook+3821</avrf:trace>
<avrf:trace>ole32!CoRegisterChannelHook+3736</avrf:trace>
<avrf:trace>ole32!CoRegisterChannelHook+35fc</avrf:trace>
<avrf:trace>ole32!CoGetTreatAsClass+9ae</avrf:trace>
<avrf:trace>ole32!CoRegisterInitializeSpy+1dc9</avrf:trace>
<avrf:trace>ole32!CoGetTreatAsClass+b21</avrf:trace>
<avrf:trace>ole32!CoGetTreatAsClass+a96</avrf:trace>
<avrf:trace>ole32!CoGetTreatAsClass+60d</avrf:trace>
<avrf:trace>ole32!CoGetTreatAsClass+5be</avrf:trace>
<avrf:trace>ole32!CoGetTreatAsClass+b84</avrf:trace>
<avrf:trace>ole32!CoRegisterInitializeSpy+1dc9</avrf:trace>
<avrf:trace>ole32!CoRegisterInitializeSpy+1e8f</avrf:trace>
<avrf:trace>ole32!CoRegisterInitializeSpy+1dc9</avrf:trace>
<avrf:trace>ole32!CoRegisterInitializeSpy+1cf1</avrf:trace>
<avrf:trace>ole32!CoTaskMemAlloc+65e</avrf:trace>
<avrf:trace>ole32!CoCreateInstanceEx+38</avrf:trace>
<avrf:trace>ole32!CoCreateInstance+34</avrf:trace>
<avrf:trace>MSVBVM60!rtcCreateObject2+432</avrf:trace>
<avrf:trace>TC31!+401fb6</avrf:trace>
<avrf:trace>MSVBVM60!IID_IVbaHost+236db</avrf:trace>
<avrf:trace>TC31!+4019b4</avrf:trace>
<avrf:trace>MSVBVM60!IID_IVbaHost+239dc</avrf:trace>
<avrf:trace>MSVBVM60!IID_IVbaHost+23e43</avrf:trace>
<avrf:trace>MSVBVM60!IID_IVbaHost+2400f</avrf:trace>
<avrf:trace>MSVBVM60!EbLibraryUnload+dce1</avrf:trace>
<avrf:trace>MSVBVM60!IID_IVbaHost+2e7f8</avrf:trace>
<avrf:trace>MSVBVM60!IID_IVbaHost+31174</avrf:trace>
<avrf:trace>MSVBVM60!IID_IVbaHost+2fbdb</avrf:trace>
<avrf:trace>MSVBVM60!IID_IVbaHost+2f61c</avrf:trace>
<avrf:trace>MSVBVM60!BASIC_DISPINTERFACE_GetTICount+1cd8b</avrf:trace>
<avrf:trace>MSVBVM60!IID_IVbaHost+2e7f8</avrf:trace>
<avrf:trace>MSVBVM60!IID_IVbaHost+31174</avrf:trace>
<avrf:trace>USER32!GetMessageW+6e</avrf:trace>
<avrf:trace>USER32!GetMessageW+146</avrf:trace>
<avrf:trace>USER32!GetDesktopWindow+10a</avrf:trace>
<avrf:trace>USER32!SendMessageW+49</avrf:trace>
<avrf:trace>USER32!DrawFrame+6e2</avrf:trace>
<avrf:trace>USER32!DrawFrame+7f7</avrf:trace>
<avrf:trace>USER32!DrawFrame+816</avrf:trace>
<avrf:trace>USER32!EditWndProc+3fe</avrf:trace>
<avrf:trace>USER32!GetMessageW+6e</avrf:trace>
<avrf:trace>USER32!GetMessageW+146</avrf:trace>
<avrf:trace>USER32!CallWindowProcW+75</avrf:trace>
<avrf:trace>USER32!CallWindowProcA+1b</avrf:trace>
<avrf:trace>MSVBVM60!IID_IVbaHost+2ea31</avrf:trace>
<avrf:trace>MSVBVM60!EbLibraryUnload+dfb7</avrf:trace>
</avrfTongue TiedtackTrace>
</avrf:logEntry>
<avrf:logEntry Time="2007-04-05 : 11:33:09" LayerName="Locks" StopCode="0x201" Severity="Error">
<avrf:message>Unloading DLL containing an active critical section.</avrf:message>
<avrfStick out tonguearameter1>1c454d60 - Critical section address.</avrfStick out tonguearameter1>
<avrfStick out tonguearameter2>4386cc - Critical section initialization stack trace.</avrfStick out tonguearameter2>
<avrfStick out tonguearameter3>4624fe8 - DLL name address.</avrfStick out tonguearameter3>
<avrfStick out tonguearameter4>1c0b0000 - DLL base address.</avrfStick out tonguearameter4>
<avrfTongue TiedtackTrace>
<avrf:trace>vfbasics!VfBasicsStopMessage+8e</avrf:trace>
<avrf:trace>vfbasics!AVrfpFreeMemLockChecks+17c</avrf:trace>
<avrf:trace>vfbasics!AVrfpFreeMemNotify+39</avrf:trace>
<avrf:trace>vfbasics!AVrfpDllUnloadCallback+2c</avrf:trace>
<avrf:trace>ntdll!RtlApplicationVerifierStop+663</avrf:trace>
<avrf:trace>ntdll!RtlDeleteAce+296d</avrf:trace>
<avrf:trace>ntdll!LdrUnloadDll+46</avrf:trace>
<avrf:trace>ntdll!TpWaitForWork+180</avrf:trace>
<avrf:trace>ntdll!LdrLoadDll+116</avrf:trace>
<avrf:trace>vfbasics!AVrfpLdrLoadDll+5c</avrf:trace>
<avrf:trace>kernel32!LoadLibraryExW+f9</avrf:trace>
<avrf:trace>ole32!CoGetTreatAsClass+32c</avrf:trace>
<avrf:trace>ole32!CoGetTreatAsClass+216</avrf:trace>
<avrf:trace>ole32!CoRegisterChannelHook+3821</avrf:trace>
<avrf:trace>ole32!CoRegisterChannelHook+3736</avrf:trace>
<avrf:trace>ole32!CoRegisterChannelHook+35fc</avrf:trace>
<avrf:trace>ole32!CoGetTreatAsClass+9ae</avrf:trace>
<avrf:trace>ole32!CoRegisterInitializeSpy+1dc9</avrf:trace>
<avrf:trace>ole32!CoGetTreatAsClass+b21</avrf:trace>
<avrf:trace>ole32!CoGetTreatAsClass+a96</avrf:trace>
<avrf:trace>ole32!CoGetTreatAsClass+60d</avrf:trace>
<avrf:trace>ole32!CoGetTreatAsClass+5be</avrf:trace>
<avrf:trace>ole32!CoGetTreatAsClass+b84</avrf:trace>
<avrf:trace>ole32!CoRegisterInitializeSpy+1dc9</avrf:trace>
<avrf:trace>ole32!CoRegisterInitializeSpy+1e8f</avrf:trace>
<avrf:trace>ole32!CoRegisterInitializeSpy+1dc9</avrf:trace>
<avrf:trace>ole32!CoRegisterInitializeSpy+1cf1</avrf:trace>
<avrf:trace>ole32!CoTaskMemAlloc+65e</avrf:trace>
<avrf:trace>ole32!CoCreateInstanceEx+38</avrf:trace>
<avrf:trace>ole32!CoCreateInstance+34</avrf:trace>
<avrf:trace>MSVBVM60!rtcCreateObject2+432</avrf:trace>
<avrf:trace>TC31!+401fb6</avrf:trace>
<avrf:trace>MSVBVM60!IID_IVbaHost+236db</avrf:trace>
<avrf:trace>TC31!+4019b4</avrf:trace>
<avrf:trace>MSVBVM60!IID_IVbaHost+239dc</avrf:trace>
<avrf:trace>MSVBVM60!IID_IVbaHost+23e43</avrf:trace>
<avrf:trace>MSVBVM60!IID_IVbaHost+2400f</avrf:trace>
<avrf:trace>MSVBVM60!EbLibraryUnload+dce1</avrf:trace>
<avrf:trace>MSVBVM60!IID_IVbaHost+2e7f8</avrf:trace>
<avrf:trace>MSVBVM60!IID_IVbaHost+31174</avrf:trace>
<avrf:trace>MSVBVM60!IID_IVbaHost+2fbdb</avrf:trace>
<avrf:trace>MSVBVM60!IID_IVbaHost+2f61c</avrf:trace>
<avrf:trace>MSVBVM60!BASIC_DISPINTERFACE_GetTICount+1cd8b</avrf:trace>
<avrf:trace>MSVBVM60!IID_IVbaHost+2e7f8</avrf:trace>
<avrf:trace>MSVBVM60!IID_IVbaHost+31174</avrf:trace>
<avrf:trace>USER32!GetMessageW+6e</avrf:trace>
<avrf:trace>USER32!GetMessageW+146</avrf:trace>
<avrf:trace>USER32!GetDesktopWindow+10a</avrf:trace>
<avrf:trace>USER32!SendMessageW+49</avrf:trace>
<avrf:trace>USER32!DrawFrame+6e2</avrf:trace>
<avrf:trace>USER32!DrawFrame+7f7</avrf:trace>
<avrf:trace>USER32!DrawFrame+816</avrf:trace>
<avrf:trace>USER32!EditWndProc+3fe</avrf:trace>
<avrf:trace>USER32!GetMessageW+6e</avrf:trace>
<avrf:trace>USER32!GetMessageW+146</avrf:trace>
<avrf:trace>USER32!CallWindowProcW+75</avrf:trace>
<avrf:trace>USER32!CallWindowProcA+1b</avrf:trace>
<avrf:trace>MSVBVM60!IID_IVbaHost+2ea31</avrf:trace>
<avrf:trace>MSVBVM60!EbLibraryUnload+dfb7</avrf:trace>
<avrf:trace>MSVBVM60!IID_IVbaHost+2e7f8</avrf:trace>
<avrf:trace>MSVBVM60!IID_IVbaHost+31174</avrf:trace>
<avrf:trace>USER32!GetMessageW+6e</avrf:trace>
<avrf:trace>USER32!GetMessageW+146</avrf:trace>
<avrf:trace>USER32!IsWindow+14d</avrf:trace>
</avrfTongue TiedtackTrace>
</avrf:logEntry>
</avrf:logSession>
</avrf:logfile>



Re: Application Compatibility for Windows Vista SQLDMO and TC31

Mo Nail - MFST

I have been able to reproduce your problem. There does appear to be a problem with SQLDMO. If you are a partner, you should contact Microsoft Partner Support for your region. Or use InnovateOnVista.com to report the issue.




Re: Application Compatibility for Windows Vista SQLDMO and TC31

JairoMarques

Mo Nail,
you're right.
See the message beloow that I received from Bill Hall from Microsoft:
"Sqldmo.dll has had problems with test case 31. We were able to obtain a patch that should resolve this. It will be released in a hotfix in the upcoming weeks. Please just replace the sqldmo.dll the sqlexpress installs with this one manually. Let me know if that resolves the issue."