ISCard::get_Status メソッド
[ get_Status メソッドは、[要件] セクションで指定したオペレーティング システムで使用できます。 Windows Server 2003 Service Pack 1 (SP1) 以降、Windows Vista、Windows Server 2008、および以降のバージョンのオペレーティング システムでは使用できません。 スマート カード モジュールも同様の機能を提供します。
get_Status メソッドは、スマート カードの現在の状態を取得します。
構文
HRESULT get_Status(
[out] SCARD_STATES *pStatus
);
パラメーター
-
pStatus [out]
-
状態変数へのポインター。
戻り値
メソッドは、次のいずれかの値を返します。
リターン コード | 説明 |
---|---|
|
操作は正常に完了しました。 |
|
pStatus パラメーターが無効です。 |
|
pStatus で不適切なポインターが渡されました。 |
解説
上記の COM エラー コードに加えて、要求を完了するためにスマート カード関数が呼び出された場合、このインターフェイスはスマート カード エラー コードを返す場合があります。 詳細については、「 スマート カードの戻り値」を参照してください。
例
次の例は、スマート カードの現在の状態の取得を示しています。
SCARD_STATES scState;
HRESULT hr;
// Determine the current state of the smart card.
hr = pISCard->get_Status(&scState);
if (FAILED(hr))
{
printf("Failed get_Status\n");
exit(1); // Or other error handling action.
}
// Use the retrieved value. (This example merely displays it.)
switch (scState)
{
case ABSENT:
printf("Absent state\n");
break;
case PRESENT:
printf("Present state\n");
break;
case SWALLOWED:
printf("Swallowed state\n");
break;
case POWERED:
printf("Powered state\n");
break;
case NEGOTIABLEMODE:
printf("Negotiable mode state\n");
break;
case SPECIFICMODE:
printf("Specific mode state\n");
break;
default:
printf("Unexpected state\n");
break;
}
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント |
Windows XP [デスクトップ アプリのみ] |
サポートされている最小のサーバー |
Windows Server 2003 [デスクトップ アプリのみ] |
クライアント サポートの終了 |
Windows XP |
サーバー サポートの終了 |
Windows Server 2003 |
ヘッダー |
|
タイプ ライブラリ |
|
[DLL] |
|
IID |
IID_ISCardは 1461AAC3-6810-11D0-918F-00AA00C18068 として定義されています |
関連項目