Процедура инициализации может быть любой экспортируемой функцией.Хитрость в том, чтобы «требовать, чтобы другие приложения вызывали его».Чтобы обеспечить его выполнение, вам необходимо проверить, был ли он вызван практически во всех других экспортируемых функциях.Если каждая экспортируемая функция имеет некоторый общий префиксный код, это было бы хорошим местом для проверки, была ли вызвана функция инициализации.
Если, тем не менее, вам нужно проверить, была ли она вызвана в каждой отдельной точке входаЭто может быть проще для потребителей DLL, если вы на самом деле вызываете эту функцию автоматически, если она не была вызвана.Это, скорее всего, требует дополнительной работы по обеспечению безопасности потоков.Вам потребуется критический раздел (или мьютекс, семафор и т. Д.), Чтобы он вызывался только один раз.