InteropPermission Class
Controls the ability to call unmanaged and managed code.
Syntax
class InteropPermission extends CodeAccessPermission
Run On
Called
Methods
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.) |
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