CREDENTIALA 構造体 (wincred.h)
CREDENTIAL 構造体には、個々の資格情報が含まれています。
構文
typedef struct _CREDENTIALA {
DWORD Flags;
DWORD Type;
LPSTR TargetName;
LPSTR Comment;
FILETIME LastWritten;
DWORD CredentialBlobSize;
LPBYTE CredentialBlob;
DWORD Persist;
DWORD AttributeCount;
PCREDENTIAL_ATTRIBUTEA Attributes;
LPSTR TargetAlias;
LPSTR UserName;
} CREDENTIALA, *PCREDENTIALA;
メンバーズ
Flags
資格情報の特性を識別するビット メンバー。 未定義のビットはゼロとして初期化する必要があり、それ以外の場合は将来の拡張を可能にするために変更しないでください。
価値 | 意味 |
---|---|
|
資格情報が CredentialBlob を保持せず、このログオン セッション中に資格情報が書き込まれていない場合に設定されるビット。 このビットは入力時に無視され、クエリ時に自動的に設定されます。
種類 が CRED_TYPE_DOMAIN_CERTIFICATEされている場合、CredentialBlob は、証明書の PIN が非常に機密性の高い情報であるため、ログオン セッション間で保持されません。 実際、資格情報が資格情報マネージャーに書き込まれると、PIN は証明書に関連付けられている CSP に渡されます。 CSP は、証明書に適した PIN 保持ポリシーを適用します。 種類 が CRED_TYPE_DOMAIN_PASSWORD または CRED_TYPE_DOMAIN_CERTIFICATEの場合、認証パッケージは、CRED_FLAGS_PROMPT_NOWとしてマークされた資格情報を使用するときに、常に認証の試行に失敗します。 アプリケーション (通常はキー リング UI を介して) は、ユーザーにパスワードの入力を求めます。 アプリケーションは資格情報を保存し、認証を再試行します。 資格情報が最近書き込まれたため、認証パッケージはCRED_FLAGS_PROMPT_NOWとしてマークされていない資格情報を取得するようになりました。 |
|
この資格情報に TargetName メンバーが UserName メンバーと同じ値に設定されている場合、ビットが設定されます。 このような資格情報は、特定のユーザーの CredentialBlob を格納するように設計されています。 詳細については、CredMarshalCredential 関数を参照してください。
このビットは、型 が CRED_TYPE_DOMAIN_PASSWORD または CRED_TYPE_DOMAIN_CERTIFICATE場合にのみ指定できます。 |
Type
資格情報の種類。 資格情報の作成後にこのメンバーを変更することはできません。 次の値が有効です。
TargetName
資格情報の名前。 TargetName と Type メンバーは、資格情報を一意に識別します。 資格情報の作成後にこのメンバーを変更することはできません。 代わりに、古い名前の資格情報を削除し、新しい名前の資格情報を作成する必要があります。
Type が CRED_TYPE_DOMAIN_PASSWORD または CRED_TYPE_DOMAIN_CERTIFICATEの場合、このメンバーは資格情報を使用するサーバーを識別します。 メンバーは、NetBIOS または DNS サーバー名、ワイルドカード文字を含む DNS ホスト名サフィックス、ワイルドカード文字シーケンスを含む NetBIOS または DNS ドメイン名、またはアスタリスクのいずれかです。
TargetName
TargetName がワイルドカード文字を含む DNS ホスト名サフィックスである場合、DNS ホスト名の左端のラベルはアスタリスク (*) です。これは、ターゲット名が指定した名前で終わる任意のサーバー (例: *.microsoft.com) であることを示します。
TargetName がワイルドカード文字シーケンスを含むドメイン名の場合、構文はドメイン名の後に円記号とアスタリスク (*) が続きます。これは、ターゲット名が名前付きドメイン (または領域) のメンバーである任意のサーバーであることを示します。
TargetName がワイルドカード文字シーケンスを含む DNS ドメイン名である場合、TargetAlias メンバーは、同じドメインにワイルドカード シーケンスを使用する NetBIOS ドメイン名にすることができます。
TargetName が DFS 共有 (DfsRoot \DfsShareなど) を指定した場合、この資格情報は特定の DFS 共有と、その DFS 共有を介して到達したすべてのサーバーと一致します。
TargetName が 1 つのアスタリスク (*) の場合、この資格情報は任意のサーバー名と一致します。
TargetName がCRED_SESSION_WILDCARD_NAMEされている場合、この資格情報は任意のサーバー名と一致します。 この資格情報は、1 つのアスタリスクの前に一致し、Persist が CRED_PERSIST_SESSIONされている場合にのみ有効です。 資格情報は、既定の資格情報を一時的にオーバーライドするアプリケーションによって設定できます。
このメンバーは、CRED_MAX_DOMAIN_TARGET_NAME_LENGTH (337) 文字を超えることはできません。
型 がCRED_TYPE_GENERICされている場合、このメンバーは、実際のターゲットに加えて、資格情報を使用するサービスを識別する必要があります。 Microsoft では、サービスを実装する会社の名前の前に名前を付ける必要があります。 Microsoft はプレフィックス "Microsoft" を使用します。 Microsoft によって記述されたサービスには、サービス名を追加する必要があります (例: Microsoft_RAS_TargetName)。 このメンバーは、CRED_MAX_GENERIC_TARGET_NAME_LENGTH (32767) 文字を超えることはできません。
このメンバーでは大文字と小文字が区別されません。
Comment
この資格情報を説明するユーザーからの文字列コメント。 このメンバーは、CRED_MAX_STRING_LENGTH (256) 文字を超えることはできません。
LastWritten
資格情報の最後の変更の協定世界時 (グリニッジ標準時) の時刻。 書き込み操作の場合、このメンバーの値は無視されます。
CredentialBlobSize
CredentialBlob メンバーのサイズ (バイト単位)。 このメンバーは、CRED_MAX_CREDENTIAL_BLOB_SIZE (5*512) バイトを超えることはできません。
CredentialBlob
資格情報のシークレット データ。 CredentialBlob メンバーは、読み取りと書き込みを行うことができます。
Type メンバーが CRED_TYPE_DOMAIN_PASSWORDされている場合、このメンバーには、UserNameのプレーンテキスト Unicode パスワードが含まれます。
Type メンバーが CRED_TYPE_DOMAIN_CERTIFICATEされている場合、このメンバーには、UserNameのクリア テスト Unicode PIN が含まれます。
Type メンバーが CRED_TYPE_GENERICされている場合、このメンバーはアプリケーションによって定義されます。
資格情報は移植可能である必要があります。 アプリケーションでは、CredentialBlob 内のデータ
Persist
この資格情報の永続化を定義します。 このメンバーは、読み取りと書き込みが可能です。
AttributeCount
資格情報に関連付けるアプリケーション定義属性の数。 このメンバーは、読み取りと書き込みが可能です。 値を CRED_MAX_ATTRIBUTES (64) より大きくすることはできません。
Attributes
資格情報に関連付けられているアプリケーション定義の属性。 このメンバーは、読み取りと書き込みが可能です。
TargetAlias
TargetName メンバーのエイリアス。 このメンバーは、読み取りと書き込みが可能です。 CRED_MAX_STRING_LENGTH (256) 文字を超えることはできません。
資格情報
UserName
TargetNameへの接続に使用するアカウントのユーザー名。
資格情報 種類 が CRED_TYPE_DOMAIN_PASSWORDされている場合、このメンバーには、DomainNameUserName または UPN のいずれかを指定できます。
資格情報
資格情報
このメンバーは、CRED_MAX_USERNAME_LENGTH (513) 文字を超えることはできません。
備考
手記
wincred.h ヘッダーは、UNICODE プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択するエイリアスとして CREDENTIAL を定義します。 エンコードに依存しないエイリアスをエンコードに依存しないコードと組み合わせて使用すると、コンパイルエラーやランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「関数プロトタイプの 規則」を参照してください。
必要条件
要件 | 価値 |
---|---|
サポートされる最小クライアント | Windows XP [デスクトップ アプリのみ] |
サポートされる最小サーバー | Windows Server 2003 [デスクトップ アプリのみ] |
ヘッダー | wincred.h |