OPENCARDNAME_EXA構造体 (winscard.h)
OPENCARDNAME_EX 構造体には、SCardUIDlgSelectCard 関数がスマート カードの初期化に使用する情報 カード の選択] ダイアログ ボックスが含まれています。
構文
typedef struct {
DWORD dwStructSize;
SCARDCONTEXT hSCardContext;
HWND hwndOwner;
DWORD dwFlags;
LPCSTR lpstrTitle;
LPCSTR lpstrSearchDesc;
HICON hIcon;
POPENCARD_SEARCH_CRITERIAA pOpenCardSearchCriteria;
LPOCNCONNPROCA lpfnConnect;
LPVOID pvUserData;
DWORD dwShareMode;
DWORD dwPreferredProtocols;
LPSTR lpstrRdr;
DWORD nMaxRdr;
LPSTR lpstrCard;
DWORD nMaxCard;
DWORD dwActiveProtocol;
SCARDHANDLE hCardHandle;
} OPENCARDNAME_EXA, *POPENCARDNAME_EXA, *LPOPENCARDNAME_EXA;
メンバーズ
dwStructSize
構造体の長さ (バイト単位)。 このメンバーの値を NULL
hSCardContext
スマート カードリソース マネージャーとの通信に使用されるコンテキスト。 SCardEstablishContext
hwndOwner
ダイアログ ボックスを所有するウィンドウ。 このメンバーには、任意の有効なウィンドウ ハンドルを指定することも、デスクトップの既定値に対して NULL
dwFlags
ダイアログ ボックスの初期化に使用できるビット フラグのセット。 ダイアログ ボックスが戻ると、ユーザーの入力を示すようにこれらのフラグが設定されます。 このメンバーには、次のいずれかのフラグを指定できます。
価値 | 意味 |
---|---|
|
呼び出し元のアプリケーションによって検索されるカードが見つからないため、リーダーで使用できない場合にのみ、ダイアログ ボックスを表示します。 これにより、カードを見つけ、(内部ダイアログ ボックス メカニズムまたはユーザー コールバック関数を介して) 接続し、呼び出し元のアプリケーションに返すことができます。 |
|
検索結果に関係なく、カードの選択ユーザー インターフェイス (UI) の表示を強制しません。 |
|
検索結果に関係なく、カードの選択 UI を強制的に表示します。 |
lpstrTitle
ダイアログ ボックスのタイトル バーに配置する文字列へのポインター。 このメンバーが NULL
lpstrSearchDesc
スマート カードを挿入するプロンプトとしてユーザーに表示される文字列へのポインター。 このメンバーが NULL
hIcon
アイコンのハンドル (32 x 32 ピクセル)。 ダイアログ ボックスに表示するベンダー固有のアイコンを指定できます。 この値が NULL
pOpenCardSearchCriteria
使用する
lpfnConnect
呼び出し元のカード接続ルーチンへのポインター。 呼び出し元がカードに接続するために追加の処理を実行する必要がある場合、この関数ポインターはユーザーの接続関数に設定されます。 接続関数が成功した場合、カードは接続されて初期化され、カード ハンドルが返されます。
接続ルーチンのプロトタイプは次のとおりです。
Connect(
hSCardContext, // the card context passed in the parameter block
szReader, // the name of the reader
mszCards, // multiple string that contains the possible
// card names in the reader
pvUserData // pointer to user data passed in parameter block
);
pvUserData
ユーザー データへの void ポインター。 このポインターは、Connect ルーチンで呼び出し元に返されます。
dwShareMode
lpfnConnect
dwPreferredProtocols
dwShareModeで説明されているように、内部接続
lpstrRdr
カードがある場合、lpstrRdr バッファーには、配置されたカードを含むリーダーの名前が含まれます。 バッファーの長は 256 文字以上にする必要があります。
nMaxRdr
lpstrRdrが指すバッファーのサイズ (バイト単位) または文字 (Unicode バージョン
lpstrCard
カードがある場合、lpstrCard バッファーには、検索されたカードの名前が含まれます。 バッファーの長は 256 文字以上にする必要があります。
nMaxCard
lpstrCardが指すバッファーのサイズ (バイト単位) または文字 (Unicode バージョン
dwActiveProtocol
ダイアログ ボックスがカードに接続するときに使用される実際のプロトコル。
hCardHandle
接続されたカードのハンドル (内部ダイアログ ボックス接続または lpfnConnect コールバック)。
備考
手記
winscard.h ヘッダーは、OPENCARDNAME_EXをエイリアスとして定義し、UNICODE プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択します。 エンコードに依存しないエイリアスをエンコードに依存しないコードと組み合わせて使用すると、コンパイルまたは実行時エラーが発生する不一致につながる可能性があります。 詳細については、「関数プロトタイプの 規則」を参照してください。
必要条件
要件 | 価値 |
---|---|
サポートされる最小クライアント | Windows XP [デスクトップ アプリのみ] |
サポートされる最小サーバー | Windows Server 2003 [デスクトップ アプリのみ] |
ヘッダー | winscard.h |
関連項目
SCardReleaseContext の