.NET 签名到 p/invoke GetSystemDEPPolicy 函数

Posted

技术标签:

【中文标题】.NET 签名到 p/invoke GetSystemDEPPolicy 函数【英文标题】:.NET signature to p/invoke GetSystemDEPPolicy function 【发布时间】:2012-02-22 03:58:37 【问题描述】:

我找不到任何 .NET 使用此函数 (GetSystemDEPPolicy) 的示例签名。

http://msdn.microsoft.com/en-us/library/windows/desktop/bb736298(v=vs.85).aspx

这是一个相当简单的函数,但我不知道如何创建签名来调用它。有人可以帮忙吗?

【问题讨论】:

【参考方案1】:

GetSystemDEPPolicy 定义为

DEP_SYSTEM_POLICY_TYPE WINAPI GetSystemDEPPolicy(void);

并且 DEP_SYSTEM_POLICY_TYPE 是一个枚举(请参阅 winbase.h 假设您在开发环境中安装了 C++ 组件 - 如果没有尝试winbase.h)并且 C 中的枚举默认为 int,因此我会使用

[DllImport("kernel32.dll", CharSet=CharSet.Auto, ExactSpelling=true)]
public static extern int GetSystemDEPPolicy();

我建议您在PInvoke上关注本教程

【讨论】:

哇!很棒的信息。我在this blog 上找到了 pinvoke 签名生成器,只是想为 Server 2008 找到 winbase.h 的副本……我会试试看 :-)

以上是关于.NET 签名到 p/invoke GetSystemDEPPolicy 函数的主要内容,如果未能解决你的问题,请参考以下文章

如何从 Metro P/Invoke 到本机 dll?

.Net调用非托管代码(P/Invoke与C++InterOP)

P/Invoke今日谈

如何使用 C# 创建自签名证书?

为啥这个显式 P/Invoke 不起作用?

P Invoke struct结构