Package com.sun.jna.platform.win32.WinNT

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


    assertEquals("{00000000-0000-0000-0000-000000000000}",
        Native.toString(lpsz));
  }

  public void testCoInitializeEx() {
    HRESULT hr = Ole32.INSTANCE.CoInitializeEx(null, 0);
    assertTrue(W32Errors.SUCCEEDED(hr.intValue())
        || hr.intValue() == W32Errors.RPC_E_CHANGED_MODE);
    if (W32Errors.SUCCEEDED(hr.intValue()))
      Ole32.INSTANCE.CoUninitialize();
  }
View Full Code Here


    if (W32Errors.SUCCEEDED(hr.intValue()))
      Ole32.INSTANCE.CoUninitialize();
  }

  public void testCoCreateInstance() {
    HRESULT hrCI = Ole32.INSTANCE.CoInitializeEx(null, 0);

    GUID guid = Ole32Util
        .getGUIDFromString("{00021401-0000-0000-C000-000000000046}"); // Shell object
    GUID riid = Ole32Util
        .getGUIDFromString("{000214EE-0000-0000-C000-000000000046}"); // IShellLinkA

    PointerByReference pDispatch = new PointerByReference();

    HRESULT hr = Ole32.INSTANCE.CoCreateInstance(guid, null, // pOuter =
                                  // null, no
                                  // aggregation
        WTypes.CLSCTX_LOCAL_SERVER, riid, pDispatch);
    assertTrue(W32Errors.SUCCEEDED(hr.intValue()));
    assertTrue(!pDispatch.equals(Pointer.NULL));
    // We leak this iUnknown reference because we don't have the JNACOM lib
    // here to wrap the native iUnknown pointer and call iUnknown.release()
    if (W32Errors.SUCCEEDED(hrCI.intValue()))
      Ole32.INSTANCE.CoUninitialize();
View Full Code Here

   * @return
   *  A GUID.
   */
  public static GUID getGUIDFromString(String guidString) {
    GUID lpiid = new GUID();
      HRESULT hr = Ole32.INSTANCE.IIDFromString(guidString, lpiid);
      if (! hr.equals(W32Errors.S_OK)) {
        throw new RuntimeException(hr.toString());
      }
      return lpiid;
  }
View Full Code Here

   * @return
   *  New GUID.
   */
  public static GUID generateGUID() {
    GUID pguid = new GUID();
      HRESULT hr = Ole32.INSTANCE.CoCreateGuid(pguid);
      if (! hr.equals(W32Errors.S_OK)) {
        throw new RuntimeException(hr.toString());
      }
      return pguid;
  }
View Full Code Here

    assertTrue(Native.toString(referencedDomainName).length() > 0);
    }
   
    public void testIsValidSid() {
      String sidString = EVERYONE;
      PSIDByReference sid = new PSIDByReference();
      assertTrue("SID conversion failed", Advapi32.INSTANCE.ConvertStringSidToSid(sidString, sid));
      assertTrue("Converted SID not valid: " + sid.getValue(), Advapi32.INSTANCE.IsValidSid(sid.getValue()));
      int sidLength = Advapi32.INSTANCE.GetLengthSid(sid.getValue());
      assertTrue(sidLength > 0);
      assertTrue(Advapi32.INSTANCE.IsValidSid(sid.getValue()));
    }
View Full Code Here

      assertTrue(Advapi32.INSTANCE.IsValidSid(sid.getValue()));
    }

    public void testGetSidLength() {
      String sidString = EVERYONE;
      PSIDByReference sid = new PSIDByReference();
      assertTrue("SID conversion failed", Advapi32.INSTANCE.ConvertStringSidToSid(sidString, sid));
      assertEquals("Wrong SID lenght", 12, Advapi32.INSTANCE.GetLengthSid(sid.getValue()));
    }
View Full Code Here

    }
   
    public void testLookupAccountSid() {
      // get SID bytes
      String sidString = EVERYONE;
      PSIDByReference sid = new PSIDByReference();
      assertTrue(Advapi32.INSTANCE.ConvertStringSidToSid(sidString, sid));
      int sidLength = Advapi32.INSTANCE.GetLengthSid(sid.getValue());
      assertTrue(sidLength > 0);
      // lookup account
      IntByReference cchName = new IntByReference();
      IntByReference cchReferencedDomainName = new IntByReference();
      PointerByReference peUse = new PointerByReference();
      assertFalse(Advapi32.INSTANCE.LookupAccountSid(null, sid.getValue(),
          null, cchName, null, cchReferencedDomainName, peUse));
    assertEquals(W32Errors.ERROR_INSUFFICIENT_BUFFER, Kernel32.INSTANCE.GetLastError());
      assertTrue(cchName.getValue() > 0);
      assertTrue(cchReferencedDomainName.getValue() > 0);
    char[] referencedDomainName = new char[cchReferencedDomainName.getValue()];
    char[] name = new char[cchName.getValue()];
      assertTrue(Advapi32.INSTANCE.LookupAccountSid(null, sid.getValue(),
          name, cchName, referencedDomainName, cchReferencedDomainName, peUse));
    assertEquals(5, peUse.getPointer().getInt(0)); // SidTypeWellKnownGroup
    String nameString = Native.toString(name);
    String referencedDomainNameString = Native.toString(referencedDomainName);
    assertTrue(nameString.length() > 0);
    assertEquals("Everyone", nameString);
    assertTrue(referencedDomainNameString.length() == 0);
      assertEquals(null, Kernel32.INSTANCE.LocalFree(sid.getValue().getPointer()));
    }
View Full Code Here

      assertEquals(null, Kernel32.INSTANCE.LocalFree(sid.getValue().getPointer()));
    }
   
    public void testConvertSid() {
      String sidString = EVERYONE;
      PSIDByReference sid = new PSIDByReference();
      assertTrue(Advapi32.INSTANCE.ConvertStringSidToSid(
          sidString, sid));
      PointerByReference convertedSidStringPtr = new PointerByReference();
      assertTrue(Advapi32.INSTANCE.ConvertSidToStringSid(
          sid.getValue(), convertedSidStringPtr));
      String convertedSidString = convertedSidStringPtr.getValue().getWideString(0);
      assertEquals(convertedSidString, sidString);
      assertEquals(null, Kernel32.INSTANCE.LocalFree(convertedSidStringPtr.getValue()));
      assertEquals(null, Kernel32.INSTANCE.LocalFree(sid.getValue().getPointer()));
    }
View Full Code Here

      assertTrue(lpcSubKeys.getValue() > 0);
    }
   
    public void testIsWellKnownSid() {
      String sidString = EVERYONE;
      PSIDByReference sid = new PSIDByReference();
      assertTrue(Advapi32.INSTANCE.ConvertStringSidToSid(sidString, sid));
      assertTrue(Advapi32.INSTANCE.IsWellKnownSid(sid.getValue(),
          WELL_KNOWN_SID_TYPE.WinWorldSid));
      assertFalse(Advapi32.INSTANCE.IsWellKnownSid(sid.getValue(),
          WELL_KNOWN_SID_TYPE.WinAccountAdministratorSid));
    }
View Full Code Here

   * @param sidString
   *            String SID.
   * @return SID bytes.
   */
  public static byte[] convertStringSidToSid(String sidString) {
    PSIDByReference pSID = new PSIDByReference();
    if (!Advapi32.INSTANCE.ConvertStringSidToSid(sidString, pSID)) {
      throw new Win32Exception(Kernel32.INSTANCE.GetLastError());
    }
    return pSID.getValue().getBytes();
  }
View Full Code Here

TOP

Related Classes of com.sun.jna.platform.win32.WinNT.PSIDByReference

Copyright © 2018 www.massapicom. 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.