Nenhuma investigação de sufixo A/W em plataformas não Windows
Os runtimes do .NET não adicionam mais os sufixos A
ou W
aos nomes de exportação de função durante a investigação de P/Invokes em plataformas não Windows.
Versão introduzida
5,0
Descrição das alterações
O Windows tem a convenção de adicionar os sufixos A
ou W
aos nomes de função do SDK do Windows, que correspondem à página de código e às versões Unicode do Windows, respectivamente.
Em versões anteriores do .NET, os runtimes CoreCLR e Mono adicionam sufixos A
ou W
aos nomes de exportação durante a descoberta de exportação de P/Invokes em todas as plataformas.
No .NET 5 e em versões posteriores, sufixos A
ou W
são adicionados aos nomes de exportação durante a descoberta de exportação somente no Windows. Em plataformas Unix, o sufixo não é adicionado. A semântica de ambos os runtimes na plataforma Windows permanece inalterada.
Motivo da alteração
Essa alteração foi feita para simplificar a investigação entre plataformas. É uma sobrecarga que não deve ser incorrida, dado que as plataformas não Windows não contêm essa semântica.
Ação recomendada
Para atenuar a alteração, você pode adicionar manualmente o sufixo desejado em plataformas não Windows. Por exemplo:
[DllImport(...)]
extern static void SetWindowTextW();