我在Dreamweaver的插件中有一些文档我说的如下:
void ** connectionData
•connectionData参数是a 处理代理的数据 想让Dreamweaver传递给它 调用其他API函数。
对于connectionData,我手册中没有其他信息。从字面上思考,我认为句柄指的是通用句柄,但我无法找到有关使用C语言的通用句柄的文档。
HANDLE h = connectionData;
在我的代码中编译。我究竟如何获得此数据结构中的“秘密”/有人可以解释C的通用句柄是如何工作的?
答案 0 :(得分:4)
没有关于句柄的通用规则或任何内容,您必须按照lib的文档所示使用它们。
答案 1 :(得分:2)
定义它的方式,connectionData是指向某事物的指针。在不知道分配给connectionData的内容的情况下,您无法了解其他任何内容。你的其他陈述有效的原因是HANDLE可能是一个扩展为void *
的宏要知道“秘密”,你需要找出什么结构(这是猜测 - 它实际上可能是任何数据类型)connectionData指向,然后查看该结构的定义。我不知道你对编程有多熟悉,但调试器允许你在断点处暂停时轻松查看struct的字段。
但是,正如其他人所说的那样,你可能不希望捣乱任何内容,只使用API调用。
答案 2 :(得分:0)
C开发人员在特别想要隐藏内部数据并使API用户不再使用实现时,会使用“句柄”数据类型。句柄有时只是一个指针,但也可以是内部查找表的索引。
通常,您应该只使用提供的API函数和句柄,并学习正确的方法来获取句柄,了解它的生命周期以及如何在完成后正确处理它。