Frustations with Windows Me

Hi,

I have been trying to work on Device Driver Installations on Windows Me and
Windows 2000. When I run the command SetupDiCreateDeviceInfo, the function
works on Windows 2000; however it fails under Windows Me. Can anyone help?
Its Windows ME installations not using Setupapi.dll commands?

Joe McCloskey
xxxxx@gamry.com


You are currently subscribed to ntdev as: $subst(‘Recip.EmailAddr’)
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com

Joe,

I don’t know the answer but if your application loads fine then Me does
include the setupapi dll, right? What type of error code do you get? That
might point you in the right direction.

Sander

-----Original Message-----
From: xxxxx@gamry.com [mailto:xxxxx@gamry.com]
Sent: Monday, June 25, 2001 4:36 AM
To: NT Developers Interest List
Subject: [ntdev] Frustations with Windows Me

Hi,

I have been trying to work on Device Driver Installations on
Windows Me and
Windows 2000. When I run the command SetupDiCreateDeviceInfo,
the function
works on Windows 2000; however it fails under Windows Me.
Can anyone help?
Its Windows ME installations not using Setupapi.dll commands?

Joe McCloskey
xxxxx@gamry.com


You are currently subscribed to ntdev as: xxxxx@rhapsodynetworks.com
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com


You are currently subscribed to ntdev as: $subst(‘Recip.EmailAddr’)
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com

Hi,

I am trying to setup a legacy device driver on Win2k and Windows Me.

I am using the SetupDiCreateDeviceInfo() function. The function is defined
as follows:

BOOLEAN
SetupDiCreateDeviceInfo(
IN HDEVINFO DeviceInfoSet,
IN PCTSTR DeviceName,
IN LPGUID ClassGuid,
IN PCTSTR DeviceDescription, OPTIONAL
IN HWND hwndParent, OPTIONAL
IN DWORD CreationFlags,
OUT PSP_DEVINFO_DATA DeviceInfoData OPTIONAL
);

I use the following:

DeviceInfoSet :- This is generated by
SetupDiCreateDeviceInfoList(MyClassId, );
DeviceName :- MyDeviceName - this is a class defined in my inf file. We
want to build
“Enum\Root\MyDeviceName\0000”.

ClassGuid:- pointer to MyClassId
DeviceDecription:- NULL - this is used for selection of a device and GUI
output.
CreationFlag :- 0 - The documentation states that DICD_GENERATE_ID or
DICD_INHERIT_CLASSDRVS
work; however, whatever I can only use 0 for the value.
DeviceInfoData:- This is the structure to receive the newly created device
instance information. It is preset with
cbSize = sizeof(DeviceInfoData).

MyClassId :- This is a GUID for the device class (defined in my inf file).
MyDeviceName :- This is the class name for the device(defined in my inf
file).

The creation flag should be able to handle DICD_GENERATE_ID and generate the
device instance in the tree; however, it gives an “invalid flag” error
message.

The only way I can this function to work is to use the Creation flag of 0
and Set the drive name to the proper setting of “Root\MyDeviceName\0001”.
The operating system mangles the name into
“Root\MyDeviceName\0001HTREE&ROOT&0”.

Please note the function works on Win2k. . . .

Joe McCloskey
Gamry Instruments
xxxxx@gamry.com

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com]On Behalf Of Sander Pool
Sent: Monday, June 25, 2001 11:36 AM
To: NT Developers Interest List
Subject: [ntdev] RE: Frustations with Windows Me

Joe,

I don’t know the answer but if your application loads fine then Me does
include the setupapi dll, right? What type of error code do you get? That
might point you in the right direction.

Sander

-----Original Message-----
From: xxxxx@gamry.com [mailto:xxxxx@gamry.com]
Sent: Monday, June 25, 2001 4:36 AM
To: NT Developers Interest List
Subject: [ntdev] Frustations with Windows Me

Hi,

I have been trying to work on Device Driver Installations on
Windows Me and
Windows 2000. When I run the command SetupDiCreateDeviceInfo,
the function
works on Windows 2000; however it fails under Windows Me.
Can anyone help?
Its Windows ME installations not using Setupapi.dll commands?

Joe McCloskey
xxxxx@gamry.com


You are currently subscribed to ntdev as: xxxxx@rhapsodynetworks.com
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com


You are currently subscribed to ntdev as: xxxxx@gamry.com
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com


You are currently subscribed to ntdev as: $subst(‘Recip.EmailAddr’)
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com

WinME uses 16 bit setup code, not 32 bit. It shares the same setup code
as the WIN9x platform, not the Win2k platform. You will need to use the
Win98 DDK and the functions defined there.

-----Original Message-----
From: Joe McCloskey [mailto:xxxxx@gamry.com]
Sent: Monday, June 25, 2001 3:46 PM
To: NT Developers Interest List
Subject: [ntdev] RE: Frustations with Windows Me

Hi,

I am trying to setup a legacy device driver on Win2k and Windows Me.

I am using the SetupDiCreateDeviceInfo() function. The function is
defined
as follows:

BOOLEAN
SetupDiCreateDeviceInfo(
IN HDEVINFO DeviceInfoSet,
IN PCTSTR DeviceName,
IN LPGUID ClassGuid,
IN PCTSTR DeviceDescription, OPTIONAL
IN HWND hwndParent, OPTIONAL
IN DWORD CreationFlags,
OUT PSP_DEVINFO_DATA DeviceInfoData OPTIONAL
);

I use the following:

DeviceInfoSet :- This is generated by
SetupDiCreateDeviceInfoList(MyClassId, );
DeviceName :- MyDeviceName - this is a class defined in my inf file.
We
want to build
“Enum\Root\MyDeviceName\0000”.

ClassGuid:- pointer to MyClassId
DeviceDecription:- NULL - this is used for selection of a device and GUI
output.
CreationFlag :- 0 - The documentation states that DICD_GENERATE_ID or
DICD_INHERIT_CLASSDRVS
work; however, whatever I can only use 0 for the
value.
DeviceInfoData:- This is the structure to receive the newly created
device
instance information. It is preset with
cbSize = sizeof(DeviceInfoData).

MyClassId :- This is a GUID for the device class (defined in my inf
file).
MyDeviceName :- This is the class name for the device(defined in my inf
file).

The creation flag should be able to handle DICD_GENERATE_ID and generate
the
device instance in the tree; however, it gives an “invalid flag” error
message.

The only way I can this function to work is to use the Creation flag of
0
and Set the drive name to the proper setting of
“Root\MyDeviceName\0001”.
The operating system mangles the name into
“Root\MyDeviceName\0001HTREE&ROOT&0”.

Please note the function works on Win2k. . . .

Joe McCloskey
Gamry Instruments
xxxxx@gamry.com

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com]On Behalf Of Sander Pool
Sent: Monday, June 25, 2001 11:36 AM
To: NT Developers Interest List
Subject: [ntdev] RE: Frustations with Windows Me

Joe,

I don’t know the answer but if your application loads fine then Me does
include the setupapi dll, right? What type of error code do you get?
That
might point you in the right direction.

Sander

-----Original Message-----
From: xxxxx@gamry.com [mailto:xxxxx@gamry.com]
Sent: Monday, June 25, 2001 4:36 AM
To: NT Developers Interest List
Subject: [ntdev] Frustations with Windows Me

Hi,

I have been trying to work on Device Driver Installations on
Windows Me and
Windows 2000. When I run the command SetupDiCreateDeviceInfo,
the function
works on Windows 2000; however it fails under Windows Me.
Can anyone help?
Its Windows ME installations not using Setupapi.dll commands?

Joe McCloskey
xxxxx@gamry.com


You are currently subscribed to ntdev as: xxxxx@rhapsodynetworks.com
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com


You are currently subscribed to ntdev as: xxxxx@gamry.com
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com


You are currently subscribed to ntdev as: xxxxx@microsoft.com
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com


You are currently subscribed to ntdev as: $subst(‘Recip.EmailAddr’)
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com

Windows ME uses SETUPX.DLL, a 16-bit component. You will have to write
a 16-bit application. Look at the Windows 98 DDK sample IPNew. To do
this, you must use the 16-bit compiler. It can be found in Visual C
version 1.52c on the Platform Archive CD #3 labeled 16-bit DDKs. The
compiler by itself (without the entire VC IDE) is shipped as part of the
new unified Windows XP DDK in the Bin\Win_Me folder as CL.EXE version
8.00x.

The same is true with custom NDI procedures (see the Windows 98 DDK
sample MyNDI), which shows a Windows 9x/Me NDI Installer (somewhat
similar to a Notify Object in NT/2K).

I hope this helps.

Bryan

-----Original Message-----
From: Sander Pool [mailto:xxxxx@rhapsodynetworks.com]
Sent: Monday, June 25, 2001 11:36 AM
To: NT Developers Interest List
Subject: [ntdev] RE: Frustations with Windows Me

Joe,

I don’t know the answer but if your application loads fine then Me does
include the setupapi dll, right? What type of error code do you get?
That
might point you in the right direction.

Sander

-----Original Message-----
From: xxxxx@gamry.com [mailto:xxxxx@gamry.com]
Sent: Monday, June 25, 2001 4:36 AM
To: NT Developers Interest List
Subject: [ntdev] Frustations with Windows Me

Hi,

I have been trying to work on Device Driver Installations on
Windows Me and
Windows 2000. When I run the command SetupDiCreateDeviceInfo,
the function
works on Windows 2000; however it fails under Windows Me.
Can anyone help?
Its Windows ME installations not using Setupapi.dll commands?

Joe McCloskey
xxxxx@gamry.com


You are currently subscribed to ntdev as: xxxxx@rhapsodynetworks.com
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com


You are currently subscribed to ntdev as: xxxxx@microsoft.com
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com


You are currently subscribed to ntdev as: $subst(‘Recip.EmailAddr’)
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com

So in other words, I have to use the setupx library instead of the setupapi.

Do you know of any code samples that exist?

Joe.

P.S. Thanks for the help. . . .
-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com]On Behalf Of Michael Stoccardo
Sent: Tuesday, June 26, 2001 10:41 AM
To: NT Developers Interest List
Subject: [ntdev] RE: Frustations with Windows Me

WinME uses 16 bit setup code, not 32 bit. It shares the same setup code
as the WIN9x platform, not the Win2k platform. You will need to use the
Win98 DDK and the functions defined there.

-----Original Message-----
From: Joe McCloskey [mailto:xxxxx@gamry.com]
Sent: Monday, June 25, 2001 3:46 PM
To: NT Developers Interest List
Subject: [ntdev] RE: Frustations with Windows Me

Hi,

I am trying to setup a legacy device driver on Win2k and Windows Me.

I am using the SetupDiCreateDeviceInfo() function. The function is
defined
as follows:

BOOLEAN
SetupDiCreateDeviceInfo(
IN HDEVINFO DeviceInfoSet,
IN PCTSTR DeviceName,
IN LPGUID ClassGuid,
IN PCTSTR DeviceDescription, OPTIONAL
IN HWND hwndParent, OPTIONAL
IN DWORD CreationFlags,
OUT PSP_DEVINFO_DATA DeviceInfoData OPTIONAL
);

I use the following:

DeviceInfoSet :- This is generated by
SetupDiCreateDeviceInfoList(MyClassId, );
DeviceName :- MyDeviceName - this is a class defined in my inf file.
We
want to build
“Enum\Root\MyDeviceName\0000”.

ClassGuid:- pointer to MyClassId
DeviceDecription:- NULL - this is used for selection of a device and GUI
output.
CreationFlag :- 0 - The documentation states that DICD_GENERATE_ID or
DICD_INHERIT_CLASSDRVS
work; however, whatever I can only use 0 for the
value.
DeviceInfoData:- This is the structure to receive the newly created
device
instance information. It is preset with
cbSize = sizeof(DeviceInfoData).

MyClassId :- This is a GUID for the device class (defined in my inf
file).
MyDeviceName :- This is the class name for the device(defined in my inf
file).

The creation flag should be able to handle DICD_GENERATE_ID and generate
the
device instance in the tree; however, it gives an “invalid flag” error
message.

The only way I can this function to work is to use the Creation flag of
0
and Set the drive name to the proper setting of
“Root\MyDeviceName\0001”.
The operating system mangles the name into
“Root\MyDeviceName\0001HTREE&ROOT&0”.

Please note the function works on Win2k. . . .

Joe McCloskey
Gamry Instruments
xxxxx@gamry.com

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com]On Behalf Of Sander Pool
Sent: Monday, June 25, 2001 11:36 AM
To: NT Developers Interest List
Subject: [ntdev] RE: Frustations with Windows Me

Joe,

I don’t know the answer but if your application loads fine then Me does
include the setupapi dll, right? What type of error code do you get?
That
might point you in the right direction.

Sander

-----Original Message-----
From: xxxxx@gamry.com [mailto:xxxxx@gamry.com]
Sent: Monday, June 25, 2001 4:36 AM
To: NT Developers Interest List
Subject: [ntdev] Frustations with Windows Me

Hi,

I have been trying to work on Device Driver Installations on
Windows Me and
Windows 2000. When I run the command SetupDiCreateDeviceInfo,
the function
works on Windows 2000; however it fails under Windows Me.
Can anyone help?
Its Windows ME installations not using Setupapi.dll commands?

Joe McCloskey
xxxxx@gamry.com


You are currently subscribed to ntdev as: xxxxx@rhapsodynetworks.com
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com


You are currently subscribed to ntdev as: xxxxx@gamry.com
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com


You are currently subscribed to ntdev as: xxxxx@microsoft.com
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com


You are currently subscribed to ntdev as: xxxxx@gamry.com
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com


You are currently subscribed to ntdev as: $subst(‘Recip.EmailAddr’)
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com

Thanks,

This is a big help. I am starting to code it now.

Is it customary to user the DiXX commands directly or is it better to
use the DiCallClassInstaller with the differerent DIF_XXXX codes?
I am leaning towards the second approach because I think, eventually,
I will be writting a CoInstaller code.

Joe

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com]On Behalf Of Bryan Burgin
Sent: Tuesday, June 26, 2001 10:50 AM
To: NT Developers Interest List
Subject: [ntdev] RE: Frustations with Windows Me

Windows ME uses SETUPX.DLL, a 16-bit component. You will have to write
a 16-bit application. Look at the Windows 98 DDK sample IPNew. To do
this, you must use the 16-bit compiler. It can be found in Visual C
version 1.52c on the Platform Archive CD #3 labeled 16-bit DDKs. The
compiler by itself (without the entire VC IDE) is shipped as part of the
new unified Windows XP DDK in the Bin\Win_Me folder as CL.EXE version
8.00x.

The same is true with custom NDI procedures (see the Windows 98 DDK
sample MyNDI), which shows a Windows 9x/Me NDI Installer (somewhat
similar to a Notify Object in NT/2K).

I hope this helps.

Bryan

-----Original Message-----
From: Sander Pool [mailto:xxxxx@rhapsodynetworks.com]
Sent: Monday, June 25, 2001 11:36 AM
To: NT Developers Interest List
Subject: [ntdev] RE: Frustations with Windows Me

Joe,

I don’t know the answer but if your application loads fine then Me does
include the setupapi dll, right? What type of error code do you get?
That
might point you in the right direction.

Sander

-----Original Message-----
From: xxxxx@gamry.com [mailto:xxxxx@gamry.com]
Sent: Monday, June 25, 2001 4:36 AM
To: NT Developers Interest List
Subject: [ntdev] Frustations with Windows Me

Hi,

I have been trying to work on Device Driver Installations on
Windows Me and
Windows 2000. When I run the command SetupDiCreateDeviceInfo,
the function
works on Windows 2000; however it fails under Windows Me.
Can anyone help?
Its Windows ME installations not using Setupapi.dll commands?

Joe McCloskey
xxxxx@gamry.com


You are currently subscribed to ntdev as: xxxxx@rhapsodynetworks.com
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com


You are currently subscribed to ntdev as: xxxxx@microsoft.com
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com


You are currently subscribed to ntdev as: xxxxx@gamry.com
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com


You are currently subscribed to ntdev as: $subst(‘Recip.EmailAddr’)
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com