LogPhysicalRecord
Logs a physical record into the log table and optionally locks the record
#include <\nlm\nit\nwsync.h> int LogPhysicalRecord ( int fileHandle, long recordStartOffset, long recordLength, BYTE lockDirective, WORD timeoutLimit);
For cross-platform functionality, call NWLogPhysicalRecord.
A log table contains data-locking information used by a server. The server tracks this information. Whenever a physical record is logged, information identifying the data being logged is placed in the log table. Normally, a set of records are logged and then locked as a set. However, a single record can also be locked when it is placed in the log table.
When using log tables, an application first logs all records to complete a transaction. The application then attempts to lock the logged set of records. If some of the logged resources cannot be locked, the lock fails and none of the resources are locked. Therefore, either all of the resources needed to complete a transaction are locked, or none of the resources are locked. This function cannot lock physical records that are exclusively locked by other applications.
The fileHandle is a valid file handle returned by a previous call to open, sopen, creat, or fileno.
When the lockDirective parameter specifies that the physical record should be locked when it is logged, the timeoutLimit parameter indicates how long the server should wait if it cannot lock the record immediately. The timeoutLimit parameter is specified in units of 1/18 of a second (0 means no wait).