Compartir a través de


Método ISCardCmd::get_Apdu

[El método get_Apdu está disponible para su uso en los sistemas operativos especificados en la sección Requisitos. No está disponible para su uso en Windows Server 2003 con Service Pack 1 (SP1) y versiones posteriores, Windows Vista, Windows Server 2008 y versiones posteriores del sistema operativo. Los módulos de tarjeta inteligente proporcionan una funcionalidad similar.]

El método get_Apdu recupera la unidad de datos del protocolo de aplicación sin procesar (APDU).

Sintaxis

HRESULT get_Apdu(
  [out] LPBYTEBUFFER *ppApdu
);

Parámetros

ppApdu [out]

Puntero al búfer de bytes asignado a través de un objeto IStream que contiene el mensaje APDU devuelto.

Valor devuelto

El método devuelve uno de los siguientes valores posibles.

Código devuelto Descripción
S_OK
Operación completada correctamente.
E_INVALIDARG
El parámetro ppApdu no es válido.
E_POINTER
Se pasó un puntero incorrecto en ppApdu.
E_OUTOFMEMORY
Memoria insuficiente

 

Comentarios

Para copiar el APDU de un objeto IByteBuffer (IStream) en el APDU encapsulado en este objeto de interfaz, llame a put_Apdu.

Para determinar la longitud del APDU, llame a get_ApduLength.

Para obtener una lista de todos los métodos proporcionados por la interfaz ISCardCmd , consulte ISCardCmd.

Además de los códigos de error COM enumerados anteriormente, esta interfaz puede devolver un código de error de tarjeta inteligente si se llamó a una función de tarjeta inteligente para completar la solicitud. Para obtener información sobre los códigos de error de tarjeta inteligente, consulte Valores devueltos de tarjeta inteligente.

Ejemplos

En el ejemplo siguiente se muestra cómo recuperar la unidad de datos del protocolo de aplicación sin procesar (APDU). En el ejemplo se supone que pISCardCmd es un puntero válido a la interfaz ISCardCmd y que pIByteApdu es un puntero válido a una instancia de la interfaz IByteBuffer .

HRESULT    hr;

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

Requisitos

Requisito Value
Cliente mínimo compatible
Windows XP [solo aplicaciones de escritorio]
Servidor mínimo compatible
Windows Server 2003 [solo aplicaciones de escritorio]
Fin de compatibilidad de cliente
Windows XP
Fin de compatibilidad de servidor
Windows Server 2003
Encabezado
Scarddat.h
Biblioteca de tipos
Scarddat.tlb
Archivo DLL
Scardssp.dll
IID
IID_ISCardCmd se define como D5778AE3-43DE-11D0-9171-00AA00C18068

Consulte también

get_ApduLength

ISCardCmd

put_Apdu