mirror of
https://codeberg.org/WinDurango/WinDurango.git
synced 2026-04-18 02:23:34 -04:00
feat: working on windows.xbox.system.idl and added logging
This commit is contained in:
171
idl/Windows.Xbox.System.idl
Normal file
171
idl/Windows.Xbox.System.idl
Normal file
@@ -0,0 +1,171 @@
|
||||
namespace Window.Xbox.System
|
||||
{
|
||||
runtimeclass User;
|
||||
runtimeclass UserDisplayInfo;
|
||||
runtimeclass UserDisplayInfoChangedEventArgs;
|
||||
runtimeclass UserAddedEventArgs;
|
||||
runtimeclass UserRemovedEventArgs;
|
||||
runtimeclass OnlineStateChangedEventArgs;
|
||||
runtimeclass GetTokenAndSignatureResult;
|
||||
runtimeclass AudioDeviceAddedEventArgs;
|
||||
runtimeclass AudioDeviceRemovedEventArgs;
|
||||
runtimeclass AudioDeviceChangedEventArgs;
|
||||
runtimeclass SignInCompletedEventArgs;
|
||||
runtimeclass SignOutStartedEventArgs;
|
||||
runtimeclass SignOutCompletedEventArgs;
|
||||
|
||||
enum UserPictureSize
|
||||
{
|
||||
Small = 0x0001,
|
||||
Medium = 0x0002,
|
||||
Large = 0x0003,
|
||||
ExtraLarge = 0x0004,
|
||||
};
|
||||
|
||||
enum UserOnlineState
|
||||
{
|
||||
Unknown = 0x0000,
|
||||
Offline = 0x0001,
|
||||
Online = 0x0002,
|
||||
};
|
||||
|
||||
// Placeholder GUID
|
||||
[uuid(AAAAAAAA-AAAA-AAAA-AAAA-AAAAAAAAAAAA)]
|
||||
interface IUserStatics : IInspectable
|
||||
{
|
||||
Guid GetNetworkCacheIdForUsers(Windows.Foundation.Collections.IVectorView<UINT32> unk);
|
||||
UserOnlineState OnlineState { get; };
|
||||
event Windows.Foundation.EventHandler<OnlineStateChangedEventArgs> OnlineStateChanged(Windows.Foundation.EventRegistrationToken unk);
|
||||
Windows.Foundation.Collections.IVectorView<User> Users { get; };
|
||||
event Windows.Foundation.EventHandler<UserAddedEventArgs> UserAdded;
|
||||
event Windows.Foundation.EventHandler<UserRemovedEventArgs> UserRemoved;
|
||||
User GetUserById(UINT32 Id);
|
||||
[default_overload, overload("GetTokenAndSignatureAsync")] Windows.Foundation.IAsyncOperation<GetTokenAndSignatureResult> GetTokenAndSignatureAsync(HSTRING url, HSTRING method, HSTRING headers, HSTRING body);
|
||||
[overload("GetTokenAndSignatureAsync")] Windows.Foundation.IAsyncOperation<GetTokenAndSignatureResult> GetTokenAndSignatureAsync(HSTRING url, HSTRING method, HSTRING headers, Windows.Foundation.Collections.IVector<Byte> body);
|
||||
[overload("GetTokenAndSignatureAsync")] Windows.Foundation.IAsyncOperation<GetTokenAndSignatureResult> GetTokenAndSignatureAsync(HSTRING url, HSTRING method, HSTRING headers);
|
||||
event Windows.Foundation.EventHandler<AudioDeviceAddedEventArgs> AudioDeviceAdded;
|
||||
event Windows.Foundation.EventHandler<AudioDeviceRemovedEventArgs> AudioDeviceRemoved;
|
||||
event Windows.Foundation.EventHandler<AudioDeviceChangedEventArgs> AudioDeviceChanged;
|
||||
event Windows.Foundation.EventHandler<SignInCompletedEventArgs> SignInCompleted;
|
||||
event Windows.Foundation.EventHandler<SignOutStartedEventArgs> SignOutStarted;
|
||||
event Windows.Foundation.EventHandler<SignOutCompletedEventArgs> SignOutCompleted;
|
||||
event Windows.Foundation.EventHandler<UserDisplayInfoChangedEventArgs> UserDisplayInfoChanged;
|
||||
Guid GetNetworkCacheIdForUsers(Windows.Foundation.Collections.IVectorView<unsigned int> unk);
|
||||
}
|
||||
|
||||
// Placeholder GUID
|
||||
[interface_name("IUser", AAAAAAAA-AAAA-AAAA-AAAA-AAAAAAAAAAAA)]
|
||||
[static(IUserStatics, 1.0)]
|
||||
runtimeclass User
|
||||
{
|
||||
UINT32 Id { get; };
|
||||
//Windows.Foundation.Collections.IVectorView<IAudioDeviceInfo> AudioDevices { get; };
|
||||
//Windows.Foundation.Collections.IVectorView<Windows.Xbox.Input.IController> Controllers { get; };
|
||||
UserDisplayInfo DisplayInfo { get; };
|
||||
Boolean IsGuest { get; };
|
||||
Boolean IsSignedIn { get; };
|
||||
//UserLocation Location { get; };
|
||||
User Sponsor { get; };
|
||||
HSTRING XboxUserHash { get; };
|
||||
HSTRING XboxUserId { get; };
|
||||
[default_overload, overload("GetTokenAndSignatureAsync")] Windows.Foundation.IAsyncOperation<GetTokenAndSignatureResult> GetTokenAndSignatureAsync(HSTRING url, HSTRING method, HSTRING headers, HSTRING body);
|
||||
[overload("GetTokenAndSignatureAsync")] Windows.Foundation.IAsyncOperation<GetTokenAndSignatureResult> GetTokenAndSignatureAsync(HSTRING url, HSTRING method, HSTRING headers, Windows.Foundation.Collections.IVector<Byte> body);
|
||||
[overload("GetTokenAndSignatureAsync")] Windows.Foundation.IAsyncOperation<GetTokenAndSignatureResult> GetTokenAndSignatureAsync(HSTRING url, HSTRING method, HSTRING headers);
|
||||
}
|
||||
|
||||
// Placeholder GUID
|
||||
[interface_name("IUserDisplayInfo", AAAAAAAA-AAAA-AAAA-AAAA-AAAAAAAAAAAA)]
|
||||
runtimeclass UserDisplayInfo
|
||||
{
|
||||
HSTRING Gamertag();
|
||||
UINT32 GamerScore();
|
||||
HSTRING ApplicationDisplayName();
|
||||
HSTRING GameDisplayName();
|
||||
UINT32 Reputation();
|
||||
//UserAgeGroup AgeGroup();
|
||||
Windows.Foundation.Collections.IVectorView<unsigned int> Privileges();
|
||||
Windows.Foundation.IAsyncOperation<GetPictureResult> GetApplicationPictureAsync(UserPictureSize unk, Windows.Storage.Streams.IBuffer unka);
|
||||
Windows.Foundation.IAsyncOperation<GetPictureResult> GetGamerPictureAsync(UserPictureSize unk, Windows.Storage.Streams.IBuffer unka);
|
||||
}
|
||||
|
||||
// Placeholder GUID
|
||||
[interface_name("IUserDisplayInfoChangedEventArgs", AAAAAAAA-AAAA-AAAA-AAAA-AAAAAAAAAAAA)]
|
||||
runtimeclass UserDisplayInfoChangedEventArgs
|
||||
{
|
||||
User User { get; };
|
||||
}
|
||||
|
||||
// Placeholder GUID
|
||||
[interface_name("IUserAddedEventArgs", AAAAAAAA-AAAA-AAAA-AAAA-AAAAAAAAAAAA)]
|
||||
runtimeclass UserAddedEventArgs
|
||||
{
|
||||
User User { get; };
|
||||
}
|
||||
|
||||
// Placeholder GUID
|
||||
[interface_name("IUserRemovedEventArgs", AAAAAAAA-AAAA-AAAA-AAAA-AAAAAAAAAAAA)]
|
||||
runtimeclass UserRemovedEventArgs
|
||||
{
|
||||
User User { get; };
|
||||
}
|
||||
|
||||
// Placeholder GUID
|
||||
[interface_name("IOnlineStateChangedEventArgs", AAAAAAAA-AAAA-AAAA-AAAA-AAAAAAAAAAAA)]
|
||||
runtimeclass OnlineStateChangedEventArgs
|
||||
{
|
||||
UserOnlineState State { get; };
|
||||
}
|
||||
|
||||
// Placeholder GUID
|
||||
[interface_name("IGetTokenAndSignatureResult", AAAAAAAA-AAAA-AAAA-AAAA-AAAAAAAAAAAA)]
|
||||
runtimeclass GetTokenAndSignatureResult
|
||||
{
|
||||
HSTRING Signature { get; };
|
||||
HSTRING Token { get; };
|
||||
}
|
||||
|
||||
// Placeholder GUID
|
||||
[interface_name("IAudioDeviceAddedEventArgs", AAAAAAAA-AAAA-AAAA-AAAA-AAAAAAAAAAAA)]
|
||||
runtimeclass AudioDeviceAddedEventArgs
|
||||
{
|
||||
User User { get; };
|
||||
//IAudioDeviceInfo AudioDevice { get; };
|
||||
}
|
||||
|
||||
// Placeholder GUID
|
||||
[interface_name("IAudioDeviceRemovedEventArgs", AAAAAAAA-AAAA-AAAA-AAAA-AAAAAAAAAAAA)]
|
||||
runtimeclass AudioDeviceRemovedEventArgs
|
||||
{
|
||||
User User { get; };
|
||||
//IAudioDeviceInfo AudioDevice { get; };
|
||||
}
|
||||
|
||||
// Placeholder GUID
|
||||
[interface_name("IAudioDeviceChangedEventArgs", AAAAAAAA-AAAA-AAAA-AAAA-AAAAAAAAAAAA)]
|
||||
runtimeclass AudioDeviceChangedEventArgs
|
||||
{
|
||||
User User { get; };
|
||||
//IAudioDeviceInfo AudioDevice { get; };
|
||||
}
|
||||
|
||||
// Placeholder GUID
|
||||
[interface_name("ISignInCompletedEventArgs", AAAAAAAA-AAAA-AAAA-AAAA-AAAAAAAAAAAA)]
|
||||
runtimeclass SignInCompletedEventArgs
|
||||
{
|
||||
User User { get; };
|
||||
}
|
||||
|
||||
// Placeholder GUID TODO: PLACEHOLDER
|
||||
[interface_name("ISignOutStartedEventArgs", AAAAAAAA-AAAA-AAAA-AAAA-AAAAAAAAAAAA)]
|
||||
runtimeclass SignOutStartedEventArgs
|
||||
{
|
||||
UserOnlineState State { get; };
|
||||
}
|
||||
|
||||
// Placeholder GUID TODO: PLACEHOLDER
|
||||
[interface_name("ISignOutCompletedEventArgs", AAAAAAAA-AAAA-AAAA-AAAA-AAAAAAAAAAAA)]
|
||||
runtimeclass SignOutCompletedEventArgs
|
||||
{
|
||||
UserOnlineState State { get; };
|
||||
}
|
||||
}
|
||||
@@ -4,6 +4,7 @@
|
||||
#include <windows.foundation.h>
|
||||
#include <windows.system.h>
|
||||
#include <winrt/base.h>
|
||||
#include "kernelx.h"
|
||||
|
||||
using namespace ABI::Windows::System;
|
||||
using namespace ABI::Windows::Foundation;
|
||||
|
||||
@@ -1,12 +1,14 @@
|
||||
//
|
||||
// Created by DexrnZacAttack on 1/23/26 using zPc-i2.
|
||||
//
|
||||
#ifndef WINDURANGO_KERNEL_H
|
||||
#define WINDURANGO_KERNEL_H
|
||||
#pragma once
|
||||
|
||||
#include <Windows.h>
|
||||
#include <bitset>
|
||||
#include <map>
|
||||
#include "WinDurango.Common/Interfaces/Storage/Directory.h"
|
||||
#include "WinDurango.Common/WinDurango.h"
|
||||
#include "WinDurango.Implementation.WinRT/Interfaces/Storage/Directory.h"
|
||||
|
||||
// Most of those came from XWine1
|
||||
//(More specifically, SlimEra).
|
||||
@@ -214,4 +216,4 @@ CRITICAL_SECTION XmpAllocationHookLock;
|
||||
static PXMEMALLOC_ROUTINE XmpAllocRoutine = XMemAllocDefault;
|
||||
static PXMEMFREE_ROUTINE XmpFreeRoutine = XMemFreeDefault;
|
||||
|
||||
#endif // WINDURANGO_KERNEL_H
|
||||
extern std::shared_ptr<wd::common::WinDurango> winDurango;
|
||||
@@ -10,6 +10,7 @@ HRESULT EraXboxUserLicenseInformationWrapper::QueryInterface(const IID &riid, vo
|
||||
}
|
||||
|
||||
*ppvObject = nullptr;
|
||||
winDurango->log.Warn("WinDurango::KernelX::CurrentApp", "No Interface Found: EraXboxUserLicenseInformationWrapper - {}-{}-{}-{}", riid.Data1, riid.Data2, riid.Data3, riid.Data4);
|
||||
return E_NOINTERFACE;
|
||||
}
|
||||
|
||||
@@ -27,16 +28,19 @@ ULONG EraXboxUserLicenseInformationWrapper::Release()
|
||||
|
||||
HRESULT EraXboxUserLicenseInformationWrapper::GetIids(ULONG *iidCount, IID **iids)
|
||||
{
|
||||
winDurango->log.Log("WinDurango::KernelX::CurrentApp", "Unimplemented - EraXboxUserLicenseInformationWrapper::GetIids");
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
HRESULT EraXboxUserLicenseInformationWrapper::GetRuntimeClassName(HSTRING *className)
|
||||
{
|
||||
winDurango->log.Log("WinDurango::KernelX::CurrentApp", "Unimplemented - EraXboxUserLicenseInformationWrapper::GetRuntimeClassName");
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
HRESULT EraXboxUserLicenseInformationWrapper::GetTrustLevel(TrustLevel *trustLevel)
|
||||
{
|
||||
winDurango->log.Log("WinDurango::KernelX::CurrentApp", "Unimplemented - EraXboxUserLicenseInformationWrapper::GetTrustLevel");
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
@@ -73,6 +77,7 @@ HRESULT EraLicenseInformationWrapper::QueryInterface(const IID &riid, void **ppv
|
||||
}
|
||||
|
||||
*ppvObject = nullptr;
|
||||
winDurango->log.Warn("WinDurango::KernelX::CurrentApp", "No Interface Found: EraLicenseInformationWrapper - {}-{}-{}-{}", riid.Data1, riid.Data2, riid.Data3, riid.Data4);
|
||||
return E_NOINTERFACE;
|
||||
}
|
||||
|
||||
@@ -105,6 +110,7 @@ HRESULT EraLicenseInformationWrapper::GetTrustLevel(TrustLevel *trustLevel)
|
||||
|
||||
HRESULT EraLicenseInformationWrapper::get_ProductLicenses(ABI::Windows::Foundation::Collections::__FIMapView_2_HSTRING_Windows__CApplicationModel__CStore__CProductLicense_t **value)
|
||||
{
|
||||
winDurango->log.Log("WinDurango::KernelX::CurrentApp", "Unimplemented - EraLicenseInformationWrapper::get_ProductLicenses");
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
@@ -159,6 +165,7 @@ HRESULT __stdcall EraCurrentAppWrapper::QueryInterface(REFIID riid, void **ppvOb
|
||||
}
|
||||
|
||||
*ppvObject = nullptr;
|
||||
winDurango->log.Warn("WinDurango::KernelX::CurrentApp", "No Interface Found: EraCurrentAppWrapper - {}-{}-{}-{}", riid.Data1, riid.Data2, riid.Data3, riid.Data4);
|
||||
return E_NOINTERFACE;
|
||||
}
|
||||
|
||||
|
||||
@@ -1,7 +1,5 @@
|
||||
#include "Hooks.h"
|
||||
#include "WinDurango.Common/Interfaces/Storage/Directory.h"
|
||||
#include "WinDurango.Common/WinDurango.h"
|
||||
#include "WinDurango.Implementation.WinRT/Interfaces/Storage/Directory.h"
|
||||
#include "kernelx.h"
|
||||
#include "CurrentApp.h"
|
||||
|
||||
using namespace ABI::Windows::ApplicationModel::Store;
|
||||
|
||||
Reference in New Issue
Block a user