Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/361.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
指向BOOL的jnajava指针_Java_Integer_Boolean_Jna - Fatal编程技术网

指向BOOL的jnajava指针

指向BOOL的jnajava指针,java,integer,boolean,jna,Java,Integer,Boolean,Jna,我正在尝试将此函数转换为JNA: DWORD WINAPI WlanHostedNetworkSetProperty( __in HANDLE hClientHandle, __in WLAN_HOSTED_NETWORK_OPCODE OpCode, __in DWORD dwDataSize, __in PVOID pvData, __out

我正在尝试将此函数转换为JNA:

        DWORD WINAPI WlanHostedNetworkSetProperty(
        __in        HANDLE hClientHandle,
        __in        WLAN_HOSTED_NETWORK_OPCODE OpCode,
        __in        DWORD dwDataSize,
        __in        PVOID pvData,
        __out_opt   PWLAN_HOSTED_NETWORK_REASON pFailReason,
        __reserved  PVOID pvReserved
        );
正如我现在所说:

     int WlanHostedNetworpSetProperty(HANDLE hClientHandle, IntByReference OpCode,int dwDataSize, Pointer pvData, IntByReference pFailReason, Pointer pvReserved);
这应该是正确的

但是,当操作码是wlan托管的网络操作码启用时,也就是3,它希望pvData是BOOL。我读到BOOL是一个整数,但是执行pvData.setInteger(1)会使应用程序崩溃。任何帮助都会很好

操作码
无线局域网承载的网络操作码
启用时,崩溃是一种异常访问冲突。

指向BOOL的指针在pvData参数中传递

请注意,它是指向
BOOL
的指针,而不是实际需要的
BOOL


正如您所发现的,更改为
IntByReference
解决了问题,这可能是因为
int
BOOL
在您的平台上大小相同,而且现在您正在传递一个有效指针。

但是它现在返回的是“错误参数”,而不是不支持的错误或类似错误。这是因为dwDataSize设置错误(设置为4)?Nvm,操作码不应该是指针,这就是它所抱怨的。