CredPackAuthenticationBufferA-Funktion (wincred.h)
Die CredPackAuthenticationBuffer-Funktion konvertiert einen Zeichenfolgenbenutzernamen und ein Kennwort in einen Authentifizierungspuffer.
Ab Windows 8 und Windows Server 2012 konvertiert die CredPackAuthenticationBuffer-Funktion Identitätsanmeldeinformationen in einen Authentifizierungspuffer, bei dem es sich um eine SEC_WINNT_AUTH_IDENTITY_EX2-Struktur handelt. Dieser Puffer kann an LsaLogonUser-, AcquireCredentialsHandle- oder andere Identitätsanbieterschnittstellen übergeben werden.
Syntax
CREDUIAPI BOOL CredPackAuthenticationBufferA(
[in] DWORD dwFlags,
[in] LPSTR pszUserName,
[in] LPSTR pszPassword,
[out] PBYTE pPackedCredentials,
[in, out] DWORD *pcbPackedCredentials
);
Parameter
[in] dwFlags
Gibt an, wie die Anmeldeinformationen gepackt werden sollen. Dies kann eine Kombination der folgenden Flags sein.
Wert | Bedeutung |
---|---|
|
Verschlüsselt die Anmeldeinformationen, sodass sie nur von Prozessen in der Anmeldesitzung des Aufrufers entschlüsselt werden können. |
|
Verschlüsselt die Anmeldeinformationen in einem WOW-Puffer. |
|
Verschlüsselt die Anmeldeinformationen in einem CRED_GENERIC Puffer. |
|
Verschlüsselt die Anmeldeinformationen einer Onlineidentität in eine SEC_WINNT_AUTH_IDENTITY_EX2-Struktur . Wenn CRED_PACK_GENERIC_CREDENTIALS und CRED_PACK_ID_PROVIDER_CREDENTIALS nicht festgelegt sind, verschlüsselt die Anmeldeinformationen in einem KERB_INTERACTIVE_LOGON Puffer.
Windows 7, Windows Server 2008 R2, Windows Vista, Windows Server 2008: Dieser Wert wird nicht unterstützt. |
[in] pszUserName
Ein Zeiger auf eine NULL-Zeichenfolge, die den zu konvertierenden Benutzernamen angibt. Für Domänenbenutzer muss die Zeichenfolge das folgende Format aufweisen:
Domänenname\Nutzername
Wenn es sich bei den Anmeldeinformationen um ein Klartextkennwort für Onlineidentitäten handelt, lautet das Benutzernamenformat ProviderName\UserName. Wenn es sich bei den Anmeldeinformationen um eine SEC_WINNT_AUTH_IDENTITY_EX2-Struktur handelt, ist der Benutzername eine codierte Zeichenfolge, die die UserName-Parameterausgabe eines Funktionsaufrufs von SspiEncodeAuthIdentityAsStrings darstellt.
Für Smart Karte- oder Zertifikatanmeldeinformationen ist der Benutzername eine codierte Zeichenfolge, die die Ausgabe eines Funktionsaufrufs von CredMarshalCredential mit der Option CertCredential darstellt.
Windows Server 2008 R2, Windows 7, Windows Server 2008 und Windows Vista: Onlineidentitäten werden nicht unterstützt.
[in] pszPassword
Ein Zeiger auf eine NULL-Zeichenfolge, die das zu konvertierende Kennwort angibt.
Für SEC_WINNT_AUTH_IDENTITY_EX2 Anmeldeinformationen ist das Kennwort eine codierte Zeichenfolge, die sich in der ppszPackedCredentialsString-Ausgabe eines Funktionsaufrufs von SspiEncodeAuthIdentityAsStrings befindet.
Für Smart Karte-Anmeldeinformationen ist dies die smart Karte PIN.
Windows Server 2008 R2, Windows 7, Windows Server 2008 und Windows Vista: Onlineidentitäten werden nicht unterstützt.
[out] pPackedCredentials
Ein Zeiger auf ein Array von Bytes, das bei der Ausgabe den gepackten Authentifizierungspuffer empfängt. Dieser Parameter kann NULL sein, um die erforderliche Puffergröße im pcbPackedCredentials-Parameter zu erhalten.
[in, out] pcbPackedCredentials
Ein Zeiger auf einen DWORD-Wert , der die Größe des pPackedCredentials-Puffers in Bytes angibt. Gibt bei der Ausgabe die erforderliche Größe des pPackedCredentials-Puffers an, wenn der Puffer nicht ausreichend ist.
Rückgabewert
TRUE , wenn die Funktion erfolgreich ist; andernfalls FALSE.
Rufen Sie für erweiterte Fehlerinformationen die GetLastError-Funktion auf, die möglicherweise die folgenden Fehlercodes zurückgibt.
Rückgabecode | Beschreibung |
---|---|
|
Der von pPackedCredentials bereitgestellte Puffer ist zu klein. |
Hinweise
Hinweis
Der wincred.h-Header definiert CredPackAuthenticationBuffer 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 nicht codierungsneutralem Code kann zu Nichtübereinstimmungen führen, die zu Kompilierungs- oder Laufzeitfehlern führen. Weitere Informationen finden Sie unter Konventionen für Funktionsprototypen.
Anforderungen
Unterstützte Mindestversion (Client) | Windows Vista [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) | Windows Server 2008 [nur Desktop-Apps] |
Zielplattform | Windows |
Kopfzeile | wincred.h |
Bibliothek | Credui.lib |
DLL | Credui.dll |