Добавил:
Upload
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:
#include <windows.h>
#include <stdio.h>
int main()
{
LPTSTR lpPrivDisplayName = NULL; // адрес имени привилегии для отображения
DWORD dwLength = 0; // длина имени привилегии
DWORD dwLangId; // идентификатор языка
DWORD dwRetCode; // код возврата
// определяем длину имени привилегии для отображения
if (!LookupPrivilegeDisplayName (
NULL, // локальная машина
SE_SHUTDOWN_NAME, // имя привилегии
lpPrivDisplayName, // адрес для имени привилегии
&dwLength, // адрес длины буфера
&dwLangId)) // адрес идентификатора языка
{
dwRetCode = GetLastError();
if (dwRetCode != ERROR_INSUFFICIENT_BUFFER)
{
perror("Lookup privilege display name failed.\n");
printf("The last error code: %u\n", dwRetCode);
return dwRetCode;
}
// захватываем память для имени привилегии
lpPrivDisplayName = new char[dwLength + 1];
}
// определяем имя привилегии для отображения
if (!LookupPrivilegeDisplayName (
NULL, // локальная машина
SE_SHUTDOWN_NAME, // имя привилегии
lpPrivDisplayName, // адрес для имени привилегии
&dwLength, // адрес длины буфера
&dwLangId)) // адрес идентификатора языка
{
dwRetCode = GetLastError();
perror("Lookup privilege display name failed.\n");
printf("The last error code: %u\n", dwRetCode);
return dwRetCode;
}
// распечатываем имя привилегии и идентификатор языка
printf("Display name of the privilege SE_SHUTDOWN_NAME:\n\t%s\n", lpPrivDisplayName);
printf("Language identifier: %x\n", dwLangId);
delete[] lpPrivDisplayName;
return 0;
}
Соседние файлы в папке Листинги