共用方式為


ISCardDatabase::ListReaders 方法

[ ListReaders 方法可用於需求一節中指定的作業系統。 它不適用於 Windows Server 2003 service Pack 1 (SP1) 及更新版本、Windows Vista、Windows Server 2008 和後續版本的作業系統。 智慧卡模組提供類似的功能。

ListReaders方法會擷取智慧卡資料庫中註冊的智慧卡讀取器名稱。

語法

HRESULT ListReaders(
  [in]  LONG        localeId,
  [out] LPSAFEARRAY *ppReaders
);

參數

localeId [in]

語言當地語系化識別碼。

ppReaders [out]

如果成功,則為包含智慧卡讀取器名稱之 BSTR 的 SAFEARRAY 指標;如果作業失敗, 則為 Null

傳回值

方法會傳回下列其中一個可能的值。

傳回碼 描述
S_OK
作業順利完成。
E_INVALIDARG
無效的參數。
E_POINTER
ppReaders中傳遞了錯誤的指標。
E_OUTOFMEMORY
記憶體不足。

 

備註

若要擷取所有已知的 智慧卡讀取器群組,請分別呼叫 ListCardsListReaderGroups

分別擷取 主要服務提供者 或特定卡片 GetProviderCardIdListCardInterfaces 的 介面。

如需此介面提供之所有方法的清單,請參閱 ISCardDatabase

除了上述 COM 錯誤碼之外,如果呼叫智慧卡函式來完成要求,此介面可能會傳回智慧卡錯誤碼。 如需詳細資訊,請參閱 智慧卡傳回值

範例

下列範例顯示擷取智慧卡資料庫中註冊的智慧卡讀取器名稱。

LPSAFEARRAY pReaders = NULL;
HRESULT     hr;

// Determine the reader groups.
hr = pISCDataBase->ListReaders(0x0409,  // English (US)
                               &pReaders);
if (FAILED(hr))
{
   printf("Failed ListReaders\n");
   // Take other error handling action as needed.
}
else
{
   // Use the safe array as needed.
   // ...
}

規格需求

需求
最低支援的用戶端
Windows XP [僅限傳統型應用程式]
最低支援的伺服器
Windows Server 2003 [僅限傳統型應用程式]
用戶端支援結束
Windows XP
伺服器終止支援
Windows Server 2003
標頭
Scardmgr.h
類型程式庫
Scardmgr.tlb
DLL
Scardssp.dll
IID
IID_ISCardDatabase定義為 1461AAC8-6810-11D0-918F-00AA00C18068

另請參閱

GetProviderCardId

ISCardDatabase

ListCardInterfaces

ListCards

ListReaderGroups