how to create symbolink for a un-named device object?

Hello!
I am developing w2k filter driver. It seems that w2k or WDM driver does not
name its device objects. it should specify a NULL string for the device
name, so IoCreateSymbollink() routine cannot be used to create symbol link
for application calling. In DDK document, it suggests to use
IoRegisterDeviceInterface() to get a symbolic link name. But i call the
routine at DriverEntry(), then fail to start and system is dead.
How to use IoRegisterDeviceInterface() correctly?

Thanks in advance!
xiong

If you are creating a filter driver then you generally don’t name your
filter device objects or call IoRegisterDeviceInterface. Instead the drivers
for the device objects you are filtering do whatever is requried to produce
a name.

You might be creating a ‘side-channel’ device object for your filter driver,
which would explain why you are doing anything in DriverEntry. In this case,
for that device object, you are not a filter driver, you are a legacy NT
pseudo device driver. Just give this device object a name the old fashioned
way.

=
Mark Roddy

Windows 2000/Windows NT Consulting:

xxxxx@hollistech.com
www.hollistech.com

=

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com]On Behalf Of xiong xuezheng
Sent: Wednesday, March 01, 2000 10:57 PM
To: NT Developers Interest List
Subject: [ntdev] how to create symbolink for a un-named device object?

Hello!
I am developing w2k filter driver. It seems that w2k or WDM driver does
not name its device objects. it should specify a NULL string for the device
name, so IoCreateSymbollink() routine cannot be used to create symbol link
for application calling. In DDK document, it suggests to use
IoRegisterDeviceInterface() to get a symbolic link name. But i call the
routine at DriverEntry(), then fail to start and system is dead.
How to use IoRegisterDeviceInterface() correctly?

Thanks in advance!
xiong

I create named device object and symbollink as old fashioned way. But system
is pending and can not started. But i create a un-named device object and
don’t create symbol link, then system can start normally. Why?

----- Original Message -----
From: Mark Roddy
To: NT Developers Interest List
Sent: Thursday, March 02, 2000 9:16 PM
Subject: [ntdev] RE: how to create symbolink for a un-named device object?

If you are creating a filter driver then you generally don’t name your
filter device objects or call IoRegisterDeviceInterface. Instead the drivers
for the device objects you are filtering do whatever is requried to produce
a name.

You might be creating a ‘side-channel’ device object for your filter
driver, which would explain why you are doing anything in DriverEntry. In
this case, for that device object, you are not a filter driver, you are a
legacy NT pseudo device driver. Just give this device object a name the old
fashioned way.

=
Mark Roddy

Windows 2000/Windows NT Consulting:

xxxxx@hollistech.com
www.hollistech.com

=

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com]On Behalf Of xiong xuezheng
Sent: Wednesday, March 01, 2000 10:57 PM
To: NT Developers Interest List
Subject: [ntdev] how to create symbolink for a un-named device object?

Hello!
I am developing w2k filter driver. It seems that w2k or WDM driver does
not name its device objects. it should specify a NULL string for the device
name, so IoCreateSymbollink() routine cannot be used to create symbol link
for application calling. In DDK document, it suggests to use
IoRegisterDeviceInterface() to get a symbolic link name. But i call the
routine at DriverEntry(), then fail to start and system is dead.
How to use IoRegisterDeviceInterface() correctly?

Thanks in advance!
xiong