Функция DsCrackSpnA (dsparse.h)
Функция DsCrackSpn анализирует имя субъекта-службы (SPN) в строки компонента.
Синтаксис
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
);
Параметры
[in] pszSpn
Указатель на строку с константой, завершаемой значением NULL, которая содержит имя субъекта-службы для анализа. Имя субъекта-службы имеет следующий формат, в котором должны присутствовать> класс службы <и <имя экземпляра> компонентов, а <номер порта> и <имя службы> компоненты являются необязательными. <номер порта> компонент должен быть числовым строковым значением.
<service class>/<instance name>:<port number>/<service name>
[in, out, optional] pcServiceClass
Указатель на значение DWORD
Если этот параметр NULL, содержит ноль или ServiceClassNULL, этот параметр и ServiceClass игнорируются.
Чтобы получить количество символов, необходимых для строки ServiceClass
[out, optional] ServiceClass
Указатель на буфер TCHAR, который получает строку, завершающуюся значением NULL, содержащую класс службы <> компонент субъекта-службы. Этот буфер должен быть по крайней мере *pcServiceClass TCHARs размера. Этот параметр может быть null, если класс службы не требуется.
[in, out, optional] pcServiceName
Указатель на значение DWORD
Если этот параметр null, содержит ноль или имя_службы значение NULL, этот параметр и имя_службы игнорируются.
Чтобы получить количество символов, необходимых для строки ServiceName, включая терминатор NULL, вызовите эту функцию с допустимым spN, неNULLServiceName и этот параметр имеет значение 1.
[out, optional] ServiceName
Указатель на буфер TCHAR
[in, out, optional] pcInstanceName
Указатель на значение
Если этот параметр NULL, содержит ноль или Имя_экземпляраNULL, этот параметр и имя_экземпляра игнорируются.
Чтобы получить количество символов, необходимых для строки InstanceName, включая терминатор NULL, вызовите эту функцию с допустимым spN, неNULLInstanceName и этот параметр имеет значение 1.
[out, optional] InstanceName
Указатель на буфер TCHAR
[out, optional] pInstancePort
Указатель на значение DWORD, которое получает целочисленное значение номера порта <> компонента имени участника-службы. Если имя субъекта-службы не содержит <номер порта> компонент, этот параметр получает ноль. Этот параметр может быть значение NULL, если номер порта не требуется.
Возвращаемое значение
Возвращает код ошибки Win32, в том числе следующий.
Замечания
Заметка
Заголовок dsparse.h определяет DsCrackSpn как псевдоним, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора ЮНИКОДа. Сочетание использования псевдонима, нейтрального для кодирования, с кодом, который не является кодировкой нейтральным, может привести к несоответствиям, которые приводят к ошибкам компиляции или среды выполнения. Дополнительные сведения см. в соглашениях о прототипах функций.
Требования
Требование | Ценность |
---|---|
минимальные поддерживаемые клиентские | Windows Vista |
минимальный поддерживаемый сервер | Windows Server 2008 |
целевая платформа | Виндоус |
заголовка | dsparse.h (include Ntdsapi.h) |
библиотеки |
Ntdsapi.lib |
DLL | Ntdsapi.dll |