|
The QMRecordlocked() function queries the lock on a record. It is analogous to the QMBasic RECORDLOCKED() function.
The function arguments are:
| FileNo | is the file number returned by a previous QMOpen() call. |
| Id | is the id of the record to be locked. |
The QMRecordlocked() function returns one of the following values:
Value
|
Token
|
Lock state
|
-3
|
LOCK$OTHER.FILELOCK
|
Another user holds a file lock
|
-2
|
LOCK$OTHER.READU
|
Another user holds an update lock
|
-1
|
LOCK$OTHER.READL
|
Another user holds a read lock
|
0
|
LOCK$NO.LOCK
|
The record is not locked
|
1
|
LOCK$MY.READL
|
This user holds a read lock
|
2
|
LOCK$MY.READU
|
This user holds an update lock
|
3
|
LOCK$MY.FILELOCK
|
This user holds a file lock
|
A record may be multiply locked in which case the QMRecordlocked() function reports only one of the current locks. File locks take precedence over read or update locks. If no file lock is set, read or update locks held by the process in which the QMRecordlocked() function is performed take precedence over locks held by other processes.
int QMRecordlocked(int FileNo, char * Id)
State = QMRecordlocked(fClients, ClientNo);
|
QMRecordlocked(ByVal FileNo as Integer, ByVal Id as String) As Short
State = QMRecordlocked(fClients, ClientNo)
|
Recordlocked(FileNo, Id)
State = session->Recordlock(fClients, ClientNo)
|
int Recordlocked(int FileNo, String Id)
State = qm.Recordlocked(fClients, ClientNo);
|
Recordlocked(FileNo, Id)
State = qm.Recordlock(fClients, ClientNo)
|
See also:
RECORDLOCKED(), QMRecordlock
|