Freigeben über


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
CRED_PACK_PROTECTED_CREDENTIALS
Verschlüsselt die Anmeldeinformationen, sodass sie nur von Prozessen in der Anmeldesitzung des Aufrufers entschlüsselt werden können.
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 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
ERROR_INSUFFICIENT_BUFFER
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