Files
MicrosoftIris/UIX/Microsoft/Iris/CodeModel/Cpp/DllEventSchema.cs
T
2022-03-03 08:14:05 -06:00

52 lines
1.5 KiB
C#

// Decompiled with JetBrains decompiler
// Type: Microsoft.Iris.CodeModel.Cpp.DllEventSchema
// Assembly: UIX, Version=4.8.0.0, Culture=neutral, PublicKeyToken=ddd0da4d3e678217
// MVID: A56C6C9D-B7F6-46A9-8BDE-B3D9B8D60B11
// Assembly location: C:\Program Files\Zune\UIX.dll
using Microsoft.Iris.Markup;
using Microsoft.Iris.OS;
using System;
using System.Diagnostics;
namespace Microsoft.Iris.CodeModel.Cpp
{
internal class DllEventSchema : EventSchema
{
private string _name;
private bool _isStatic;
public DllEventSchema(DllTypeSchema owner, uint ID)
: base(owner)
{
}
public bool Load(IntPtr eventSchema) => QueryEventName(eventSchema) && QueryIsStatic(eventSchema);
[Conditional("DEBUG")]
public void DEBUG_Dump()
{
}
public override string Name => _name;
public bool IsStatic => _isStatic;
private unsafe bool QueryEventName(IntPtr eventSchema)
{
bool flag = false;
char* name;
if (CheckNativeReturn(NativeApi.SpQueryEventName(eventSchema, out name)))
{
_name = NotifyService.CanonicalizeString(new string(name));
flag = true;
}
return flag;
}
private bool QueryIsStatic(IntPtr eventSchema) => CheckNativeReturn(NativeApi.SpQueryEventIsStatic(eventSchema, out _isStatic));
private bool CheckNativeReturn(uint hr) => DllLoadResult.CheckNativeReturn(hr, "IUIXEvent");
}
}