error MSB3073: The command "staticdv.exe /devenv /check" exited with code -1 - c

I have a NDIS 6 filter driver. It is a packet capture driver based on the official ndislwf example. The whole project is open sourced on this GitHub repo. npf.sln can be opened via Visual Studio 2015.
My problem is the Static Driver Verifier (SDV) doesn't work on my project. When I clicked Driver -> Launch Static Driver Verifier... on Visual Studio 2015, it popped up the SDV GUI, then I clicked Clean and Start. After a while (3-5 minutes), a window popped up saying SDV encountered an error of unknown origin.. And the Alerts tab of the SDV UI said:
J:\npcap\packetWin7\npf\npf>cd /d "J:\npcap\packetWin7\npf\npf" && msbuild "npf.vcxproj" /t:sdv /p:inputs="/devenv /check" /p:configuration="Win7 Release SDV" /p:platform="x64"
Microsoft (R) Build Engine version 14.0.25420.1
Copyright (C) Microsoft Corporation. All rights reserved.
Build started 7/25/2016 12:42:39 PM.
Project "J:\npcap\packetWin7\npf\npf\npf.vcxproj" on node 1 (sdv target(s)).
sdv:
staticdv.exe /devenv /check
---------------------------------------------------------------------
Microsoft (R) Windows (R) Static Driver Verifier Version 4.0.505.8
Copyright (C) Microsoft Corporation. All rights reserved.
---------------------------------------------------------------------
SDV is building for <Win7 Release SDV|x64>
Build 'npf' ... Done
Scan 'npf' ... Done
No reuse data to copy from previous SDV run.
The finalization step failed for 'npf' .
C:\Program Files (x86)\Windows Kits\10\build\windowsdriver.Sdv.targets(65,9): error MSB3073: The command "staticdv.exe /devenv /check" exited with code -1. [J:\npcap\packetWin7\npf\npf\npf.vcxproj]
Done Building Project "J:\npcap\packetWin7\npf\npf\npf.vcxproj" (sdv target(s)) -- FAILED.
Build FAILED.
"J:\npcap\packetWin7\npf\npf\npf.vcxproj" (sdv target) (1) ->
(sdv target) ->
C:\Program Files (x86)\Windows Kits\10\build\windowsdriver.Sdv.targets(65,9): error MSB3073: The command "staticdv.exe /devenv /check" exited with code -1. [J:\npcap\packetWin7\npf\npf\npf.vcxproj]
0 Warning(s)
1 Error(s)
Time Elapsed 00:01:30.61
Then I looked at the StaticDVTrace.log log. It said as below:
Information:Calling DriverCleanup.
Information:Creating a new SDV object.
Information:Loading cache data.
Information:Calling cleanup routine.
Information:Creating a new SDV object.
Information:SetBase this.DdkPath=C:\Program Files (x86)\Windows Kits\10\
Information:SetBase this.Path=J:\npcap\packetWin7\npf\npf
Information:SetBase creating the DriverCollection via constructor.
Information:Driver Constructor:Calling RuleCollection constructor with rule list and rule path
Information:SetBase this.Environment=WDK
Information:SetBase Calling InitBaseEnvironment.
Information:Check that we have driver folder.
Information:Calling build to get cl and link flags.
Information:GenerateBuildLogNewCall build.exe.
Information:GenerateBuildLogNewCall to build.exe worked.
Information:Build 'npf' ... Done
Information:Found Sdv links file and attempting to serialize the data into our object model.
Information:Found Sdv source file and attempting to serialize the data into our object model.
Information:Found cflags in Sdv source file.
Information:Slam model equals
Information:Slam rules equals
Information:Slam Data equals
Information:Calling OpenNewConfiguration
Information:SetBase this.DdkPath=C:\Program Files (x86)\Windows Kits\10\
Information:SetBase this.Path=J:\npcap\packetWin7\npf\npf
Information:SetBase Opening All.sdv to load active rule list.
Information:OpenMsft Opening All.sdv from:C:\Program Files (x86)\Windows Kits\10\TOOLS\SDV\data\ndis\All.sdv
Information:OpenMsft Reading :C:\Program Files (x86)\Windows Kits\10\TOOLS\SDV\data\ndis\All.sdv
Information:OpenMsft Adding :DDIUSAGE.SDV.fsm to the list of rules.
Information:OpenMsft Adding :IRQL.SDV.fsm to the list of rules.
Information:OpenMsft Adding :IRQL_SHARED.SDV.fsm to the list of rules.
Information:OpenMsft Adding :LOCKING.SDV.fsm to the list of rules.
Information:OpenMsft Adding :MEMORYUSAGE.SDV.fsm to the list of rules.
Information:OpenMsft Adding :MISCELLANEOUS.SDV.fsm to the list of rules.
Information:OpenMsft Adding :OIDPROCESSING.SDV.fsm to the list of rules.
Information:OpenMsft Adding :WARNING.SDV.fsm to the list of rules.
Information:OpenMsft Adding :.fsm to the list of rules.
Information:SetBase Calling driver constructor.
Information:RuleCollection Constructor:Calling Rule Constructor.
Information:RuleCollection Constructor:add rule object to collection.
...
Information:RuleCollection Constructor:Calling Rule Constructor.
Information:RuleCollection Constructor:add rule object to collection.
Information:SetBase this.Environment=WDK
Information:SetBase Calling InitBaseEnvironment.
Information:this.NumberOfChecks=0100
Information:this.NumberOfNotStarted=100
Information:Opening sdv-default.xml from:C:\Program Files (x86)\Windows Kits\10\TOOLS\SDV\data\ndis
Information:SdvScan:Local sdv-default.xml found.
Information:Calling build to get cl and link flags.
Information:Loading library data from cache at:C:\Program Files (x86)\Windows Kits\10\
Information:Loading build data.
Information:Counting the LOC in the driver.
Information:Loading WDM entry points from :C:\Program Files (x86)\Windows Kits\10\TOOLS\SDV\data\ndis\DdkEntryPoints.xml
Information:Calling CheckScan to validate we have a valid SDV-map.h file.
Information:CheckScan:Generating SDV-map.h file via call to SdvMap.
Information:SdvMap:Iterate over each driver in the collection.
Information:BuildLib:Create sdv folder.
Information:BuildLib:Create sdv\scan folder.
7/25/2016 11:00:08 PM:The SDV-map.h file at: J:\npcap\packetWin7\npf\npf.
Information:The SDV-map.h file at:J:\npcap\packetWin7\npf\npf does not have the "Approved" flag set to "true."
Information:Scan 'npf' ... Done
Information:CheckScan:Calling LoadSdvMap.
Information:Check if debug flags are set.
Information:Start sdv scan step via call to SdvScan.
Information:SdvScan:Calling SetupSdvScanFolders
Information:SdvScan:Checking if we have a local version of sdv-default.xml
Information:BuildLib:Create sdv folder.
Information:BuildLib:Create sdv\scan folder.
Information:Copying old reuse data for this run...J:\npcap\packetWin7\npf\npf
Information:No reuse data to copy from previous SDV run.
Information:Calling the SdvCheck stage.
Information:SdvCheck:Calling CleanupCflags.
Information:SdvCheck:Calling SetupSdvCheckFolders.
Information:SdvCheck:Calling RuleSpec.
Information:RuleSpec:.
Information:RuleSpec:Calling CompileStage for
Information:RuleSpec:Calling CompileStage for pre_isminiport.fsm
7/25/2016 11:00:16 PM:The SDV compile step failed.
I can't tell anything from the error message. Can anybody help me? Thanks!

You need to approve the sdv-map.h file. Open the sdv-map.h file that SDV generated in your source directory, verify that everything looks correct, then change //Approved=false to //Approved=true.

Related

How to call DLL exported functions with #<number> at end of function name from C

I am trying to call functions from ntvdm.lib in Visual Studio 2019 using the Visual Studio 2017 - Windows XP (v141_XP) platform toolset, with the following defined:
#define _WIN32_WINNT 0x0501
#define i386
running dumpbin /exports on the LIB file I get the following output:
Microsoft (R) COFF/PE Dumper Version 14.29.30037.0
Copyright (C) Microsoft Corporation. All rights reserved.
Dump of file ntvdm.lib
File Type: LIBRARY
Exports
ordinal name
_BlockWOWIdle#4
_CurrentMonitorTeb
_DBGNotifyDebugged#4
_DBGNotifyNewTask#8
_DBGNotifyRemoteThreadAddress#8
_DispatchInterrupts#0
_Dos_Flag_Addr
_DpmiSetIncrementalAlloc#4
_ExpLdt
_FlatAddress
_GetDOSAppName#4
_InitialVdmDbgFlags
_InitialVdmTibFlags
_IsCdRomFile#4
_MGetVdmPointer#12
_RedirectLongFileName#12
_RedirectShortFileName#12
_RegisterWOWIdle#0
_ResumeTimerThread#0
_SelectorLimit
_SetShadowDescriptorEntries#8
_ShortPathEnvVar#4
_Sim32pGetVDMPointer#8
_SoftPcEoi#8
_SuspendTimerThread#0
_VDDAllocMem#12
_VDDAllocateDosHandle#12
_VDDAssociateNtHandle#12
_VDDDeInstallIOHook#12
_VDDDeInstallMemoryHook#12
_VDDDeInstallUserHook#4
_VDDExcludeMem#12
_VDDFreeMem#12
_VDDIncludeMem#12
_VDDInstallIOHook#16
_VDDInstallMemoryHook#16
_VDDInstallUserHook#20
_VDDQueryDMA#12
_VDDReleaseDosHandle#8
_VDDReleaseIrqLine#8
_VDDRequestDMA#16
_VDDReserveIrqLine#8
_VDDRetrieveNtHandle#16
_VDDSetDMA#16
_VDDSimulate16#0
_VDDTerminateVDM#0
_VdmDbgAttach#0
_VdmGetParametersInfoError#0
_VdmMapFlat#12
_VdmParametersInfo#12
_VdmTraceEvent#12
_WOWSysErrorBox#20
_WaitIfIdle#0
_call_ica_hw_interrupt#12
_cmdCheckTemp#4
_cmdCheckTempInit#0
_cpu_createthread#8
_demClientErrorEx#12
_demFileDelete#4
_demFileFindFirst#12
_demFileFindNext#4
_demGetFileTimeByHandle_WOW#4
_demGetPhysicalDriveType#4
_demIsShortPathName#8
_demLFNCleanup#0
_demLFNGetCurrentDirectory#8
_demSetCurrentDirectoryGetDrive#8
_demWOWLFNAllocateSearchHandle#4
_demWOWLFNCloseSearchHandle#4
_demWOWLFNEntry#4
_demWOWLFNGetSearchHandle#4
_demWOWLFNInit#4
_fSeparateWow
_getAF#0
_getAH#0
_getAL#0
_getAX#0
_getBH#0
_getBL#0
_getBP#0
_getBX#0
_getCF#0
_getCH#0
_getCL#0
_getCS#0
_getCX#0
_getDF#0
_getDH#0
_getDI#0
_getDL#0
_getDS#0
_getDX#0
_getEAX#0
_getEBP#0
_getEBX#0
_getECX#0
_getEDI#0
_getEDX#0
_getEFLAGS#0
_getEIP#0
_getES#0
_getESI#0
_getESP#0
_getFS#0
_getGS#0
_getIF#0
_getIP#0
_getIntelRegistersPointer#0
_getMSW#0
_getOF#0
_getPF#0
_getSF#0
_getSI#0
_getSP#0
_getSS#0
_getZF#0
_host_CreateThread#24
_host_ExitThread#4
_host_com_close#4
_host_direct_access_error#4
_host_simulate#0
_pDeviceChain
_setAF#4
_setAH#4
_setAL#4
_setAX#4
_setBH#4
_setBL#4
_setBP#4
_setBX#4
_setCF#4
_setCH#4
_setCL#4
_setCS#4
_setCX#4
_setDF#4
_setDH#4
_setDI#4
_setDL#4
_setDS#4
_setDX#4
_setEAX#4
_setEBP#4
_setEBX#4
_setECX#4
_setEDI#4
_setEDX#4
_setEFLAGS#4
_setEIP#4
_setES#4
_setESI#4
_setESP#4
_setFS#4
_setGS#4
_setIF#4
_setIP#4
_setMSW#4
_setOF#4
_setPF#4
_setSF#4
_setSI#4
_setSP#4
_setSS#4
_setZF#4
Summary
BD .debug$S
14 .idata$2
14 .idata$3
4 .idata$4
4 .idata$5
A .idata$6
The function definition I'm trying to call in VDDSVC.h is:
#define GetVDMPointer(Address, Size, Mode) Sim32GetVDMPointer(\
Address, Size, Mode)
However visual studio error is:
Error LNK2019 unresolved external symbol _MGetVdmPointer referenced in function _VddDispatch
_MGetVdmPointer is in the lib file but referenced as _MGetVdmPointer#12
I reviewed the options here but couldn't determine which one might apply in my scenario https://learn.microsoft.com/en-us/cpp/error-messages/tool-errors/linker-tools-error-lnk2019?view=msvc-170
In Linker -> General -> Show Progress I tried setting /VERBOSE although no additional information was generated in the logs
I tried changing calling convention to "__stdcall" in C/C++ -> Advanced Calling Convention
I've tried changing files from .C to .CPP although get similar error (Although the symbol looked for is a c++ mangled style name)
The issue was calling convention needs to be modified to "__stdcall" in C/C++ -> Advanced Calling Convention
Which I had tried, however Visual Studio 2019 project properties was defaulting to configuration for "Release" build and not the current build type "Debug(Active)" which effectively made my initial change of that setting ineffective.
As suggested in comments by IInspectable:
When changing global project properties, always make sure the "Configuration" is set to "All Configurations" and "Platform" is set to "All Platforms"

Unable to run a basic Sonar analysis from MSBuild.SonarQube.Runner

I am sure I am missing something but unable to figure out what.
The following commands are executed via the VS2015 command prompt.
D:\Sonar\Project1\msbuild\MSBuild.SonarQube.Runner.exe begin /k:"FC" /n:"FC" /v:"1.0"
msbuild.exe D:\Sonar\Project1\FC.sln
D:\Sonar\Project1\msbuild\MSBuild.SonarQube.Runner.exe end
The sonar-project.properties file that gets automatically created in the out directory under .sonarqube folder shows the following
E0566501-CF6F-454A-88CA-6AEFEA7D0EBC.sonar.projectKey=FC:E0566501-CF6F-454A-88CA-6AEFEA7D0EBC
E0566501-CF6F-454A-88CA-6AEFEA7D0EBC.sonar.projectName=FC
E0566501-CF6F-454A-88CA-6AEFEA7D0EBC.sonar.projectBaseDir=D:\\Sonar\\Project1\\FC
E0566501-CF6F-454A-88CA-6AEFEA7D0EBC.sonar.sources=\
D:\\Sonar\\Project1\\FileComparison\\Form1.cs,\
.
.
E0566501-CF6F-454A-88CA-6AEFEA7D0EBC.sonar.stylecop.projectFilePath=D:\\Sonar\\Project1\\FC\\FC.csproj
sonar.host.url=http://localhost:9000
sonar.sourceEncoding=UTF-8
sonar.visualstudio.enable=false
sonar.projectKey=FC
sonar.projectName=FC
sonar.projectVersion=1.0
sonar.projectBaseDir=D:\\Sonar\\Project1\\FC
sonar.working.directory=C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\.sonarqube\\out\\.sonar
# FIXME: Encoding is hardcoded
sonar.sourceEncoding=UTF-8
sonar.modules=E0566501-CF6F-454A-88CA-6AEFEA7D0EBC
Screenshot of console

CRMAP7007: Error reading local file area registry

When getting list of views in IBM Rational ClearTeam Explorer, it reports the error message"CRMAP7007: Error reading local file area registry." So I cannot retrieve my views list after that message shows. Does any one have idea about how to resolve this problem?
Many Thanks for your kind help!
Problem solved. Delete the .ccase_wvreg_lockfile from C:\Users\username\
Note: the thread "CRMAP7007 Error reading local file area registry" gives a bit more details:
It is interesting because it reminds you of the debug options that exist with CTE:
To get a better idea of why the error is thrown you can look in the workspace log file.
This file is by default <user home>\.Rational\workspace\.metadata\.log
You can also launch CTE in debug mode by creating a .options file in the directory that he executable is in. The content of that file should be as below:
# -------------- CCRC Tracing Options File -----------------
# All line preceeded with a # sign are not evaluated.
# ------Server Tracing-------
# subsystems available:
# CCRC - Core general tracing related to CCRC server operations
# CCWEB- CCWeb(CGI operations)
# SUM - UCM specific
com.ibm.rational.clearcase/server_trace=true
com.ibm.rational.clearcase/server_trace/subsys=CCRC:CCWEB:SUM
com.ibm.rational.clearcase/server_trace/level=4
# ------Client Only Tracing-------
# Parameters available:
# HTTP_CLIENT - Tracing specific to HTTP communications
# CTRC_UI - Tracing specific to the user interface
# CTRC_CORE - For client core tracing
com.ibm.rational.clearcase/client_trace=true
com.ibm.rational.clearcase/client_trace/params=HTTP_CLIENT:4 CTRC_UI:3 CTRC_CORE:3
com.ibm.rational.clearcase/client_trace/output=file
com.ibm.rational.clearcase/client_trace/file_name=C:/temp/cte_debug.out
# -------------- END CCRC Tracing Options File -----------------
With that file created, launch CTE from the command line using the -debug option:
C:\Program Files\IBM\RationalSDLC\ClearCase\RemoteClient>ctexplorer.exe -debug

Cocos2d-x cannot run build-win32.bat on Windows 7 64 bit

I'm new in cocos2d-x. I started setting up environment for developing.
I download the cocos2d-x-2.1.5 zip file and extracted. Then I double click on build-win32.bat, these line apppeared :
Build started 8/28/2013 9:08:01 AM.
0>D:\Dev_cocos2dx\cocos2d-x-2.1.5\cocos2d-win32.vc2012.sln : Solution file error MSB5009: Erro
r parsing the nested project section in solution file.
Build FAILED.
D:\Dev_cocos2dx\cocos2d-x-2.1.5\cocos2d-win32.vc2012.sln : Solution file error MSB5009: Er
ror parsing the nested project section in solution file.
0 Warning(s)
1 Error(s)
Time Elapsed 00:00:00.01
Microsoft (R) Build Engine version 4.0.30319.17929
[Microsoft .NET Framework, version 4.0.30319.18052]
Copyright (C) Microsoft Corporation. All rights reserved.
Build started 8/28/2013 9:08:01 AM.
0>D:\Dev_cocos2dx\cocos2d-x-2.1.5\cocos2d-win32.vc2012.sln : Solution file error MSB5009: Erro
r parsing the nested project section in solution file.
Build FAILED.
D:\Dev_cocos2dx\cocos2d-x-2.1.5\cocos2d-win32.vc2012.sln : Solution file error MSB5009: Er
ror parsing the nested project section in solution file.
0 Warning(s)
1 Error(s)
Time Elapsed 00:00:00.01
/*
* Check the cocos2d-win32 application "TestCpp.exe" ...
*/
The system cannot find the path specified.
/*
* Run cocos2d-win32 tests.exe and view Cocos2d-x Application Wizard for Visual Studio User Guide.
*/
File not found - Resources
0 File(s) copied
File not found - Resources
0 File(s) copied
File not found - Resources
0 File(s) copied
File not found - Resources
0 File(s) copied
File not found - Resources
0 File(s) copied
File not found - js
0 File(s) copied
File not found - tests
0 File(s) copied
File not found - MoonWarriors
0 File(s) copied
File not found - WatermelonWithMe
0 File(s) copied
File not found - Published files iOS
0 File(s) copied
Can't find the binary "TestCpp.exe", is there build error?
Press any key to continue . . .
I'm using windows 7 64bit .
Thanks!
I found a solution:
1.Open the "cocos2d-win32.vc2010.sln".
2.Create a new project.
3.Delete the project of step 2.
4.Close .sln file, click save.
After these steps, my batch file works well. Hope it is useful for you.

Pass Value/Variable to Dtsx /SET \Package.Variables[User::NameVariable];"value" ERROR

I want pass a value to ssis package, but i have an error back
I execute with batch, the command
dtexec /F "c:\MyPackage.dtsx" /SET \Package.Variables[User::Valore].Properties[Value];2
This is the error (warning) :
C:>dtexec /F "c:\AnagraficaTOC.dtsx" /SET \Package.Variables[User::Valore].Prop
erties[Value];2
Microsoft (R) SQL Server Execute Package Utility
Version 10.50.2500.0 for 64-bit
Copyright (C) Microsoft Corporation 2010. All rights reserved.
Started: 11:30:10
Warning: 2011-11-12 11:30:10.95
Code: 0x80012017
Source: AnagraficaTOC
Description: The package path referenced an object that cannot be found: "\Pa
ckage.Variables[User::Valore].Properties[Value]". This occurs when an attempt is
made to resolve a package path to an object that cannot be found.
End Warning
DTExec: Could not set \Package.Variables[User::Valore].Properties[Value] value t
o 2.
Started: 11:30:10
Finished: 11:30:10
Elapsed: 0.203 seconds
What does this mean? The syntax looks right to me, I checked on many sites, what is wrong?
Thanks to all!
Your syntax looks correct assuming your variable is exactly named Valore and lives at the package level scope.
Variables are case sensitive so if it's named valore, VAlore, etc, it will not match.
Variables can be created at any level in the program so scope does matter. Locate the variable Valore and verify it's scope is at the package level (the Scope will match the Package.Name property). This is an example of how to reference a variable declared inside a Data Flow Task which is nested inside a Sequence Container.
\Package\Sequence Container\Data Flow Task.Variables[User::something].Properties[Value]
I put together a simple package and called it using your input. It worked fine
C:\src\SSISHackAndSlash\SSISHackAndSlash>dtexec /F ".\AnagraficaTOC.dtsx" /SET \Package.Variables[User::Valore].Properties[Value];2
Microsoft (R) SQL Server Execute Package Utility
Version 10.50.2500.0 for 64-bit
Copyright (C) Microsoft Corporation 2010. All rights reserved.
Started: 8:05:45 AM
Warning: 2011-11-12 08:05:45.93
Code: 0x00000000
Source: Script Task value check
Description: Valore : 2
End Warning
DTExec: The package execution returned DTSER_SUCCESS (0).
Started: 8:05:45 AM
Finished: 8:05:45 AM
Elapsed: 0.328 seconds
I also tested with the above command line from inside a batch file and it too worked as expected.
Finally, it seems you've scrubbed your input for us
"dtexec /F "c:\MyPackage.dtsx" /SET \Package.Variables[User::Valore].Properties[Value];2"
vs
dtexec /F "c:\AnagraficaTOC.dtsx" /SET \Package.Variables[User::Valore].Prop erties[Value];2
Despite the space in Properties in the second example, I assume that is related to copying values as the error message has a correct path. The first one has quotes in the wrong places (at least when I run it as provided I receive error - cannot find the path specified) Could the issue be that you're looking at an older version of the package (or you have multiple copies of it)?
had the same problem, was resolved by changing the namespace from config to user in the ssis variables pane

Resources