Share via


SCardIsValidContext 関数 (winscard.h)

SCardIsValidContext 関数は、スマート カード コンテキスト ハンドルが有効かどうかを判断します。

構文

LONG SCardIsValidContext(
  [in] SCARDCONTEXT hContext
);

パラメーター

[in] hContext

リソース マネージャー コンテキストを識別するハンドル。 リソース マネージャー コンテキストは、 SCardEstablishContext の以前の呼び出しによって設定できます。

戻り値

この関数は、次のいずれかの値を返します。

リターン コード 説明
SCARD_S_SUCCESS
hContext パラメーターは有効です。
ERROR_INVALID_HANDLE
hContext パラメーターが無効です。
その他の値
エラー コード。 詳細については、「 スマート カードの戻り値」を参照してください。

注釈

スマート カード コンテキスト ハンドルがまだ有効かどうかを判断するには、この関数を呼び出します。 スマート カード コンテキスト ハンドルが SCardEstablishContext によって設定された後、リソース マネージャー サービスがシャットダウンされると無効になることがあります。

次の例は、スマート カード コンテキスト ハンドルが有効かどうかを判断する方法を示しています。

// Check the smart card context handle.
// hContext was set previously by SCardEstablishContext.

LONG    lReturn;
lReturn = SCardIsValidContext(hContext);
if ( SCARD_S_SUCCESS != lReturn )
{
    // Function failed; check return value.
    if ( ERROR_INVALID_HANDLE == lReturn )
        printf("Handle is invalid\n");
    else
    {
        // Some unexpected error occurred; report and bail out.
        printf("Failed SCardIsValidContext - %x\n", lReturn);
        exit(1);  // Or other appropriate error action.
    }
}
else
{
    // Handle is valid; proceed as needed.
    // ...
}

要件

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

こちらもご覧ください

SCardEstablishContext