lld_seek() 函数

此函数用于设置已打开进行读取或写入的大对象的下次读取或写入操作的位置。

语法

API
mi_integer lld_seek(conn, io, offset, whence, new_offset, error)
      MI_CONNECTION*               conn
      LLD_IO*                       io;
      mi_int8*                      offset;
      mi_integer                   whence;
      mi_int8*                     new_offset;
   mi_integer*                  error; 
ESQL/C
int lld_seek(io,offset, whence, new_offset, error)
      LLD_IO*                       io;
EXEC SQL BEGIN DECLARE SECTION;
      PARAMETER int8* offset;
EXEC SQL END DECLARE SECTION;
EXEC SQL BEGIN DECLARE SECTION;
      PARAMETER int8* new_offset;
EXEC SQL END DECLARE SECTION;
      int whence;
      int* error;
conn
先前通过调用 mi_open()mi_server_connect() 函数建立的连接描述符。 此参数仅适用于 API 接口。在此函数的 ESQL/C 和 SQL 版本中,您必须已经连接到服务器。
io
指向先前通过调用 lld_open() 函数创建的 LLD_IO 结构的指针。
偏移量
指向偏移量的指针。用于描述对象中的寻道位置。其值取决于 whence 参数的值。
  • 如果 whence 为 LLD_SEEK_SET,那么相对于对象的开始位置度量偏移量。
  • 如果 whence 为 LLD_SEEK_CUR,那么偏移量将相对于对象中的当前位置。
  • 如果 whence 为 LLD_SEEK_END,那么偏移量将相对于文件的结束位置。
whence
确定偏移量的解释方式。
new_offset
指向所分配的 int8 的指针。该函数将返回此 int8 中的新偏移量。
error
函数在其中返回错误代码的输出参数。

用途

调用此函数之前,必须通过调用 lld_open() 打开大对象。

虽然此函数采用 8 字节偏移量,但此偏移量仍会转换为底层大对象存储系统的相应大小。 例如,如果大对象存储在 32 位文件系统中,那么 8 字节偏移量将转换为 4 字节偏移量,而且只要尝试搜索超过 4 GB 的内容都将发生错误。

返回码

对于 API 函数,如果函数成功,将返回 MI_OK,如果失败,那么返回 MI_ERROR

对于 ESQL/C 函数,如果函数成功,将返回 0,如果失败,那么返回 -1

上下文

lld_open() 函数

lld_read() 函数

lld_tell() 函数

lld_write() 函数