я должен вызывать lckpwdf () до getspent ()? - PullRequest
1 голос
/ 21 июля 2009

lckpwdf() и ulckpwdf() предназначены для использования только для приложений, напрямую обращающихся к файлу теневого пароля?

Точнее, мой вопрос: если я вызываю обычный API, такой как getspnam() или getspent(), должен ли я сначала вызывать lckpwdf(), или это автоматически выполняется getspnam() и т. Д ...?

1 Ответ

1 голос
/ 21 июля 2009

Вам не нужно использовать lckpwdf(), если вы не планируете вносить изменения в теневой файл. lckpwdf() создал монопольную блокировку файла, в результате чего любой процесс, пытающийся получить доступ к файлу, ожидает, пока блокировка не будет снята. Для чтения теневого файла это крайне не нужно.

Если вы изменяете файл, позвоните lckpwdf() один раз перед вашими изменениями, обработайте их и затем вызовите ulckpwdf(). Кроме того, если вы столкнулись с исключением, обязательно вызовите ulckpwdf().

...