credMarshalCredentialA 函式 (wincred.h)
CredMarshalCredential 函式會將認證轉換成文字字串。 在過去,許多函式,例如 NetUseAdd、採用功能變數名稱、使用者名稱和密碼作為認證。 這些函式不接受憑證作為認證。 CredMarshalCredential 函式會將這類認證轉換成可傳遞至這些 API 的窗體。
封送處理認證應以用戶名稱字串的形式傳遞至目前傳遞認證的任何 API。 如果適用,則功能變數名稱會傳遞至該 API,應以 NULL 或空白的形式傳遞。 針對憑證認證,憑證的 PIN 應以密碼傳遞至該 API。
呼叫端不應修改或列印封送處理的認證。 傳回的值可以在 Unicode、ANSI 和 OEM 字元集之間自由轉換。 字串區分大小寫。
語法
BOOL CredMarshalCredentialA(
[in] CRED_MARSHAL_TYPE CredType,
[in] PVOID Credential,
[out] LPSTR *MarshaledCredential
);
參數
[in] CredType
要封送處理的認證類型。
[in] Credential
要封送處理的認證。
這是其中一個 CRED_MARSHAL_TYPE 值。
如果 CredType 為 CertCredential,Credential 會指向CERT_CREDENTIAL_INFO結構。
如果 CredType 是 UsernameTargetCredential,Credential 會指向USERNAME_TARGET_CREDENTIAL_INFO結構。
[out] MarshaledCredential
包含封送處理認證的 Null 終止字串指標。 呼叫端應該使用 CredFree 釋放傳回的緩衝區。
傳回值
此函式會在成功時傳回 TRUE ,並在失敗時傳回 FALSE 。 您可以呼叫 GetLastError 函式,以取得更具體的狀態代碼。 可以傳回下列狀態代碼:
ERROR_INVALID_PARAMETER
CredType 無效。
備註
注意
wincred.h 標頭會根據 UNICODE 預處理器常數的定義,將 CredMarshalCredential 定義為別名,自動選取此函式的 ANSI 或 Unicode 版本。 混合使用編碼中性別名與非編碼中性的程序代碼,可能會導致編譯或運行時間錯誤不符。 如需詳細資訊,請參閱 函式原型的慣例。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows XP [僅限傳統型應用程式] |
最低支援的伺服器 | Windows Server 2003 [僅限桌面應用程式] |
目標平台 | Windows |
標頭 | wincred.h |
程式庫 | Advapi32.lib |
Dll | Advapi32.dll |