Skip to content

Commit b80b8d4

Browse files
authored
2110 GDK QFE5 (#587)
* 2110 GDK QFE5
1 parent f2aa2b6 commit b80b8d4

30 files changed

+724
-29
lines changed

Source/Services/Achievements/Manager/achievements_manager_api.cpp

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -131,6 +131,7 @@ STDAPI XblAchievementsManagerDoWork(
131131
_Outptr_result_maybenull_ const XblAchievementsManagerEvent** achievementsEvents,
132132
_Out_ size_t* achievementsEventsCount
133133
) XBL_NOEXCEPT
134+
try
134135
{
135136
INIT_OUT_PTR_PARAM(achievementsEvents);
136137

@@ -149,12 +150,14 @@ STDAPI XblAchievementsManagerDoWork(
149150
}
150151
);
151152
}
153+
CATCH_RETURN()
152154

153155
STDAPI XblAchievementsManagerGetAchievement(
154156
_In_ uint64_t xboxUserId,
155157
_In_ const char* achievementId,
156158
_Outptr_result_maybenull_ XblAchievementsManagerResultHandle* achievementResult
157159
) XBL_NOEXCEPT
160+
try
158161
{
159162
RETURN_HR_INVALIDARGUMENT_IF(achievementId == nullptr || achievementResult == nullptr);
160163
RETURN_HR_INVALIDARGUMENT_IF_EMPTY_STRING(achievementId);
@@ -176,13 +179,15 @@ STDAPI XblAchievementsManagerGetAchievement(
176179
}
177180
);
178181
}
182+
CATCH_RETURN()
179183

180184
STDAPI XblAchievementsManagerGetAchievements(
181185
_In_ uint64_t xboxUserId,
182186
_In_ XblAchievementOrderBy sortField,
183187
_In_ XblAchievementsManagerSortOrder sortOrder,
184188
_Outptr_result_maybenull_ XblAchievementsManagerResultHandle* achievementsResult
185189
) XBL_NOEXCEPT
190+
try
186191
{
187192
INIT_OUT_PTR_PARAM(achievementsResult);
188193

@@ -229,6 +234,7 @@ STDAPI XblAchievementsManagerGetAchievements(
229234
}
230235
);
231236
}
237+
CATCH_RETURN()
232238

233239
STDAPI XblAchievementsManagerGetAchievementsByState(
234240
_In_ uint64_t xboxUserId,
@@ -237,6 +243,7 @@ STDAPI XblAchievementsManagerGetAchievementsByState(
237243
_In_ XblAchievementProgressState achievementState,
238244
_Outptr_result_maybenull_ XblAchievementsManagerResultHandle* achievementsResult
239245
) XBL_NOEXCEPT
246+
try
240247
{
241248
INIT_OUT_PTR_PARAM(achievementsResult);
242249

@@ -291,12 +298,14 @@ STDAPI XblAchievementsManagerGetAchievementsByState(
291298
}
292299
);
293300
}
301+
CATCH_RETURN()
294302

295303
STDAPI XblAchievementsManagerUpdateAchievement(
296304
_In_ uint64_t xboxUserId,
297305
_In_ const char* achievementId,
298306
_In_ uint8_t currentProgress
299307
) XBL_NOEXCEPT
308+
try
300309
{
301310
return ApiImpl([&](AchievementsManager& achievementsManager)
302311
{
@@ -314,4 +323,5 @@ STDAPI XblAchievementsManagerUpdateAchievement(
314323
return S_OK;
315324
}
316325
);
317-
}
326+
}
327+
CATCH_RETURN()

Source/Services/Achievements/achievements_api.cpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -186,9 +186,11 @@ STDAPI XblAchievementsResultGetNextResult(
186186
_In_ XAsyncBlock* async,
187187
_Out_ XblAchievementsResultHandle* result
188188
) XBL_NOEXCEPT
189+
try
189190
{
190191
return XAsyncGetResult(async, nullptr, sizeof(XblAchievementsResultHandle), result, nullptr);
191192
}
193+
CATCH_RETURN()
192194

193195
STDAPI XblAchievementsUpdateAchievementAsyncInternal(
194196
_In_ XblContextHandle xboxLiveContextHandle,

Source/Services/Common/xbox_live_context_api.cpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -88,10 +88,12 @@ CATCH_RETURN()
8888
void XblSetApiType(
8989
_In_ XblApiType apiType
9090
) XBL_NOEXCEPT
91+
try
9192
{
9293
auto state = GlobalState::Get();
9394
if (state)
9495
{
9596
state->ApiType = apiType;
9697
}
9798
}
99+
CATCH_RETURN_WITH(;)

Source/Services/Common/xbox_live_context_settings.cpp

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -95,21 +95,25 @@ STDAPI XblContextSettingsGetLongHttpTimeout(
9595
_In_ XblContextHandle context,
9696
_Out_ uint32_t* timeoutInSeconds
9797
) XBL_NOEXCEPT
98+
try
9899
{
99100
RETURN_HR_INVALIDARGUMENT_IF(context == nullptr || timeoutInSeconds == nullptr);
100101
*timeoutInSeconds = context->Settings()->LongHttpTimeout();
101102
return S_OK;
102103
}
104+
CATCH_RETURN()
103105

104106
STDAPI XblContextSettingsSetLongHttpTimeout(
105107
_In_ XblContextHandle context,
106108
_In_ uint32_t timeoutInSeconds
107109
) XBL_NOEXCEPT
110+
try
108111
{
109112
RETURN_HR_INVALIDARGUMENT_IF(context == nullptr);
110113
context->Settings()->SetLongHttpTimeout(timeoutInSeconds);
111114
return S_OK;
112115
}
116+
CATCH_RETURN()
113117

114118
STDAPI XblContextSettingsGetHttpRetryDelay(
115119
_In_ XblContextHandle context,
@@ -188,39 +192,47 @@ STDAPI XblContextSettingsGetUseCoreDispatcherForEventRouting(
188192
_In_ XblContextHandle context,
189193
_Out_ bool* useDispatcher
190194
) XBL_NOEXCEPT
195+
try
191196
{
192197
RETURN_HR_INVALIDARGUMENT_IF(context == nullptr || useDispatcher == nullptr);
193198
*useDispatcher = context->Settings()->UseCoreDispatcherForEventRouting();
194199
return S_OK;
195200
}
201+
CATCH_RETURN()
196202

197203
STDAPI XblContextSettingsSetUseCoreDispatcherForEventRouting(
198204
_In_ XblContextHandle context,
199205
_In_ bool useDispatcher
200206
) XBL_NOEXCEPT
207+
try
201208
{
202209
RETURN_HR_INVALIDARGUMENT_IF(context == nullptr);
203210
context->Settings()->SetUseCoreDispatcherForEventRouting(useDispatcher);
204211
return S_OK;
205212
}
213+
CATCH_RETURN()
206214
#endif
207215

208216
STDAPI XblContextSettingsGetUseCrossPlatformQosServers(
209217
_In_ XblContextHandle context,
210218
_Out_ bool* value
211219
) XBL_NOEXCEPT
220+
try
212221
{
213222
RETURN_HR_INVALIDARGUMENT_IF(context == nullptr || value == nullptr);
214223
*value = context->Settings()->UseCrossplatformQosServers();
215224
return S_OK;
216225
}
226+
CATCH_RETURN()
217227

218228
STDAPI XblContextSettingsSetUseCrossPlatformQosServers(
219229
_In_ XblContextHandle context,
220230
_In_ bool value
221231
) XBL_NOEXCEPT
232+
try
222233
{
223234
RETURN_HR_INVALIDARGUMENT_IF_NULL(context);
224235
context->Settings()->SetUseCrossplatformQosServers(value);
225236
return S_OK;
226-
}
237+
}
238+
CATCH_RETURN()

Source/Services/Common/xbox_live_global_api.cpp

Lines changed: 18 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ STDAPI XblMemSetFunctions(
1515
_In_opt_ XblMemAllocFunction memAllocFunc,
1616
_In_opt_ XblMemFreeFunction memFreeFunc
1717
) XBL_NOEXCEPT
18+
try
1819
{
1920
if (GlobalState::Get())
2021
{
@@ -47,18 +48,21 @@ STDAPI XblMemSetFunctions(
4748

4849
return S_OK;
4950
}
51+
CATCH_RETURN()
5052

5153
STDAPI XblMemGetFunctions(
5254
_Out_ XblMemAllocFunction* memAllocFunc,
5355
_Out_ XblMemFreeFunction* memFreeFunc
5456
) XBL_NOEXCEPT
57+
try
5558
{
5659
RETURN_HR_INVALIDARGUMENT_IF(memAllocFunc == nullptr || memFreeFunc == nullptr);
5760

5861
*memAllocFunc = g_pMemAllocHook;
5962
*memFreeFunc = g_pMemFreeHook;
6063
return S_OK;
6164
}
65+
CATCH_RETURN()
6266

6367
STDAPI XblInitialize(
6468
_In_ const XblInitArgs* args
@@ -112,16 +116,17 @@ CATCH_RETURN();
112116

113117
STDAPI_(XblErrorCondition)
114118
XblGetErrorCondition(
115-
_In_ HRESULT hr
119+
_In_ HRESULT inHr
116120
) XBL_NOEXCEPT
121+
try
117122
{
118-
if (SUCCEEDED(hr))
123+
if (SUCCEEDED(inHr))
119124
{
120125
return XblErrorCondition::NoError;
121126
}
122-
else if (HRESULT_FACILITY(hr) == FACILITY_HTTP)
127+
else if (HRESULT_FACILITY(inHr) == FACILITY_HTTP)
123128
{
124-
switch (hr)
129+
switch (inHr)
125130
{
126131
case HTTP_E_STATUS_NOT_MODIFIED:
127132
return XblErrorCondition::Http304NotModified;
@@ -139,18 +144,18 @@ XblGetErrorCondition(
139144
return XblErrorCondition::HttpGeneric;
140145
}
141146
}
142-
else if (HRESULT_FACILITY(hr) == FACILITY_INTERNET)
147+
else if (HRESULT_FACILITY(inHr) == FACILITY_INTERNET)
143148
{
144149
return XblErrorCondition::Network;
145150
}
146-
else if ((hr >= (unsigned)xbl_error_code::AM_E_XASD_UNEXPECTED && hr <= (unsigned)xbl_error_code::AM_E_XTITLE_TIMEOUT) ||
147-
(hr >= (unsigned)xbl_error_code::XO_E_DEVMODE_NOT_AUTHORIZED && hr <= (unsigned)xbl_error_code::XO_E_CONTENT_NOT_AUTHORIZED))
151+
else if ((inHr >= (unsigned)xbl_error_code::AM_E_XASD_UNEXPECTED && inHr <= (unsigned)xbl_error_code::AM_E_XTITLE_TIMEOUT) ||
152+
(inHr >= (unsigned)xbl_error_code::XO_E_DEVMODE_NOT_AUTHORIZED && inHr <= (unsigned)xbl_error_code::XO_E_CONTENT_NOT_AUTHORIZED))
148153
{
149154
return XblErrorCondition::Auth;
150155
}
151156
else
152157
{
153-
switch (hr)
158+
switch (inHr)
154159
{
155160
case ONL_E_ACTION_REQUIRED:
156161
case E_XBL_AUTH_UNKNOWN_ERROR:
@@ -166,6 +171,7 @@ XblGetErrorCondition(
166171
}
167172
}
168173
}
174+
CATCH_RETURN_WITH(XblErrorCondition::GenericError)
169175

170176
STDAPI_(void) XblDisableAssertsForXboxLiveThrottlingInDevSandboxes(
171177
_In_ XblConfigSetting setting
@@ -195,6 +201,7 @@ STDAPI_(XblFunctionContext) XblAddServiceCallRoutedHandler(
195201
_In_ XblCallRoutedHandler handler,
196202
_In_opt_ void* context
197203
) XBL_NOEXCEPT
204+
try
198205
{
199206
auto state{ GlobalState::Get() };
200207
if (state && handler)
@@ -206,15 +213,18 @@ STDAPI_(XblFunctionContext) XblAddServiceCallRoutedHandler(
206213
return XblFunctionContext{ 0 };
207214
}
208215
}
216+
CATCH_RETURN()
209217

210218
STDAPI_(void) XblRemoveServiceCallRoutedHandler(
211219
_In_ XblFunctionContext token
212220
) XBL_NOEXCEPT
221+
try
213222
{
214223
auto state{ GlobalState::Get() };
215224
if (state)
216225
{
217226
state->RemoveServiceCallRoutedHandler(token);
218227
}
219228
}
229+
CATCH_RETURN_WITH(;)
220230

Source/Services/Events/events_service_api.cpp

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,27 +13,33 @@ STDAPI XblEventsWriteInGameEvent(
1313
_In_opt_z_ const char* dimensions,
1414
_In_opt_z_ const char* measurements
1515
) XBL_NOEXCEPT
16+
try
1617
{
1718
RETURN_HR_INVALIDARGUMENT_IF(xboxLiveContext == nullptr || eventName == nullptr);
1819
VERIFY_XBL_INITIALIZED();
1920

2021
return xboxLiveContext->EventsService()->WriteInGameEvent(eventName, dimensions, measurements);
2122
}
23+
CATCH_RETURN()
2224

2325
#if XSAPI_INTERNAL_EVENTS_SERVICE
2426

2527
STDAPI XblEventsSetStorageAllotment(
2628
uint64_t storageAllotmentInBytes
2729
) XBL_NOEXCEPT
30+
try
2831
{
2932
return events::EventQueue::SetStorageAllotment(storageAllotmentInBytes);
3033
}
34+
CATCH_RETURN()
3135

3236
STDAPI XblEventsSetMaxFileSize(
3337
uint64_t maxFileSizeInByes
3438
) XBL_NOEXCEPT
39+
try
3540
{
3641
return events::EventQueue::SetMaxFileSize(maxFileSizeInByes);
3742
}
43+
CATCH_RETURN()
3844

3945
#endif // !XSAPI_ETW_EVENTS_SERVICE

0 commit comments

Comments
 (0)