次の方法で共有


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

CredTypeCertCredential の場合、CredentialCERT_CREDENTIAL_INFO構造体を指します。

CredTypeUsernameTargetCredential の場合、CredentialUSERNAME_TARGET_CREDENTIAL_INFO構造体を指します。

[out] MarshaledCredential

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

戻り値

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

ERROR_INVALID_PARAMETER

CredType が無効です。

注釈

注意

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

要件

要件
サポートされている最小のクライアント Windows XP (デスクトップ アプリのみ)
サポートされている最小のサーバー Windows Server 2003 (デスクトップ アプリのみ)
対象プラットフォーム Windows
ヘッダー wincred.h
Library Advapi32.lib
[DLL] Advapi32.dll

こちらもご覧ください

CERT_CREDENTIAL_INFO

CRED_MARSHAL_TYPE

CredFree

CredUnmarshalCredential

GetLastError

USERNAME_TARGET_CREDENTIAL_INFO