How to use Ramdisk and MyFSD from CE 3.0 to CE.NET

Hi there
I am porting Ramdisk driver and MyFSD driver CE3.0 to CE.Net.
This module work fine CE 3.0. but CE.Net don't work.

RAMDISK device is visible Explorer on CE3.0, but .Net is net seen.
And MyFSD Load is failed(LoadFSDEx()). Then, How to load MyFSD and link
Ramdisk.
I looking for newsgroup this information. but I don't understand Registry
setting and How to load MyFSD.

Anybody send me some information. Please.
I'm sorry. I don't speak english very well. ^__^

Re: How to use Ramdisk and MyFSD from CE 3.0 to CE.NET by Jeremy

Jeremy
Wed Dec 03 13:05:13 CST 2003

Kevin,

First things first, scrap the ram disk from CE 3.0 and use the CE.NET
version (wince420\public\common\oak\drivers\block\ramdisk). CE.NET no
longer requires the block driver to call LoadFSD. Instead, a system of
driver profiles and defaults is used. CE 4.2 loads FSDs based on the
partition type of the partition as it exists on the disk. For CE.NET, use
the following registry keys to load MyFSD for a RAM disk:

[HKEY_LOCAL_MACHINE\System\StorageManager\Profiles\RamDisk3]
"Name"="RAM Disk"
"Folder"="RamDisk"
"AutoMount"=dword:1
"AutoPart"=dword:1
"AutoFormat"=dword:1
"MountFlags"=dword:0
"DefaultFileSystem"="MyFSD"

[HKEY_LOCAL_MACHINE\System\StorageManager\MyFSD]
"Dll"="MyFSD.DLL"

The DefaultFileSystem entry in the ram disk profile refers to a registry key
in HKEY_LOCAL_MACHINE\System\StorageManager which contains info about the
FSD to be loaded. For CE 4.2, it is best to call FormatPartitionEx to set
the partition type to a unique value that will associate the partition with
MyFSD. To associate a partition type with MyFSD in CE 4.2, add the
following registry entry:

[HKEY_LOCAL_MACHINE\System\StorageManager\PartitionTable]
"XY"="MyFSD"

Replace XY with your unique partition type. By doing this, you guarantee
that any partition that is formatted with the MyFSD file system is mounted
with MyFSD.

Jeremy


"KevinSong" <songjh98@chol.com> wrote in message
news:ew36rSUuDHA.2132@TK2MSFTNGP10.phx.gbl...
>
> How to use Ramdisk and MyFSD from CE 3.0 to CE.NET
>
> Hi there
> I am porting Ramdisk driver and MyFSD driver CE3.0 to CE.Net.
> This module work fine CE 3.0. but CE.Net don't work.
>
> RAMDISK device is visible Explorer on CE3.0, but .Net is net seen.
> And MyFSD Load is failed(LoadFSDEx()). Then, How to load MyFSD and link
> Ramdisk.
> I looking for newsgroup this information. but I don't understand Registry
> setting and How to load MyFSD.
>
> Anybody send me some information. Please.
> I'm sorry. I don't speak english very well. ^__^
>
>
>
>



Re: How to use Ramdisk and MyFSD from CE 3.0 to CE.NET by KevinSong

KevinSong
Thu Dec 04 01:44:43 CST 2003

Thank you very much Jeremy.
I read your message very well.


I have some question now.

1. Do i must use PB4.x's Ramdisk sapmle?
now, I have only PB3.0's Ramdisk sample. I don't have PB4.x's Ramdisk
sample.
if necessary, How to get this sample?

2. This is my own PB3.0's Ramdisk registry settings.
How to change PB4.x's Ramdisk reg setting?

[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\Ramdisk]
"Active"="Drivers\\Active\\12"
"Ioctl"=dword:00000004
"Index"=dword:00000001
"Order"=dword:00000001
"Folder"="RSDUMMY"
"FSD"="MYFSD.dll"
"Dll"="RAMDISK.dll"
"Prefix"="RAMDISK"
"IClass"="{A4E7EDDA-E575-4252-9D6B-4195D48BB865}"
"Handle"=dword:005dfb90


"Jeremy Sherrill" <jeremyinbox@hotmail.com> wrote in message
news:eHv$iBduDHA.2456@TK2MSFTNGP12.phx.gbl...
> Kevin,
>
> First things first, scrap the ram disk from CE 3.0 and use the CE.NET
> version (wince420\public\common\oak\drivers\block\ramdisk). CE.NET no
> longer requires the block driver to call LoadFSD. Instead, a system of
> driver profiles and defaults is used. CE 4.2 loads FSDs based on the
> partition type of the partition as it exists on the disk. For CE.NET, use
> the following registry keys to load MyFSD for a RAM disk:
>
> [HKEY_LOCAL_MACHINE\System\StorageManager\Profiles\RamDisk3]
> "Name"="RAM Disk"
> "Folder"="RamDisk"
> "AutoMount"=dword:1
> "AutoPart"=dword:1
> "AutoFormat"=dword:1
> "MountFlags"=dword:0
> "DefaultFileSystem"="MyFSD"
>
> [HKEY_LOCAL_MACHINE\System\StorageManager\MyFSD]
> "Dll"="MyFSD.DLL"
>
> The DefaultFileSystem entry in the ram disk profile refers to a registry
key
> in HKEY_LOCAL_MACHINE\System\StorageManager which contains info about the
> FSD to be loaded. For CE 4.2, it is best to call FormatPartitionEx to set
> the partition type to a unique value that will associate the partition
with
> MyFSD. To associate a partition type with MyFSD in CE 4.2, add the
> following registry entry:
>
> [HKEY_LOCAL_MACHINE\System\StorageManager\PartitionTable]
> "XY"="MyFSD"
>
> Replace XY with your unique partition type. By doing this, you guarantee
> that any partition that is formatted with the MyFSD file system is mounted
> with MyFSD.
>
> Jeremy
>
>
> "KevinSong" <songjh98@chol.com> wrote in message
> news:ew36rSUuDHA.2132@TK2MSFTNGP10.phx.gbl...
> >
> > How to use Ramdisk and MyFSD from CE 3.0 to CE.NET
> >
> > Hi there
> > I am porting Ramdisk driver and MyFSD driver CE3.0 to CE.Net.
> > This module work fine CE 3.0. but CE.Net don't work.
> >
> > RAMDISK device is visible Explorer on CE3.0, but .Net is net seen.
> > And MyFSD Load is failed(LoadFSDEx()). Then, How to load MyFSD and link
> > Ramdisk.
> > I looking for newsgroup this information. but I don't understand
Registry
> > setting and How to load MyFSD.
> >
> > Anybody send me some information. Please.
> > I'm sorry. I don't speak english very well. ^__^
> >
> >
> >
> >
>
>



Re: How to use Ramdisk and MyFSD from CE 3.0 to CE.NET by Jeremy

Jeremy
Thu Dec 04 12:57:05 CST 2003

1. I strongly suggest using the 4.x ramdisk sample with CE 4.x. The 4.x
ramdisk code is located in:
\WINCE420\PUBLIC\COMMON\OAK\DRIVERS\BLOCK\RAMDISK

2. This is how I configure the registry for the ramdisk in PB4.x:

[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\RamDisk]
"Dll"="RamDisk.DLL"
"FriendlyName"="WinCE RAM Disk Driver"
"Prefix"="DSK"
"Ioctl"=dword:4
"Order"=dword:0
"Profile"="RamDisk"
"IClass"="{A4E7EDDA-E575-4252-9D6B-4195D48BB865}"

[HKEY_LOCAL_MACHINE\System\StorageManager\Profiles\RamDisk]
"Name"="RAM Disk"
"Folder"="RamDisk"
"AutoMount"=dword:1
"AutoPart"=dword:1
"AutoFormat"=dword:1
"MountFlags"=dword:0

Yes, two keys are now required by the ramdisk.

Jeremy

"KevinSong" <songjh98@chol.com> wrote in message
news:OCoZ1pjuDHA.2304@TK2MSFTNGP12.phx.gbl...
> Thank you very much Jeremy.
> I read your message very well.
>
>
> I have some question now.
>
> 1. Do i must use PB4.x's Ramdisk sapmle?
> now, I have only PB3.0's Ramdisk sample. I don't have PB4.x's Ramdisk
> sample.
> if necessary, How to get this sample?
>
> 2. This is my own PB3.0's Ramdisk registry settings.
> How to change PB4.x's Ramdisk reg setting?
>
> [HKEY_LOCAL_MACHINE\Drivers\BuiltIn\Ramdisk]
> "Active"="Drivers\\Active\\12"
> "Ioctl"=dword:00000004
> "Index"=dword:00000001
> "Order"=dword:00000001
> "Folder"="RSDUMMY"
> "FSD"="MYFSD.dll"
> "Dll"="RAMDISK.dll"
> "Prefix"="RAMDISK"
> "IClass"="{A4E7EDDA-E575-4252-9D6B-4195D48BB865}"
> "Handle"=dword:005dfb90
>
>
> "Jeremy Sherrill" <jeremyinbox@hotmail.com> wrote in message
> news:eHv$iBduDHA.2456@TK2MSFTNGP12.phx.gbl...
> > Kevin,
> >
> > First things first, scrap the ram disk from CE 3.0 and use the CE.NET
> > version (wince420\public\common\oak\drivers\block\ramdisk). CE.NET no
> > longer requires the block driver to call LoadFSD. Instead, a system of
> > driver profiles and defaults is used. CE 4.2 loads FSDs based on the
> > partition type of the partition as it exists on the disk. For CE.NET,
use
> > the following registry keys to load MyFSD for a RAM disk:
> >
> > [HKEY_LOCAL_MACHINE\System\StorageManager\Profiles\RamDisk3]
> > "Name"="RAM Disk"
> > "Folder"="RamDisk"
> > "AutoMount"=dword:1
> > "AutoPart"=dword:1
> > "AutoFormat"=dword:1
> > "MountFlags"=dword:0
> > "DefaultFileSystem"="MyFSD"
> >
> > [HKEY_LOCAL_MACHINE\System\StorageManager\MyFSD]
> > "Dll"="MyFSD.DLL"
> >
> > The DefaultFileSystem entry in the ram disk profile refers to a registry
> key
> > in HKEY_LOCAL_MACHINE\System\StorageManager which contains info about
the
> > FSD to be loaded. For CE 4.2, it is best to call FormatPartitionEx to
set
> > the partition type to a unique value that will associate the partition
> with
> > MyFSD. To associate a partition type with MyFSD in CE 4.2, add the
> > following registry entry:
> >
> > [HKEY_LOCAL_MACHINE\System\StorageManager\PartitionTable]
> > "XY"="MyFSD"
> >
> > Replace XY with your unique partition type. By doing this, you
guarantee
> > that any partition that is formatted with the MyFSD file system is
mounted
> > with MyFSD.
> >
> > Jeremy
> >
> >
> > "KevinSong" <songjh98@chol.com> wrote in message
> > news:ew36rSUuDHA.2132@TK2MSFTNGP10.phx.gbl...
> > >
> > > How to use Ramdisk and MyFSD from CE 3.0 to CE.NET
> > >
> > > Hi there
> > > I am porting Ramdisk driver and MyFSD driver CE3.0 to CE.Net.
> > > This module work fine CE 3.0. but CE.Net don't work.
> > >
> > > RAMDISK device is visible Explorer on CE3.0, but .Net is net seen.
> > > And MyFSD Load is failed(LoadFSDEx()). Then, How to load MyFSD and
link
> > > Ramdisk.
> > > I looking for newsgroup this information. but I don't understand
> Registry
> > > setting and How to load MyFSD.
> > >
> > > Anybody send me some information. Please.
> > > I'm sorry. I don't speak english very well. ^__^
> > >
> > >
> > >
> > >
> >
> >
>
>



Re: How to use Ramdisk and MyFSD from CE 3.0 to CE.NET by KevinSong

KevinSong
Thu Dec 04 20:05:40 CST 2003

Thank you. Jeremy!

I have a favor to ask of you. I don't have 4.x ramdisk sample.
Would you send me this sample, Please.
But, you do refuse a request, That's all right with me.
Then, I will look for other method. ^__^

I will ask a question again after get sample.
Thank you.

"Jeremy Sherrill" <jeremyinbox@hotmail.com> wrote in message
news:%23uS1tmpuDHA.1788@tk2msftngp13.phx.gbl...
> 1. I strongly suggest using the 4.x ramdisk sample with CE 4.x. The 4.x
> ramdisk code is located in:
> \WINCE420\PUBLIC\COMMON\OAK\DRIVERS\BLOCK\RAMDISK
>
> 2. This is how I configure the registry for the ramdisk in PB4.x:
>
> [HKEY_LOCAL_MACHINE\Drivers\BuiltIn\RamDisk]
> "Dll"="RamDisk.DLL"
> "FriendlyName"="WinCE RAM Disk Driver"
> "Prefix"="DSK"
> "Ioctl"=dword:4
> "Order"=dword:0
> "Profile"="RamDisk"
> "IClass"="{A4E7EDDA-E575-4252-9D6B-4195D48BB865}"
>
> [HKEY_LOCAL_MACHINE\System\StorageManager\Profiles\RamDisk]
> "Name"="RAM Disk"
> "Folder"="RamDisk"
> "AutoMount"=dword:1
> "AutoPart"=dword:1
> "AutoFormat"=dword:1
> "MountFlags"=dword:0
>
> Yes, two keys are now required by the ramdisk.
>
> Jeremy
>
> "KevinSong" <songjh98@chol.com> wrote in message
> news:OCoZ1pjuDHA.2304@TK2MSFTNGP12.phx.gbl...
> > Thank you very much Jeremy.
> > I read your message very well.
> >
> >
> > I have some question now.
> >
> > 1. Do i must use PB4.x's Ramdisk sapmle?
> > now, I have only PB3.0's Ramdisk sample. I don't have PB4.x's
Ramdisk
> > sample.
> > if necessary, How to get this sample?
> >
> > 2. This is my own PB3.0's Ramdisk registry settings.
> > How to change PB4.x's Ramdisk reg setting?
> >
> > [HKEY_LOCAL_MACHINE\Drivers\BuiltIn\Ramdisk]
> > "Active"="Drivers\\Active\\12"
> > "Ioctl"=dword:00000004
> > "Index"=dword:00000001
> > "Order"=dword:00000001
> > "Folder"="RSDUMMY"
> > "FSD"="MYFSD.dll"
> > "Dll"="RAMDISK.dll"
> > "Prefix"="RAMDISK"
> > "IClass"="{A4E7EDDA-E575-4252-9D6B-4195D48BB865}"
> > "Handle"=dword:005dfb90
> >
> >
> > "Jeremy Sherrill" <jeremyinbox@hotmail.com> wrote in message
> > news:eHv$iBduDHA.2456@TK2MSFTNGP12.phx.gbl...
> > > Kevin,
> > >
> > > First things first, scrap the ram disk from CE 3.0 and use the CE.NET
> > > version (wince420\public\common\oak\drivers\block\ramdisk). CE.NET no
> > > longer requires the block driver to call LoadFSD. Instead, a system
of
> > > driver profiles and defaults is used. CE 4.2 loads FSDs based on the
> > > partition type of the partition as it exists on the disk. For CE.NET,
> use
> > > the following registry keys to load MyFSD for a RAM disk:
> > >
> > > [HKEY_LOCAL_MACHINE\System\StorageManager\Profiles\RamDisk3]
> > > "Name"="RAM Disk"
> > > "Folder"="RamDisk"
> > > "AutoMount"=dword:1
> > > "AutoPart"=dword:1
> > > "AutoFormat"=dword:1
> > > "MountFlags"=dword:0
> > > "DefaultFileSystem"="MyFSD"
> > >
> > > [HKEY_LOCAL_MACHINE\System\StorageManager\MyFSD]
> > > "Dll"="MyFSD.DLL"
> > >
> > > The DefaultFileSystem entry in the ram disk profile refers to a
registry
> > key
> > > in HKEY_LOCAL_MACHINE\System\StorageManager which contains info about
> the
> > > FSD to be loaded. For CE 4.2, it is best to call FormatPartitionEx to
> set
> > > the partition type to a unique value that will associate the partition
> > with
> > > MyFSD. To associate a partition type with MyFSD in CE 4.2, add the
> > > following registry entry:
> > >
> > > [HKEY_LOCAL_MACHINE\System\StorageManager\PartitionTable]
> > > "XY"="MyFSD"
> > >
> > > Replace XY with your unique partition type. By doing this, you
> guarantee
> > > that any partition that is formatted with the MyFSD file system is
> mounted
> > > with MyFSD.
> > >
> > > Jeremy
> > >
> > >
> > > "KevinSong" <songjh98@chol.com> wrote in message
> > > news:ew36rSUuDHA.2132@TK2MSFTNGP10.phx.gbl...
> > > >
> > > > How to use Ramdisk and MyFSD from CE 3.0 to CE.NET
> > > >
> > > > Hi there
> > > > I am porting Ramdisk driver and MyFSD driver CE3.0 to CE.Net.
> > > > This module work fine CE 3.0. but CE.Net don't work.
> > > >
> > > > RAMDISK device is visible Explorer on CE3.0, but .Net is net seen.
> > > > And MyFSD Load is failed(LoadFSDEx()). Then, How to load MyFSD and
> link
> > > > Ramdisk.
> > > > I looking for newsgroup this information. but I don't understand
> > Registry
> > > > setting and How to load MyFSD.
> > > >
> > > > Anybody send me some information. Please.
> > > > I'm sorry. I don't speak english very well. ^__^
> > > >
> > > >
> > > >
> > > >
> > >
> > >
> >
> >
>
>



Re: How to use Ramdisk and MyFSD from CE 3.0 to CE.NET by Jeremy

Jeremy
Sat Dec 06 23:02:05 CST 2003

I can't send you code that is destributed with Microsoft Patform Builder (c)
products. You can download Platform Builder yourself from
msdn.microsoft.com.

"KevinSong" <songjh98@chol.com> wrote in message
news:OwslNRtuDHA.2244@TK2MSFTNGP09.phx.gbl...
> Thank you. Jeremy!
>
> I have a favor to ask of you. I don't have 4.x ramdisk sample.
> Would you send me this sample, Please.
> But, you do refuse a request, That's all right with me.
> Then, I will look for other method. ^__^
>
> I will ask a question again after get sample.
> Thank you.
>
> "Jeremy Sherrill" <jeremyinbox@hotmail.com> wrote in message
> news:%23uS1tmpuDHA.1788@tk2msftngp13.phx.gbl...
> > 1. I strongly suggest using the 4.x ramdisk sample with CE 4.x. The 4.x
> > ramdisk code is located in:
> > \WINCE420\PUBLIC\COMMON\OAK\DRIVERS\BLOCK\RAMDISK
> >
> > 2. This is how I configure the registry for the ramdisk in PB4.x:
> >
> > [HKEY_LOCAL_MACHINE\Drivers\BuiltIn\RamDisk]
> > "Dll"="RamDisk.DLL"
> > "FriendlyName"="WinCE RAM Disk Driver"
> > "Prefix"="DSK"
> > "Ioctl"=dword:4
> > "Order"=dword:0
> > "Profile"="RamDisk"
> > "IClass"="{A4E7EDDA-E575-4252-9D6B-4195D48BB865}"
> >
> > [HKEY_LOCAL_MACHINE\System\StorageManager\Profiles\RamDisk]
> > "Name"="RAM Disk"
> > "Folder"="RamDisk"
> > "AutoMount"=dword:1
> > "AutoPart"=dword:1
> > "AutoFormat"=dword:1
> > "MountFlags"=dword:0
> >
> > Yes, two keys are now required by the ramdisk.
> >
> > Jeremy
> >
> > "KevinSong" <songjh98@chol.com> wrote in message
> > news:OCoZ1pjuDHA.2304@TK2MSFTNGP12.phx.gbl...
> > > Thank you very much Jeremy.
> > > I read your message very well.
> > >
> > >
> > > I have some question now.
> > >
> > > 1. Do i must use PB4.x's Ramdisk sapmle?
> > > now, I have only PB3.0's Ramdisk sample. I don't have PB4.x's
> Ramdisk
> > > sample.
> > > if necessary, How to get this sample?
> > >
> > > 2. This is my own PB3.0's Ramdisk registry settings.
> > > How to change PB4.x's Ramdisk reg setting?
> > >
> > > [HKEY_LOCAL_MACHINE\Drivers\BuiltIn\Ramdisk]
> > > "Active"="Drivers\\Active\\12"
> > > "Ioctl"=dword:00000004
> > > "Index"=dword:00000001
> > > "Order"=dword:00000001
> > > "Folder"="RSDUMMY"
> > > "FSD"="MYFSD.dll"
> > > "Dll"="RAMDISK.dll"
> > > "Prefix"="RAMDISK"
> > > "IClass"="{A4E7EDDA-E575-4252-9D6B-4195D48BB865}"
> > > "Handle"=dword:005dfb90
> > >
> > >
> > > "Jeremy Sherrill" <jeremyinbox@hotmail.com> wrote in message
> > > news:eHv$iBduDHA.2456@TK2MSFTNGP12.phx.gbl...
> > > > Kevin,
> > > >
> > > > First things first, scrap the ram disk from CE 3.0 and use the
CE.NET
> > > > version (wince420\public\common\oak\drivers\block\ramdisk). CE.NET
no
> > > > longer requires the block driver to call LoadFSD. Instead, a system
> of
> > > > driver profiles and defaults is used. CE 4.2 loads FSDs based on
the
> > > > partition type of the partition as it exists on the disk. For
CE.NET,
> > use
> > > > the following registry keys to load MyFSD for a RAM disk:
> > > >
> > > > [HKEY_LOCAL_MACHINE\System\StorageManager\Profiles\RamDisk3]
> > > > "Name"="RAM Disk"
> > > > "Folder"="RamDisk"
> > > > "AutoMount"=dword:1
> > > > "AutoPart"=dword:1
> > > > "AutoFormat"=dword:1
> > > > "MountFlags"=dword:0
> > > > "DefaultFileSystem"="MyFSD"
> > > >
> > > > [HKEY_LOCAL_MACHINE\System\StorageManager\MyFSD]
> > > > "Dll"="MyFSD.DLL"
> > > >
> > > > The DefaultFileSystem entry in the ram disk profile refers to a
> registry
> > > key
> > > > in HKEY_LOCAL_MACHINE\System\StorageManager which contains info
about
> > the
> > > > FSD to be loaded. For CE 4.2, it is best to call FormatPartitionEx
to
> > set
> > > > the partition type to a unique value that will associate the
partition
> > > with
> > > > MyFSD. To associate a partition type with MyFSD in CE 4.2, add the
> > > > following registry entry:
> > > >
> > > > [HKEY_LOCAL_MACHINE\System\StorageManager\PartitionTable]
> > > > "XY"="MyFSD"
> > > >
> > > > Replace XY with your unique partition type. By doing this, you
> > guarantee
> > > > that any partition that is formatted with the MyFSD file system is
> > mounted
> > > > with MyFSD.
> > > >
> > > > Jeremy
> > > >
> > > >
> > > > "KevinSong" <songjh98@chol.com> wrote in message
> > > > news:ew36rSUuDHA.2132@TK2MSFTNGP10.phx.gbl...
> > > > >
> > > > > How to use Ramdisk and MyFSD from CE 3.0 to CE.NET
> > > > >
> > > > > Hi there
> > > > > I am porting Ramdisk driver and MyFSD driver CE3.0 to CE.Net.
> > > > > This module work fine CE 3.0. but CE.Net don't work.
> > > > >
> > > > > RAMDISK device is visible Explorer on CE3.0, but .Net is net seen.
> > > > > And MyFSD Load is failed(LoadFSDEx()). Then, How to load MyFSD and
> > link
> > > > > Ramdisk.
> > > > > I looking for newsgroup this information. but I don't understand
> > > Registry
> > > > > setting and How to load MyFSD.
> > > > >
> > > > > Anybody send me some information. Please.
> > > > > I'm sorry. I don't speak english very well. ^__^
> > > > >
> > > > >
> > > > >
> > > > >
> > > >
> > > >
> > >
> > >
> >
> >
>
>



Re: How to use Ramdisk and MyFSD from CE 3.0 to CE.NET by KevinSong

KevinSong
Tue Dec 16 00:53:47 CST 2003

Thank you Jeremy!

Anyone know how to Install Ramdisk with MyFSD.

I succeed Ramdisk Compile. but, "MyFSD" don't worked.
I insert into debug message. but this FSD don't make debug info.
I had set registry below.

1. Do i must add any code or any work?

2. How to set "3F"=MyFSD from registry key "PartitionTable".
I don't understand 3F value. how to set this value.

[HKEY_LOCAL_MACHINE\System\StorageManager\Profiles\RamDisk3]
"Name"="RAM Disk"
"Folder"="RamDisk"
"AutoMount"=dword:1
"AutoPart"=dword:1
"AutoFormat"=dword:1
"MountFlags"=dword:0
"DefaultFileSystem"="MyFSD"

[HKEY_LOCAL_MACHINE\System\StorageManager\MyFSD]
"Dll"="MyFSD.DLL"

[HKEY_LOCAL_MACHINE\System\StorageManager\PartitionTable]
"3F"="MyFSD"



"Jeremy Sherrill" <jeremyinbox@hotmail.com> wrote in message
news:eHv$iBduDHA.2456@TK2MSFTNGP12.phx.gbl...
> Kevin,
>
> First things first, scrap the ram disk from CE 3.0 and use the CE.NET
> version (wince420\public\common\oak\drivers\block\ramdisk). CE.NET no
> longer requires the block driver to call LoadFSD. Instead, a system of
> driver profiles and defaults is used. CE 4.2 loads FSDs based on the
> partition type of the partition as it exists on the disk. For CE.NET, use
> the following registry keys to load MyFSD for a RAM disk:
>
> [HKEY_LOCAL_MACHINE\System\StorageManager\Profiles\RamDisk3]
> "Name"="RAM Disk"
> "Folder"="RamDisk"
> "AutoMount"=dword:1
> "AutoPart"=dword:1
> "AutoFormat"=dword:1
> "MountFlags"=dword:0
> "DefaultFileSystem"="MyFSD"
>
> [HKEY_LOCAL_MACHINE\System\StorageManager\MyFSD]
> "Dll"="MyFSD.DLL"
>
> The DefaultFileSystem entry in the ram disk profile refers to a registry
key
> in HKEY_LOCAL_MACHINE\System\StorageManager which contains info about the
> FSD to be loaded. For CE 4.2, it is best to call FormatPartitionEx to set
> the partition type to a unique value that will associate the partition
with
> MyFSD. To associate a partition type with MyFSD in CE 4.2, add the
> following registry entry:
>
> [HKEY_LOCAL_MACHINE\System\StorageManager\PartitionTable]
> "XY"="MyFSD"
>
> Replace XY with your unique partition type. By doing this, you guarantee
> that any partition that is formatted with the MyFSD file system is mounted
> with MyFSD.
>
> Jeremy
>
>
> "KevinSong" <songjh98@chol.com> wrote in message
> news:ew36rSUuDHA.2132@TK2MSFTNGP10.phx.gbl...
> >
> > How to use Ramdisk and MyFSD from CE 3.0 to CE.NET
> >
> > Hi there
> > I am porting Ramdisk driver and MyFSD driver CE3.0 to CE.Net.
> > This module work fine CE 3.0. but CE.Net don't work.
> >
> > RAMDISK device is visible Explorer on CE3.0, but .Net is net seen.
> > And MyFSD Load is failed(LoadFSDEx()). Then, How to load MyFSD and link
> > Ramdisk.
> > I looking for newsgroup this information. but I don't understand
Registry
> > setting and How to load MyFSD.
> >
> > Anybody send me some information. Please.
> > I'm sorry. I don't speak english very well. ^__^
> >
> >
> >
> >
>
>



Re: How to use Ramdisk and MyFSD from CE 3.0 to CE.NET by Jeremy

Jeremy
Tue Dec 16 12:54:13 CST 2003

> Anyone know how to Install Ramdisk with MyFSD.
>
> I succeed Ramdisk Compile. but, "MyFSD" don't worked.
You need to tell us exactly what didn't work about it. Did you set
breakpoints in MyFSD? Where? You should have breakpoints in two places at
this point: DllMain and MyFSD_MountDisk. Tell us whether or not those
functions are called. Also, if MyFSD.dll is being loaded, you will see
something like this in your debug output:
>>> Loading module MyFSD.dll at address 0x01F20000-0x01F40000

> I insert into debug message. but this FSD don't make debug info.
FSDs do not make debug info automatically, this is correct. You must set up
your debug zones manually in the code for MyFSD. The Platform Builder
doccumentation has adequate descriptions of this, you should be able to
implement it. If not, ask that question in a seperate thread because it is
a seperate topic.

> I had set registry below.
>
> 1. Do i must add any code or any work?
>
> 2. How to set "3F"=MyFSD from registry key "PartitionTable".
> I don't understand 3F value. how to set this value.

You already set this value. Look below at your registry, "3F"="MyFSD".
Good enough! All you need to do now is call FormatPartitionEx on any
partition that you want, passing 0x3F as bPartType. That will tell the
partition driver to set the partition ID on the specified partition to 0x3F.
Since that value is associated with MyFSD in the registry, Windows CE will
automatically load MyFSD.DLL and call MyFSD_MountDisk when you mount the
volume. Mount the volume by either rebooting or by dismounting and
remounting in the Storage Manager. Since you are using a RAM disk, you will
have to dismount and remount in the Storage Manager because rebooting will
erase the contents of your RAM disk.

The partition ID serves the same purpose as the DefaultFileSystem entry in
the registry. It tells CE which file system should mount a volume. Using a
partition ID has the added benefit of allowing a block device to be
formatted with any file system and mount the proper file system, so long as
the partition ID on the volume is associated in the registry with a proper
file system.

4.2 is the first version of CE to utilize partition types in this way.
Previous .NET versions (4.0, 4.1) use the DefaultFileSystem entry in the
registry to decide which FSD to load, and CE 3.0 requires that the block
driver call LoadFSD.

Jeremy

>
> [HKEY_LOCAL_MACHINE\System\StorageManager\Profiles\RamDisk3]
> "Name"="RAM Disk"
> "Folder"="RamDisk"
> "AutoMount"=dword:1
> "AutoPart"=dword:1
> "AutoFormat"=dword:1
> "MountFlags"=dword:0
> "DefaultFileSystem"="MyFSD"
>
> [HKEY_LOCAL_MACHINE\System\StorageManager\MyFSD]
> "Dll"="MyFSD.DLL"
>
> [HKEY_LOCAL_MACHINE\System\StorageManager\PartitionTable]
> "3F"="MyFSD"
>
>
>
> "Jeremy Sherrill" <jeremyinbox@hotmail.com> wrote in message
> news:eHv$iBduDHA.2456@TK2MSFTNGP12.phx.gbl...
> > Kevin,
> >
> > First things first, scrap the ram disk from CE 3.0 and use the CE.NET
> > version (wince420\public\common\oak\drivers\block\ramdisk). CE.NET no
> > longer requires the block driver to call LoadFSD. Instead, a system of
> > driver profiles and defaults is used. CE 4.2 loads FSDs based on the
> > partition type of the partition as it exists on the disk. For CE.NET,
use
> > the following registry keys to load MyFSD for a RAM disk:
> >
> > [HKEY_LOCAL_MACHINE\System\StorageManager\Profiles\RamDisk3]
> > "Name"="RAM Disk"
> > "Folder"="RamDisk"
> > "AutoMount"=dword:1
> > "AutoPart"=dword:1
> > "AutoFormat"=dword:1
> > "MountFlags"=dword:0
> > "DefaultFileSystem"="MyFSD"
> >
> > [HKEY_LOCAL_MACHINE\System\StorageManager\MyFSD]
> > "Dll"="MyFSD.DLL"
> >
> > The DefaultFileSystem entry in the ram disk profile refers to a registry
> key
> > in HKEY_LOCAL_MACHINE\System\StorageManager which contains info about
the
> > FSD to be loaded. For CE 4.2, it is best to call FormatPartitionEx to
set
> > the partition type to a unique value that will associate the partition
> with
> > MyFSD. To associate a partition type with MyFSD in CE 4.2, add the
> > following registry entry:
> >
> > [HKEY_LOCAL_MACHINE\System\StorageManager\PartitionTable]
> > "XY"="MyFSD"
> >
> > Replace XY with your unique partition type. By doing this, you
guarantee
> > that any partition that is formatted with the MyFSD file system is
mounted
> > with MyFSD.
> >
> > Jeremy
> >
> >
> > "KevinSong" <songjh98@chol.com> wrote in message
> > news:ew36rSUuDHA.2132@TK2MSFTNGP10.phx.gbl...
> > >
> > > How to use Ramdisk and MyFSD from CE 3.0 to CE.NET
> > >
> > > Hi there
> > > I am porting Ramdisk driver and MyFSD driver CE3.0 to CE.Net.
> > > This module work fine CE 3.0. but CE.Net don't work.
> > >
> > > RAMDISK device is visible Explorer on CE3.0, but .Net is net seen.
> > > And MyFSD Load is failed(LoadFSDEx()). Then, How to load MyFSD and
link
> > > Ramdisk.
> > > I looking for newsgroup this information. but I don't understand
> Registry
> > > setting and How to load MyFSD.
> > >
> > > Anybody send me some information. Please.
> > > I'm sorry. I don't speak english very well. ^__^
> > >
> > >
> > >
> > >
> >
> >
>
>



Re: How to use Ramdisk and MyFSD from CE 3.0 to CE.NET by KevinSong

KevinSong
Wed Dec 17 03:50:48 CST 2003

Thank you very much!! Jeremy!

I read your message very well.


I had added debug message to MyFSD source. this make a file(debugxxx.txt).
if MyFSD worked, I will see debug message in the debugxxx.txt file.


I have to some question about FormatPartitionEX().

Well, I wanna link the function FormatPartitionEX() with the dll MyFSD.
I presumed that the order of calling the functions be as follows.

OpenStore(); - CreatePartitionEx() - OpenPartition(); -
FormatPartitionEx();

However, I did call the functions as I described, but I'd got a FALSE return
from the function CreatePartitionEX().
Did I make a wrong order of calling the functions?
If then, what is the right order ?

When calling the function CreatePartitionEX() there is a parameter
"PartitionName",
how can I get that parameter ?

May I set that parameter arbitrarily ? At present, I set arbitrary value for
that parameter.
And I set the Sector Number as 2048 (= Ramdisk Size / 512).
Is it ok ?

Followings are the codes that I used.
Where is wrong this code?

HANDLE hDevice = ActivateDevice(g_szDrvRegPath, 0);
.
.
.
hStore = OpenStore(L"DSK1:");
if(hStore == (HANDLE)INVALID_HANDLE_VALUE || hStore ==
(HANDLE)ERROR_DEVICE_NOT_AVAILABLE)
{
TRACE1(L"OpenStore() : Failed! return %d\n", hStore);
return FALSE;
}

TRACE1(L"OpenStore() : Success! return %d\n", hStore);

bCreate = CreatePartitionEx(hStore, (LPCTSTR)L"MyFSD", 0x3F,
(SECTORNUM)2048);
if(bCreate == FALSE)
{
TRACE0(L"CreatePartitionEx : Failed! return \n");
return FALSE;
}
TRACE1(L"CreatePartitionEx(): Success! return %d\n", hStore);

hPartition = OpenPartition(hStore, (LPCTSTR)L"MyFSD");
if(hPartition == INVALID_HANDLE_VALUE)
{
TRACE1(L"OpenPartition() : Failed! return %d\n", hPartition);
return FALSE;
}
TRACE1(L"OpenPartition(): Success! return %d\n", hStore);

bFormat = FormatPartitionEx(hPartition, 0x3F, FALSE);
if(bFormat == FALSE)
{
TRACE0(L"FormatPartitionEx() : Failed! return \n");
return FALSE;
}

TRACE0(L"FormatPartitionEx() : Successed and Loaded MyFSD! return \n");



"Jeremy Sherrill" <jeremyinbox@hotmail.com> wrote in message
news:eCdiDYAxDHA.1088@tk2msftngp13.phx.gbl...
> > Anyone know how to Install Ramdisk with MyFSD.
> >
> > I succeed Ramdisk Compile. but, "MyFSD" don't worked.
> You need to tell us exactly what didn't work about it. Did you set
> breakpoints in MyFSD? Where? You should have breakpoints in two places
at
> this point: DllMain and MyFSD_MountDisk. Tell us whether or not those
> functions are called. Also, if MyFSD.dll is being loaded, you will see
> something like this in your debug output:
> >>> Loading module MyFSD.dll at address 0x01F20000-0x01F40000
>
> > I insert into debug message. but this FSD don't make debug info.
> FSDs do not make debug info automatically, this is correct. You must set
up
> your debug zones manually in the code for MyFSD. The Platform Builder
> doccumentation has adequate descriptions of this, you should be able to
> implement it. If not, ask that question in a seperate thread because it
is
> a seperate topic.
>
> > I had set registry below.
> >
> > 1. Do i must add any code or any work?
> >
> > 2. How to set "3F"=MyFSD from registry key "PartitionTable".
> > I don't understand 3F value. how to set this value.
>
> You already set this value. Look below at your registry, "3F"="MyFSD".
> Good enough! All you need to do now is call FormatPartitionEx on any
> partition that you want, passing 0x3F as bPartType. That will tell the
> partition driver to set the partition ID on the specified partition to
0x3F.
> Since that value is associated with MyFSD in the registry, Windows CE will
> automatically load MyFSD.DLL and call MyFSD_MountDisk when you mount the
> volume. Mount the volume by either rebooting or by dismounting and
> remounting in the Storage Manager. Since you are using a RAM disk, you
will
> have to dismount and remount in the Storage Manager because rebooting will
> erase the contents of your RAM disk.
>
> The partition ID serves the same purpose as the DefaultFileSystem entry in
> the registry. It tells CE which file system should mount a volume. Using
a
> partition ID has the added benefit of allowing a block device to be
> formatted with any file system and mount the proper file system, so long
as
> the partition ID on the volume is associated in the registry with a proper
> file system.
>
> 4.2 is the first version of CE to utilize partition types in this way.
> Previous .NET versions (4.0, 4.1) use the DefaultFileSystem entry in the
> registry to decide which FSD to load, and CE 3.0 requires that the block
> driver call LoadFSD.
>
> Jeremy
>
> >
> > [HKEY_LOCAL_MACHINE\System\StorageManager\Profiles\RamDisk3]
> > "Name"="RAM Disk"
> > "Folder"="RamDisk"
> > "AutoMount"=dword:1
> > "AutoPart"=dword:1
> > "AutoFormat"=dword:1
> > "MountFlags"=dword:0
> > "DefaultFileSystem"="MyFSD"
> >
> > [HKEY_LOCAL_MACHINE\System\StorageManager\MyFSD]
> > "Dll"="MyFSD.DLL"
> >
> > [HKEY_LOCAL_MACHINE\System\StorageManager\PartitionTable]
> > "3F"="MyFSD"
> >
> >
> >
> > "Jeremy Sherrill" <jeremyinbox@hotmail.com> wrote in message
> > news:eHv$iBduDHA.2456@TK2MSFTNGP12.phx.gbl...
> > > Kevin,
> > >
> > > First things first, scrap the ram disk from CE 3.0 and use the CE.NET
> > > version (wince420\public\common\oak\drivers\block\ramdisk). CE.NET no
> > > longer requires the block driver to call LoadFSD. Instead, a system
of
> > > driver profiles and defaults is used. CE 4.2 loads FSDs based on the
> > > partition type of the partition as it exists on the disk. For CE.NET,
> use
> > > the following registry keys to load MyFSD for a RAM disk:
> > >
> > > [HKEY_LOCAL_MACHINE\System\StorageManager\Profiles\RamDisk3]
> > > "Name"="RAM Disk"
> > > "Folder"="RamDisk"
> > > "AutoMount"=dword:1
> > > "AutoPart"=dword:1
> > > "AutoFormat"=dword:1
> > > "MountFlags"=dword:0
> > > "DefaultFileSystem"="MyFSD"
> > >
> > > [HKEY_LOCAL_MACHINE\System\StorageManager\MyFSD]
> > > "Dll"="MyFSD.DLL"
> > >
> > > The DefaultFileSystem entry in the ram disk profile refers to a
registry
> > key
> > > in HKEY_LOCAL_MACHINE\System\StorageManager which contains info about
> the
> > > FSD to be loaded. For CE 4.2, it is best to call FormatPartitionEx to
> set
> > > the partition type to a unique value that will associate the partition
> > with
> > > MyFSD. To associate a partition type with MyFSD in CE 4.2, add the
> > > following registry entry:
> > >
> > > [HKEY_LOCAL_MACHINE\System\StorageManager\PartitionTable]
> > > "XY"="MyFSD"
> > >
> > > Replace XY with your unique partition type. By doing this, you
> guarantee
> > > that any partition that is formatted with the MyFSD file system is
> mounted
> > > with MyFSD.
> > >
> > > Jeremy
> > >
> > >
> > > "KevinSong" <songjh98@chol.com> wrote in message
> > > news:ew36rSUuDHA.2132@TK2MSFTNGP10.phx.gbl...
> > > >
> > > > How to use Ramdisk and MyFSD from CE 3.0 to CE.NET
> > > >
> > > > Hi there
> > > > I am porting Ramdisk driver and MyFSD driver CE3.0 to CE.Net.
> > > > This module work fine CE 3.0. but CE.Net don't work.
> > > >
> > > > RAMDISK device is visible Explorer on CE3.0, but .Net is net seen.
> > > > And MyFSD Load is failed(LoadFSDEx()). Then, How to load MyFSD and
> link
> > > > Ramdisk.
> > > > I looking for newsgroup this information. but I don't understand
> > Registry
> > > > setting and How to load MyFSD.
> > > >
> > > > Anybody send me some information. Please.
> > > > I'm sorry. I don't speak english very well. ^__^
> > > >
> > > >
> > > >
> > > >
> > >
> > >
> >
> >
>
>



Re: How to use Ramdisk and MyFSD from CE 3.0 to CE.NET by Jeremy

Jeremy
Wed Dec 17 13:57:33 CST 2003

First of all, please post the error code set by CreatePartitionEx(). To do
this, call GetLastError() after the function fails and print the return
value. The error code can be very helpful when guessing at a problem.
CreatePartitionEx is likely failing because there's no space for the
partition. By default, the RAM disk driver automatically creates a
partition and formats it with FAT. So, unless you delete the partition
manually before running your application it will not pass.

You do not need to call CreatePartitionEx. All you need to do is get a
handle to the partition and then pass it to FormatPartitionEx. Below is
code that should accomplish just that. I didn't build or test it, but you
should be able to get it working.


BOOL FormatMyFSDPart(unsigned uStoreIndex, unsigned uPartIndex)
{
HANDLE hStore, hStoreSearch, hPart, hPartSearch;
STOREINFO sStoreInfo;
PARTINGO sPartInfo;
BOOL bError;

/* Start searching through the stores.
*/
hStoreSearch = FindFirstStore(&sStoreInfo);

/* Initialize the bError value. FindNextStore returns TRUE on success and
FALSE on failure, so translate the return value of FindFirstStore to the
equivalent return value of FindNextStore, and put the result in bError.
*/
bError = (hStoreSearch