Linkertoolwarnung LNK4222
Dem exportierten Symbol 'Symbol' sollte keine Ordinalzahl zugewiesen sein
Die folgenden Symbole sollten nicht anhand der Ordinalzahl exportiert werden:
DllCanUnloadNow
DllGetClassObject
DllGetClassFactoryFromClassString
DllInstall
DllRegisterServer
DllRegisterServerEx
DllUnregisterServer
Diese Funktionen werden unter Verwendung von GetProcAddress immer anhand ihres Namens gesucht.In dieser Situation wird eine Linkerwarnung ausgegeben, da die Anwendung durch diesen Exporttyp vergrößert werden könnte.Dies ist z. B. der Fall, wenn der anhand der Ordinalzahl durchgeführte Export einen großen Bereich, aber relativ wenige Objekte umfasst.Beispiel:
EXPORTS
DllGetClassObject @1
MyOtherAPI @100
Die vorangehenden Codezeilen erfordern 100 Umsetzungsplätze in der Exportadressentabelle, wobei 98 davon (2-99) lediglich als Füllzeichen dienen.Die folgenden Zeilen
EXPORTS
DllGetClassObject
MyOtherAPI @100
erfordern jedoch nur zwei Umsetzungsplätze.(Beachten Sie, dass auch mit der /EXPORT-Linkeroption exportiert werden kann.)