DdeCreateDataHandle 函数 (ddeml.h)

) 对象创建动态数据交换 (DDE,并使用指定缓冲区中的数据填充对象。 DDE 应用程序在涉及将数据传递到合作伙伴应用程序的事务期间使用此函数。

语法

HDDEDATA DdeCreateDataHandle(
  [in]           DWORD  idInst,
  [in, optional] LPBYTE pSrc,
  [in]           DWORD  cb,
  [in]           DWORD  cbOff,
  [in, optional] HSZ    hszItem,
  [in]           UINT   wFmt,
  [in]           UINT   afCmd
);

参数

[in] idInst

类型:DWORD

由上一次调用 DdeInitialize 函数获取的应用程序实例标识符。

[in, optional] pSrc

类型: LPBYTE

要复制到 DDE 对象的数据。 如果此参数为 NULL,则不会将数据复制到 对象。

[in] cb

类型:DWORD

要从 pSrc 指向的缓冲区复制的内存量(以字节为单位)。 如果数据是字符串) ,则 (包括终止 NULL。 如果此参数为零,则忽略 pSrc 参数。

[in] cbOff

类型:DWORD

pSrc 参数指向的缓冲区开头的偏移量(以字节为单位)。 从此偏移量开始的数据将从缓冲区复制到 DDE 对象。

[in, optional] hszItem

类型: HSZ

字符串的句柄,指定与 DDE 对象对应的数据项。 此句柄必须由之前对 DdeCreateStringHandle 函数的调用创建。 如果要在 XTYP_EXECUTE 事务中使用数据句柄,则此参数必须为 0L。

[in] wFmt

类型: UINT

数据的标准剪贴板格式。

[in] afCmd

类型: UINT

创建标志。 此参数可以 HDATA_APPOWNED,它指定调用 DdeCreateDataHandle 函数的服务器应用程序拥有此函数创建的数据句柄。 此标志使应用程序能够与其他 DDEML 应用程序共享数据句柄,而不是创建单独的句柄以传递给每个应用程序。 如果指定了此标志,则应用程序必须最终使用 DdeFreeDataHandle 函数释放与句柄关联的共享内存对象。 如果未指定此标志,在数据句柄由应用程序的 DDE 回调函数返回数据句柄或用作另一个 DDEML 函数中的参数后,该句柄在创建句柄的应用程序中变为无效。

返回值

类型: HDDEDATA

如果函数成功,则返回值为数据句柄。

如果函数失败,则返回值为 0L。

DdeGetLastError 函数可用于获取错误代码,该错误代码可以是以下值之一:

备注

DDE 对象中任何未填充的位置均未定义。

将数据句柄用作另一个 DDEML 函数中的参数或由 DDE 回调函数返回后,该句柄只能用于对句柄标识的 DDE 对象的读取访问。

要求

   
最低受支持的客户端 Windows 2000 Professional [仅限桌面应用]
最低受支持的服务器 Windows 2000 Server [仅限桌面应用]
目标平台 Windows
标头 ddeml.h (包括 Windows.h)
Library User32.lib
DLL User32.dll

请参阅

概念性

DdeAccessData

DdeCreateStringHandle

DdeFreeDataHandle

DdeGetData

DdeInitialize

动态数据交换管理库

引用