>>7

EDCBのバージョンアップで起こる理由にはなってないのだけど。これかなあ?と思うパッチ。
動作確認してもらえるとありがたい。

https://pastebin.com/3mRt0cY4

https://learn.microsoft.com/ja-jp/windows/win32/api/winscard/nf-winscard-scardtransmit
https://pcsclite.apdu.fr/api/group__API.html#ga9a2d77242a271310269065e64633ab99
にあるように、SCardTransmitのpcbRecvLengthは、[in,out]で受信用バッファのサイズをバイト単位で設定した
変数へのポインタを与えて、実際に受信したバイト数が上書きされて戻ってくる。という仕様らしい。

元のコードだと受信用バッファサイズとして初期化されていないcbRecvLengthの値が使われ、cbRecvLengthの値によっては
受信用バッファサイズ不足のSCARD_E_INSUFFICIENT_BUFFER(0x80100008)エラーになる。