共用方式為


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 值。

如果 CredTypeCertCredential,Credential 會指向CERT_CREDENTIAL_INFO結構。

如果 CredTypeUsernameTargetCredential,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

另請參閱

CERT_CREDENTIAL_INFO

CRED_MARSHAL_TYPE

CredFree

CredUnmarshalCredential

GetLastError

USERNAME_TARGET_CREDENTIAL_INFO