InteropPermission Class [AX 2012]
Controls the ability to call unmanaged and managed code.
| Method | Description | |
|---|---|---|
| assert | Declares that the calling code can invoke an API that is protected by a permission. (Inherited from CodeAccessPermission.) |
| cancelTimeOut | Cancels a previous method call to the setTimeOut method. (Inherited from Object.) |
| copy | Creates and returns a copy of the current permission class object. (Overrides the copy Method.) |
| 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.) |
| equal | Determines whether the specified object is equal to the current one. (Inherited from Object.) |
| getTimeOutTimerHandle | Returns the timer handle for the object. (Inherited from Object.) |
| handle | Retrieves the handle of the class of the object. (Inherited from Object.) |
| isSubsetOf | Determines whether a current permission is a subset of the specified permission. (Overrides the isSubsetOf Method.) |
| new | Creates an new instance of the InteropPermission class. (Overrides the new Method.) |
| notify | Releases the hold on an object that has called the wait method on this object. (Inherited from Object.) |
| notifyAll | Releases a lock on the object that was issued by the wait method on this object. (Inherited from Object.) |
| objectOnServer | Determines whether the object is on a server. (Inherited from Object.) |
| owner | Returns the instance that owns the object. (Inherited from Object.) |
| setTimeOut | Sets up the scheduled execution of a specified method. (Inherited from Object.) |
| toString | Returns a string that represents the current object. (Inherited from Object.) |
| usageCount | Returns the current number of references, that is, the value of the reference counter, that the object has. (Inherited from Object.) |
| wait | Pauses a process. (Inherited from Object.) |
| xml | Returns an XML string that represents the current object. (Inherited from Object.) |
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
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();
}