IMTL4CommandEncoder Interfaccia
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Questa interfaccia rappresenta il protocollo MTL4CommandEncoderObjective-C .
[Foundation.Protocol(BackwardsCompatibleCodeGeneration=false, Name="MTL4CommandEncoder", WrapperType=typeof(Metal.MTL4CommandEncoderWrapper))]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="BarrierAfterQueueStages", ParameterByRef=new System.Boolean[] { false, false, false }, ParameterType=new System.Type[] { typeof(Metal.MTLStages), typeof(Metal.MTLStages), typeof(Metal.MTL4VisibilityOptions) }, Selector="barrierAfterQueueStages:beforeStages:visibilityOptions:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="BarrierAfterStages", ParameterByRef=new System.Boolean[] { false, false, false }, ParameterType=new System.Type[] { typeof(Metal.MTLStages), typeof(Metal.MTLStages), typeof(Metal.MTL4VisibilityOptions) }, Selector="barrierAfterStages:beforeQueueStages:visibilityOptions:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="BarrierAfterEncoderStages", ParameterByRef=new System.Boolean[] { false, false, false }, ParameterType=new System.Type[] { typeof(Metal.MTLStages), typeof(Metal.MTLStages), typeof(Metal.MTL4VisibilityOptions) }, Selector="barrierAfterEncoderStages:beforeEncoderStages:visibilityOptions:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="UpdateFence", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(Metal.IMTLFence), typeof(Metal.MTLStages) }, Selector="updateFence:afterEncoderStages:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="WaitForFence", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(Metal.IMTLFence), typeof(Metal.MTLStages) }, Selector="waitForFence:beforeEncoderStages:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="InsertDebugSignpost", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(System.String) }, Selector="insertDebugSignpost:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="PushDebugGroup", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(System.String) }, Selector="pushDebugGroup:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="PopDebugGroup", Selector="popDebugGroup")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="EndEncoding", Selector="endEncoding")]
[Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="label", IsProperty=true, IsRequired=true, IsStatic=false, Name="Label", PropertyType=typeof(System.String), Selector="label", SetterSelector="setLabel:")]
[Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="commandBuffer", IsProperty=true, IsRequired=true, IsStatic=false, Name="CommandBuffer", PropertyType=typeof(Metal.IMTL4CommandBuffer), Selector="commandBuffer")]
public interface IMTL4CommandEncoder : IDisposable, ObjCRuntime.INativeObject
[Foundation.Protocol(BackwardsCompatibleCodeGeneration=false, Name="MTL4CommandEncoder", WrapperType=typeof(Metal.MTL4CommandEncoderWrapper))]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="BarrierAfterQueueStages", ParameterByRef=new System.Boolean[] { false, false, false }, ParameterType=new System.Type[] { typeof(Metal.MTLStages), typeof(Metal.MTLStages), typeof(Metal.MTL4VisibilityOptions) }, Selector="barrierAfterQueueStages:beforeStages:visibilityOptions:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="BarrierAfterStages", ParameterByRef=new System.Boolean[] { false, false, false }, ParameterType=new System.Type[] { typeof(Metal.MTLStages), typeof(Metal.MTLStages), typeof(Metal.MTL4VisibilityOptions) }, Selector="barrierAfterStages:beforeQueueStages:visibilityOptions:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="BarrierAfterEncoderStages", ParameterByRef=new System.Boolean[] { false, false, false }, ParameterType=new System.Type[] { typeof(Metal.MTLStages), typeof(Metal.MTLStages), typeof(Metal.MTL4VisibilityOptions) }, Selector="barrierAfterEncoderStages:beforeEncoderStages:visibilityOptions:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="UpdateFence", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(Metal.IMTLFence), typeof(Metal.MTLStages) }, Selector="updateFence:afterEncoderStages:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="WaitForFence", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(Metal.IMTLFence), typeof(Metal.MTLStages) }, Selector="waitForFence:beforeEncoderStages:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="InsertDebugSignpost", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(System.String) }, Selector="insertDebugSignpost:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="PushDebugGroup", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(System.String) }, Selector="pushDebugGroup:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="PopDebugGroup", Selector="popDebugGroup")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="EndEncoding", Selector="endEncoding")]
[Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="label", IsProperty=true, IsRequired=true, IsStatic=false, Name="Label", PropertyType=typeof(System.String), Selector="label", SetterSelector="setLabel:")]
[Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="commandBuffer", IsProperty=true, IsRequired=true, IsStatic=false, Name="CommandBuffer", PropertyType=typeof(Metal.IMTL4CommandBuffer), Selector="commandBuffer")]
[ObjCRuntime.UnsupportedSimulator("ios")]
public interface IMTL4CommandEncoder : IDisposable, ObjCRuntime.INativeObject
[Foundation.Protocol(BackwardsCompatibleCodeGeneration=false, Name="MTL4CommandEncoder", WrapperType=typeof(Metal.MTL4CommandEncoderWrapper))]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="BarrierAfterQueueStages", ParameterByRef=new System.Boolean[] { false, false, false }, ParameterType=new System.Type[] { typeof(Metal.MTLStages), typeof(Metal.MTLStages), typeof(Metal.MTL4VisibilityOptions) }, Selector="barrierAfterQueueStages:beforeStages:visibilityOptions:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="BarrierAfterStages", ParameterByRef=new System.Boolean[] { false, false, false }, ParameterType=new System.Type[] { typeof(Metal.MTLStages), typeof(Metal.MTLStages), typeof(Metal.MTL4VisibilityOptions) }, Selector="barrierAfterStages:beforeQueueStages:visibilityOptions:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="BarrierAfterEncoderStages", ParameterByRef=new System.Boolean[] { false, false, false }, ParameterType=new System.Type[] { typeof(Metal.MTLStages), typeof(Metal.MTLStages), typeof(Metal.MTL4VisibilityOptions) }, Selector="barrierAfterEncoderStages:beforeEncoderStages:visibilityOptions:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="UpdateFence", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(Metal.IMTLFence), typeof(Metal.MTLStages) }, Selector="updateFence:afterEncoderStages:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="WaitForFence", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(Metal.IMTLFence), typeof(Metal.MTLStages) }, Selector="waitForFence:beforeEncoderStages:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="InsertDebugSignpost", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(System.String) }, Selector="insertDebugSignpost:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="PushDebugGroup", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(System.String) }, Selector="pushDebugGroup:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="PopDebugGroup", Selector="popDebugGroup")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="EndEncoding", Selector="endEncoding")]
[Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="label", IsProperty=true, IsRequired=true, IsStatic=false, Name="Label", PropertyType=typeof(System.String), Selector="label", SetterSelector="setLabel:")]
[Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="commandBuffer", IsProperty=true, IsRequired=true, IsStatic=false, Name="CommandBuffer", PropertyType=typeof(Metal.IMTL4CommandBuffer), Selector="commandBuffer")]
[ObjCRuntime.UnsupportedSimulator("tvos")]
public interface IMTL4CommandEncoder : IDisposable, ObjCRuntime.INativeObject
[<Foundation.Protocol(BackwardsCompatibleCodeGeneration=false, Name="MTL4CommandEncoder", WrapperType=typeof(Metal.MTL4CommandEncoderWrapper))>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="BarrierAfterQueueStages", ParameterByRef=new System.Boolean[] { false, false, false }, ParameterType=new System.Type[] { typeof(Metal.MTLStages), typeof(Metal.MTLStages), typeof(Metal.MTL4VisibilityOptions) }, Selector="barrierAfterQueueStages:beforeStages:visibilityOptions:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="BarrierAfterStages", ParameterByRef=new System.Boolean[] { false, false, false }, ParameterType=new System.Type[] { typeof(Metal.MTLStages), typeof(Metal.MTLStages), typeof(Metal.MTL4VisibilityOptions) }, Selector="barrierAfterStages:beforeQueueStages:visibilityOptions:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="BarrierAfterEncoderStages", ParameterByRef=new System.Boolean[] { false, false, false }, ParameterType=new System.Type[] { typeof(Metal.MTLStages), typeof(Metal.MTLStages), typeof(Metal.MTL4VisibilityOptions) }, Selector="barrierAfterEncoderStages:beforeEncoderStages:visibilityOptions:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="UpdateFence", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(Metal.IMTLFence), typeof(Metal.MTLStages) }, Selector="updateFence:afterEncoderStages:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="WaitForFence", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(Metal.IMTLFence), typeof(Metal.MTLStages) }, Selector="waitForFence:beforeEncoderStages:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="InsertDebugSignpost", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(System.String) }, Selector="insertDebugSignpost:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="PushDebugGroup", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(System.String) }, Selector="pushDebugGroup:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="PopDebugGroup", Selector="popDebugGroup")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="EndEncoding", Selector="endEncoding")>]
[<Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="label", IsProperty=true, IsRequired=true, IsStatic=false, Name="Label", PropertyType=typeof(System.String), Selector="label", SetterSelector="setLabel:")>]
[<Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="commandBuffer", IsProperty=true, IsRequired=true, IsStatic=false, Name="CommandBuffer", PropertyType=typeof(Metal.IMTL4CommandBuffer), Selector="commandBuffer")>]
type IMTL4CommandEncoder = interface
interface INativeObject
interface IDisposable
[<Foundation.Protocol(BackwardsCompatibleCodeGeneration=false, Name="MTL4CommandEncoder", WrapperType=typeof(Metal.MTL4CommandEncoderWrapper))>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="BarrierAfterQueueStages", ParameterByRef=new System.Boolean[] { false, false, false }, ParameterType=new System.Type[] { typeof(Metal.MTLStages), typeof(Metal.MTLStages), typeof(Metal.MTL4VisibilityOptions) }, Selector="barrierAfterQueueStages:beforeStages:visibilityOptions:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="BarrierAfterStages", ParameterByRef=new System.Boolean[] { false, false, false }, ParameterType=new System.Type[] { typeof(Metal.MTLStages), typeof(Metal.MTLStages), typeof(Metal.MTL4VisibilityOptions) }, Selector="barrierAfterStages:beforeQueueStages:visibilityOptions:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="BarrierAfterEncoderStages", ParameterByRef=new System.Boolean[] { false, false, false }, ParameterType=new System.Type[] { typeof(Metal.MTLStages), typeof(Metal.MTLStages), typeof(Metal.MTL4VisibilityOptions) }, Selector="barrierAfterEncoderStages:beforeEncoderStages:visibilityOptions:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="UpdateFence", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(Metal.IMTLFence), typeof(Metal.MTLStages) }, Selector="updateFence:afterEncoderStages:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="WaitForFence", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(Metal.IMTLFence), typeof(Metal.MTLStages) }, Selector="waitForFence:beforeEncoderStages:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="InsertDebugSignpost", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(System.String) }, Selector="insertDebugSignpost:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="PushDebugGroup", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(System.String) }, Selector="pushDebugGroup:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="PopDebugGroup", Selector="popDebugGroup")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="EndEncoding", Selector="endEncoding")>]
[<Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="label", IsProperty=true, IsRequired=true, IsStatic=false, Name="Label", PropertyType=typeof(System.String), Selector="label", SetterSelector="setLabel:")>]
[<Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="commandBuffer", IsProperty=true, IsRequired=true, IsStatic=false, Name="CommandBuffer", PropertyType=typeof(Metal.IMTL4CommandBuffer), Selector="commandBuffer")>]
[<ObjCRuntime.UnsupportedSimulator("ios")>]
type IMTL4CommandEncoder = interface
interface INativeObject
interface IDisposable
[<Foundation.Protocol(BackwardsCompatibleCodeGeneration=false, Name="MTL4CommandEncoder", WrapperType=typeof(Metal.MTL4CommandEncoderWrapper))>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="BarrierAfterQueueStages", ParameterByRef=new System.Boolean[] { false, false, false }, ParameterType=new System.Type[] { typeof(Metal.MTLStages), typeof(Metal.MTLStages), typeof(Metal.MTL4VisibilityOptions) }, Selector="barrierAfterQueueStages:beforeStages:visibilityOptions:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="BarrierAfterStages", ParameterByRef=new System.Boolean[] { false, false, false }, ParameterType=new System.Type[] { typeof(Metal.MTLStages), typeof(Metal.MTLStages), typeof(Metal.MTL4VisibilityOptions) }, Selector="barrierAfterStages:beforeQueueStages:visibilityOptions:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="BarrierAfterEncoderStages", ParameterByRef=new System.Boolean[] { false, false, false }, ParameterType=new System.Type[] { typeof(Metal.MTLStages), typeof(Metal.MTLStages), typeof(Metal.MTL4VisibilityOptions) }, Selector="barrierAfterEncoderStages:beforeEncoderStages:visibilityOptions:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="UpdateFence", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(Metal.IMTLFence), typeof(Metal.MTLStages) }, Selector="updateFence:afterEncoderStages:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="WaitForFence", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(Metal.IMTLFence), typeof(Metal.MTLStages) }, Selector="waitForFence:beforeEncoderStages:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="InsertDebugSignpost", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(System.String) }, Selector="insertDebugSignpost:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="PushDebugGroup", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(System.String) }, Selector="pushDebugGroup:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="PopDebugGroup", Selector="popDebugGroup")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="EndEncoding", Selector="endEncoding")>]
[<Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="label", IsProperty=true, IsRequired=true, IsStatic=false, Name="Label", PropertyType=typeof(System.String), Selector="label", SetterSelector="setLabel:")>]
[<Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="commandBuffer", IsProperty=true, IsRequired=true, IsStatic=false, Name="CommandBuffer", PropertyType=typeof(Metal.IMTL4CommandBuffer), Selector="commandBuffer")>]
[<ObjCRuntime.UnsupportedSimulator("tvos")>]
type IMTL4CommandEncoder = interface
interface INativeObject
interface IDisposable
- Derivato
- Attributi
- Implementazioni
Commenti
Una classe che implementa questa interfaccia (e sottoclassi NSObject) verrà esportata in Objective-C come implementazione del protocollo Objective-C rappresentata da questa interfaccia.
Una classe può anche implementare membri di questa interfaccia per implementare membri dal protocollo.
Proprietà
| Nome | Descrizione |
|---|---|
| CommandBuffer |
Questa interfaccia rappresenta il protocollo |
| Handle |
Handle (puntatore) alla rappresentazione dell'oggetto non gestito. (Ereditato da INativeObject) |
| Label |
Questa interfaccia rappresenta il protocollo |
Metodi
| Nome | Descrizione |
|---|---|
| BarrierAfterEncoderStages(MTLStages, MTLStages, MTL4VisibilityOptions) |
Questa interfaccia rappresenta il protocollo |
| BarrierAfterQueueStages(MTLStages, MTLStages, MTL4VisibilityOptions) |
Questa interfaccia rappresenta il protocollo |
| BarrierAfterStages(MTLStages, MTLStages, MTL4VisibilityOptions) |
Questa interfaccia rappresenta il protocollo |
| EndEncoding() |
Questa interfaccia rappresenta il protocollo |
| InsertDebugSignpost(String) |
Questa interfaccia rappresenta il protocollo |
| PopDebugGroup() |
Questa interfaccia rappresenta il protocollo |
| PushDebugGroup(String) |
Questa interfaccia rappresenta il protocollo |
| UpdateFence(IMTLFence, MTLStages) |
Questa interfaccia rappresenta il protocollo |
| WaitForFence(IMTLFence, MTLStages) |
Questa interfaccia rappresenta il protocollo |
Metodi di estensione
| Nome | Descrizione |
|---|---|
| GetHandle(INativeObject) |
Questa interfaccia rappresenta il protocollo |
| GetNonNullHandle(INativeObject, String) |
Questa interfaccia rappresenta il protocollo |