iRacing crashes during UI and/or background service initialisation under Wine when `DNSAPI.dll` entry points are called and not found. The crash manifests as an unimplemented function abort in the Steam Proton log: `wine: Call from ... to unimplemented function DNSAPI.dll.DnsServiceConstructInstance, aborting` My research suggests iRacing uses this api to discover local network devices or services, likely searching for Apple Vision Pro hardware on the local network based upon recent updates to the game. This patch adds the `DNS_SERVICE_INSTANCE` structure and `PDNS_SERVICE_INSTANCE` typedef to `windns.h`, which were missing entirely, along with the associated callback typedefs `DNS_SERVICE_REGISTER_COMPLETE` and `DNS_SERVICE_RESOLVE_COMPLETE` that depend on them. `DnsServiceConstructInstance` has been given a functional implementation that allocates and populates a `DNS_SERVICE_INSTANCE` structure and `DnsServiceFreeInstance` has been implemented to free it. The remaining DNS-SD entry points (`DnsServiceRegister`, `DnsServiceDeRegister`, `DnsServiceRegisterCancel`, `DnsServiceResolve`, `DnsServiceResolveCancel`, and `DnsServiceBrowseCancel`) are implemented as stubs returning appropriate values with `FIXME` traces, replacing the hard aborts that previously prevented iRacing from reaching its UI. -- https://gitlab.winehq.org/wine/wine/-/merge_requests/11208