Nie można otworzyć portu, wywołując metodę Native z ITLSSPProc.dll

To jest natywna metoda z ITLSSPProc.dll

NOMANGLE int CCONV OpenSSPComPort (SSP_COMMAND * cmd);

Tutaj SSP_COMMAND jest strukturą w ITLSSPProc.dll, która jest w języku C ++.

struct SSP_COMMAND
{
unsigned long BaudRate;
unsigned char PortNumber;
};

Więc muszę uzyskać dostęp do OpenSSPComPort (SSP_COMMAND * cmd) w java przy użyciu JNI. Oto kod, który napisałem

public class Main {
    public interface ITLSSPProc extends Library {
     ITLSSPProc INSTANCE = (ITLSSPProc) Native.loadLibrary(
            (Platform.isWindows() ? "ITLSSPProc" : "simpleDLLWindowsPort"), ITLSSPProc.class);

        int OpenSSPComPort(Pointer param); 
        int CloseSSPComPort();                    
    }

    public static void main(String[] args)throws IOException {

     ITLSSPProc sdll = ITLSSPProc.INSTANCE;

        Memory intMem = new Memory(10); // allocating space
        intMem.setLong(0,9600);
        intMem.setString(1,"com7");        

        if(sdll.OpenSSPComPort(intMem)==1)
        {// calling function with int parameter&result
            System.out.println("connected");
        }
        else
        {
            System.out.println("failed");
        }
     }
}

Output : failed

Numer portu to COM7, na którym pracujemy. Tak więc, kiedy uruchamiam tę aplikację i przekazuję prędkość transmisji ręcznie, jak podano w instrukcji obsługi i jeśli numer portu jest poprawny, należy wydrukować „podłączony” na konsoli. Więc każdy wie, gdzie się mylę, nie rozumiem, gdzie jest rzeczywisty problem ..

questionAnswers(1)

yourAnswerToTheQuestion