Aracılığıyla paylaş


Windows olmayan platformlarda A/W eklenti yoklaması yapılmaz.

.NET çalışma zamanları, artık Windows dışı platformlarda P/Invoke'ları sorgularken fonksiyon dışa aktarma isimlerine A veya W son eklerini eklemiyor.

Sürüm kullanıma sunulmuştur

5.0

Açıklamayı değiştir

Windows, Windows SDK işlev adlarına, sırasıyla Windows kod sayfası ve Unicode sürümlerine karşılık gelen bir veya A son eki ekleme kuralına sahiptir.

.NET'in önceki sürümlerinde hem CoreCLR hem de Mono çalışma zamanları, tüm platformlardaki P/Invoke'lar için dışa aktarma keşfi sırasında dışa aktarma adına bir A veya W son eki eklerdi.

.NET 5 ve sonraki sürümlerde, A dışarı aktarma keşfi sırasında dışarı aktarma adına bir W veya son eki eklenir. Unix platformlarında sonek eklenmez. Windows platformundaki her iki çalışma zamanının semantiği değişmeden kalır.

Değişiklik nedeni

Bu değişiklik platformlar arası araştırmayı basitleştirmek için yapılmıştır. Windows dışı platformların bu semantiği içermemesi nedeniyle tahakkuk etmemesi gereken ek yük söz konusudur.

Değişikliği azaltmak için Windows dışı platformlarda istediğiniz son eki el ile ekleyebilirsiniz. Örneğin:

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

Etkilenen API'ler