Files
WinDurango/idl/Windows.Xbox.System.idl

220 lines
7.8 KiB
Plaintext

import "Windows.Xbox.Input.idl";
namespace Windows.Xbox.System
{
enum UserPictureSize
{
Small = 0x1,
Medium = 0x2,
Large = 0x3,
ExtraLarge = 0x4,
};
enum UserOnlineState
{
Unknown = 0x0,
Offline = 0x1,
Online = 0x2,
};
enum UserLocation
{
Local = 0x0,
Remote = 0x1,
};
enum UserAgeGroup
{
Unknown = 0x0,
Child = 0x1,
Teen = 0x2,
Adult = 0x3,
};
enum AudioDeviceType
{
Capture = 0x0,
Render = 0x1,
};
enum AudioDeviceSharing
{
Exclusive = 0x0,
Private = 0x1,
Shared = 0x2,
};
enum AudioDeviceCategory
{
Communications = 0x0,
Voice = 0x1,
Multimedia = 0x2,
};
[interface_name("IGetPictureResult", DDCCAAAA-AAFC-ACDA-AAAA-AAAFFCCAABBA)]
runtimeclass GetPictureResult
{
HRESULT Result { get; };
UInt32 RequiredBufferSize { get; };
}
// Placeholder GUID
[interface_name("IUser", DDCCAAAA-AAAA-AAAA-AAAA-AAAAAAAAAAAA)]
[static_name("IUserStatics", ABAACCAA-AAAA-AAAA-AAAA-FAAAAAAAAAAA)]
runtimeclass User
{
User();
static UserOnlineState OnlineState { get; };
static event Windows.Foundation.EventHandler<OnlineStateChangedEventArgs> OnlineStateChanged;
static Windows.Foundation.Collections.IVectorView<User> Users { get; };
static event Windows.Foundation.EventHandler<UserAddedEventArgs> UserAdded;
static event Windows.Foundation.EventHandler<UserRemovedEventArgs> UserRemoved;
static User GetUserById(UInt32 Id);
static Windows.Foundation.IAsyncOperation<GetTokenAndSignatureResult> GetTokenAndSignatureForAllUsersAsync(String method, String url, String headers);
static Windows.Foundation.IAsyncOperation<GetTokenAndSignatureResult> GetTokenAndSignatureForAllUsersAsync(String method, String url, String headers, Windows.Foundation.Collections.IVector<UInt8> body);
[default_overload] static Windows.Foundation.IAsyncOperation<GetTokenAndSignatureResult> GetTokenAndSignatureForAllUsersAsync(String method, String url, String headers, String body);
static event Windows.Foundation.EventHandler<AudioDeviceAddedEventArgs> AudioDeviceAdded;
static event Windows.Foundation.EventHandler<AudioDeviceRemovedEventArgs> AudioDeviceRemoved;
static event Windows.Foundation.EventHandler<AudioDeviceChangedEventArgs> AudioDeviceChanged;
static event Windows.Foundation.EventHandler<SignInCompletedEventArgs> SignInCompleted;
static event Windows.Foundation.EventHandler<SignOutStartedEventArgs> SignOutStarted;
static event Windows.Foundation.EventHandler<SignOutCompletedEventArgs> SignOutCompleted;
static event Windows.Foundation.EventHandler<UserDisplayInfoChangedEventArgs> UserDisplayInfoChanged;
static Guid GetNetworkCacheIdForUsers(Windows.Foundation.Collections.IVectorView<unsigned int> unk);
UInt32 Id { get; };
Windows.Foundation.Collections.IVectorView<AudioDeviceInfo> 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; };
String XboxUserHash { get; };
String XboxUserId { get; };
// https://learn.microsoft.com/en-us/dotnet/api/microsoft.xbox.services.system.xboxliveuser.gettokenandsignatureasync
Windows.Foundation.IAsyncOperation<GetTokenAndSignatureResult> GetTokenAndSignatureAsync(String method, String url, String headers);
Windows.Foundation.IAsyncOperation<GetTokenAndSignatureResult> GetTokenAndSignatureAsync(String method, String url, String headers, Windows.Foundation.Collections.IVector<UInt8> body);
[default_overload] Windows.Foundation.IAsyncOperation<GetTokenAndSignatureResult> GetTokenAndSignatureAsync(String method, String url, String headers, String body);
}
// Placeholder GUID TODO
[interface_name("IUserDisplayInfo", AACAAAAA-ADCA-AAAA-AAAA-AAAAAAAAAAAA)]
runtimeclass UserDisplayInfo
{
String Gamertag();
UInt32 GamerScore();
String ApplicationDisplayName();
String 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("IAudioDeviceInfo", AAAAAAAA-DFAF-AAAA-AAAA-AAAAAAAAAAAA)]
runtimeclass AudioDeviceInfo
{
String Id { get; };
AudioDeviceType DeviceType { get; };
AudioDeviceSharing Sharing { get; };
AudioDeviceCategory DeviceCategory { get; };
Boolean IsMicrophoneMuted { get; };
}
// Placeholder GUID
[interface_name("IUserDisplayInfoChangedEventArgs", CCDDAAAA-AAAA-AAAA-AAAA-AAAAAAAAAAAA)]
runtimeclass UserDisplayInfoChangedEventArgs
{
User User { get; };
}
// Placeholder GUID
[interface_name("IUserAddedEventArgs", AAAAEAAA-ADEA-AAAA-AAAA-AAAAAAAAAAAA)]
runtimeclass UserAddedEventArgs
{
User User { get; };
}
// Placeholder GUID
[interface_name("IUserRemovedEventArgs", AAAAAFAA-AAAA-AAAA-ADEA-AAAAAAAAAAAA)]
runtimeclass UserRemovedEventArgs
{
User User { get; };
}
// Placeholder GUID
[interface_name("IOnlineStateChangedEventArgs", DEAAAAFA-AAAA-AAAA-AAAA-AAAAAAAAAAAA)]
runtimeclass OnlineStateChangedEventArgs
{
UserOnlineState State { get; };
}
// Placeholder GUID
[interface_name("IGetTokenAndSignatureResult", ADEAAAAF-AAAA-AAAA-AAAA-AAAAAAAAAAAA)]
runtimeclass GetTokenAndSignatureResult
{
String Signature { get; };
String Token { get; };
}
// Placeholder GUID
[interface_name("ISignInCompletedEventArgs", DEFFAAAA-FAAA-AAAA-AAAA-AAAAAAAAAAAA)]
runtimeclass SignInCompletedEventArgs
{
User User { get; };
}
// Placeholder GUID
[uuid(AAAFFDDA-AFAA-AAAA-AAAA-AAAAAAAA22AA)]
[version(1.0)]
interface ISignOutDeferral
{
HRESULT Complete();
}
runtimeclass SignOutDeferral : [default] ISignOutDeferral
{
}
// Placeholder GUID
[interface_name("ISignOutStartedEventArgs", AAAAAAAA-AFAA-AAAA-AAAA-AAAAAAADEFAA)]
runtimeclass SignOutStartedEventArgs
{
SignOutDeferral GetDeferral();
User User { get; };
}
// Placeholder GUID
[interface_name("ISignOutCompletedEventArgs", AAAAAAAA-AAFA-AAAA-AAAA-AFDEECAAAAAA)]
runtimeclass SignOutCompletedEventArgs
{
HRESULT Result { get; };
User User { get; };
}
// Placeholder GUID
[interface_name("IAudioDeviceAddedEventArgs", AAAAAAAA-AAAF-AAAA-FCCF-AAAAAAAAAAAA)]
runtimeclass AudioDeviceAddedEventArgs
{
User User { get; };
AudioDeviceInfo AudioDevice { get; };
}
// Placeholder GUID
[interface_name("IAudioDeviceRemovedEventArgs", AAAAAAAA-AAAA-FAAA-DCCD-AAAAAAAAAAAA)]
runtimeclass AudioDeviceRemovedEventArgs
{
User User { get; };
AudioDeviceInfo AudioDevice { get; };
}
// Placeholder GUID
[interface_name("IAudioDeviceChangedEventArgs", AAAAAAAA-AAAA-AFAA-DCDD-AAAAAAAAAAAA)]
runtimeclass AudioDeviceChangedEventArgs
{
User User { get; };
AudioDeviceInfo AudioDevice { get; };
}
}