Condividi tramite


Metodo ISCardISO7816::ReadRecord

[Il metodo ReadRecord è disponibile per l'uso nei sistemi operativi specificati nella sezione Requisiti. Non è disponibile per l'uso in Windows Server 2003 con Service Pack 1 (SP1) e versioni successive, Windows Vista, Windows Server 2008 e versioni successive del sistema operativo. I moduli smart card offrono funzionalità simili.

Il metodo ReadRecord costruisce un comando APDU ( Application Protocol Data Unit ) che legge il contenuto dei record specificati o la parte iniziale di un record di un file elementare.

Sintassi

HRESULT ReadRecord(
  [in]      BYTE       byRecordId,
  [in]      BYTE       byRefCtrl,
  [in]      LONG       lBytesToRead,
  [in, out] LPSCARDCMD *ppCmd
);

Parametri

byRecordId [in]

Numero di record o ID del primo record da leggere (00 indica il record corrente).

byRefCtrl [in]

Codifica del controllo di riferimento.

Valore Significato
Ef corrente
Posizione bit: 00000---
Entity Framework attualmente selezionato.
ID EF breve
Posizione bit: xxxxx---
Identificatore EF breve.
RFU
Posizione bit: 11111---
Registrazione #
Posizione bit: -----1xx
Utilizzo del numero di record in P1.
Lettura record
Posizione bit: -----100
Lettura del record P1.
Fino all'ultimo
Posizione bit: -----101
Legge tutti i record da P1 fino all'ultimo.
Fino a P1
Posizione bit: -----110
Legge tutti i record dall'ultimo fino a P1.
RFU
Posizione bit: -----111
ID record
Posizione bit: -----0xx
Utilizzo del numero di record in P1.
Primo verificarsi
Posizione bit: -----000
Leggere la prima occorrenza.
Ultimo evento
Posizione bit: -----001
Leggere l'ultima occorrenza.
Successiva occorrenza
Posizione bit: -----010
Leggere l'occorrenza successiva.
Indietro
Posizione bit: -----011
Leggere l'occorrenza precedente.
Segreto
Posizione bit: ---xxxxx

 

lBytesToRead [in]

Numero di byte da leggere da Entity Framework trasparente.

Se il campo Le contiene solo zeri, a seconda di b3b2b1 di P2 e entro il limite di 256 per lunghezza breve o 65536 per lunghezza estesa, il comando deve leggere completamente il singolo record richiesto o la sequenza richiesta di record.

ppCmd [in, out]

In input, un puntatore a un oggetto interfaccia ISCardCmd o NULL.

Al ritorno, viene riempito con il comando APDU costruito da questa operazione. Se ppCmd è stato impostato su NULL, viene creato e restituito internamente un oggetto ISCardCmd tramite il puntatore ppCmd.

Valore restituito

Il metodo restituisce uno dei valori possibili seguenti.

Codice restituito Descrizione
S_OK
Operazione completata correttamente.
E_INVALIDARG
Parametro non valido.
E_POINTER
È stato passato un puntatore non valido.
E_OUTOFMEMORY
Memoria insufficiente.

 

Commenti

Il comando incapsulato può essere eseguito solo se lo stato di sicurezza della smart card soddisfa gli attributi di sicurezza del file elementare da leggere.

Se è attualmente selezionato un altro file elementare al momento dell'esecuzione di questo comando, può essere elaborato senza identificare il file attualmente selezionato.

Quando il comando contiene un identificatore elementare breve valido, imposta il file come file elementare corrente.

I file elementari senza una struttura di record non possono essere letti. Il comando incapsulato viene interrotto se applicato a un file elementare senza una struttura di record.

Per un elenco di tutti i metodi forniti da questa interfaccia, vedere ISCardISO7816.

Oltre ai codici di errore COM elencati in precedenza, questa interfaccia può restituire un codice di errore della smart card se è stata chiamata una funzione smart card per completare la richiesta. Per altre informazioni, vedere Valori restituiti della smart card.

Requisiti

Requisito Valore
Client minimo supportato
Windows XP [solo app desktop]
Server minimo supportato
Windows Server 2003 [solo app desktop]
Fine del supporto client
Windows XP
Fine del supporto server
Windows Server 2003
Intestazione
Scardssp.h
Libreria dei tipi
Scardsrv.tlb
DLL
Scardssp.dll
IID
IID_ISCardISO7816 è definito come 53B6AA68-3F56-11D0-916B-00AA00C18068

Vedi anche

AppendRecord

ISCardISO7816

UpdateRecord

WriteRecord