gpt4 book ai didi

c# - 如何在 C# 中映射 HALF_PTR

转载 作者:搜寻专家 更新时间:2023-10-31 00:38:22 26 4
gpt4 key购买 nike

我目前正在对一种类型转换机制进行建模,该机制将 native ( Windows Data Types) 转换为 .NET

示例:

HANDLE = System.IntPtr
HDC = System.IntPtr
WORD = System.UInt16

INT_PTR 在它们各自的机器上是 32 位/64 位的,所以在 .NET 中就是 System.IntPtr

HALF_PTR(和其他)在各自的 32 位/64 位机器上是 16 位/32 位...

那么我将如何在 .NET 中为 HALF_PTR 建模 - 如果可能的话?

我想另一种看待这个问题的方式是:是否有一个等效于 C# 的“短”指针...类似于 ShortPtr?

最佳答案

这不是问题。它在 Basetsd.h 中声明,但实际上并未在任何 winapi 声明中使用。您实际遇到它的几率非常接近于零。

如果必须的话,它只是为面向 64 位处理器的程序定义的。它将一个 64 位指针映射到两个 32 位指针。通过将 IntPtr 转换为 UInt64 并使用 & 0xffffffff>> 32 获得两个 UInt32 部分,您将获得相同的结果。

关于c# - 如何在 C# 中映射 HALF_PTR,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18253260/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com