net10.0-ios17.2
namespace Metal
{
    [Protocol(BackwardsCompatibleCodeGeneration = false, Name = "MTLResidencySet", WrapperType = typeof(MTLResidencySetWrapper))]
    [ProtocolMember(IsProperty = false, IsRequired = true, IsStatic = false, Name = "RequestResidency", Selector = "requestResidency")]
    [ProtocolMember(IsProperty = false, IsRequired = true, IsStatic = false, Name = "EndResidency", Selector = "endResidency")]
    [ProtocolMember(IsProperty = false, IsRequired = true, IsStatic = false, Name = "RemoveAllAllocations", Selector = "removeAllAllocations")]
    [ProtocolMember(IsProperty = false, IsRequired = true, IsStatic = false, Name = "Commit", Selector = "commit")]
    [ProtocolMember(IsProperty = false, IsRequired = true, IsStatic = false, Name = "AddAllocation", ParameterByRef = new[] { false }, ParameterType = new[] { typeof(IMTLAllocation) }, Selector = "addAllocation:")]
    [ProtocolMember(IsProperty = false, IsRequired = true, IsStatic = false, Name = "AddAllocations", ParameterByRef = new[] { false, false }, ParameterType = new[] { typeof(IntPtr), typeof(UIntPtr) }, Selector = "addAllocations:count:")]
    [ProtocolMember(IsProperty = false, IsRequired = true, IsStatic = false, Name = "RemoveAllocation", ParameterByRef = new[] { false }, ParameterType = new[] { typeof(IMTLAllocation) }, Selector = "removeAllocation:")]
    [ProtocolMember(IsProperty = false, IsRequired = true, IsStatic = false, Name = "RemoveAllocations", ParameterByRef = new[] { false, false }, ParameterType = new[] { typeof(IntPtr), typeof(UIntPtr) }, Selector = "removeAllocations:count:")]
    [ProtocolMember(IsProperty = false, IsRequired = true, IsStatic = false, Name = "ContainsAllocation", ParameterByRef = new[] { false }, ParameterType = new[] { typeof(IMTLAllocation) }, ReturnType = typeof(bool), Selector = "containsAllocation:")]
    [ProtocolMember(ArgumentSemantic = ArgumentSemantic.None, GetterSelector = "device", IsProperty = true, IsRequired = true, IsStatic = false, Name = "Device", PropertyType = typeof(IMTLDevice), Selector = "device")]
    [ProtocolMember(ArgumentSemantic = ArgumentSemantic.None, GetterSelector = "label", IsProperty = true, IsRequired = true, IsStatic = false, Name = "Label", PropertyType = typeof(string), Selector = "label")]
    [ProtocolMember(ArgumentSemantic = ArgumentSemantic.None, GetterSelector = "allocatedSize", IsProperty = true, IsRequired = true, IsStatic = false, Name = "AllocatedSize", PropertyType = typeof(ulong), Selector = "allocatedSize")]
    [ProtocolMember(ArgumentSemantic = ArgumentSemantic.Copy, GetterSelector = "allAllocations", IsProperty = true, IsRequired = true, IsStatic = false, Name = "AllAllocations", PropertyType = typeof(IMTLAllocation[]), Selector = "allAllocations")]
    [ProtocolMember(ArgumentSemantic = ArgumentSemantic.None, GetterSelector = "allocationCount", IsProperty = true, IsRequired = true, IsStatic = false, Name = "AllocationCount", PropertyType = typeof(UIntPtr), Selector = "allocationCount")]
    [SupportedOSPlatform("macos15.0")]
    [SupportedOSPlatform("ios18.0")]
    [SupportedOSPlatform("maccatalyst18.0")]
    [SupportedOSPlatform("tvos18.0")]
    public interface IMTLResidencySet : INativeObject, IDisposable
    {
        [BindingImpl(BindingImplOptions.GeneratedCode | BindingImplOptions.Optimizable)]
        [Export("addAllocations:count:")]
        [RequiredMember]
        virtual void AddAllocations(IntPtr allocations, UIntPtr count);
    }
}
.NET
10.0
Information specific to net10.0
Platforms This API is only available when you target a specific platform:
iOS
10.010.110.210.311.011.111.211.311.412.012.112.212.312.413.013.113.213.313.413.513.614.014.114.214.314.414.515.015.215.416.016.116.216.417.017.2
Mac Catalyst
13.113.213.313.413.514.214.314.414.515.015.215.416.116.216.417.017.2
macOS
10.1410.1510.1611.011.111.211.312.012.112.313.013.113.314.014.2
tvOS
10.010.110.211.011.111.211.311.412.012.112.212.312.413.013.213.313.414.014.214.314.414.515.015.215.416.016.116.417.017.2
Information specific to net10.0-ios17.2
Assembly

Microsoft.iOS , Version=18.5.0.0, PublicKeyToken=84e04ff9cfb79065

Referencing

The API is automatically referenced.

Preview The API is contained in a preview framework.
Platform Restrictions

This API is only supported on the following platforms:

  • iOS >= 18
  • Mac Catalyst >= 18
  • macOS >= 15
  • tvOS >= 18
  • Built-in API
  • Package-provided API