Results Delphi users who wish to use HID USB in windows
- by Lex Dean
Results Delphi users who wish to use HID USB in windows
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\USB
Contain a list if keys containing vender ID and Producer ID numbers that co inside with the USB web sites data base. These numbers and the GUID held within the key gives important information to execute the HID.dll that is otherwise imposable to execute.
The Control Panel/System/Hardware/Device manager/USB Serial Bus Controllers/Mass Storage Devices/details simply lists the registry data.
The access to the programmer has been documented through the API32.dll with a number of procedures that accesses the registry. But that is not the problem yet it looks like the problem!!!!!!!!!
The key is info about the registry and how to use it. These keys are viewed in RegEdit.exe it’s self. Some parts of the registry like the USB have been given a windows security system type of protection with a Aurthz.dll to give the USB read and right protection. Even the api32.dll.
Now only Microsoft give out these details and we all know Microsoft hate Delphi.
Now C users have enjoyed this access for over 10 years now. Now some will make out that you should never give out such information because some idiot may make a stupid virus (true), but the argument is also do Delphi users need to be denied USB access for another ten years!!!!!!!!!!!!.
What I do not have is the skill in is assembly code. I’m seeking for some one that can trace how regedit.exe gets its access through Aurthz.dll to access the USB data. So I’m asking all who reads this:- to partition any friend they have that has this skill to get the Aurthz.dll info needed.
I find communicating with USB.org they reply when they have a positive email reply but do not bother should their email be a slightly negative policy.
For all simple reasoning, all that USB had to do was to have a secure key as they have done, and to update the same data into a unsecured key every time the data is changed for USB developer to access. And not bother developers access to Aurthz.dll.
Authz.dll with these functions for USB:-
AuthzFreeResourceManager
AuthzFreeContext
AuthzAccessCheck(Flags: DWORD;
AuthzClientContext: AUTHZ_CLIENT_CONTEXT_HANDLE;
pRequest: PAUTHZ_ACCESS_REQUEST;
AuditInfo: AUTHZ_AUDIT_INFO_HANDLE;
pSecurityDescriptor: PSECURITY_DESCRIPTOR;
OptionalSecurityDescriptorArray: PSECURITY_DESCRIPTOR;
OptionalSecurityDescriptorCount: DWORD; //OPTIONAL,
Var pReply: AUTHZ_ACCESS_REPLY;
pAuthzHandle: PAUTHZ_ACCESS_CHECK_RESULTS_HANDLE): BOOl;
AuthzInitializeContextFromSid(Flags: DWORD;
UserSid: PSID;
AuthzResourceManager: AUTHZ_RESOURCE_MANAGER_HANDLE;
pExpirationTime: int64;
Identifier: LUID;
DynamicGroupArgs: PVOID;
pAuthzClientContext: PAUTHZ_CLIENT_CONTEXT_HANDLE): BOOL;
AuthzInitializeResourceManager(flags: DWORD;
pfnAccessCheck: PFN_AUTHZ_DYNAMIC_ACCESS_CHECK;
pfnComputeDynamicGroups: PFN_AUTHZ_COMPUTE_DYNAMIC_GROUPS;
pfnFreeDynamicGroups: PFN_AUTHZ_FREE_DYNAMIC_GROUPS;
ResourceManagerName: PWideChar;
pAuthzResourceManager: PAUTHZ_RESOURCE_MANAGER_HANDLE): BOOL;
further in Authz.h on kolers.com
J Lex Dean.