Пожалуйста, не помещайте свои собственные DLL в C: \ Windows \ system32. Если вы собираетесь использовать часть Windows, например user32.dll, вы никуда ее не поместите, она уже есть и будет найдена во время выполнения, потому что C: \ Windows \ system32 находится на пути. Если вы собираетесь использовать свою собственную DLL, поместите ее в папку bin или bin \ Debug или любую другую папку рядом с вашей исполняемой программой. Это проще всего сделать, добавив его в проект, чтобы он копировал в выходной каталог при сборке, но у вас может быть MSI или что-то еще. Если он используется несколькими приложениями, вы должны решить, хотите ли вы, чтобы все они начали использовать новое после его обновления или довольны существующими копиями. Это может быть сложный вопрос, и у вас достаточно работы для одного приложения, верно?
Что касается точки входа, это имя функции внутри DLL. Если вы используете одно и то же имя в вашем управляемом коде, вы можете его пропустить. Это позволяет сопоставить имя функции DLL, которое может оказаться сложным, с более простым именем, которое вы используете в управляемом коде.