Системная информация. Информация о среде выполнения процесса, страница 3

Параметры Возвращаемое значение

Параметры отсутствуют. LPTSTR: Возвращаемое значение является адресом командной строки. Примечание: формат командной строки представляет собой взятый в кавычки полный путь к программе, после которого следуют аргументы без кавычек.

Включаемый файл

winbase.h

См. также

GetStartupInfo, CreateProcess.

Пример

Пример применения данной функции приведен в описании функции GetComputerName.

GetComputerName                       • Windows 98   • Windows 2000

Описание

Функция GetComputerName возвращает имя NetBIOS локального компьютера, которое существовало в момент запуска системы. Для выборки информации об имени DNS следует воспользоваться функцией GetComputerNameEx.

Синтаксис

BOOL GetComputerName(LPTSTR IpszName, LPDWORD IpdwBuffer)

Параметры

IpszName

LPTSTR: Указатель на буфер, в который поступает наименование системы. Размер этого буфера должен составлять по меньшей мере MAX_COMPUTERNAME_LENGTH + 1 байтов.

IpdwBuffer

LPDWORD: Указатель на адрес, по которому находится определенное число символов в буфере до выполнения рассматриваемой функции, а также число символов, фактически скопированных после выполнения функции, за исключением завершающего нулевого символа.

Возвращаемое эйячПМе

BOOL: Если выполнение функции оказывается успешным, возвращается значение TRUE. В противном случае возвращается значение FALSE. Если буфер слишком мал, функция GetLastError вернет значение ERROR_BUFFER_OVERFLOW.

Включаемый файл

winbase.h

См. также

GetComputerNameEx, SetComputerName, SetComputerNameEx.

Пример

Когда пользователь выбирает в приведенном ниже примере пункт меню Test!, сначала отображается имя компьютера, а затем оно заменяется первым аргументом командной строки. При этом аргумент командной строки должен представляться в виде /C<name>. Это изменение возымеет действие только после перезапуска системы. Результат выполнения приведенной ниже программы во второй раз, т.е. после перезапуска системы, показан на рис. 21.1.

См.    \local-sources\chap21\21-02. txt

GetComputerNameEx                    • Windows 98   • Windows 2000

Описание

Функция GetComputerNameEx возвращает имя NetBIOS или DNS локального компьютера, которое существовало в момент запуска системы.

Синтаксис

BOOL GetComputerNameEx(COMPUTER_NAME_FORMAT NameTypc, LPTSTR IpszName, LPDWORD IpdwBuffer)

Параметры

Are»re7j7>eCOMPUTER_NAME_FORMAT: Перечисляемое значение типа COMPUTER_NAME_FORMAT, которое определяет тип выбираемого имени. Возможные значения приведены в табл. 21.2.

IpszName

LPTSTR Указатель на буфер, в который поступает наименование системы. Размер этого буфера должен составлять по меньшей мере MAX_COMPUTERNAME_LENGTH + 1 байт.

IpdwBuffer

LPDWORD: Указатель на адрес, по которому находится определенное количество символов в буфере до выполнения рассматриваемой функции, а также число фактически скопированных символов после выполнения данной функции, за исключением завершающего нулевого символа.

Возвращаемое значение

BOOL: Если выполнение функции оказывается успешным, возвращается значение TRUE. В противном случае возвращается значение FALSE. Если буфер слишком мал, тогда функция GetLastError возвращает значение ERROR_MORE_DATA

Таблица 21.2 Перечисляемые значения типа COMPUTER_NAME FORMAT

Значение

Описание

ComputerNameNetBIOS

Имя  NetBIOS локального компьютера

ComputerNameDnsHostName

Имя хоста DNS, назначенное для локального компьютера

ComputerNameDnsDomain

Имя домена DNS, назначенное для локального компьютера

ComputerNameDnsFullyQualified

Полностью уточненное имя DNS, которое уникальным образом обозначает локальный компьютер.  Это имя представляет собой сочетание имени хоста DNS и имени домена DNS

ComputerNamePhysicalNetBIOS

Имя NetBIOS локального компьютера. Если локальный компьютер является узлом кластера, возвращается имя NetBIOS локального компьютера, а не имя кластера

ComputerNamePhysicalPhysicalDnsHostName

Имя хоста DNS, назначенное для локального компьютера. Если локальный компьютер является узлом кластера, тогда возвращается имя DNS локального компьютера, а не имя кластера

ComputerNamePhysicalPhysicalDnsDomain

Имя домена DNS, назначенное для локального компьютера. Если локальный компьютер является узлом кластера, возвращается имя домена DNS локального компьютера, а не имя кластера

ComputerNamePhysicalPhysicalDnsFullyQualified

Полностью уточненное имя DNS, которое уникальным образом обозначает локальный компьютер. Это имя представляет собой сочетание имени хоста DNS и имени домена DNS. Если локальный компьютер является узлом кластера, тогда возвращается полностью уточненное имя  DNS локального компьютера, а не имя кластера

Включаемый файл

winbase.h

См. также

GetComputerName, SetComputerName, SetComputerNameEx.

GetCurrentDirectory                      • Windows 98   • Windows 2000

Описание

Функция GetCurrentDirectory осуществляет выборку текущего каталога для текущего процесса.

Синтаксис

DWORD GetCurrentDirectory(DWORD dwCurDir, LPTSTR IpszCurDir)

Параметры

dwCurDir

DWORD: Размер буфера, в который поступает имя текущего каталога. Этот размер выражается в виде значения типа TCHAR, указывающего на количество символов, включая и завершающий нулевой символ.

IpszCurDir

LPTSTR: Указатель на буфер, в который поступает имя текущего каталога. Этот буфер должен быть достаточно велик, чтобы в нем могло храниться имя каталога (длиной до МАХ_РАТН символов), а также завершающий нулевой символ.

Возвращаемое значение

DWORD: Если выполнение рассматриваемой функции окажется успешным, в буфере будет записано определенное число символов, за исключением нулевого символа. В противном случае возвращается 0. Если функция не может выполниться вследствие того, что буфер оказался недостаточно велик для хранения имени текущего каталога, возвращается значение, определяющее требуемый размер буфера в байтах. В этот размер входит и нулевой символ, завершающий строку. Чтобы определить, указывает ли возвращаемое значение на упомянутое выше условие либо на успешное выполнение рассматриваемой функции, следует использовать функцию GetLastError.

Включаемый файл

winbase.h

См. также

SetCurrentDirectory.

Пример

В приведенном ниже примере функция SetCurrentDirectory используется для изменения текущего каталога на каталог, передаваемый в виде аргумента командной строки, либо на корневой каталог, если в командной строке ничего не передается. Аргумент командной строки должен приводиться в виде /D<new directoryX Когда пользователь выбирает пункт меню Test!, то в этом случае осуществляется выборка текущего каталога, который затем отображается в окне сообщения.

См.    \local-sources\chap21\21-03. txt

GetDiskFreeSpaceEx                     • Windows 98   • Windows 2000

Описание

Функция GetDiskFreeSpaceEx позволяет получить информацию о размере доступного пространства на дисковом томе в следующем виде: объем общего пространства, объем свободного пространства, а также величина общего свободного пространства доступного для пользователя, связанного с вызывающим данную функцию процессом.

Синтаксис

BOOL GetDiskFreeSpaceEx(LPCTSTR lp Directory Name, PUIARGEJNTEGER lpFree BytesAvailableTo Caller, PULARGEJNTEGER IpTotalNumberOfBytes, PUIARGEJNTEGER IpTotalNumberOfFreeBytes)

Параметры

IpDirectoryNann

• LPCTSTR Указатель на строку, завершающуюся нулевым символом и содержащую каталог на интересующем диске. Эта строка может быть указана в формате UNC (Соглашение об универсальном именовании). Если для данного параметра установлено значение NULL, можно получить информацию о диске, содержащем текущий каталог.

IpFreeBytesAvallable To Caller

PULARGE_INTEGER Указатель на переменную типа PUIARGEJNTEGER которой присваивается общее число байт свободного дискового пространства, доступного для пользователя, связанного с вызывающим данную функцию процессом. Если в операционной системе реализованы выделяемые для каждого пользователя квоты на доступное дисковое пространство, тогда данное значение может оказаться меньше общего объема свободного пространства на диске.

IpTotalNumberOfBytes

PULARGEJNTEGER Указатель на переменную, которой присваивается общее количество байт на диске.

IpTotalNumberOfFreeBytes

PULARGEJNTEGER Указатель на переменную, которой присваивается общее количество байт свободного пространства на диске. Для этого параметра можно установить значение NULL.

Возвращаемое значение

BOOL: Если выполнение рассматриваемой функции окажется успешным, возвращается значение TRUE. В противном случае возвращается FALSE.

Включаемый файл

winbase.h

См. также

GetDriveType.

Пример

Когда пользователь выбирает в приведенном ниже примере опцию Test!, отображается информация о томе и диске для установленных в системе накопителей. При этом функция GetLogicalDrives определяет активные накопители в системе. В данном примере функция GetDriveType используется для определения типа накопителя, а функция GetDiskFreeSpaceEx — для определения другой информации о диске. Эта информации размещается в элементе управления списочным представлением (см. рис. 21.2).

См.    \local-sources\chap21 \21-04. txt

Рисунок 21.2 Пример применения функции GetDiskFreeSpaceEx