Examples of HANDLEByReference


Examples of com.sun.jna.platform.win32.WinNT.HANDLEByReference

      userInfo.usri1_name = new WString("JNAAdvapi32TestImp");
      userInfo.usri1_password = new WString("!JNAP$$Wrd0");
      userInfo.usri1_priv = LMAccess.USER_PRIV_USER;
      assertEquals(LMErr.NERR_Success, Netapi32.INSTANCE.NetUserAdd(null, 1, userInfo, null));
    try {
      HANDLEByReference phUser = new HANDLEByReference();
      try {
        assertTrue(Advapi32.INSTANCE.LogonUser(userInfo.usri1_name.toString(),
            null, userInfo.usri1_password.toString(), WinBase.LOGON32_LOGON_NETWORK,
            WinBase.LOGON32_PROVIDER_DEFAULT, phUser));
        assertTrue(Advapi32.INSTANCE.ImpersonateLoggedOnUser(phUser.getValue()));
        assertTrue(Advapi32.INSTANCE.RevertToSelf());
      } finally {
        if (phUser.getValue() != WinBase.INVALID_HANDLE_VALUE) {
          Kernel32.INSTANCE.CloseHandle(phUser.getValue());
        }       
      }
    } finally {
        assertEquals(LMErr.NERR_Success, Netapi32.INSTANCE.NetUserDel(
            null, userInfo.usri1_name.toString()));     
View Full Code Here

Examples of com.sun.jna.platform.win32.WinNT.HANDLEByReference

      assertFalse(Advapi32.INSTANCE.CloseServiceHandle(null));
      assertEquals(W32Errors.ERROR_INVALID_HANDLE, Kernel32.INSTANCE.GetLastError());
    }
   
    public void testCreateProcessAsUser() {
      HANDLEByReference hToken = new HANDLEByReference();
      HANDLE processHandle = Kernel32.INSTANCE.GetCurrentProcess();
      assertTrue(Advapi32.INSTANCE.OpenProcessToken(processHandle,
          WinNT.TOKEN_DUPLICATE | WinNT.TOKEN_QUERY, hToken));
     
      assertFalse(Advapi32.INSTANCE.CreateProcessAsUser(hToken.getValue(), null, "InvalidCmdLine.jna",
          null, null, false, 0, null, null, new WinBase.STARTUPINFO(),
          new WinBase.PROCESS_INFORMATION()));
      assertEquals(W32Errors.ERROR_FILE_NOT_FOUND, Kernel32.INSTANCE.GetLastError());
      assertTrue(Kernel32.INSTANCE.CloseHandle(hToken.getValue()));
    }
View Full Code Here

Examples of com.sun.jna.platform.win32.WinNT.HANDLEByReference

      assertEquals(WinNT.SE_BACKUP_NAME.length(), cchName.getValue());
      assertEquals(WinNT.SE_BACKUP_NAME, Native.toString(lpName));
    }
   
    public void testAdjustTokenPrivileges() {
      HANDLEByReference hToken = new HANDLEByReference();
      assertTrue(Advapi32.INSTANCE.OpenProcessToken(Kernel32.INSTANCE.GetCurrentProcess(),
          WinNT.TOKEN_ADJUST_PRIVILEGES | WinNT.TOKEN_QUERY, hToken));
     
      // Find an already enabled privilege
      TOKEN_PRIVILEGES tp = new TOKEN_PRIVILEGES(1024);
      IntByReference returnLength = new IntByReference();
      assertTrue(Advapi32.INSTANCE.GetTokenInformation(hToken.getValue(),  WinNT.TOKEN_INFORMATION_CLASS.TokenPrivileges,
          tp, tp.size(), returnLength));
      assertTrue(tp.PrivilegeCount.intValue() > 0);
     
      WinNT.LUID luid = null;
      for (int i=0; i<tp.PrivilegeCount.intValue(); i++) {
        if ((tp.Privileges[i].Attributes.intValue() & WinNT.SE_PRIVILEGE_ENABLED) > 0) {
          luid = tp.Privileges[i].Luid;
        }
      }
      assertTrue(luid != null);     
     
      // Re-enable it. That should succeed.
      tp = new WinNT.TOKEN_PRIVILEGES(1);
      tp.Privileges[0] = new WinNT.LUID_AND_ATTRIBUTES(luid, new DWORD(WinNT.SE_PRIVILEGE_ENABLED));
     
      assertTrue(Advapi32.INSTANCE.AdjustTokenPrivileges(hToken.getValue(), false, tp, 0, null, null));
      assertTrue(Kernel32.INSTANCE.CloseHandle(hToken.getValue()));
    }
View Full Code Here

Examples of com.sun.jna.platform.win32.WinNT.HANDLEByReference

      assertTrue(Kernel32.INSTANCE.SetHandleInformation(hFile, WinBase.HANDLE_FLAG_PROTECT_FROM_CLOSE, 0));
      assertTrue(Kernel32.INSTANCE.CloseHandle(hFile));
    }
   
    public void testCreatePipe() {
      HANDLEByReference hReadPipe = new HANDLEByReference();
      HANDLEByReference hWritePipe = new HANDLEByReference();
     
      assertTrue(Kernel32.INSTANCE.CreatePipe(hReadPipe, hWritePipe, null, 0));
      assertTrue(Kernel32.INSTANCE.CloseHandle(hReadPipe.getValue()));
      assertTrue(Kernel32.INSTANCE.CloseHandle(hWritePipe.getValue()));
    }
View Full Code Here

Examples of com.sun.jna.platform.win32.WinNT.HANDLEByReference

              ptsServerExpiry);
          assertTrue(serverRc == W32Errors.SEC_I_CONTINUE_NEEDED || serverRc == W32Errors.SEC_E_OK);
        }       
      } while(serverRc != W32Errors.SEC_E_OK || clientRc != W32Errors.SEC_E_OK);     
      // query security context token
      HANDLEByReference phContextToken = new HANDLEByReference();
      assertEquals(W32Errors.SEC_E_OK, Secur32.INSTANCE.QuerySecurityContextToken(
          phServerContext, phContextToken));
      // release security context token
      assertTrue(Kernel32.INSTANCE.CloseHandle(phContextToken.getValue()));
      // release server context
      assertEquals(W32Errors.SEC_E_OK, Secur32.INSTANCE.DeleteSecurityContext(
          phServerContext));
      assertEquals(W32Errors.SEC_E_OK, Secur32.INSTANCE.FreeCredentialsHandle(
          phServerCredential));
View Full Code Here

Examples of com.sun.jna.platform.win32.WinNT.HANDLEByReference

    }

    @Override
    public IWindowsIdentity logonDomainUserEx(final String username, final String domain, final String password,
            final int logonType, final int logonProvider) {
        final HANDLEByReference phUser = new HANDLEByReference();
        if (!Advapi32.INSTANCE.LogonUser(username, domain, password, logonType, logonProvider, phUser)) {
            throw new Win32Exception(Kernel32.INSTANCE.GetLastError());
        }
        return new WindowsIdentityImpl(phUser.getValue());
    }
View Full Code Here

Examples of com.sun.jna.platform.win32.WinNT.HANDLEByReference

        return new WindowsSecurityContextImpersonationContextImpl(this.ctx);
    }

    @Override
    public IWindowsIdentity getIdentity() {
        final HANDLEByReference phContextToken = new HANDLEByReference();
        final int rc = Secur32.INSTANCE.QuerySecurityContextToken(this.ctx, phContextToken);
        if (WinError.SEC_E_OK != rc) {
            throw new Win32Exception(rc);
        }
        return new WindowsIdentityImpl(phContextToken.getValue());
    }
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.