Freigeben über


CredMarshalCredentialA-Funktion (wincred.h)

Die CredMarshalCredential-Funktion transformiert Anmeldeinformationen in eine Textzeichenfolge. In der Vergangenheit verwenden viele Funktionen wie NetUseAdd einen Domänennamen, einen Benutzernamen und ein Kennwort als Anmeldeinformationen. Diese Funktionen akzeptieren keine Zertifikate als Anmeldeinformationen. Die CredMarshalCredential-Funktion konvertiert solche Anmeldeinformationen in ein Formular, das an diese APIs übergeben werden kann.

Die gemarselten Anmeldeinformationen sollten als Benutzernamenzeichenfolge an jede API übergeben werden, die derzeit Anmeldeinformationen übergeben hat. Der an diese API übergebene Domänenname sollte, falls zutreffend, als NULL oder leer übergeben werden. Bei Zertifikatanmeldeinformationen sollte die PIN des Zertifikats als Kennwort an diese API übergeben werden.

Der Aufrufer sollte keine gemarselten Anmeldeinformationen ändern oder drucken. Der zurückgegebene Wert kann frei zwischen den Unicode-, ANSI- und OEM-Zeichensätzen konvertiert werden. Bei der Zeichenfolge wird die Groß-/Kleinschreibung beachtet.

Syntax

BOOL CredMarshalCredentialA(
  [in]  CRED_MARSHAL_TYPE CredType,
  [in]  PVOID             Credential,
  [out] LPSTR             *MarshaledCredential
);

Parameter

[in] CredType

Typ der zu marshallden Anmeldeinformationen.

[in] Credential

Zu marshallende Anmeldeinformationen.

Dies ist einer der CRED_MARSHAL_TYPE Werte.

Wenn CredTypeCertCredential ist, verweist Credential auf eine CERT_CREDENTIAL_INFO-Struktur .

Wenn CredTypeUsernameTargetCredential ist, verweist Credential auf eine USERNAME_TARGET_CREDENTIAL_INFO Struktur.

[out] MarshaledCredential

Zeiger auf eine NULL-Zeichenfolge, die die gemarselten Anmeldeinformationen enthält. Der Aufrufer sollte den zurückgegebenen Puffer mithilfe von CredFree freigeben.

Rückgabewert

Diese Funktion gibt TRUE bei erfolg und FALSE bei Fehler zurück. Die GetLastError-Funktion kann aufgerufen werden, um einen spezifischeren status Code abzurufen. Der folgende status Code kann zurückgegeben werden:

ERROR_INVALID_PARAMETER

CredType ist ungültig.

Hinweise

Hinweis

Der wincred.h-Header definiert CredMarshalCredential 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 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

Anforderung Wert
Unterstützte Mindestversion (Client) Windows XP [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows Server 2003 [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile wincred.h
Bibliothek Advapi32.lib
DLL Advapi32.dll

Weitere Informationen

CERT_CREDENTIAL_INFO

CRED_MARSHAL_TYPE

CredFree

CredUnmarshalCredential

GetLastError

USERNAME_TARGET_CREDENTIAL_INFO