Re: classes/ interface/device-setup/etc

Tech-Archive recommends: Repair Windows Errors & Optimize Windows Performance



the guid in [version] is the setup class, typically an INF will have nothing
todo with the interfaces registered. while there are directives to publish a
device interface in an INF, i always use explicit code
(IoRegisterDeviceInterface, IoSetDeviceInterfaceState)

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.


"Mike Fochtman" <MikeFochtman@xxxxxxxxxxxxxxxxxxxxxxxxx> wrote in message
news:A0FF7E3C-2EE1-4AD4-A6A0-E40B7940D928@xxxxxxxxxxxxxxxx
>
>
> "Rados3aw Michalski" wrote:
>
>>
>> "Mike Fochtman" <MikeFochtman@xxxxxxxxxxxxxxxxxxxxxxxxx> wrote in message
>> news:F09FADF8-8300-49DE-ABD0-CC96ABEBB893@xxxxxxxxxxxxxxxx
>> > A question or two about these classes.
>> >
>> > I have a very unique device that needs an interface class of its own.
>> > (really, it doesn't fit any system-defined ones). So, I have a
>> > [InterfaceInstall32] section in my .inf file. I also have a call to
>> > IoRegisterDeviceInterface() in my InitDevice() routine. Or is this
>> > redundant? They register the same GUID.
>> >
>> > Then the documents talk about a device setup class. This is in the
>> > [Version] section of the .inf and has yet another GUID? Since it isn't
>> one
>> > of the system-defined devices, I assume this is also needed. But I
>> > don't
>> > need a CoInstaller because there are no special properties or functions
>> > needed.
>> >
>> > And where does the [ClassInstall32] section of the .inf file fit into
>> this?
>> > At times in the ddk I think I start to sort these all out, then it gets
>> all
>> > blurry again.
>> >
>> > Non system-defined device, simple interface, just want
>> > Create/Close/Read/Write. But 'device setup class', 'interface class'
>> > and
>> so
>> > many GUIDS...
>> >
>> > Thanks for any help in sorting these out.
>>
>>
>> If I make device class i define ne guid.
>> For my device in version I use this guid.
>>
>> I make section for install this class
>> [ClassInstall]
>> AddReg=_AddReg_ClassInstall
>>
>> ; install class, Windows 2000:
>> [ClassInstall32]
>> AddReg=_AddReg_ClassInstall
>>
>> ; registry entries required for class
>> [_AddReg_ClassInstall]
>> HKR,,,,"%S_DeviceClassDisplayName%"
>> HKR,,Icon,,"-20"
>>
>>
>> this set display name of class and icon - As icon I use standard usb
>> icon.
>>
>
> Thanks for your reply.
>
> I guess the key thing I'm still confused about is that in the [Version]
> section of the .inf file, is that the 'device setup class', or the 'device
> interface class'.
>
> My driver registers its own 'device interface class', and I installed that
> with the [InterfaceInstall32] section of my .inf, right?
>
> But the 'device setup class' is a different guid, and matches the
> [Version]
> 'ClassGuid'/'Class'? And that's installed in a [ClassInstall32] section
> of
> the .inf ??
>
> I think my 'device interface class' is going to be somewhat redundant
> since
> my driver creates a symbolic link to a 'well known' name
> (\\DosDevice\\Sim0).
> And my customer apps access the device under my old driver version with
> 'CreateFile("\\DosDevice\\Sim0".....).
>
> Thanks Again,
> Mike


.



Relevant Pages

  • Re: Question about SetupDiGetClassDevs and SetupDiEnumDeviceInterfaces
    ... a device interface GUID is a contract. ... SetupDiEnumDeviceInterfaces fails because I need to pass it a class GUID ... caused by the fact that a driver could register any number of ...
    (microsoft.public.development.device.drivers)
  • Re: C# COM in COM+ without using EnterpriseServices
    ... Have you try to register your serviced component using regsvcs tool? ... Interface has these attributes set: ... > GuidAttribute("another guid"), ClassInterface ...
    (microsoft.public.dotnet.distributed_apps)
  • Re: Cant create COM interface
    ... the IWWKBSerializerinterface has Guid and ... The IWWKBSerializer has no interface ... > Really, I didn't want to register this assembly for COM interop, but I ...
    (microsoft.public.dotnet.framework.interop)
  • Re: Private filters with custom interfaces
    ... >register it so I do not define its own GUID. ... If you want to use CComPtr/CComQIPtr and get the interface through ... NonDelegatingQueryInterface() then yes, you do need a GUID for the ...
    (microsoft.public.win32.programmer.directx.video)
  • Re: static or not?
    ... >> Thus, for example, controller.Driver will register its Controller ... > "If I use a singleton, then I can strip away an interface from this ... > if this is done from class foo, what's foo's package? ...
    (comp.lang.java.help)