次のようにして、コンピューターの単純な DisplayName を取得したいと思いますGetComputerObjectName
。
//Get the buffer size
bRet = GetComputerObjectName(NameDisplay, NULL, & ulSize);
if(!bRet)
{
DWORD dw = 0;
dw = GetLastError();
MessageBox(NULL, TEXT("Could not get the computer name size."), TEXT("Failure."), MB_OK | MB_ICONERROR);
exit(-1);
}
//Create a buffer large enough to contain the display name
pBuffer = new TCHAR[ulSize+1];
//Obtain the computer object name
bRet = GetComputerObjectName(NameDisplay, pBuffer, &ulSize);
if(!bRet)
{
MessageBox(NULL, TEXT("Could not get the computer name."), TEXT("Failure."), MB_OK | MB_ICONERROR);
exit(-1);
}
しかし、呼び出しはERROR_CANT_ACCESS_DOMAIN_INFOGetComputerObjectName
で失敗します。特権*SE_SECURITY_NAME* および *SE_SYSTEM_PROFILE_NAME* を
有効にしようとしましたが、どちらも機能しません。
誰でもこれを行う方法を知っていますか?