Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Met_ukaz_lab_SPO.DOC
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
269.82 Кб
Скачать

Функции и структуры для получения информации о вычислительной системе

//Получение информации о системе

VOID GetSystemInfo(

// информация о системе [out]

// Формат структуры SYSTEM_INFO приведен ниже

LPSYSTEM_INFO lpSystemInfo );

// Определение имени компьютера

BOOL GetComputerName(

LPTSTR lpBuffer, // буфер для имени компьютера [in]

LPDWORD lpnSize // размер буфера / длина имени [in/out]

);

// Определение имени компьютера

BOOL GetComputerNameEx(

COMPUTER_NAME_FORMAT NameType, // тип имени [in]

LPTSTR lpBuffer, // буфер для имени компьютера [out]

LPDWORD lpnSize // размер буфера / длина имени [in/out]

);

// Определение имени пользователя

BOOL GetUserName(

LPTSTR lpBuffer, // буфер для имени [out]

LPDWORD nSize // размер буфера [in/out]

);

// Определение имени пользователя

BOOLEAN GetUserNameEx(

EXTENDED_NAME_FORMAT NameFormat, // формат имени [in]

LPTSTR lpNameBuffer, // буфер для имени [out]

PULONG nSize // размер буфера / длина //имени [in/out]

);

// Определение доступных логических дисков (маска) [out]

DWORD GetLogicalDrives(VOID);

DWORD GetLogicalDriveStrings(

DWORD nBufferLength, // длина буфера [in]

LPTSTR lpBuffer // буфер для строки [out]

);

// Определение тппа устройства [out]

UINT GetDriveType(

LPCTSTR lpRootPathName // имя корневого каталога [in]

);

// Определение объема свободного пространства на диске

BOOL GetDiskFreeSpace(

LPCTSTR lpRootPathName, // имя корневого каталога [in]

LPDWORD lpSectorsPerCluster, // число секторов в кластере [out]

LPDWORD lpBytesPerSector, // число байтов в секторе [out]

LPDWORD lpNumberOfFreeClusters, // число свободных кластеров [out]

LPDWORD lpTotalNumberOfClusters // общее число кластеров [out]

);

// Определение объема свободного пространства на диске

BOOL GetDiskFreeSpaceEx(

LPCTSTR lpDirectoryName, // имя каталога [in]

PULARGE_INTEGER lpFreeBytesAvailable, // доступных байтов [out]

PULARGE_INTEGER lpTotalNumberOfBytes, // байтов на диске [out]

PULARGE_INTEGER lpTotalNumberOfFreeBytes // свободных байтов [out]

);

// Получение информации о томе

BOOL GetVolumeInformation(

LPCTSTR lpRootPathName, // имя корневого каталога [in]

LPTSTR lpVolumeNameBuffer, // буфер для имени тома [out]

DWORD nVolumeNameSize, // длина буфера [in]

LPDWORD lpVolumeSerialNumber, // серийный номер тома [out]

LPDWORD lpMaximumComponentLength, // макс.длина имени тома [out]

LPDWORD lpFileSystemFlags, // флаги файловой системы (ФС) [out]

LPTSTR lpFileSystemNameBuffer, // буфер для имени ФС [out]

DWORD nFileSystemNameSize // длина буфера для имени ФС [in]

);

Структуры данных

typedef struct _SYSTEM_INFO {

DWORD dwOemId;

struct {

WORD wProcessorArchitecture; // архитектура процессора

WORD wReserved;

}

DWORD dwPageSize; // размер страницы памяти

// нижняя граница доступного адрес ного пространства

LPVOID lpMinimumApplicationAddress;

// верхняя граница доступного адресного пространства

LPVOID lpMaximumApplicationAddress;

DWORD dwActiveProcessorMask; // маска активности процессоров

DWORD dwNumberOfProcessors; // число процессоров

DWORD dwProcessorType; // тип процессора

// гранулярность резервирования регионов памяти

DWORD dwAllocationGranularity;

WORD wProcessorLevel; // уровень процессора

// дополнительная информация о процессоре

WORD wProcessorRevision;

} SYSTEM_INFO, *LPSYSTEM_INFO;

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]