から暗号化コンテキストを取得するにはCryptAcquireContext()、現在スロットにあるスマートカードのプロバイダー名を知る必要があります。
ドキュメントによると、これをSCardGetCardTypeProviderName()行いますが、param 2 はカード名であり、これを非対話的に決定する方法がわかりません。私が見たすべてのドキュメント/例は、名前をハーコードするかSCardUIDlgSelectCard()、UI を表示する に依存しています。
同様に を読んSCardLocateCards()でいると、スマートカード名のリストが必要ですが (これについては から入力SCardListCards()していますが、挿入されたスマートカードの名前を識別するものは何も返されないようです。
明らかな何かが欠けているのではないかと思いますが、何がわかりません。