JNA não encontra o método

Estou utilizando a DLL do projeto NFE_UTIL: http://www.flexdocs.com.br/guiaNFe/
E criei a interface mapeando o método da DLL:

public interface NFe_Util_2G extends Library {
	public String assinar(String XMLString, String RefUri, String nomeCertificado, int Resultado, String msgResultado);
}

Fiz a chamada ao método nativo da seguinte forma:

NFe_Util_2G nfe_Util = (NFe_Util_2G)Native.loadLibrary("NFe_Util_2G", NFe_Util_2G.class);
String result = nfe_Util.assinar(XMLString,RefUri,nomeCertificado,Resultado,msgResultado);

Porém não dá o erro: assinar: Não foi possível encontrar o procedimento especificado

JNA carrega corretamente a DLL porém não consigo fazer a chamada ao método. Já consultei a documentação e estou chamando da maneira correta.

Cara, fui fazer um teste aqui usando esse tutorial: https://blog.caelum.com.br/escrevendo-metodos-nativos-em-java-com-jni-e-jna/, e consegui rodar numa boa. A única coisa que não achei nesse tutorial, é que, quando vai fazer o loadLibrary, o arquivo compilado (no meu caso o .so) tem que está na raiz da pasta src do projeto (bom, para funcionar aqui comigo, precisei fazer assim).

Valeu amigo!!! vou tentar!

Ah, outra coisa. O teste que funcionou foi usando JNA e tive que usar o prefixo lib no meu arquivo nativo (libCalculadora.so). E a lib JNA que usei foi:

<dependency>
	<groupId>net.java.dev.jna</groupId>
	<artifactId>jna</artifactId>
	<version>5.5.0</version>
</dependency>

Você não declarou certo os parâmetros do tipo out.

Olha como é a definição do assinar segundo o link que você passou:

string Assinar(
    string XMLString,
    string RefUri,
    string NomeCertificado,
    out int resultado, // out int é IntByReference no JNA
    out string msgResultado // out string é StringByReference no JNA
)