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