Com 如何在Windows SDK中获取要编译和运行的资源DLL代码示例?

Com 如何在Windows SDK中获取要编译和运行的资源DLL代码示例?,com,windows-server-2008,windows-server-2003,cluster-computing,resource-dll,Com,Windows Server 2008,Windows Server 2003,Cluster Computing,Resource Dll,我目前正在尝试在WindowsServer2003和2008上构建一个资源DLL。我目前正在使用Windows SDK提供的资源DLL代码示例,但无法使它们正常工作 在WindowsServer2008上,我成功地编译了Windows7SDK剪贴簿服务器示例,但无法使其在群集中正常工作。当我使用“cluster restype/create/dll”将资源作为资源类型插入集群时,它可以工作,但资源是以未知类型而不是剪贴簿服务器类型列出的,因为它是资源dll代码中定义的类型,我认为它应该具有这种类

我目前正在尝试在WindowsServer2003和2008上构建一个资源DLL。我目前正在使用Windows SDK提供的资源DLL代码示例,但无法使它们正常工作

在WindowsServer2008上,我成功地编译了Windows7SDK剪贴簿服务器示例,但无法使其在群集中正常工作。当我使用“cluster restype/create/dll”将资源作为资源类型插入集群时,它可以工作,但资源是以未知类型而不是剪贴簿服务器类型列出的,因为它是资源dll代码中定义的类型,我认为它应该具有这种类型。 我也成功地创建了这种类型的资源,但我永远无法让它上线。我总是会出错:

发生系统错误5079(0x000013d7)。 指定的节点不支持此类型的资源。这可能是由于版本不一致或此节点上缺少资源DLL造成的。

尽管资源位于集群中的所有节点上,包括我试图启动资源的节点上,这一点仍然存在

在WindowsServer2003上,我正在使用平台SDK版本5.2,甚至无法编译剪贴簿服务器资源DLL代码示例。我总是收到MIDL1001错误,说它无法打开文件cluscfgserver.idl。我将文件位置的路径添加到项目的include路径中。那没用。当我试图硬编码文件的路径时,我在尝试链接此文件时遇到了几个链接器错误

如果有人知道这些问题中的任何一个,我将非常感谢任何人的意见。

这些例子已经过时了。为了让类似的“文件共享示例”发挥作用,我必须经历以下几件事:

  • 将项目转换为x64(假定32位资源仍然有效,但我无法验证这一点)
  • 将模块定义文件(.def)添加到链接器输入属性页,以便公开启动功能
  • 代码中有几个点使用CompareString来检查资源类型名称,成功时预期为0,但它实际上返回
    CSTR_EQUAL
    (3)。
    • 这可能就是您获得“(未知类型)”名称的原因
  • 要注册资源扩展,cluster.exe将不接受dll名称中的空格,因此在我的示例中,我必须使用
    cluster/REGADMINEXT:'FILESH~2.dll'
  • 仅支持属性表扩展界面,其他所有内容(上下文菜单、向导)都已从Server 2008中删除
  • 检查资源类型“剪贴簿服务器”的扩展DLL stdafx.cpp源。它应该是“剪贴簿服务器示例”:
    const WCHAR g_wszresourcepenames[]=L“剪贴簿服务器示例\0”

您可以与我分享创建资源DLL的代码示例吗?