# include“l_bitmap.h”
L_INTpEXT_CALLBACK你的函数(uRequiredSize, ppBuffer, pdwBufferSize, pUserData)
提供对L_SaveFileBuffer或L_SaveBitmapBuffer函数。
保存位图或文件所需的最小缓冲区大小。
要保存的缓冲区指针的地址。回调函数允许用户重新分配缓冲区。重新分配缓冲区时,缓冲区地址可以更改。这个参数应该更新为重新分配的缓冲区的新地址。
指向包含实际缓冲区大小的变量的指针。对于要保存的位图或文件,*pdwBufferSize必须大于等于uRequiredSize。
一个空指针,可用于访问包含回调函数所需数据的变量或结构。这提供了一种从使用此回调函数的函数间接接收数据的方法。(这是在调用函数的pUserData参数中传递的同一个指针。)
请记住,这是一个空指针,必须在回调函数中转换为适当的数据类型。
价值 | 意义 |
---|---|
成功 | 活动很成功。 |
失败 | 发生错误。 |
这个回调函数是可选的,但推荐使用。如果没有使用回调,那么用户必须分配一个足够大的缓冲区来保存内存文件。如果缓冲区不够大且未使用回调函数,则函数将失败。
如果用户提供回调函数,则必须重新分配缓冲区,使其至少为uRequiredSize字节。ppBuffer参数必须用新的缓冲区更新。pdwBufferSize参数必须更新为新缓冲区的大小。
如果回调成功地重新分配了缓冲区,它应该返回SUCCESS。
如果回调未能成功重新分配缓冲区,它应该返回FAILURE。
必需的dll和库
类型定义结构体_tagMYBUFFER
{
L_UCHAR * pbuf;
L_SIZE_T dwBufferSize;
} MYBUFFER, *pMYBUFFER;
示例buffercb (L_SIZE_T uRequiredSize,
L_UCHAR ** ppBuffer,
L_SIZE_T * pdwBufferSize
L_VOID * pUserData)
{
L_UCHAR * pTempBuffer;
L_INT nRet;
L_TCHAR szMsg [400];
pMYBUFFER = (pMYBUFFER)pUserData;
pTempBuffer = (L_UCHAR*)realloc(pMyBuffer->pBuffer, uRequiredSize);
如果(pTempBuffer)
{
wsprintf (szMsg文本(“* *重新分配从\ n \ t (0 x % x % d] \ n \ t [0 x % x % d] \ n”),
pMyBuffer - > pbuf,
pMyBuffer - > dwBufferSize,
pTempBuffer,
uRequiredSize);
//MessageBox(NULL, szMsg, TEXT(""), MB_OK);
OutputDebugString (szMsg);
pMyBuffer->pBuffer = pTempBuffer;
dwBufferSize = uRequiredSize;
*ppBuffer = pMyBuffer->pBuffer;
*pdwBufferSize = uRequiredSize;
nRet = SUCCESS;
}
其他的
{
nRet = FAILURE;
}
返回nRet;
}
帮助收藏
光栅net|C API|c++类库|HTML5 JavaScript
文档net|C API|c++类库|HTML5 JavaScript
医疗net|C API|c++类库|HTML5 JavaScript
医疗网络查看器net
188宝金博怎么下载
支持的平台上
.NET、Java、Android和iOS/macOS程序集
C API/ c++类库
HTML5 JavaScript库
您的邮件已发送给技术支持!应该有人联系!如果你的事情很紧急,请回来聊天。
聊天时间:
周一至周五,美国东部时间上午8:30至下午6:00
感谢您的反馈!
请再次填写表格,开始新的聊天。
所有代理目前都离线。
聊天时间:
星期一至星期五
美国东部时间上午8:30 -下午6点
如需与我们联系,请填写此表格,我们将通过电子邮件与您联系。