Driver Provider Name

Dear All,

I have written sample WDF driver by taking reference of KMDF smaple driver.
When i install this driver i got provider name as “windows (r) win 7 ddk provider” in device manager driver details.

Can anyone know how to change this provider name?

Regards,
Mallikarjun

By editing the INX file?

wrote in message news:xxxxx@ntdev…
> Dear All,
>
> I have written sample WDF driver by taking reference of KMDF smaple driver.
> When i install this driver i got provider name as “windows (r) win 7 ddk provider” in device manager driver details.
>
> Can anyone know how to change this provider name?
>
> Regards,
> Mallikarjun
>

Dear Maxim,

I have already changed inx file but it is not changing the provider name (Driver File Details in DeviceManager).

Provider=%MSFT%
MSFT = “My Company”

I am installing driver using DpInst.exe.
Please let me know if i am missing anything.

Regards,
Mallikarjun

xxxxx@gmail.com wrote:

I have written sample WDF driver by taking reference of KMDF smaple driver.
When i install this driver i got provider name as “windows (r) win 7 ddk provider” in device manager driver details.

Can anyone know how to change this provider name?

This is in the version resource in your driver. The samples all use a
very generic .rc file, but you can customize it to your heart’s content.


Tim Roberts, xxxxx@probo.com
Providenza & Boekelheide, Inc.

On 3/20/2015 3:02 AM, xxxxx@gmail.com wrote:

I have already changed inx file but it is not changing the provider name (Driver File Details in DeviceManager).

Provider=%MSFT%
MSFT = “My Company”

I am installing driver using DpInst.exe.
Please let me know if i am missing anything.

The string comes from C:\Program Files (x86)\Microsoft
SDKs\Windows\X\Include\ntverp.h (where X is v7.0A, v7.1A etc.) - it’s
included in the driver via the version resource (.rc file).

The best way I’ve found of setting all those various strings and numbers
is by using Mark Roddy’s excellent example from 2006 as a starting
point:
http://www.tech-archive.net/Archive/Development/microsoft.public.development.device.drivers/2006-10/msg00749.html
. For the archives, I’ve copied it below.

*********

I personally hate the resource version mechanism provided by default
with the DDK samples. I want my own major/minor/rev/build numbers
thanks, and I want my own copyright string and dates and company
names.

So my driver.rc file will typically contain (if I have a message
catalog):

===== driver.rc =======

#include “resource.h”

#include “errorlog.rc”

==============

Resource.h in turn looks like this:

======= Resource.h =======
#include “version.h”
#include “resourceVersion.h”

//
// product specific information
//

#define VER_PRODUCT_RELEASE_LEVEL_STR “Beta”
#define VER_INTERNAL_FILEDESCRIPTION_STR “Some Description”
#define VER_INTERNALNAME_STR “driver.sys”
#define VER_ORIGINALFILENAME_STR “driver.sys”
#define VER_PRODUCTNAME_STR “Another Description, typically more
formal”

//
// include a modified version of the standard ddk resource template
//
#include “verrc.h”

=============

version.h is a generated file that contains the build number such that
I never have two built driver images with the same version number:

===== version.h ========

//
// version build number file
// This file is automatically created. DO NOT EDIT IT.
//
#define VER_PRODUCTBUILD 1825

===========

Another generated file (manually generated by editing a global
makefile) provides MAJOR MINOR and REVISION numbers. Every driver
image will have n.m.o.p numbers with the last piece guaranteed unique.

====== verMajorMinor.h ============

//
// Generated file do not edit
//
#define VER_MAJOR 0
#define VER_MINOR 1
#define VER_REV 29

======================

resourceVersion.h in turn puts the various version numbers
togetherinto strings.

==== resourceVersion.h ===========

#define STRINGER(w, x, y, z) #w “.” #x “.” #y “.” #z

#define XSTRINGER(w, x, y, z) STRINGER(w, x, y, z)

#include “verMajorMinor.h”

#define VER_PRODUCTVERSION
VER_MAJOR,VER_MINOR,VER_REV,VER_PRODUCTBUILD
#define VER_PRODUCTVERSION_STR
XSTRINGER(VER_MAJOR,VER_MINOR,VER_REV,VER_PRODUCTBUILD)
#define VER_PRODUCTVERSION_NUMBER (\
((VER_MAJOR & 0xf) << 27) + \
((VER_MINOR & 0xf) << 23) + \
((VER_REV & 0xff) << 15) + \
(VER_PRODUCTBUILD & 0xffff))

/*
Other stuff the template didn’t think was important
*/

#define VER_LEGALCOPYRIGHT_YEARS “2006”

#define VER_LEGALCOPYRIGHT_STR "(C) Hollis Technology Solutions "
VER_LEGALCOPYRIGHT_YEARS

===============

And finally resource.h includes my replacement for ntverp.h

============= verrc.h =============
//
// this defines all the missing constants
//
#if DBG
#define VER_BUILD_STRING “Checked Build”
#else
#define VER_BUILD_STRING “”
#endif

#define VER_FILEDESCRIPTION_STR VER_INTERNAL_FILEDESCRIPTION_STR "
" VER_PRODUCT_RELEASE_LEVEL_STR " " VER_BUILD_STRING

#ifndef NT_INCLUDED

#include <winver.h>

//
// from ntverp.h
//

/* default is nodebug /
#if DBG
#define VER_DEBUG VS_FF_DEBUG
#else
#define VER_DEBUG 0
#endif

/
default is prerelease /
#if ALPHA
#define VER_PRERELEASE VS_FF_PRERELEASE
#elif BETA
#define VER_PRERELEASE VS_FF_PRERELEASE
#else
#define VER_PRERELEASE 0
#endif

#define VER_FILEFLAGSMASK VS_FFI_FILEFLAGSMASK
#define VER_FILEOS VOS_NT_WINDOWS32
#define VER_FILEFLAGS (VER_PRERELEASE|VER_DEBUG)

#define VER_COMPANYNAME_STR “Hollis Technology Solutions”

/
-----------------------------------------------/
/
the following lines are specific to this file /
/
-----------------------------------------------/

/
VER_FILETYPE, VER_FILESUBTYPE, VER_FILEDESCRIPTION_STR
* and VER_INTERNALNAME_STR must be defined before including
COMMON.VER
* The strings don’t need a ‘\0’, since common.ver has them.
/
#ifndef VER_FILETYPE
#define VER_FILETYPE VFT_DRV
#endif
/
possible values: VFT_UNKNOWN
VFT_APP
VFT_DLL
VFT_DRV
VFT_FONT
VFT_VXD
VFT_STATIC_LIB
/
#ifndef VER_FILESUBTYPE
#define VER_FILESUBTYPE VFT2_DRV_INSTALLABLE
#endif
/
possible values VFT2_UNKNOWN
VFT2_DRV_PRINTER
VFT2_DRV_KEYBOARD
VFT2_DRV_LANGUAGE
VFT2_DRV_DISPLAY
VFT2_DRV_MOUSE
VFT2_DRV_NETWORK
VFT2_DRV_SYSTEM
VFT2_DRV_INSTALLABLE
VFT2_DRV_SOUND
VFT2_DRV_COMM
*/

#if DBG
#define VER_FILEVERSION_STR VER_PRODUCT_RELEASE_LEVEL_STR " Checked
Build"
#else
#define VER_FILEVERSION_STR VER_PRODUCT_RELEASE_LEVEL_STR
#endif

#include “common.ver”
#endif

===============================

Aren’t you sorry you asked?

*********


Bruce</winver.h>