Freigeben über


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
CRED_PACK_PROTECTED_CREDENTIALS
Verschlüsselt die Anmeldeinformationen so, dass sie nur durch Prozesse in der Anmeldesitzung des Aufrufers entschlüsselt werden kann.
CRED_PACK_WOW_BUFFER
Verschlüsselt die Anmeldeinformationen in einem WOW-Puffer.
CRED_PACK_GENERIC_CREDENTIALS
Verschlüsselt die Anmeldeinformationen in einem CRED_GENERIC Puffer.
CRED_PACK_ID_PROVIDER_CREDENTIALS
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
ERROR_INSUFFICIENT_BUFFER
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