コンピュータ名を取得する方法は下記のとおり。
//--------------------------------------------------------------------------- // コンピュータ名を返す // by Shue //--------------------------------------------------------------------------- AnsiString subGetPCName() { char cBUF[MAX_COMPUTERNAME_LENGTH + 1]; AnsiString strPC = ""; DWORD dwLEN; dwLEN = MAX_COMPUTERNAME_LENGTH; if (GetComputerNameEx(ComputerNameNetBIOS, cBUF, &dwLEN) != false) { strPC = AnsiString(cBUF); } return strPC; }
::GetComputerNameEx?に渡すパラメータの一つ目は、下記の種類から選択する。
値 | 説明 |
ComputerNameNetBIOS | ローカルコンピュータの NetBIOS 名を取得します。ローカルコンピュータがクラスタ内のノードの 1 つである場合は、クラスタの NetBIOS 名を取得します。 |
ComputerNameDnsHostname? | ローカルコンピュータの DNS ホスト名を取得します。ローカルコンピュータがクラスタ内のノードの 1 つである場合は、クラスタの DNS ホスト名を取得します。 |
ComputerNameDnsDomain? | ローカルコンピュータに割り当てられている DNS ドメインの名前を取得します。ローカルコンピュータがクラスタ内のノードの 1 つである場合は、クラスタの DNS ドメイン名を取得します。 |
ComputerNameDnsFullyQualified? | ローカルコンピュータを一意に識別する完全修飾 DNS 名を取得します。この名前は、DNS ホスト名と DNS ドメイン名を HostName?.DomainName? の形式で組み合わせたものです。ローカルコンピュータがクラスタ内のノードの 1 つである場合は、クラスタの完全修飾 DNS 名を取得します。 |
ComputerNamePhysicalNetBIOS | ローカルコンピュータの NetBIOS 名を取得します。ローカルコンピュータがクラスタ内のノードの 1 つである場合は、クラスタではなく、ローカルコンピュータの NetBIOS 名を取得します。 |
ComputerNamePhysicalDnsHostname? | ローカルコンピュータの DNS ホスト名を取得します。ローカルコンピュータがクラスタ内のノードの 1 つである場合は、クラスタではなく、ローカルコンピュータの DNS ホスト名を取得します。 |
ComputerNamePhysicalDnsDomain? | ローカルコンピュータに割り当てられている DNS ドメインの名前を取得します。ローカルコンピュータがクラスタ内のノードの 1 つである場合は、クラスタではなく、ローカルコンピュータの DNS ドメイン名を取得します。 |
ComputerNamePhysicalDnsFullyQualified? | コンピュータを一意に識別する完全修飾 DNS 名を取得します。ローカルコンピュータがクラスタ内のノードの 1 つである場合は、クラスタではなく、ローカルコンピュータの完全修飾 DNS 名を取得します。この完全修飾 DNS 名は、DNS ホスト名と DNS ドメイン名を HostName?.DomainName? の形式で組み合わせたものです。 |