SAVEBUFFERCALLBACK

# include“l_bitmap.h”

L_INTpEXT_CALLBACK你的函数(uRequiredSize, ppBuffer, pdwBufferSize, pUserData)

提供对L_SaveFileBufferL_SaveBitmapBuffer函数。

参数

L_SIZE_TuRequiredSize

保存位图或文件所需的最小缓冲区大小。

ppBuffer

要保存的缓冲区指针的地址。回调函数允许用户重新分配缓冲区。重新分配缓冲区时,缓冲区地址可以更改。这个参数应该更新为重新分配的缓冲区的新地址。

pdwBuffersize

指向包含实际缓冲区大小的变量的指针。对于要保存的位图或文件,*pdwBufferSize必须大于等于uRequiredSize。

L_VOID* pUserData

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

L_UCHAR* * ppBuffer

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

返回

价值 意义
成功 活动很成功。
失败 发生错误。

评论

这个回调函数是可选的,但推荐使用。如果没有使用回调,那么用户必须分配一个足够大的缓冲区来保存内存文件。如果缓冲区不够大且未使用回调函数,则函数将失败。

如果用户提供回调函数,则必须重新分配缓冲区,使其至少为uRequiredSize字节。ppBuffer参数必须用新的缓冲区更新。pdwBufferSize参数必须更新为新缓冲区的大小。

如果回调成功地重新分配了缓冲区,它应该返回SUCCESS。

如果回调未能成功重新分配缓冲区,它应该返回FAILURE。

必需的dll和库

另请参阅

功能

例子

类型定义结构体_tagMYBUFFERL_UCHAR * pbuf;L_SIZE_T dwBufferSize;} MYBUFFER, *pMYBUFFER;示例buffercb (L_SIZE_T uRequiredSize,L_UCHAR ** ppBuffer,L_SIZE_T * pdwBufferSizeL_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;
栅格成像C API帮助
188金宝搏的网址客服|支持|联系我们|知识产权公告
©1991 - 2021领德科技有限公司版权所有。