gameux: Add storing Description registry value.
This commit is contained in:
parent
3c68877bc5
commit
9b7347b619
|
@ -52,6 +52,7 @@ void GAMEUX_initGameData(struct GAMEUX_GAME_DATA *GameData)
|
||||||
GameData->sGDFBinaryPath = NULL;
|
GameData->sGDFBinaryPath = NULL;
|
||||||
GameData->sGameInstallDirectory = NULL;
|
GameData->sGameInstallDirectory = NULL;
|
||||||
GameData->bstrName = NULL;
|
GameData->bstrName = NULL;
|
||||||
|
GameData->bstrDescription = NULL;
|
||||||
}
|
}
|
||||||
/*******************************************************************************
|
/*******************************************************************************
|
||||||
* GAMEUX_uninitGameData
|
* GAMEUX_uninitGameData
|
||||||
|
@ -63,6 +64,7 @@ void GAMEUX_uninitGameData(struct GAMEUX_GAME_DATA *GameData)
|
||||||
HeapFree(GetProcessHeap(), 0, GameData->sGDFBinaryPath);
|
HeapFree(GetProcessHeap(), 0, GameData->sGDFBinaryPath);
|
||||||
HeapFree(GetProcessHeap(), 0, GameData->sGameInstallDirectory);
|
HeapFree(GetProcessHeap(), 0, GameData->sGameInstallDirectory);
|
||||||
SysFreeString(GameData->bstrName);
|
SysFreeString(GameData->bstrName);
|
||||||
|
SysFreeString(GameData->bstrDescription);
|
||||||
}
|
}
|
||||||
/*******************************************************************************
|
/*******************************************************************************
|
||||||
* GAMEUX_buildGameRegistryPath
|
* GAMEUX_buildGameRegistryPath
|
||||||
|
@ -211,6 +213,8 @@ static HRESULT GAMEUX_WriteRegistryRecord(struct GAMEUX_GAME_DATA *GameData)
|
||||||
{'C','o','n','f','i','g','G','D','F','B','i','n','a','r','y','P','a','t','h',0};
|
{'C','o','n','f','i','g','G','D','F','B','i','n','a','r','y','P','a','t','h',0};
|
||||||
static const WCHAR sTitle[] =
|
static const WCHAR sTitle[] =
|
||||||
{'T','i','t','l','e',0};
|
{'T','i','t','l','e',0};
|
||||||
|
static const WCHAR sDescription[] =
|
||||||
|
{'D','e','s','c','r','i','p','t','i','o','n',0};
|
||||||
|
|
||||||
HRESULT hr, hr2;
|
HRESULT hr, hr2;
|
||||||
LPWSTR lpRegistryKey;
|
LPWSTR lpRegistryKey;
|
||||||
|
@ -251,6 +255,11 @@ static HRESULT GAMEUX_WriteRegistryRecord(struct GAMEUX_GAME_DATA *GameData)
|
||||||
REG_SZ, (LPBYTE)(GameData->bstrName),
|
REG_SZ, (LPBYTE)(GameData->bstrName),
|
||||||
(lstrlenW(GameData->bstrName)+1)*sizeof(WCHAR)));
|
(lstrlenW(GameData->bstrName)+1)*sizeof(WCHAR)));
|
||||||
|
|
||||||
|
if(SUCCEEDED(hr))
|
||||||
|
hr = HRESULT_FROM_WIN32(RegSetValueExW(hKey, sDescription, 0,
|
||||||
|
REG_SZ, (LPBYTE)(GameData->bstrDescription ? GameData->bstrDescription : GameData->bstrName),
|
||||||
|
(lstrlenW(GameData->bstrDescription ? GameData->bstrDescription : GameData->bstrName)+1)*sizeof(WCHAR)));
|
||||||
|
|
||||||
RegCloseKey(hKey);
|
RegCloseKey(hKey);
|
||||||
|
|
||||||
if(FAILED(hr))
|
if(FAILED(hr))
|
||||||
|
@ -283,6 +292,8 @@ static HRESULT GAMEUX_ProcessGameDefinitionElement(
|
||||||
{
|
{
|
||||||
static const WCHAR sName[] =
|
static const WCHAR sName[] =
|
||||||
{'N','a','m','e',0};
|
{'N','a','m','e',0};
|
||||||
|
static const WCHAR sDescription[] =
|
||||||
|
{'D','e','s','c','r','i','p','t','i','o','n',0};
|
||||||
|
|
||||||
HRESULT hr;
|
HRESULT hr;
|
||||||
BSTR bstrElementName;
|
BSTR bstrElementName;
|
||||||
|
@ -296,6 +307,9 @@ static HRESULT GAMEUX_ProcessGameDefinitionElement(
|
||||||
if(lstrcmpW(bstrElementName, sName) == 0)
|
if(lstrcmpW(bstrElementName, sName) == 0)
|
||||||
hr = IXMLDOMElement_get_text(element, &GameData->bstrName);
|
hr = IXMLDOMElement_get_text(element, &GameData->bstrName);
|
||||||
|
|
||||||
|
else if(lstrcmpW(bstrElementName, sDescription) == 0)
|
||||||
|
hr = IXMLDOMElement_get_text(element, &GameData->bstrDescription);
|
||||||
|
|
||||||
else
|
else
|
||||||
FIXME("entry %s in Game Definition File not yet supported\n", debugstr_w(bstrElementName));
|
FIXME("entry %s in Game Definition File not yet supported\n", debugstr_w(bstrElementName));
|
||||||
|
|
||||||
|
|
|
@ -43,6 +43,7 @@ struct GAMEUX_GAME_DATA
|
||||||
GUID guidInstanceId; /* game installation instance identifier */
|
GUID guidInstanceId; /* game installation instance identifier */
|
||||||
GUID guidApplicationId; /* game's application identifier */
|
GUID guidApplicationId; /* game's application identifier */
|
||||||
BSTR bstrName; /* game's title */
|
BSTR bstrName; /* game's title */
|
||||||
|
BSTR bstrDescription; /* game's description */
|
||||||
};
|
};
|
||||||
/*******************************************************************************
|
/*******************************************************************************
|
||||||
* GAMEUX_initGameData
|
* GAMEUX_initGameData
|
||||||
|
|
|
@ -305,7 +305,7 @@ static void _validateGameRegistryValues(int line,
|
||||||
|
|
||||||
/* this value exists up from Win7 */
|
/* this value exists up from Win7 */
|
||||||
hr = _validateRegistryValue(hKey, keyPath, sDescription, RRF_RT_REG_SZ, sGameDescription);
|
hr = _validateRegistryValue(hKey, keyPath, sDescription, RRF_RT_REG_SZ, sGameDescription);
|
||||||
todo_wine ok_(__FILE__, line)(hr==S_OK || broken(hr == HRESULT_FROM_WIN32(ERROR_FILE_NOT_FOUND)), "failed while checking registry value (error 0x%x)\n", hr);
|
ok_(__FILE__, line)(hr==S_OK || broken(hr == HRESULT_FROM_WIN32(ERROR_FILE_NOT_FOUND)), "failed while checking registry value (error 0x%x)\n", hr);
|
||||||
}
|
}
|
||||||
/*******************************************************************************
|
/*******************************************************************************
|
||||||
* _validateGameKey
|
* _validateGameKey
|
||||||
|
|
Loading…
Reference in New Issue