Skip to main content

 none
Driver submit Preparation error (DDInstall.Filters ) RRS feed

  • Question

  • We are submitting  device drivers to windows update. We found the Dashboard version update to Windows 1903. When we submit drivers, there is a error tip "InfVerif failed for Driver. Partial Log:Error 1384 in VppSource.inf, line 43 :Cannot specify filters with registry or property in extension INFs, use [DDInstall.Filters] section."

    Do you know where we can get  DDInstall.Filters  instruction? we searched windows drivers docs, but didn't find.                       

    inf file:

    ;
    ; VppSource.inf
    ;
    
    [Version]
    Signature="$Windows NT$"
    Class=Extension
    ClassGuid={e2f84ce7-8efa-411c-aa69-97454ca4cb57}
    Provider=%ManufacturerName%
    ExtensionId = {bdfc3132-275d-4352-93e6-7e13e90712ab}
    CatalogFile=VppSource.cat
    DriverVer=04/18/2019,21.17.2.965
    
    [Manufacturer]
    %ManufacturerName%=Standard,NTamd64
    
    [Standard.NTamd64]
    %DeviceName%=MyDevice_Install, USB\VID_6993&PID_B00c&REV_0310&MI_00
    
    [SourceDisksFiles]
    VppSource.dll=1
    vpp.dll=1
    
    [SourceDisksNames]
    1 = %DiskName%
    
    ; ========== Class definition ===========
    
    ;[ClassInstall32]
    ;AddReg = ClassInstall_AddReg
    
    ;[ClassInstall_AddReg]
    ;HKR,,,,%ClassName%
    ;HKR,,NoInstallClass,,1
    ;HKR,,IconPath,%REG_MULTI_SZ%,"%%systemroot%%\system32\setupapi.dll,-20"
    ;HKR,,LowerLogoVersion,,5.2
    
    ; =================== UMDF Device ==================================
    
    [MyDevice_Install.NT]
    CopyFiles=UMDriverCopy,VppCopy
    
    [MyDevice_Install.NT.hw]
    AddReg=VppSource_AddReg
    
    [VppSource_AddReg]
    ; By default, USBDevice class uses iProduct descriptor to name the device in
    ; Device Manager on Windows 8 and higher.
    ; Uncomment for this device to use %DeviceName% on Windows 8 and higher:
    ;HKR,,FriendlyName,,%DeviceName%
    HKR,,"LowerFilters",0x00010008,"WUDFRd"
    
    [MyDevice_Install.NT.Services]
    AddService=WUDFRd,0x000001f8,WUDFRD_ServiceInstall  ; flag 0x2 sets this as the service for the device
    
    [MyDevice_Install.NT.Wdf]
    UmdfDispatcher=NativeUsb
    UmdfService=VppSource,VppSource_Install
    UmdfServiceOrder=VppSource
    UmdfKernelModeClientPolicy = AllowKernelModeClients
    UmdfFileObjectPolicy = AllowNullAndUnknownFileObjects
    
    [VppSource_Install]
    UmdfLibraryVersion=2.15.0 
    ServiceBinary=%12%\UMDF\VppSource.dll
    
    
    [WUDFRD_ServiceInstall]
    DisplayName = %WudfRdDisplayName%
    ServiceType = 1
    StartType = 3
    ErrorControl = 1
    ServiceBinary = %12%\WUDFRd.sys
    
    [DestinationDirs]
    UMDriverCopy=12,UMDF ; copy to drivers\umdf
    VppCopy=12,UMDF; copy to drivers\umdf
    
    [UMDriverCopy]
    VppSource.dll
    
    [VppCopy]
    vpp.dll
    
    ; =================== Generic ==================================    
    [Strings]
    ManufacturerName="xxx Inc" ;TODO: Replace with your manufacturer name
    DiskName = "VppSource Installation Disk"
    WudfRdDisplayName="Windows Driver Foundation - User-mode Driver Framework Reflector"
    DeviceName="VppSource Device"
    

    Monday, April 22, 2019 11:54 AM

All replies

  • DDInstall is the generic name used in the docs for your specific install section.  In your file above, "MyDevice_Install" is the DDInstall name.  So, it is expecting a [MyDevice_Install.Filters] section.

    That's new, and I'm not familiar with it.


    Tim Roberts | Driver MVP Emeritus | Providenza & Boekelheide, Inc.

    Monday, April 22, 2019 5:22 PM
  • Here is the MSDN doc for filter that covers it.

    https://docs.microsoft.com/en-us/windows-hardware/drivers/develop/device-filter-driver-ordering

    Monday, April 22, 2019 7:52 PM
    Moderator
  • Thanks to Moderator, according to the link you gave, I submitted it with a new syntax, it can pass,but it doesn't work.  how this is compatible with the old version? Do you know?
    Tuesday, April 23, 2019 7:56 AM
  • new inf file:

    ;
    ; VppSource.inf
    ;
    
    [Version]
    Signature="$Windows NT$"
    Class=Extension
    ClassGuid={e2f84ce7-8efa-411c-aa69-97454ca4cb57}
    Provider=%ManufacturerName%
    ExtensionId = {bdfc3132-275d-4352-93e6-7e13e90712ab}
    CatalogFile=VppSource.cat
    DriverVer=04/23/2019,9.21.5.933
    
    [Manufacturer]
    %ManufacturerName%=Standard,NTamd64
    
    [Standard.NTamd64]
    %DeviceName%=MyDevice_Install, USB\VID_6993&PID_B00c&REV_0310&MI_00
    
    [SourceDisksFiles]
    VppSource.dll=1
    vpp.dll=1
    
    [SourceDisksNames]
    1 = %DiskName%
    
    ; ========== Class definition ===========
    
    ;[ClassInstall32]
    ;AddReg = ClassInstall_AddReg
    
    ;[ClassInstall_AddReg]
    ;HKR,,,,%ClassName%
    ;HKR,,NoInstallClass,,1
    ;HKR,,IconPath,%REG_MULTI_SZ%,"%%systemroot%%\system32\setupapi.dll,-20"
    ;HKR,,LowerLogoVersion,,5.2
    
    ; =================== UMDF Device ==================================
    
    [MyDevice_Install.NT]
    CopyFiles=UMDriverCopy,VppCopy
    
    [MyDevice_Install.NT.Filters]
    AddFilter = WUDFRd,,MyLowerFilterInstall
    
    [MyLowerFilterInstall]
    FilterPosition = Lower
    
    [MyDevice_Install.NT.Services]
    AddService=WUDFRd,0x000001f8,WUDFRD_ServiceInstall  ; flag 0x2 sets this as the service for the device
    
    [MyDevice_Install.NT.Wdf]
    UmdfDispatcher=NativeUsb
    UmdfService=VppSource,VppSource_Install
    UmdfServiceOrder=VppSource
    UmdfKernelModeClientPolicy = AllowKernelModeClients
    UmdfFileObjectPolicy = AllowNullAndUnknownFileObjects
    
    [VppSource_Install]
    UmdfLibraryVersion=2.15.0 
    ServiceBinary=%12%\UMDF\VppSource.dll
    
    
    [WUDFRD_ServiceInstall]
    DisplayName = %WudfRdDisplayName%
    ServiceType = 1
    StartType = 3
    ErrorControl = 1
    ServiceBinary = %12%\WUDFRd.sys
    
    [DestinationDirs]
    UMDriverCopy=12,UMDF ; copy to drivers\umdf
    VppCopy=12,UMDF; copy to drivers\umdf
    
    [UMDriverCopy]
    VppSource.dll
    
    [VppCopy]
    vpp.dll
    
    ; =================== Generic ==================================    
    [Strings]
    ManufacturerName="xxx Inc" ;TODO: Replace with your manufacturer name
    DiskName = "VppSource Installation Disk"
    WudfRdDisplayName="Windows Driver Foundation - User-mode Driver Framework Reflector"
    DeviceName="VppSource Device"
    

    Tuesday, April 23, 2019 8:13 AM
  • What version of the OS are you testing it on?  It's only supported in 1903+
    Tuesday, April 23, 2019 11:51 PM
  • I tested it on 1803. My submission and testing were normal 
    until the partner server was updated to 1903.
    After the partner server is updated to 1903,
    the submission is not normal.
    After it is not normal, follow the prompts to modify it,
    it can be submitted normally, but the function cannot be used. 
    Because only the 1903+ version is supported.
    So, what if I want to support 1803 and other old versions?
    The server could not let me submit.
    Can't I submit it in the old version?
    What should I do in this situation?
    Wednesday, April 24, 2019 12:57 AM
  • Can clarity be added here about what exactly is not normal now that the server is updated to 1903?

    Is the server here an HLK server runing the 1903 HLK?

    Is this a submission issue and HDC is returning an error?

    More information is needed to assist, thanks.


    Wednesday, April 24, 2019 9:01 PM
    Moderator
  • The following server refers to :http:// partner.microsoft.com/zh-cn/dashboard/hardware

    Server update prompt:

    Windows 10, version 1903 (aka 19H1) submissions are now accepted.
    Submissions for Windows 10, version 1903 (19H1) are now accepted. All DUA Shell packages you download will now require the 1903 HLK to be opened. INFVerif and APIValidator will also be updated to 1903 versions and requirements. For more information see: http://aka.ms/WHCPblog 

    Before the server was updated to version 1903:

    Submitting the driver to the server is normal, as follows:

    Package Acceptance -》 Preparation-》Scanning-》Validation-》Catalog creation-》Sign-》Finalize

    The inf file in the submitted driver package is as follows:  (is an extension  inf)

    ;

    ; VppSource.inf

    ;

    [Version]

    Signature="$Windows NT$"

    Class=Extension

    ClassGuid={e2f84ce7-8efa-411c-aa69-97454ca4cb57}

    Provider=%ManufacturerName%

    ExtensionId = {bdfc3132-275d-4352-93e6-7e13e90712ab}

    CatalogFile=VppSource.cat

    DriverVer=04/18/2019,21.17.2.965

    [Manufacturer]

    %ManufacturerName%=Standard,NTamd64

    [Standard.NTamd64]

    %DeviceName%=MyDevice_Install, USB\VID_6993&PID_B00c&REV_0310&MI_00

    [SourceDisksFiles]

    VppSource.dll=1

    vpp.dll=1

    [SourceDisksNames]

    1 = %DiskName%

    ; ========== Class definition ===========

    ;[ClassInstall32]

    ;AddReg = ClassInstall_AddReg

    ;[ClassInstall_AddReg]

    ;HKR,,,,%ClassName%

    ;HKR,,NoInstallClass,,1

    ;HKR,,IconPath,%REG_MULTI_SZ%,"%%systemroot%%\system32\setupapi.dll,-20"

    ;HKR,,LowerLogoVersion,,5.2

    ; =================== UMDF Device ==================================

    [MyDevice_Install.NT]

    CopyFiles=UMDriverCopy,VppCopy

    [MyDevice_Install.NT.hw]

    AddReg=VppSource_AddReg

    [VppSource_AddReg]

    ; By default, USBDevice class uses iProduct descriptor to name the device in

    ; Device Manager on Windows 8 and higher.

    ; Uncomment for this device to use %DeviceName% on Windows 8 and higher:

    ;HKR,,FriendlyName,,%DeviceName%

    HKR,,"LowerFilters",0x00010008,"WUDFRd"

    [MyDevice_Install.NT.Services]

    AddService=WUDFRd,0x000001f8,WUDFRD_ServiceInstall  ; flag 0x2 sets this as the service for the device

    [MyDevice_Install.NT.Wdf]

    UmdfDispatcher=NativeUsb

    UmdfService=VppSource,VppSource_Install

    UmdfServiceOrder=VppSource

    UmdfKernelModeClientPolicy = AllowKernelModeClients

    UmdfFileObjectPolicy = AllowNullAndUnknownFileObjects

    [VppSource_Install]

    UmdfLibraryVersion=2.15.0

    ServiceBinary=%12%\UMDF\VppSource.dll

    [WUDFRD_ServiceInstall]

    DisplayName = %WudfRdDisplayName%

    ServiceType = 1

    StartType = 3

    ErrorControl = 1

    ServiceBinary = %12%\WUDFRd.sys

    [DestinationDirs]

    UMDriverCopy=12,UMDF ; copy to drivers\umdf

    VppCopy=12,UMDF; copy to drivers\umdf

    [UMDriverCopy]

    VppSource.dll

    [VppCopy]

    vpp.dll

    ; =================== Generic ==================================   

    [Strings]

    ManufacturerName="xxx Inc" ;TODO: Replace with your manufacturer name

    DiskName = "VppSource Installation Disk"

    WudfRdDisplayName="Windows Driver Foundation - User-mode Driver Framework Reflector"

    DeviceName="VppSource Device"


    After the server is updated to the 1903 version:

    The original submitted driver package submission has an exception, as follows:

    Package Acceptance-》Preparation X

    You can download your full error report here for more information about what went wrong and how to fix the issue.


    The log content obtained from the above prompt information is as follows:

    “InfVerif failed for Driver. Partial Log:Error 1384 in VppSource.inf, line 43 : Cannot specify filters with registry or property in extension INFs, use [DDInstall.Filters] section.”

    We follow the log prompt, change to the DDInstall.Filters field, modify as follows:

    Old :  Add a filter driver

    [MyDevice_Install.NT.hw]

    AddReg=VppSource_AddReg

    [VppSource_AddReg]

    HKR,,"LowerFilters",0x00010008,"WUDFRd"

    New:  Add a filter driver

    [MyDevice_Install.NT.Filters]
    AddFilter = WUDFRd,,MyLowerFilterInstall
    [MyLowerFilterInstall]
    FilterPosition = Lower
    The new method can be submitted to the server, but the driver function is not available, that is, the filter driver cannot be added normally.


    1、According to Zac Lockard, the modified version is only used after the 1903 version. Then how do I submit the driver to pass and use it?


    2、Our driver needs to be used on the 1803 or earlier win10 version, although it may be used later in 1903 and later. So how do we make this version compatible?







    Thursday, April 25, 2019 1:20 PM
  • Sorry for the delay on this -

    Adding filters via extension INFs is not officially supported until 1903, and the error message reflects this.  However, it appears that it does work correctly in previous releases if you have added the FLG_ADDREG_APPEND as you have.  Because of this, we're going to allow this behavior if the append flag is used.  I am working on updating this InfVerif check to reflect this fact, and will update this thread again with instructions

    Wednesday, May 8, 2019 6:34 PM