CredMarshalCredentialW 関数 (wincred.h)

CredMarshalCredential 関数は、資格情報をテキスト文字列に変換します。 これまで、 NetUseAdd などの多くの関数は、ドメイン名、ユーザー名、パスワードを資格情報として受け取ります。 これらの関数は、資格情報として証明書を受け入れません。 CredMarshalCredential 関数は、このような資格情報をこれらの API に渡すことができる形式に変換します。

マーシャリングされた資格情報は、現在資格情報が渡されている API にユーザー名文字列として渡す必要があります。 該当する場合は、その API に渡されるドメイン名を NULL または空として渡す必要があります。 証明書の資格情報の場合は、証明書の PIN をパスワードとしてその API に渡す必要があります。

呼び出し元は、マーシャリングされた資格情報を変更または印刷しないでください。 返される値は、Unicode、ANSI、OEM の各文字セット間で自由に変換できます。 文字列では大文字と小文字が区別されます。

構文

BOOL CredMarshalCredentialW(
  [in]  CRED_MARSHAL_TYPE CredType,
  [in]  PVOID             Credential,
  [out] LPWSTR            *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 バージョンを自動的に選択します。 エンコードに依存しないエイリアスをエンコードニュートラルでないコードと組み合わせて使用すると、コンパイルまたはランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「 関数プロトタイプの規則」を参照してください。

要件

   
サポートされている最小のクライアント 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