JNA CreatePseudoConsole声明

问题描述 投票:0回答:1

CreatePseudoConsole函数的正确JNA声明是什么?

Windows API声明如下:

HRESULT WINAPI CreatePseudoConsole(
    _In_ COORD size,
    _In_ HANDLE hInput,
    _In_ HANDLE hOutput,
    _In_ DWORD dwFlags,
    _Out_ HPCON* phPC
);
java winapi jna
1个回答
2
投票

HRESULT is a 32-bit integer,所以你的函数声明将是int CreatePseudoConsole()

至于参数,你可以扩展Structure来创建你自己的COORD结构,将两个Windows SHORTs映射到Java的16位整数short

JNA已经有了WinNT.HANDLE的映射,所以就这样使用它。您可以选择使用JNA的DWORD映射,但大多数时候我只是将它们直接映射到int

所以唯一剩下的就是指向HPCON的指针,它没有直接映射。文档将此描述为指向HANDLE的指针。你可以在这里使用HANDLEByReference,或者将它扩展到你自己更狭窄的类。如果要创建HPCONByReference,这个mapping of HGLRCByReference就是一个很好的例子。

© www.soinside.com 2019 - 2024. All rights reserved.