次の方法で共有


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 値の 1 つです。

CredType が CertCredential場合、CredentialCERT_CREDENTIAL_INFO 構造体を指します。

CredType が UsernameTargetCredentialされている場合、資格情報 USERNAME_TARGET_CREDENTIAL_INFO 構造体を指します。

[out] MarshaledCredential

マーシャリングされた資格情報を含む null終了文字列へのポインター。 呼び出し元は、credFree使用して、返されたバッファーを解放する必要があります。

戻り値

この関数は、成功した場合 TRUE を返し、失敗した場合は FALSE を します。 GetLastError 関数を呼び出して、より具体的な状態コードを取得できます。 次の状態コードを返すことができます。

ERROR_INVALID_PARAMETER

CredType が無効です。

備考

手記

wincred.h ヘッダーは、Unicode プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択するエイリアスとして CredMarshalCredential を定義します。 エンコードに依存しないエイリアスをエンコードに依存しないコードと組み合わせて使用すると、コンパイルエラーやランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「関数プロトタイプの 規則」を参照してください。

必要条件

要件 価値
サポートされる最小クライアント Windows XP [デスクトップ アプリのみ]
サポートされる最小サーバー Windows Server 2003 [デスクトップ アプリのみ]
ターゲット プラットフォーム の ウィンドウズ
ヘッダー wincred.h
ライブラリ Advapi32.lib
DLL Advapi32.dll

関連項目

CERT_CREDENTIAL_INFO

CRED_MARSHAL_TYPE

CredFree

credUnmarshalCredential の

GetLastError の

USERNAME_TARGET_CREDENTIAL_INFO