[XAM] Implemented XamCreateEnumeratorHandle

- Thanks Rick for providing names for parameters
This commit is contained in:
Gliniak 2021-08-22 20:50:36 +02:00
parent 7977d7ab98
commit 332a9a2ec6
1 changed files with 16 additions and 6 deletions

View File

@ -83,13 +83,23 @@ dword_result_t XamEnumerate_entry(dword_t handle, dword_t flags,
} }
DECLARE_XAM_EXPORT1(XamEnumerate, kNone, kImplemented); DECLARE_XAM_EXPORT1(XamEnumerate, kNone, kImplemented);
dword_result_t XamCreateEnumeratorHandle_entry(unknown_t unk1, unknown_t unk2, dword_result_t XamCreateEnumeratorHandle_entry(
unknown_t unk3, unknown_t unk4, dword_t user_index, dword_t app_id, dword_t open_message,
unknown_t unk5, unknown_t unk6, dword_t close_message, dword_t extra_size, dword_t item_count,
unknown_t unk7, unknown_t unk8) { dword_t flags, lpdword_t out_handle) {
return X_ERROR_INVALID_PARAMETER; auto e = object_ref<XStaticUntypedEnumerator>(
new XStaticUntypedEnumerator(kernel_state(), item_count, extra_size));
auto result =
e->Initialize(user_index, app_id, open_message, close_message, flags);
if (XFAILED(result)) {
return result;
}
*out_handle = e->handle();
return X_ERROR_SUCCESS;
} }
DECLARE_XAM_EXPORT1(XamCreateEnumeratorHandle, kNone, kStub); DECLARE_XAM_EXPORT1(XamCreateEnumeratorHandle, kNone, kImplemented);
dword_result_t XamGetPrivateEnumStructureFromHandle_entry( dword_result_t XamGetPrivateEnumStructureFromHandle_entry(
dword_t handle, lpdword_t out_object_ptr) { dword_t handle, lpdword_t out_object_ptr) {