Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Die DsCrackSpn--Funktion analysiert einen Dienstprinzipalnamen (SPN) in seine Komponentenzeichenfolgen.
Syntax
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
);
Parameter
[in] pszSpn
Zeigen Sie auf eine konstante null-beendete Zeichenfolge, die den zu analysierenden SPN enthält. Der SPN weist das folgende Format auf, in dem die <Dienstklasse> und <Instanznamen> Komponenten vorhanden sein muss, und die <Portnummer> und <Dienstnamen> Komponenten optional sind. Die <Portnummer> Komponente muss ein numerischer Zeichenfolgenwert sein.
<service class>/<instance name>:<port number>/<service name>
[in, out, optional] pcServiceClass
Zeiger auf einen DWORD- Wert, der beim Eintrag die Größe in TCHARsdes ServiceClass- Puffers enthält, einschließlich des endenden Nullzeichens. Beim Beenden enthält dieser Parameter die Anzahl der TCHARs in der ServiceClass- Zeichenfolge, einschließlich des endenden NULL-Zeichens.
Wenn dieser Parameter NULL-ist, null enthält oder ServiceClassNULL-ist, werden dieser Parameter und ServiceClass- ignoriert.
Um die Anzahl der zeichen abzurufen, die für die ServiceClass Zeichenfolge erforderlich sind, einschließlich des Null-Terminators, rufen Sie diese Funktion mit einem gültigen SPN, einer nichtNULLServiceClass und diesem Parameter auf 1 fest.
[out, optional] ServiceClass
Zeiger auf einen TCHAR- Puffer, der eine mit Null beendete Zeichenfolge empfängt, die die <Dienstklasse> Komponente des SPN enthält. Dieser Puffer muss mindestens *pcServiceClass TCHARs größe sein. Dieser Parameter kann NULL- sein, wenn die Dienstklasse nicht erforderlich ist.
[in, out, optional] pcServiceName
Zeiger auf einen DWORD- Wert, der beim Eintrag die Größe des ServiceName- Puffers enthält, einschließlich des endenden NULL-Zeichens in TCHARs. Beim Beenden enthält dieser Parameter die Anzahl der TCHARs in der ServiceName- Zeichenfolge, einschließlich des endenden NULL-Zeichens.
Wenn dieser Parameter NULL-ist, null enthält oder ServiceName-NULL-ist, werden dieser Parameter und ServiceName- ignoriert.
Um die Anzahl der zeichen abzurufen, die für die ServiceName Zeichenfolge erforderlich sind, einschließlich des Null-Terminators, rufen Sie diese Funktion mit einem gültigen SPN, einem nichtNULLServiceName und diesem Parameter auf 1 fest.
[out, optional] ServiceName
Zeiger auf einen TCHAR- Puffer, der eine null-beendete Zeichenfolge empfängt, die den <Dienstnamen> Komponente des SPN enthält. Dieser Puffer muss mindestens *pcServiceName TCHARs größe sein. Wenn der <Dienstname> Komponente im SPN nicht vorhanden ist, empfängt dieser Puffer den <Instanznamen> Komponente. Dieser Parameter kann NULL- sein, wenn der Dienstname nicht erforderlich ist.
[in, out, optional] pcInstanceName
Zeiger auf einen DWORD- Wert, der beim Eintrag die Größe in TCHARs-des InstanceName- Puffers enthält, einschließlich des endenden NULL-Zeichens. Beim Beenden enthält dieser Parameter die Anzahl der TCHARs in der InstanceName- Zeichenfolge, einschließlich des endenden NULL-Zeichens.
Wenn dieser Parameter NULL-ist, null enthält oder InstanceName-NULL-ist, werden dieser Parameter und InstanceName- ignoriert.
Um die Anzahl der zeichen abzurufen, die für die InstanceName Zeichenfolge erforderlich sind, einschließlich des Null-Terminators, rufen Sie diese Funktion mit einem gültigen SPN, einem nichtNULLInstanceName- und diesem Parameter auf 1 fest.
[out, optional] InstanceName
Zeiger auf einen TCHAR- Puffer, der eine mit Null beendete Zeichenfolge empfängt, die den <Instanznamen> Komponente des SPN enthält. Dieser Puffer muss mindestens *pcInstanceName TCHARs größe sein. Dieser Parameter kann NULL- sein, wenn der Instanzname nicht erforderlich ist.
[out, optional] pInstancePort
Zeiger auf einen DWORD- Wert, der den ganzzahligen Wert der <Portnummer> Komponente des SPN empfängt. Wenn der SPN keine <Portnummer> Komponente enthält, empfängt dieser Parameter Null. Dieser Parameter kann NULL- sein, wenn die Portnummer nicht erforderlich ist.
Rückgabewert
Gibt einen Win32-Fehlercode zurück, einschließlich der folgenden.
Bemerkungen
Anmerkung
Der dsparse.h-Header definiert DsCrackSpn als Alias, der automatisch die ANSI- oder Unicode-Version dieser Funktion basierend auf der Definition der UNICODE-Präprozessorkonstante auswählt. Das Mischen der Verwendung des codierungsneutralen Alias mit Code, der nicht codierungsneutral ist, kann zu Nichtübereinstimmungen führen, die zu Kompilierungs- oder Laufzeitfehlern führen. Weitere Informationen finden Sie unter Konventionen für Funktionsprototypen.
Anforderungen
| Anforderung | Wert |
|---|---|
| mindestens unterstützte Client- | Windows Vista |
| mindestens unterstützte Server- | Windows Server 2008 |
| Zielplattform- | Fenster |
| Header- | dsparse.h (include Ntdsapi.h) |
| Library | Ntdsapi.lib |
| DLL- | Ntdsapi.dll |