Convertir cadena a puntero para JNA

Estoy intentando usar JNA para consultar los permisos efectivos de un archivo en Windows. Eventualmente, planeo usar elFunción GetEffectiveRightsFromAcl, pero para hacerlo, necesito proporcionar un puntero a unEstructura del fideicomiso. La plataforma JNA (platform.jar) no aparece define esta estructura, por lo que estoy intentando definirla yo mismo. Esto es lo que tengo hasta ahora:

<code>public static class TRUSTEE extends Structure {
    public TRUSTEE() {
        super();
    }
    public TRUSTEE(Pointer p) {
        super(p);
        read();
    }

    public Pointer pMultipleTrustee;
    public int MultipleTrusteeOperation;
    public int TrusteeForm;
    public int TrusteeType;
    public Pointer ptstrName;
}
</code>

Estoy tratando de poblar la estructura de esta manera:

<code>private TRUSTEE createTrusteeForCurrentUser() {
    TRUSTEE result = new TRUSTEE();
    result.TrusteeForm = TRUSTEE_FORM.TRUSTEE_IS_NAME;
    result.TrusteeType = TRUSTEE_TYPE.TRUSTEE_IS_USER;

    String strName = "CURRENT_USER";
    // How can I set result.ptstrName using strName?
}
</code>

Este hilo de Grupos de Google recomienda usarString campos en estructuras cuando unachar * se pide para Sin embargo, no creo que esto sea apropiado en mi situación, considerando laptstrName campo está permitido para apuntar a diferentes tipos de cosas, dependiendo del valor deTrusteeForm. Por lo tanto, creo que de alguna manera necesito convertir deString aPointer en lugar. Encontré laNativeString clase en JNA, que funcionaría, excepto que es una clase de paquete privado.

¿Cuál es la forma recomendada para convertir un Java?String a un formato nativo y obtener unaPointer ¿lo? ¿Estoy usando el tipo de datos correcto para elTRUSTEE estructura? Soy algo nuevo en JNA, así que discúlpeme si me falta algo obvio.

Actualizar

Encontré una solución a mi problema, pero si alguien tiene una solución mejor, me gustaría escucharla.

Respuestas a la pregunta(3)

Su respuesta a la pregunta