Hello all,


I'm currently writing a disk driver. I have successfully created a mount
point on, say, drive H:, using the Mount Manager. Now I need to notify
Explorer somehow so it "sees" the newly created drive letter. In
user-space this can be easily done through the DefineDosDevice()
function or simply through the Windows messaging API. The quiestion is:
how do I do the same in the kernel-space? It seems I can't find the
corresponding kernel API function... Any ideas will be highly
appreciated.

--
Andrey.
--
Andrey Subbotin
ICQ UIN: 114087545
LiveJournal: http://www.livejournal.com/users/e_ploko/

Re: DefineDosDevice() for kernel-space wanted by CheckAbdoul

CheckAbdoul
Fri Sep 09 10:46:10 CDT 2005

Take a look at the IoCreateSymbolicLink() API.

--
Cheers
Check Abdoul [VC++ MVP]
-----------------------------------

"Andrey Subbotin" <eploko@gmail.com> wrote in message
news:OdkCV5StFHA.2472@TK2MSFTNGP14.phx.gbl...
> Hello all,
>
>
> I'm currently writing a disk driver. I have successfully created a mount
> point on, say, drive H:, using the Mount Manager. Now I need to notify
> Explorer somehow so it "sees" the newly created drive letter. In
> user-space this can be easily done through the DefineDosDevice()
> function or simply through the Windows messaging API. The quiestion is:
> how do I do the same in the kernel-space? It seems I can't find the
> corresponding kernel API function... Any ideas will be highly
> appreciated.
>
> --
> Andrey.
> --
> Andrey Subbotin
> ICQ UIN: 114087545
> LiveJournal: http://www.livejournal.com/users/e_ploko/



Re: DefineDosDevice() for kernel-space wanted by Andrey

Andrey
Sat Sep 10 07:15:53 CDT 2005

Er... you seem have got me wrong. Creating a symbolic link isn't what
I'm looking for. I'm looking for a function or whatever way to notify
user-space apps on a drive letter arrival. The DefineDosDevice()
function does this as well as creating a symbolic link. It broadcasts
the WM_SETTINGCHANGE message to notify the shell and applications of the
change. The question is how do I do this in kernel-space?

On Fri, 9 Sep 2005 11:46:10 -0400 CheckAbdoul wrote:

> Take a look at the IoCreateSymbolicLink() API.

--
Andrey Subbotin
ICQ UIN: 114087545
LiveJournal: http://www.livejournal.com/users/e_ploko/

Re: DefineDosDevice() for kernel-space wanted by Doron

Doron
Sat Sep 10 11:20:50 CDT 2005

you can't to this in kernel space. IoReportTargetDeviceChangeAsynchronous
is the only kernel mode api which allows you to send a windows message
(directly at least), and that broadcast will only be to apps which already
have an open handle to your device and have registered for handle
notifications.

d

--
Please do not send e-mail directly to this alias. this alias is for
newsgroup purposes only.
This posting is provided "AS IS" with no warranties, and confers no rights.


"Andrey Subbotin" <eploko@gmail.com> wrote in message
news:%239ClmFgtFHA.1028@TK2MSFTNGP12.phx.gbl...
> Er... you seem have got me wrong. Creating a symbolic link isn't what
> I'm looking for. I'm looking for a function or whatever way to notify
> user-space apps on a drive letter arrival. The DefineDosDevice()
> function does this as well as creating a symbolic link. It broadcasts
> the WM_SETTINGCHANGE message to notify the shell and applications of the
> change. The question is how do I do this in kernel-space?
>
> On Fri, 9 Sep 2005 11:46:10 -0400 CheckAbdoul wrote:
>
>> Take a look at the IoCreateSymbolicLink() API.
>
> --
> Andrey Subbotin
> ICQ UIN: 114087545
> LiveJournal: http://www.livejournal.com/users/e_ploko/



Re: DefineDosDevice() for kernel-space wanted by Norman

Norman
Sun Sep 11 21:02:44 CDT 2005

If kernel space can't send a windows message to an application that didn't
have an open handle (because the device didn't even exist until a moment
ago), and my understanding is that IoReportTargetDeviceChangeAsynchronous
didn't even exist in Windows 95, how did Windows Explorer discover the
arrival of a new disk drive?

In Windows 95, although FDISK is most severely broken, if you attach a hard
drive with partitions already existing then Windows Explorer displays them
and uses them properly. If you have Windows Explorer already open, and
insert a PCMCIA SCSI card with SCSI hard drives and/or CD drives already
attached to the card, Windows 95 detects the drives and partitions, and
Explorer adds them to its display. Windows 98 did the same. Windows 2000
did the same with both SCSI and USB. Windows XP obtained the same
functionality in Service Pack 2, and Windows 2003 obtained the same
functionality in Service Pack 1. What technique is used for device arrivals
to signal Windows Explorer?

"Doron Holan [MS]" <doronh@nospam.microsoft.com> wrote in message
news:%23Bx%23cOitFHA.3236@TK2MSFTNGP14.phx.gbl...
> you can't to this in kernel space. IoReportTargetDeviceChangeAsynchronous
> is the only kernel mode api which allows you to send a windows message
> (directly at least), and that broadcast will only be to apps which already
> have an open handle to your device and have registered for handle
> notifications.
>
> d
>
> --
> Please do not send e-mail directly to this alias. this alias is for
> newsgroup purposes only.
> This posting is provided "AS IS" with no warranties, and confers no
> rights.
>
>
> "Andrey Subbotin" <eploko@gmail.com> wrote in message
> news:%239ClmFgtFHA.1028@TK2MSFTNGP12.phx.gbl...
>> Er... you seem have got me wrong. Creating a symbolic link isn't what
>> I'm looking for. I'm looking for a function or whatever way to notify
>> user-space apps on a drive letter arrival. The DefineDosDevice()
>> function does this as well as creating a symbolic link. It broadcasts
>> the WM_SETTINGCHANGE message to notify the shell and applications of the
>> change. The question is how do I do this in kernel-space?
>>
>> On Fri, 9 Sep 2005 11:46:10 -0400 CheckAbdoul wrote:
>>
>>> Take a look at the IoCreateSymbolicLink() API.
>>
>> --
>> Andrey Subbotin
>> ICQ UIN: 114087545
>> LiveJournal: http://www.livejournal.com/users/e_ploko/
>
>


Re: DefineDosDevice() for kernel-space wanted by Doron

Doron
Mon Sep 12 10:41:10 CDT 2005

don't know. i would guess it is a mix of NT services and other components
sending the appropriate message.

d

--
Please do not send e-mail directly to this alias. this alias is for
newsgroup purposes only.
This posting is provided "AS IS" with no warranties, and confers no rights.


"Norman Diamond" <ndiamond@community.nospam> wrote in message
news:uW31U4ztFHA.2912@TK2MSFTNGP09.phx.gbl...
> If kernel space can't send a windows message to an application that didn't
> have an open handle (because the device didn't even exist until a moment
> ago), and my understanding is that IoReportTargetDeviceChangeAsynchronous
> didn't even exist in Windows 95, how did Windows Explorer discover the
> arrival of a new disk drive?
>
> In Windows 95, although FDISK is most severely broken, if you attach a
> hard drive with partitions already existing then Windows Explorer displays
> them and uses them properly. If you have Windows Explorer already open,
> and insert a PCMCIA SCSI card with SCSI hard drives and/or CD drives
> already attached to the card, Windows 95 detects the drives and
> partitions, and Explorer adds them to its display. Windows 98 did the
> same. Windows 2000 did the same with both SCSI and USB. Windows XP
> obtained the same functionality in Service Pack 2, and Windows 2003
> obtained the same functionality in Service Pack 1. What technique is used
> for device arrivals to signal Windows Explorer?
>
> "Doron Holan [MS]" <doronh@nospam.microsoft.com> wrote in message
> news:%23Bx%23cOitFHA.3236@TK2MSFTNGP14.phx.gbl...
>> you can't to this in kernel space.
>> IoReportTargetDeviceChangeAsynchronous is the only kernel mode api which
>> allows you to send a windows message (directly at least), and that
>> broadcast will only be to apps which already have an open handle to your
>> device and have registered for handle notifications.
>>
>> d
>>
>> --
>> Please do not send e-mail directly to this alias. this alias is for
>> newsgroup purposes only.
>> This posting is provided "AS IS" with no warranties, and confers no
>> rights.
>>
>>
>> "Andrey Subbotin" <eploko@gmail.com> wrote in message
>> news:%239ClmFgtFHA.1028@TK2MSFTNGP12.phx.gbl...
>>> Er... you seem have got me wrong. Creating a symbolic link isn't what
>>> I'm looking for. I'm looking for a function or whatever way to notify
>>> user-space apps on a drive letter arrival. The DefineDosDevice()
>>> function does this as well as creating a symbolic link. It broadcasts
>>> the WM_SETTINGCHANGE message to notify the shell and applications of the
>>> change. The question is how do I do this in kernel-space?
>>>
>>> On Fri, 9 Sep 2005 11:46:10 -0400 CheckAbdoul wrote:
>>>
>>>> Take a look at the IoCreateSymbolicLink() API.
>>>
>>> --
>>> Andrey Subbotin
>>> ICQ UIN: 114087545
>>> LiveJournal: http://www.livejournal.com/users/e_ploko/
>>
>>
>