BOOL MiscGenerateGuidString()

in PPLGuard/utils.cpp [655:680]


BOOL MiscGenerateGuidString(LPWSTR* ppwszGuid)
{
	BOOL bReturnValue = FALSE;

	UUID uuid = { 0 };
	RPC_WSTR wstrGuid = NULL;

	if (UuidCreate(&uuid) != RPC_S_OK)
		goto end;

	if (UuidToString(&uuid, &wstrGuid) != RPC_S_OK)
		goto end;

	*ppwszGuid = (LPWSTR)LocalAlloc(LPTR, (wcslen((LPWSTR)wstrGuid) + 1) * sizeof(WCHAR));
	if (!*ppwszGuid)
		goto end;

	StringCchPrintf(*ppwszGuid, wcslen((LPWSTR)wstrGuid), L"%ws", (LPWSTR)wstrGuid);
	bReturnValue = TRUE;

end:
	if (wstrGuid)
		RpcStringFree(&wstrGuid);

	return bReturnValue;
}