/*
 * Copyright (c) 2003, PostgreSQL Global Development Group
 * See the LICENSE file in the project root for more information.
 */
// Copyright (c) 2004, Open Cloud Limited.

package org.postgresql.sspi;

import com.sun.jna.LastErrorException;
import com.sun.jna.Native;
import com.sun.jna.WString;
import com.sun.jna.ptr.IntByReference;
import com.sun.jna.win32.StdCallLibrary;

interface NTDSAPI extends StdCallLibrary {

  NTDSAPI instance = (NTDSAPI) Native.loadLibrary("NTDSAPI", NTDSAPI.class);

  

Wrap DsMakeSpn

To get the String result, call

new String(buf, 0, spnLength)
on the byte[] buffer passed to 'spn' after testing to ensure ERROR_SUCCESS.

Params:
  • serviceClass – SPN service class (in)
  • serviceName – SPN service name (in)
  • instanceName – SPN instance name (in, null ok)
  • instancePort – SPN port number (in, 0 to omit)
  • referrer – SPN referer (in, null ok)
  • spnLength – Size of 'spn' buffer (in), actul length of spn created including null terminator (out)
  • spn – SPN buffer (in/out)
See Also:
Returns:Error code ERROR_SUCCESS, ERROR_BUFFER_OVERFLOW or ERROR_INVALID_PARAMETER
/** * <p>Wrap DsMakeSpn</p> * * <p>To get the String result, call * * <pre> * new String(buf, 0, spnLength) * </pre> * * on the byte[] buffer passed to 'spn' after testing to ensure ERROR_SUCCESS.</p> * * @param serviceClass SPN service class (in) * @param serviceName SPN service name (in) * @param instanceName SPN instance name (in, null ok) * @param instancePort SPN port number (in, 0 to omit) * @param referrer SPN referer (in, null ok) * @param spnLength Size of 'spn' buffer (in), actul length of spn created including null * terminator (out) * @param spn SPN buffer (in/out) * @return Error code ERROR_SUCCESS, ERROR_BUFFER_OVERFLOW or ERROR_INVALID_PARAMETER * @see <a href="https://msdn.microsoft.com/en-us/library/ms676007(v=vs.85).aspx"> * https://msdn.microsoft.com/en-us/library/ms676007(v=vs.85).aspx</a> */
int DsMakeSpnW(WString serviceClass, /* in */ WString serviceName, /* in */ WString instanceName, /* in, optional, may be null */ short instancePort, /* in */ WString referrer, /* in, optional, may be null */ IntByReference spnLength, /* in: length of buffer spn; out: chars written */ char[] spn /* out string */ ) throws LastErrorException; int ERROR_SUCCESS = 0; int ERROR_INVALID_PARAMETER = 87; int ERROR_BUFFER_OVERFLOW = 111; }