Workers are by default part of MTA thread model and are CoInitialized.
This means COM calls can be made without spawning additional STA threads.
Additionally pass file icon factory for dictionary search instead of providing (potentially not used) new Icon beforehand.
Adjust namespace
Enforce calling conventions
Mark as Windows specific API
Remove empty wrapper calls
Remove obsolete calls
Combine/group logically in files instead of "by function"