Compartilhar via


Aviso das ferramentas de vinculador LNK4222

símbolo exportado 'symbol' não pode ser assinalado como ordinal

Os seguintes símbolos não devem ser exportados por ordinal:

  • DllCanUnloadNow

  • DllGetClassObject

  • DllGetClassFactoryFromClassString

  • DllInstall

  • DllRegisterServer

  • DllRegisterServerEx

  • DllUnregisterServer

Essas funções estão sempre localizadas por nome, usando GetProcAddress. O vinculador avisa sobre esse tipo de exportação porque pode resultar em uma imagem maior. Isso pode acontecer se o intervalo de suas exportações ordinais for grande, com relativamente poucas exportações. Por exemplo,

EXPORTS
   DllGetClassObject   @1
   MyOtherAPI      @100

exigirá 100 slots na tabela de endereços de exportação com 98 deles (2-99) apenas para preenchimento. Por outro lado,

EXPORTS
   DllGetClassObject
   MyOtherAPI      @100

exigirá dois slots. (Lembre-se de que você também pode exportar com a opção do vinculador /EXPORT.)