Share via


InteropPermission Class

Controls the ability to call unmanaged and managed code.

Syntax

class InteropPermission extends CodeAccessPermission

Run On

Called

Methods

  Method Description
Gg921452.pubmethod(en-us,AX.60).gif assert Declares that the calling code can invoke an API that is protected by a permission. (Inherited from CodeAccessPermission.)
Gg921452.pubmethod(en-us,AX.60).gif cancelTimeOut Cancels a previous method call to the setTimeOut method. (Inherited from Object.)
Gg921452.pubmethod(en-us,AX.60).gif copy Creates and returns a copy of the current permission class object. (Overrides the copy Method.)
Gg921452.pubmethod(en-us,AX.60).gif demand Checks the call stack to determine whether the permission that is required to invoke an API has been granted to the calling code. (Inherited from CodeAccessPermission.)
Gg921452.pubmethod(en-us,AX.60).gif equal Determines whether the specified object is equal to the current one. (Inherited from Object.)
Gg921452.pubmethod(en-us,AX.60).gif getTimeOutTimerHandle Returns the timer handle for the object. (Inherited from Object.)
Gg921452.pubmethod(en-us,AX.60).gif handle Retrieves the handle of the class of the object. (Inherited from Object.)
Gg921452.pubmethod(en-us,AX.60).gif isSubsetOf Determines whether a current permission is a subset of the specified permission. (Overrides the isSubsetOf Method.)
Gg921452.pubmethod(en-us,AX.60).gif new Creates an new instance of the InteropPermission class. (Overrides the new Method.)
Gg921452.pubmethod(en-us,AX.60).gif notify Releases the hold on an object that has called the wait method on this object. (Inherited from Object.)
Gg921452.pubmethod(en-us,AX.60).gif notifyAll Releases a lock on the object that was issued by the wait method on this object. (Inherited from Object.)
Gg921452.pubmethod(en-us,AX.60).gif objectOnServer Determines whether the object is on a server. (Inherited from Object.)
Gg921452.pubmethod(en-us,AX.60).gif owner Returns the instance that owns the object. (Inherited from Object.)
Gg921452.pubmethod(en-us,AX.60).gif setTimeOut Sets up the scheduled execution of a specified method. (Inherited from Object.)
Gg921452.pubmethod(en-us,AX.60).gif toString Returns a string that represents the current object. (Inherited from Object.)
Gg921452.pubmethod(en-us,AX.60).gif usageCount Returns the current number of references, that is, the value of the reference counter, that the object has. (Inherited from Object.)
Gg921452.pubmethod(en-us,AX.60).gif wait Pauses a process. (Inherited from Object.)
Gg921452.pubmethod(en-us,AX.60).gif xml Returns an XML string that represents the current object. (Inherited from Object.)

Top

Remarks

The InteropPermission class is designed to check permissions for specific APIs. For a list of all APIs protected by permissions, see Secured APIs.

You must call the assert method on the same tier, usually the server tier, that the corresponding CodeAccessPermission::demand method is called on before the protected API is executed. Call a method on the server tier from one of the following:

  • A server static method

  • A class instance method that is set to run on the server by using the RunOn class property

Examples

The following code example shows a new instance of the InteropPermission class. The assert method is called to declare that the code can then instantiate the DLL class that provides the ability to communicate with a MicrosoftWindows dynamic-link library (DLL).

server static void main(Args args) 
{ 
    InteropPermission _perm; 
    DLL _dll; 
 
    _perm = new InteropPermission(InteropKind::DllInterop); 
    _perm.assert(); 
  
    // Invoke the protected API. 
    _dll = new DLL('cfx2032.dll'); 
     
    // Optionally, call revertAssert() to limit the scope of assert. 
    CodeAccessPermission::revertAssert(); 
}

Inheritance Hierarchy

Object Class
  CodeAccessPermission Class
    InteropPermission Class

See Also

CodeAccessPermission Class