Показать сообщение отдельно
  #1  
Старый 12.05.2018, 18:13
xteam777 xteam777 вне форума
Прохожий
 
Регистрация: 14.03.2016
Сообщения: 32
Версия Delphi: RAD XE10
Репутация: 10
По умолчанию Перевод процедуры на делфи

Помогите пжл перевести на делфи. С си плохо. А тут еще и векторы.

Код:
CString GetTokenUserSID(HANDLE hToken)
{
	DWORD tmp = 0;
	CString userName;
	DWORD sidNameSize = 64;
	std::vector<WCHAR> sidName;
	sidName.resize(sidNameSize);

	DWORD sidDomainSize = 64;
	std::vector<WCHAR> sidDomain;
	sidDomain.resize(sidNameSize);

	DWORD userTokenSize = 1024;
	std::vector<WCHAR> tokenUserBuf;
	tokenUserBuf.resize(userTokenSize);

	TOKEN_USER *userToken = (TOKEN_USER*)&tokenUserBuf.front();

	if(GetTokenInformation(hToken, TokenUser, userToken, userTokenSize, &tmp))
	{
		WCHAR *pSidString = NULL;
		if(ConvertSidToStringSid(userToken->User.Sid, &pSidString))
			userName = pSidString;
		if(NULL != pSidString)
			LocalFree(pSidString);
	}
	else
		_ASSERT(0);

	return userName;
}
Ответить с цитированием