Хостинг .NET в Winlogon (где загружены библиотеки GINA), вероятно, не такая уж и горячая идея - может вызвать всевозможные конфликты, если что-то еще решит сделать то же самое, и если вы удаляете winlogon, вы не получаете где-нибудь с этим ПК. Кроме того, GINA была заменена с Vista на ICredentialProvider (см. здесь ) - поэтому ваши инвестиции будут потеряны, как только вы перейдете на новую ОС. Даже там применяется то же самое: пользовательские поставщики учетных данных загружаются в Winlogon, поэтому, вероятно, не очень хорошая идея использовать там .NET.
Независимо от того, оба они предназначены для поддержки пользовательских модулей аутентификации, а не для «контроля за тем, что делают сотрудники». Существуют и другие способы запуска программного обеспечения на рабочих столах входа в систему, если это то, что вы пытаетесь сделать.
Все это говорит о том, что если вы все еще хотите попробовать это, вам понадобится неуправляемая shim DLL, C ++ / CLI или некоторый IL-хакер (см. здесь ) для экспорта функций GINA, потому что C # может t напрямую экспортировать функции DLL. Чисто управляемое решение C # невозможно.