Megosztás a következőn keresztül:


Nincs A/W utótag-lekérdezés nem Windows-platformokon.

A .NET-futtatókörnyezetek már nem adnak hozzá utótagot A vagy W utótagot a függvényexportálási nevekhez a P/Invokes nem Windows-platformokon való próbaidőszaka során.

Bevezetett verzió

5,0

Módosítás leírása

A Windows konvenciója szerint a Windows SDK-függvénynevekhez olyan utótagot vagy A utótagot kell hozzáadniW, amely megfelel a Windows kódlapjának és a Unicode-verzióknak.

A .NET korábbi verzióiban a CoreCLR és a Mono futtatókörnyezetek is hozzáadnak egy A vagy W utótagot az exportálás nevére a P/Invokes exportálási felderítése során minden platformon.

A .NET 5 és újabb verzióiban egy A vagy W utótagot adnak az exportnévhez az exportálás felderítése során csak Windows rendszeren. Unix-platformokon a rendszer nem ad hozzá utótagot. A Windows platform mindkét futtatókörnyezetének szemantikája változatlan marad.

A változás oka

Ezt a módosítást a platformfüggetlen tesztelés egyszerűsítése érdekében hajtották végre. Ez a többletterhelés nem merülhet fel, mivel a nem Windows-platformok nem tartalmazzák ezt a szemantikai elemet.

A módosítás enyhítése érdekében manuálisan is hozzáadhatja a kívánt utótagot a nem Windows-platformokon. Például:

[DllImport(...)]
extern static void SetWindowTextW();

Érintett API-k