CredPackAuthenticationBufferA-Funktion (wincred.h)
Die CredPackAuthenticationBuffer-Funktion wandelt einen Zeichenfolgenbenutzernamen und ein Kennwort in einen Authentifizierungspuffer um.
Ab Windows 8 und Windows Server 2012 konvertiert die CredPackAuthenticationBuffer-Funktion eine 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 so, dass sie nur durch Prozesse in der Anmeldesitzung des Aufrufers entschlüsselt werden kann. |
|
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 einer SEC_WINNT_AUTH_IDENTITY_EX2 Struktur. Wenn CRED_PACK_GENERIC_CREDENTIALS und CRED_PACK_ID_PROVIDER_CREDENTIALS nicht festgelegt sind, werden die Anmeldeinformationen in einem KERB_INTERACTIVE_LOGON Puffer verschlüsselt.
Windows 7, Windows Server 2008 R2, Windows Vista, Windows Server 2008: Dieser Wert wird nicht unterstützt. |
[in] pszUserName
Ein Zeiger auf eine mit Null beendete Zeichenfolge, die den zu konvertierenden Benutzernamen angibt. Für Domänenbenutzer muss die Zeichenfolge im folgenden Format vorliegen:
DomainName\UserName
Wenn es sich bei Onlineidentitäten um ein Nur-Text-Kennwort handelt, ist das Benutzernamenformat ProviderName\UserName. Wenn die Anmeldeinformationen eine SEC_WINNT_AUTH_IDENTITY_EX2 Struktur sind, ist der Benutzername eine codierte Zeichenfolge, die die UserName Parameterausgabe eines Funktionsaufrufs an SspiEncodeAuthIdentityAsStringsist.
Bei Smartcard- oder Zertifikatanmeldeinformationen ist der Benutzername eine codierte Zeichenfolge, die die Ausgabe eines Funktionsaufrufs an 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 mit Null beendete 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 an SspiEncodeAuthIdentityAsStringsbefindet.
Bei Smartcard- Anmeldeinformationen ist dies die Smartcard 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 Bytearray, das bei der Ausgabe den gepackten Authentifizierungspuffer empfängt. Dieser Parameter kann NULL- sein, um die erforderliche Puffergröße im pcbPackedCredentials Parameter zu empfangen.
[in, out] pcbPackedCredentials
Ein Zeiger auf einen DWORD- Wert, der die Größe des pPackedCredentials- Puffers in Byte angibt. Wenn der Puffer nicht ausreichend groß ist, wird bei der Ausgabe die erforderliche Größe des pPackedCredentials Puffers in Bytes angegeben.
Rückgabewert
TRUE, wenn die Funktion erfolgreich ist; andernfalls FALSE.
Rufen Sie für erweiterte Fehlerinformationen die GetLastError-Funktion auf, die die folgenden Fehlercodes zurückgeben kann.
Rückgabecode | Beschreibung |
---|---|
|
Der von pPackedCredentials bereitgestellte Puffer ist zu klein. |
Bemerkungen
Anmerkung
Der wincred.h-Header definiert CredPackAuthenticationBuffer als Alias, der die ANSI- oder Unicode-Version dieser Funktion basierend auf der Definition der UNICODE-Präprozessorkonstante automatisch 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 [nur Desktop-Apps] |
mindestens unterstützte Server- | Windows Server 2008 [Nur Desktop-Apps] |
Zielplattform- | Fenster |
Header- | wincred.h |
Library | Credui.lib |
DLL- | Credui.dll |