次の方法で共有


ISCardCmd::get_Apdu メソッド

[ get_Apdu メソッドは、[要件] セクションで指定したオペレーティング システムで使用できます。 Windows Server 2003 Service Pack 1 (SP1) 以降、Windows Vista、Windows Server 2008、および以降のバージョンのオペレーティング システムでは使用できません。 スマート カード モジュールも同様の機能を提供します

get_Apduメソッドは、生アプリケーション プロトコル データ ユニット (APDU) を取得します。

構文

HRESULT get_Apdu(
  [out] LPBYTEBUFFER *ppApdu
);

パラメーター

ppApdu [out]

返された APDU メッセージを含む IStream オブジェクトを介してマップされたバイト バッファーへのポインター。

戻り値

メソッドは、次のいずれかの値を返します。

リターン コード 説明
S_OK
操作は正常に完了しました。
E_INVALIDARG
ppApdu パラメーターが無効です。
E_POINTER
不適切なポインターが ppApdu で渡されました。
E_OUTOFMEMORY
メモリが不足しています。

 

解説

IByteBuffer (IStream) オブジェクトから、このインターフェイス オブジェクトにラップされた APDU に APDU をコピーするには、put_Apduを呼び出します。

APDU の長さを確認するには、 get_ApduLengthを呼び出します。

ISCardCmd インターフェイスによって提供されるすべてのメソッドの一覧については、「ISCardCmd」を参照してください。

上記の COM エラー コードに加えて、要求を完了するためにスマート カード関数が呼び出された場合、このインターフェイスはスマート カード エラー コードを返す場合があります。 スマート カード エラー コードの詳細については、「スマート カードの戻り値」を参照してください。

次の例は、生 アプリケーション プロトコル データ ユニット (APDU) を取得する方法を示しています。 この例では、pISCardCmd が ISCardCmd インターフェイスへの有効なポインターであり、pIByteApdu が IByteBuffer インターフェイスのインスタンスへの有効なポインターであることを前提としています。

HRESULT    hr;

hr = pISCardCmd->get_Apdu(&pIByteApdu);
if (FAILED(hr)) 
{
    printf("Failed get_Apdu.\n");
    // Take other error handling action as needed.
}

要件

要件
サポートされている最小のクライアント
Windows XP [デスクトップ アプリのみ]
サポートされている最小のサーバー
Windows Server 2003 [デスクトップ アプリのみ]
クライアント サポートの終了
Windows XP
サーバー サポートの終了
Windows Server 2003
ヘッダー
Scarddat.h
タイプ ライブラリ
Scarddat.tlb
[DLL]
Scardssp.dll
IID
IID_ISCardCmdは D5778AE3-43DE-11D0-9171-00AA00C18068 として定義されています

関連項目

get_ApduLength

ISCardCmd

put_Apdu