80004005h?
Best I can find is its a DB error in things like
Error 80004005 when using ADO or ODBC to connect an Access database - Office | Microsoft Learn
or
You may receive error code 0x80004005 or other error codes when you try to start a Windows XP-based computer (microsoft.com)
The former could be true considering the guids are added once and there is no way to remove the guid from the OS.
Given time, I might be able to stuff many many guids into this Shell_NotifyIcon(NIM_ADD, …) api and work out which file is storing them or where its stored on the hard drive, I do know some system folders are hidden away to most OS processes, but you can find them from the installation files and if some group policies are not enabled, it could be possible to get to them.
So at this stage it appears to be possible to hijack the callback process, which makes me wonder if its possible to obtain the security token of other processes like the networking systray icon, wifi systray icon and other OS level things.
The other test, is to see if I can get notifications off a website to the systray notifications, and if so, to see how far I can get in to hijack a process using web push notification.
edge://settings/content/notifications
RFC 8030: Generic Event Delivery Using HTTP Push (rfc-editor.org)
because it appears that you dont even need MS Edge to be open or running to send web based notifications, but this might be separate to shell notify icon.
Improving notifications and badging in Microsoft Edge - Microsoft Edge Blog (windows.com)
Its all a bit vague tbh so still working through it all.
Worst case scenario is it could be a zero click way into a system after visiting a website.
Edit.
Its an hresult and there is a very interesting video at this link which explains these in more details because I just got an E_INVALIDARG One or more arguments are not valid 0x80070057 for a different api.
HRESULT Error Codes | Microsoft Learn
The original error when I use the same guid throws this.
E_FAIL Unspecified failure 0x80004005
I’m using the CoCreateGuid and CreateUUID api to get my guids/uids stuffed into a group type conforming to the multi element layout for a guid/uuid.
Cant say if the E_Fail is the correct error message though.