DdeCreateDataHandle函数创建动态数据交换(DDE)对象,并使用指定缓冲区的数据填充对象。DDE应用程序在涉及将数据传递给合作伙伴应用程序的事务期间使用此函数。
HDDEDATA DdeCreateDataHandle(
DWORD 【idInst】, | //实例标识符en |
LPBYTE 【PSRC】, | //指向源缓冲区的指针 |
DWORD 【cb】, | // DDE对象的长度 |
DWORD 【cbOff】, | //偏移源缓冲区的开头 |
HSZ 【hszItem】, | //处理项目名称字符串 |
UINT 【WFMT】, | //剪贴板数据格式 |
UINT 【afCmd】 | //创建标志 |
); |
参数
【idInst】
指定通过先前调用DdeInitialize函数获取的应用程序实例标识符。
【PSRC】
指向包含要复制到DDE对象的数据的缓冲区。如果此参数为NULL,则不会将数据复制到对象。
【cb】
指定从【PSRC】指向的缓冲区复制的内存量(以字节为单位)。如果此参数为零,则忽略【PSRC】参数。
【cbOff】
指定从【PSRC】参数指向的缓冲区开头的偏移量(以字节为单位)。从该偏移开始的数据从缓冲区复制到DDE对象。
【hszItem】
标识指定与DDE对象对应的数据项的字符串。此句柄必须由先前调用DdeCreateStringHandle函数创建。如果要在XTYP_EXECUTE事务中使用数据句柄,则此参数必须为0L。
【WFMT】
指定数据的标准剪贴板格式。
【afCmd】
指定创建标志。此参数可以是HDATA_APPOWNED,它指定调用DdeCreateDataHandle函数的服务器应用程序拥有此函数创建的数据句柄。该标志使应用程序能够与其他动态数据交换管理库(DDEML)应用程序共享数据句柄,而不是创建单独的句柄来传递给每个应用程序。如果指定了此标志,应用程序必须最终使用DdeFreeDataHandle函数释放与句柄关联的共享内存对象。如果未指定此标志,则在由应用程序的DDE回调函数返回数据句柄后,或在另一个DDEML函数中用作参数时,该句柄在创建句柄的应用程序中变为无效。
返回值
如果函数成功,则返回值是一个数据句柄。
如果函数失败,返回值为0L。
错误
DdeGetLastError功能可用于获取错误代码,可能是以下值之一:
DMLERR_DLL_NOT_INITIALIZED
DMLERR_INVALIDPARAMETER
DMLERR_MEMORY_ERROR
DMLERR_NO_ERROR
备注
DDE对象中的任何未填充的位置未定义。
数据句柄在另一个DDEML函数中被用作参数或由DDE回调函数返回后,该句柄可能仅用于对由句柄标识的DDE对象的读取访问。
也可以看看
DdeAccessData, DdeCreateStringHandle, DdeFreeDataHandle, DdeGetData, DdeInitialize