Compartir a través de


Función DsCrackSpnA (dsparse.h)

La función DsCrackSpn analiza un nombre de entidad de seguridad de servicio (SPN) en sus cadenas de componentes.

Sintaxis

DSPARSE DWORD DsCrackSpnA(
  [in]                LPCSTR  pszSpn,
  [in, out, optional] LPDWORD pcServiceClass,
  [out, optional]     LPSTR   ServiceClass,
  [in, out, optional] LPDWORD pcServiceName,
  [out, optional]     LPSTR   ServiceName,
  [in, out, optional] LPDWORD pcInstanceName,
  [out, optional]     LPSTR   InstanceName,
  [out, optional]     USHORT  *pInstancePort
);

Parámetros

[in] pszSpn

Puntero a una cadena terminada en null constante que contiene el SPN que se va a analizar. El SPN tiene el siguiente formato, en el que los componentes> de la clase de servicio <y <nombre de instancia> deben estar presentes y el número de puerto <> y <componentes de nombre de servicio> son opcionales. El <número de puerto> componente debe ser un valor de cadena numérico.

<service class>/<instance name>:<port number>/<service name>

[in, out, optional] pcServiceClass

Puntero a un valor DWORD que, en la entrada, contiene el tamaño, en TCHAR, del búfer de ServiceClass, incluido el carácter nulo de terminación. Al salir, este parámetro contiene el número de TCHAR de la cadena ServiceClass, incluido el carácter nulo de terminación.

Si este parámetro es null, contiene cero o ServiceClass es NULL, este parámetro y ServiceClass se omiten.

Para obtener el número de caracteres necesarios para la cadena ServiceClass de , incluido el terminador NULL, llame a esta función con un SPN válido, unNULLServiceClass y este parámetro establecido en 1.

[out, optional] ServiceClass

Puntero a un búfer de TCHAR de que recibe una cadena terminada en null que contiene la clase de servicio componente del SPN. Este búfer debe tener al menos *pcServiceClass TCHAR tamaño. Este parámetro puede ser NULL si no se requiere la clase de servicio.

[in, out, optional] pcServiceName

Puntero a un valor DWORD que, en la entrada, contiene el tamaño, en TCHAR, del búfer de ServiceName, incluido el carácter nulo de terminación. Al salir, este parámetro contiene el número de TCHAR en la cadena ServiceName de , incluido el carácter nulo de terminación.

Si este parámetro es null, contiene cero o serviceName es NULL, este parámetro y ServiceName se omiten.

Para obtener el número de caracteres necesarios para la cadena ServiceName de , incluido el terminador NULL, llame a esta función con un SPN válido, unNULLServiceName y este parámetro establecido en 1.

[out, optional] ServiceName

Puntero a un búfer de TCHAR de que recibe una cadena terminada en NULL que contiene el nombre del servicio componente del SPN. Este búfer debe tener al menos *pcServiceName TCHAR tamaño. Si el nombre del servicio <> componente no está presente en el SPN, este búfer recibe el nombre de instancia de <> componente. Este parámetro puede ser NULL si no se requiere el nombre del servicio.

[in, out, optional] pcInstanceName

Puntero a un valor DWORD de que, en la entrada, contiene el tamaño, en TCHAR, del búfer InstanceName de , incluido el carácter nulo de terminación. Al salir, este parámetro contiene el número de TCHAR en la cadena InstanceName, incluido el carácter nulo de terminación.

Si este parámetro es null, contiene cero o instanceName es NULL, este parámetro y InstanceName se omiten.

Para obtener el número de caracteres necesarios para la cadena InstanceName de , incluido el terminador NULL, llame a esta función con un SPN válido, unNULLInstanceName y este parámetro establecido en 1.

[out, optional] InstanceName

Puntero a un búfer de TCHAR de que recibe una cadena terminada en null que contiene el nombre de instancia de componente del SPN. Este búfer debe tener al menos *pcInstanceName TCHAR tamaño. Este parámetro puede ser NULL si no se requiere el nombre de la instancia.

[out, optional] pInstancePort

Puntero a un DWORD de que recibe el valor entero del número de puerto componente del SPN. Si el SPN no contiene un número de puerto <> componente, este parámetro recibe cero. Este parámetro puede ser NULL si no se requiere el número de puerto.

Valor devuelto

Devuelve un código de error win32, incluido lo siguiente.

Observaciones

Nota

El encabezado dsparse.h define DsCrackSpn como alias que selecciona automáticamente la versión ANSI o Unicode de esta función en función de la definición de la constante de preprocesador UNICODE. La combinación del uso del alias neutral de codificación con código que no es neutral de codificación puede dar lugar a errores de coincidencia que dan lugar a errores de compilación o tiempo de ejecución. Para obtener más información, vea Conventions for Function Prototypes.

Requisitos

Requisito Valor
cliente mínimo admitido Windows Vista
servidor mínimo admitido Windows Server 2008
de la plataforma de destino de Windows
encabezado de dsparse.h (incluya Ntdsapi.h)
biblioteca de Ntdsapi.lib
DLL de Ntdsapi.dll

Consulte también

controlador de dominio y funciones de administración de replicación