I'm assuming you know that hidclass.sys is just library on Windows and intentionally made your version its own service to simplify things. If that's not true I can elaborate.
On 2015-06-22 03:24, Aric Stewart wrote:
--- /dev/null +++ b/dlls/hidclass.sys/main.c
+NTSTATUS WINAPI HidRegisterMinidriver(PHID_MINIDRIVER_REGISTRATION registration) +{
- minidriver *driver;
- driver = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(*driver));
- if (!driver)
return STATUS_NO_MEMORY;
- driver->minidriver = registration;
It's a bit unusual to assume that the registration structure will live longer than the scope of this function. Fine for the built-in driver you have but this would certainly have to copy the members if it were to support "real" minidrivers.
- list_add_tail(&minidriver_list, &driver->entry);
- return STATUS_SUCCESS;
+}