how to write a class driver for windows IOT core device ?

Hello Tim

Thank you for the response.
I have thried by setting following set of configuration values in the registry as per this link https://docs.microsoft.com/en-us/windows-hardware/drivers/usbcon/usb-registry-settings-for-a-function-controller-driver.
Can you please let me know if I am missing anything.?

**HKLM\System\ControlSet001\Control\USBFN\Configurations\MyConfiguration **
/v InterfaceList /t REG_MULTI_SZ /d GENERICUSBFN\0MTP /f
/v InterfaceDescriptor /t REG_BINARY /d 09040100020A000006 /
/v InterfaceGUID /t REG_SZ /d “{B7E6B162-1130-4CE1-80FC-B1369717147E}” /f

**HKLMSystem\CurrentControlSet\Control\USBFN **
/v CurrentConfiguration /t REG_SZ /d MyConfiguration /f

**HKLM\System\ControlSet001\Control\USBFN\Interfaces\GENERICUSBFN **
/v InterfaceDescriptor /t REG_BINARY /d 09040100020A000006 /f
/v InterfaceGUID /t REG_SZ /d “{B7E6B162-1130-4CE1-80FC-B1369717147E}” /f
/v InterfaceNumber /t REG_DWORD /d 40 /f

**HKLM\System\ControlSet001\Control\USBFN **
/v IncludeDefaultCfg /t REG_DWORD /d 1 /f

HKLM\System\ControlSet001\Control\USBFN\default
/v bcdDevice /t REG_DWORD /d 0401 /f
/v bDeviceClass /t REG_DWORD /d 02 /f
/v bDeviceProtocol /t REG_DWORD /d 00 /f
/v bDeviceSubClass /t REG_DWORD /d 00 /f
/v idProduct /t REG_DWORD /d 0525 /f
/v idVendor /t REG_DWORD /d 0xA4A7 /f
/v iManufacturer /t REG_DWORD /d 01 /f
/v iSerialNumber /t REG_DWORD /d 00 /f
/v ManufacturerString /t REG_SZ /d “Minds Pvt Ltd” /f
/v ProductString /t REG_SZ /d “Datacolor” /f
/v bNumConfigurations /t REG_DWORD /d 03 /f

HKLM\System\CurrentControlSet\Control\USBFN\Configurations\Default
/v bmAttributes /t REG_DWORD /d 0xC0 /f
/v bMaxPower /t REG_DWORD /d 01 /f

HKLM\System\CurrentControlSet\Control\USBFN\Configurations\Default /v InterfaceList
/t REG_MULTI_SZ /d “GENERICUSBFN\0MTP” /f
/v InterfaceDescriptor /t REG_BINARY /d 09040100020A000006 /f
/v InterfaceGUID /t REG_SZ /d “{B7E6B162-1130-4CE1-80FC-B1369717147E}” /f

Thank you & Regards
Lokesh

Hello Tim

Thank you for the response.
I have thried by setting following set of configuration values in the registry as per this link https://docs.microsoft.com/en-us/windows-hardware/drivers/usbcon/usb-registry-settings-for-a-function-controller-driver.
Can you please let me know if I am missing anything.?

**HKLM\System\ControlSet001\Control\USBFN\Configurations\MyConfiguration **
/v InterfaceList /t REG_MULTI_SZ /d GENERICUSBFN\0MTP /f
/v InterfaceDescriptor /t REG_BINARY /d 09040100020A000006 /
/v InterfaceGUID /t REG_SZ /d “{B7E6B162-1130-4CE1-80FC-B1369717147E}” /f

**HKLMSystem\CurrentControlSet\Control\USBFN **
/v CurrentConfiguration /t REG_SZ /d MyConfiguration /f

**HKLM\System\ControlSet001\Control\USBFN\Interfaces\GENERICUSBFN **
/v InterfaceDescriptor /t REG_BINARY /d 09040100020A000006 /f
/v InterfaceGUID /t REG_SZ /d “{B7E6B162-1130-4CE1-80FC-B1369717147E}” /f
/v InterfaceNumber /t REG_DWORD /d 40 /f

**HKLM\System\ControlSet001\Control\USBFN **
/v IncludeDefaultCfg /t REG_DWORD /d 1 /f

HKLM\System\ControlSet001\Control\USBFN\default
/v bcdDevice /t REG_DWORD /d 0401 /f
/v bDeviceClass /t REG_DWORD /d 02 /f
/v bDeviceProtocol /t REG_DWORD /d 00 /f
/v bDeviceSubClass /t REG_DWORD /d 00 /f
/v idProduct /t REG_DWORD /d 0525 /f
/v idVendor /t REG_DWORD /d 0xA4A7 /f
/v iManufacturer /t REG_DWORD /d 01 /f
/v iSerialNumber /t REG_DWORD /d 00 /f
/v ManufacturerString /t REG_SZ /d “Minds Pvt Ltd” /f
/v ProductString /t REG_SZ /d “Datacolor” /f
/v bNumConfigurations /t REG_DWORD /d 03 /f

HKLM\System\CurrentControlSet\Control\USBFN\Configurations\Default
/v bmAttributes /t REG_DWORD /d 0xC0 /f
/v bMaxPower /t REG_DWORD /d 01 /f

HKLM\System\CurrentControlSet\Control\USBFN\Configurations\Default /v InterfaceList
/t REG_MULTI_SZ /d “GENERICUSBFN\0MTP” /f
/v InterfaceDescriptor /t REG_BINARY /d 09040100020A000006 /f
/v InterfaceGUID /t REG_SZ /d “{B7E6B162-1130-4CE1-80FC-B1369717147E}” /f

Thank you & Regards
Lokesh

Hello Tim
I have set the InterfaceGUID in the CurrentControlSet\Control\USBFN\Interfaces and also other configurations required by the USBFN.
Still I am not able to to get the InterfaceGUID by using CM_Get_Device_Interface_List from the Application.

@Tim_Roberts said:

When GenericUsbFn comes up, it will register that GUID as an interface, and CM_Get_Device_Interface_List searches through the list of registered interfaces.<<
I am not seeing GenericUsbFn coming up and start running. That is where the real problem exists. I am not sure what additional things I need to do to bring the GenericUsbFn into running state.

Hello Tim
I have set the InterfaceGUID in the CurrentControlSet\Control\USBFN\Interfaces and also other configurations required by the USBFN.
Still I am not able to to get the InterfaceGUID by using CM_Get_Device_Interface_List from the Application.

@Tim_Roberts said:

When GenericUsbFn comes up, it will register that GUID as an interface, and CM_Get_Device_Interface_List searches through the list of registered interfaces.<<
I am not seeing GenericUsbFn coming up and running. That is where the real problem exists. I am not sure what additional things I need to do to bring the GenericUsbFn into running

Hello Tim
I have set the InterfaceGUID in the registry CurrentControlSet\Control\USBFN\Interfaces and also other configurations required by the USBFN. Still I am not able to get the InterfaceGUID by using CM_Get_Device_Interface_List from the Application.
Can you please help me with what are the minimum configurations to be set by the USBFN to bring the GenericUsbFn into running state.

@Tim_Roberts said:

When GenericUsbFn comes up, it will register that GUID as an interface, and CM_Get_Device_Interface_List searches through the list of registered interfaces.<<
I am not seeing GenericUsbFn coming up and registering the interface. That is where the real problem exists. I am not sure what additional things I need to perform to bring the GenericUsbFn into running state.

Hello Tim
I have set the InterfaceGUID in the registry CurrentControlSet\Control\USBFN\Interfaces and also other configurations required by the USBFN. Still I am not able to get the InterfaceGUID by using CM_Get_Device_Interface_List from the Application.
Can you please help me with what are the minimum configurations to be set by the USBFN to bring the GenericUsbFn into running state.

@Tim_Roberts said:

When GenericUsbFn comes up, it will register that GUID as an interface, and CM_Get_Device_Interface_List searches through the list of registered interfaces.<<
I am not seeing GenericUsbFn coming up and registering the interface. That is where the real problem exists. I am not sure what additional things I need to perform to bring the GenericUsbFn into running state.

Hello Tim
I have set the InterfaceGUID in the registry CurrentControlSet\Control\USBFN\Interfaces and also other configurations required by the USBFN. Still I am not able to get the InterfaceGUID by using CM_Get_Device_Interface_List from the Application.
Can you please help me with what are the minimum configurations to be set by the USBFN to bring the GenericUsbFn into running state.

@Tim_Roberts said:

When GenericUsbFn comes up, it will register that GUID as an interface, and CM_Get_Device_Interface_List searches through the list of registered interfaces.<<
I am not seeing GenericUsbFn coming up and registering the interface. That is where the real problem exists. I am not sure what additional things I need to perform to bring the GenericUsbFn into running state.

Hello Tim
I have set the InterfaceGUID in the registry CurrentControlSet\Control\USBFN\Interfaces and also other configurations required by the USBFN. Still I am not able to get the InterfaceGUID by using CM_Get_Device_Interface_List from the Application.
Can you please help me with what are the minimum configurations to be set by the USBFN to bring the GenericUsbFn into running state.

@Tim_Roberts said:

When GenericUsbFn comes up, it will register that GUID as an interface, and CM_Get_Device_Interface_List searches through the list of registered interfaces.<<
I am not seeing GenericUsbFn coming up and registering the interface. That is where the real problem exists. I am not sure what additional things I need to perform to bring the GenericUsbFn into running state.

Hello Tim
I have set the InterfaceGUID in the registry CurrentControlSet\Control\USBFN\Interfaces and also other configurations required by the USBFN. Still I am not able to get the InterfaceGUID by using CM_Get_Device_Interface_List from the Application.
Can you please help me with what are the minimum configurations to be set by the USBFN to bring the GenericUsbFn into running state.

@Tim_Roberts said:

When GenericUsbFn comes up, it will register that GUID as an interface, and CM_Get_Device_Interface_List searches through the list of registered interfaces.<<
I am not seeing GenericUsbFn coming up and registering the interface. That is where the real problem exists. I am not sure what additional things I need to perform to bring the GenericUsbFn into running state.

Hello Tim

Thank you for the response.
I have thried by setting following set of configuration values in the registry as per this link https://docs.microsoft.com/en-us/windows-hardware/drivers/usbcon/usb-registry-settings-for-a-function-controller-driver.
Can you please let me know if I am missing anything.?

**HKLM\System\ControlSet001\Control\USBFN\Configurations\MyConfiguration **
/v InterfaceList /t REG_MULTI_SZ /d GENERICUSBFN\0MTP /f
/v InterfaceDescriptor /t REG_BINARY /d 09040100020A000006 /
/v InterfaceGUID /t REG_SZ /d “{B7E6B162-1130-4CE1-80FC-B1369717147E}” /f

**HKLMSystem\CurrentControlSet\Control\USBFN **
/v CurrentConfiguration /t REG_SZ /d MyConfiguration /f

**HKLM\System\ControlSet001\Control\USBFN\Interfaces\GENERICUSBFN **
/v InterfaceDescriptor /t REG_BINARY /d 09040100020A000006 /f
/v InterfaceGUID /t REG_SZ /d “{B7E6B162-1130-4CE1-80FC-B1369717147E}” /f
/v InterfaceNumber /t REG_DWORD /d 40 /f

**HKLM\System\ControlSet001\Control\USBFN **
/v IncludeDefaultCfg /t REG_DWORD /d 1 /f

HKLM\System\ControlSet001\Control\USBFN\default
/v bcdDevice /t REG_DWORD /d 0401 /f
/v bDeviceClass /t REG_DWORD /d 02 /f
/v bDeviceProtocol /t REG_DWORD /d 00 /f
/v bDeviceSubClass /t REG_DWORD /d 00 /f
/v idProduct /t REG_DWORD /d 0525 /f
/v idVendor /t REG_DWORD /d 0xA4A7 /f
/v iManufacturer /t REG_DWORD /d 01 /f
/v iSerialNumber /t REG_DWORD /d 00 /f
/v ManufacturerString /t REG_SZ /d “Minds Pvt Ltd” /f
/v ProductString /t REG_SZ /d “Datacolor” /f
/v bNumConfigurations /t REG_DWORD /d 03 /f

HKLM\System\CurrentControlSet\Control\USBFN\Configurations\Default
/v bmAttributes /t REG_DWORD /d 0xC0 /f
/v bMaxPower /t REG_DWORD /d 01 /f

HKLM\System\CurrentControlSet\Control\USBFN\Configurations\Default /v InterfaceList
/t REG_MULTI_SZ /d “GENERICUSBFN\0MTP” /f
/v InterfaceDescriptor /t REG_BINARY /d 09040100020A000006 /f
/v InterfaceGUID /t REG_SZ /d “{B7E6B162-1130-4CE1-80FC-B1369717147E}” /f

Thank you & Regards
Lokesh

Hello Tim

Thank you for the response.
I have thried by setting following set of configuration values in the registry as per this link https://docs.microsoft.com/en-us/windows-hardware/drivers/usbcon/usb-registry-settings-for-a-function-controller-driver.
Can you please let me know if I am missing anything.?

**HKLM\System\ControlSet001\Control\USBFN\Configurations\MyConfiguration **
/v InterfaceList /t REG_MULTI_SZ /d GENERICUSBFN\0MTP /f
/v InterfaceDescriptor /t REG_BINARY /d 09040100020A000006 /
/v InterfaceGUID /t REG_SZ /d “{B7E6B162-1130-4CE1-80FC-B1369717147E}” /f

**HKLMSystem\CurrentControlSet\Control\USBFN **
/v CurrentConfiguration /t REG_SZ /d MyConfiguration /f

**HKLM\System\ControlSet001\Control\USBFN\Interfaces\GENERICUSBFN **
/v InterfaceDescriptor /t REG_BINARY /d 09040100020A000006 /f
/v InterfaceGUID /t REG_SZ /d “{B7E6B162-1130-4CE1-80FC-B1369717147E}” /f
/v InterfaceNumber /t REG_DWORD /d 40 /f

**HKLM\System\ControlSet001\Control\USBFN **
/v IncludeDefaultCfg /t REG_DWORD /d 1 /f

HKLM\System\ControlSet001\Control\USBFN\default
/v bcdDevice /t REG_DWORD /d 0401 /f
/v bDeviceClass /t REG_DWORD /d 02 /f
/v bDeviceProtocol /t REG_DWORD /d 00 /f
/v bDeviceSubClass /t REG_DWORD /d 00 /f
/v idProduct /t REG_DWORD /d 0525 /f
/v idVendor /t REG_DWORD /d 0xA4A7 /f
/v iManufacturer /t REG_DWORD /d 01 /f
/v iSerialNumber /t REG_DWORD /d 00 /f
/v ManufacturerString /t REG_SZ /d “Minds Pvt Ltd” /f
/v ProductString /t REG_SZ /d “Datacolor” /f
/v bNumConfigurations /t REG_DWORD /d 03 /f

HKLM\System\CurrentControlSet\Control\USBFN\Configurations\Default
/v bmAttributes /t REG_DWORD /d 0xC0 /f
/v bMaxPower /t REG_DWORD /d 01 /f

HKLM\System\CurrentControlSet\Control\USBFN\Configurations\Default /v InterfaceList
/t REG_MULTI_SZ /d “GENERICUSBFN\0MTP” /f
/v InterfaceDescriptor /t REG_BINARY /d 09040100020A000006 /f
/v InterfaceGUID /t REG_SZ /d “{B7E6B162-1130-4CE1-80FC-B1369717147E}” /f

Thank you & Regards
Lokesh

Hello Tim
I have set the InterfaceGUID in the CurrentControlSet\Control\USBFN\Interfaces and also other configurations required by the USBFN.
Still I am not able to to get the InterfaceGUID by using CM_Get_Device_Interface_List from the Application.

@Tim_Roberts said:

When GenericUsbFn comes up, it will register that GUID as an interface, and CM_Get_Device_Interface_List searches through the list of registered interfaces.<<
I am not seeing GenericUsbFn coming up and start running. That is where the real problem exists. I am not sure what additional things I need to do to bring the GenericUsbFn into running state.

Hello Tim
I have set the InterfaceGUID in the CurrentControlSet\Control\USBFN\Interfaces and also other configurations required by the USBFN.
Still I am not able to to get the InterfaceGUID by using CM_Get_Device_Interface_List from the Application.

@Tim_Roberts said:

When GenericUsbFn comes up, it will register that GUID as an interface, and CM_Get_Device_Interface_List searches through the list of registered interfaces.<<
I am not seeing GenericUsbFn coming up and running. That is where the real problem exists. I am not sure what additional things I need to do to bring the GenericUsbFn into running

Hello Tim
I have set the InterfaceGUID in the registry CurrentControlSet\Control\USBFN\Interfaces and also other configurations required by the USBFN. Still I am not able to get the InterfaceGUID by using CM_Get_Device_Interface_List from the Application.
Can you please help me with what are the minimum configurations to be set by the USBFN to bring the GenericUsbFn into running state.

@Tim_Roberts said:

When GenericUsbFn comes up, it will register that GUID as an interface, and CM_Get_Device_Interface_List searches through the list of registered interfaces.<<
I am not seeing GenericUsbFn coming up and registering the interface. That is where the real problem exists. I am not sure what additional things I need to perform to bring the GenericUsbFn into running state.

Hello Tim
I have set the InterfaceGUID in the registry CurrentControlSet\Control\USBFN\Interfaces and also other configurations required by the USBFN. Still I am not able to get the InterfaceGUID by using CM_Get_Device_Interface_List from the Application.
Can you please help me with what are the minimum configurations to be set by the USBFN to bring the GenericUsbFn into running state.

@Tim_Roberts said:

When GenericUsbFn comes up, it will register that GUID as an interface, and CM_Get_Device_Interface_List searches through the list of registered interfaces.<<
I am not seeing GenericUsbFn coming up and registering the interface. That is where the real problem exists. I am not sure what additional things I need to perform to bring the GenericUsbFn into running state.

Hello Tim
I have set the InterfaceGUID in the registry CurrentControlSet\Control\USBFN\Interfaces and also other configurations required by the USBFN. Still I am not able to get the InterfaceGUID by using CM_Get_Device_Interface_List from the Application.
Can you please help me with what are the minimum configurations to be set by the USBFN to bring the GenericUsbFn into running state.

@Tim_Roberts said:

When GenericUsbFn comes up, it will register that GUID as an interface, and CM_Get_Device_Interface_List searches through the list of registered interfaces.<<
I am not seeing GenericUsbFn coming up and registering the interface. That is where the real problem exists. I am not sure what additional things I need to perform to bring the GenericUsbFn into running state.

Hello Tim
I have set the InterfaceGUID in the registry CurrentControlSet\Control\USBFN\Interfaces and also other configurations required by the USBFN. Still I am not able to get the InterfaceGUID by using CM_Get_Device_Interface_List from the Application.
Can you please help me with what are the minimum configurations to be set by the USBFN to bring the GenericUsbFn into running state.

@Tim_Roberts said:

When GenericUsbFn comes up, it will register that GUID as an interface, and CM_Get_Device_Interface_List searches through the list of registered interfaces.<<
I am not seeing GenericUsbFn coming up and registering the interface. That is where the real problem exists. I am not sure what additional things I need to perform to bring the GenericUsbFn into running state.

Hello Tim
I have set the InterfaceGUID in the registry CurrentControlSet\Control\USBFN\Interfaces and also other configurations required by the USBFN. Still I am not able to get the InterfaceGUID by using CM_Get_Device_Interface_List from the Application.
Can you please help me with what are the minimum configurations to be set by the USBFN to bring the GenericUsbFn into running state.

@Tim_Roberts said:

When GenericUsbFn comes up, it will register that GUID as an interface, and CM_Get_Device_Interface_List searches through the list of registered interfaces.<<
I am not seeing GenericUsbFn coming up and registering the interface. That is where the real problem exists. I am not sure what additional things I need to perform to bring the GenericUsbFn into running state.

You know, @lokichitti … When you post something, and it doesn’t appear, that probably means it’s stuck in the spam queue. It is pointless, and more than ridiculous, to keep submitting the same post over and over. You know the definition of insanity, right??

PLEASE READ AND FOLLOW THE FORUM GUIDELINES.

Peter

Hello Peter
I am sorry for the inconvenience. Some of those posts are reflecting after 3, 4 days after submitting. I am not aware of it why is it happened so. When I was submitted only one post was appeared after multiple attempts.
Can I please get any button to remove the duplicate posts?