IoMgrLockEnter (FUN)
FUNCTION IoMgrLockEnter : RTS_IEC_RESULT
This function acquires the mutual-exclusion locks for the given operations
for critical sections inside the I/O driver’s implementation of IoDrvReadInputs(), IoDrvWriteOutputs(), and IoDrvStartBusCycle().
The locks can be released with the function IoMgrLockLeave().
While a lock is held, any other thread is blocked from acquiring the lock and waits until the lock is released.
IMPLEMENTATION NOTE: The behavior of the dwLockScope parameter can’t be implemented on all platforms.
Platforms without synchronization functionality may not be able to implement this behavior.
IoMgrEmbedded of the CODESYSControlEmbedded runtime system for example can only disable and enable all interrupts.
- InOut:
Scope
Name
Type
Comment
Return
IoMgrLockEnterRTS_IEC_RESULT- error code
ERR_OK: Locks were successfully acquired.
ERR_PARAMETER: The
pbyIoDrvparameter isNULL(only implementations that use this parameter), or thedwLockScopeparameter has none of the GVL LockScopes set (only implementations that use this parameter).ERR_FAILED: No driver entry for pbyIoDrv found in device pool.
Input
hIoDrvRTS_IEC_HANDLEHandle to the driver instance which is returned by the function IoMgrRegisterInstance2().
dwLockScopeDWORDThe operations for which to acquire locks. See GVL LockScopes for detailed information.