SCardSetAttrib 関数 (winscard.h)
SCardSetAttrib 関数は、指定されたハンドルに対して指定されたリーダー属性を設定します。 リーダー、リーダー ドライバー、スマート カードの状態には影響しません。 多くの属性がトランスポート プロトコルの直接制御下にあるため、すべての属性がすべてのリーダーでサポートされているわけではありません (また、常に設定することもできません)。
構文
LONG SCardSetAttrib(
[in] SCARDHANDLE hCard,
[in] DWORD dwAttrId,
[in] LPCBYTE pbAttr,
[in] DWORD cbAttrLen
);
パラメーター
[in] hCard
SCardConnect から返される参照値。
[in] dwAttrId
設定する属性の識別子。 値は書き込み専用です。 ベンダーはすべての属性をサポートしていない場合があることに注意してください。
値 | 意味 |
---|---|
|
リーダーからカードへの T=1 IFSD パケットの送信を抑制します。 (現在挿入されているカードが IFSD 要求をサポートしていない場合に使用できます。 |
[in] pbAttr
dwAttrId で ID が指定された属性を提供するバッファーへのポインター。
[in] cbAttrLen
pbAttr バッファー内の属性値の長さ (バイト単位)。
戻り値
この関数は、成功するか失敗するかによって異なる値を返します。
リターン コード | 説明 |
---|---|
|
SCARD_S_SUCCESS。 |
|
エラー コード。 詳細については、「 スマート カードの戻り値」を参照してください。 |
注釈
SCardSetAttrib 関数は、直接カードアクセス関数です。 その他の直接アクセス機能の詳細については、「 ダイレクト カード アクセス関数」を参照してください。
例
次の例は、属性を設定する方法を示しています。
// Set the attribute.
// hCardHandle was set by a previous call to SCardConnect.
// dwAttrID is a DWORD value, specifying the attribute ID.
// pbAttr points to the buffer of the new value.
// cByte is the count of bytes in the buffer.
lReturn = SCardSetAttrib(hCardHandle,
dwAttrID,
(LPBYTE)pbAttr,
cByte);
if ( SCARD_S_SUCCESS != lReturn )
printf("Failed SCardSetAttrib\n");
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows XP (デスクトップ アプリのみ) |
サポートされている最小のサーバー | Windows Server 2003 (デスクトップ アプリのみ) |
対象プラットフォーム | Windows |
ヘッダー | winscard.h |
Library | Winscard.lib |
[DLL] | Winscard.dll |