REDIRECTOPEN

# include“l_bitmap.h”

L_HFILEpEXT_CALLBACKyouopen (pFile, nMode, nShare, pUserData)

替换打开文件的普通LEADTOOLS函数。

参数

L_TCHAR* pFile

字符串,包含要加载的文件的名称。

L_INTnMode

访问模式。LEADTOOLS对nMode参数使用以下定义:

常数 意义
O_APPEND [0x0008]在每次写操作之前,将文件指针重新定位到文件的末尾。
O_BINARY [0x8000]以二进制方式打开文件。
O_CREAT [0x0100]创建并打开一个新文件进行写入;如果文件存在,这将不起作用。
O_EXCL [0x0400]如果文件名存在,则返回错误。仅在与O_CREAT一起使用时适用。
O_RDONLY [0x0000]打开文件只读;如果给出了这个标志,O_RDWR和O_WRONLY都不能给出。
O_RDWR [0x0002]打开文件进行读写;如果给出了这个标志,O_RDONLY和O_WRONLY都不能给出。
O_TEXT [0x4000]以文本方式打开文件。
O_TRUNC [0x0200]打开并将现有文件截断为零长度。文件内容被销毁。如果给出了该标志,则不能指定O_RDONLY。
O_WRONLY [0x0001]打开文件仅供写入;如果给出了这个标志,O_RDONLY和O_RDWR都不能给出。

LEADTOOLS假定您将以二进制文件的形式打开文件,除非nMode值特别指出了其他情况。如果您使用的函数默认情况下不以二进制文件打开文件(例如_topen),那么您应该确保以二进制文件打开文件。

L_INTnShare

分享模式。以下是有效的常量:

价值 意义
S_IREAD [0000400]打开文件并拒绝其他程序对该文件的读访问。如果文件已被任何其他程序打开以供读访问,则回调应返回一个错误。
S_IWRITE [0000200]打开文件并拒绝其他程序对该文件的写访问。如果文件已被任何其他程序打开以进行写访问,则回调应返回一个错误。

L_VOID* pUserData

一个空指针,可用于访问包含回调函数所需数据的变量或结构。这为您提供了一种从使用此回调函数的函数间接接收数据的方法。(这是传递给调用函数的pUserData参数的同一个指针。)

请记住,这是一个空指针,必须在回调函数中转换为适当的数据类型。

返回

价值 意义
> 0 文件句柄与其他I/O函数一起使用。
-1 发生错误。

评论

有关使用这种类型的回调的信息,请参见L_RedirectIO

必需的dll和库

例子

有关如何定义和调用以下函数,请参阅L_RedirectIO
这个过程是内置的Open过程的替代品。
它返回数字5(看起来像一个文件句柄),表示函数成功执行。

/************************** 全局声明  **********************************/类型定义结构体tagUSERDATAL_INT32 dwSize;/*缓冲区的大小。* /L_INT32 dwUsed;/*使用的字节数。* /L_CHAR pData;/*指向缓冲区的指针* /L_CHAR pCurData;/*当前指针位置。* /} userdata, * lpuserdata;静态用户数据用户数据;/*指向数据结构*//***************************************************************************************/L_INT WindowsOpen (常量L_TCHAR * pFile, L_INT nMode,L_INT nShare)UNREFERENCED_PARAMETER (pFile);UNREFERENCED_PARAMETER (nMode);UNREFERENCED_PARAMETER (nShare);用户数据。pCurData = UserData.pData;用户数据。dwUsed = 0;返回(5);

栅格成像C API帮助
188金宝搏的网址客服|支持|联系我们|知识产权公告
©1991 - 2021领德科技有限公司版权所有。