Condividi tramite


Metodo ISCardISO7816::UpdateRecord

[Il metodo UpdateRecord è 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 UpdateRecord costruisce un comando APDU ( Application Protocol Data Unit ) che aggiorna un record specifico con i bit specificati nel comando APDU.

Nota

Quando si usa l'indirizzamento dei record corrente, il comando imposta il puntatore del record sul record aggiornato correttamente.

 

Sintassi

HRESULT UpdateRecord(
  [in]      BYTE         byRecordId,
  [in]      BYTE         byRefCtrl,
  [in]      LPBYTEBUFFER pData,
  [in, out] LPSCARDCMD   *ppCmd
);

Parametri

byRecordId [in]

Valore P1:

P1 = 00 designa il record corrente

P1 != '00' è il numero del record specificato

byRefCtrl [in]

Codifica del controllo di riferimento P2:

Valore Significato
Ef corrente
Posizione bit: 00000---
Entity Framework attualmente selezionato.
ID EF breve
Posizione bit: xxxxx---
Identificatore EF breve.
Primo record
Posizione bit: -----000
Ultimo record
Posizione bit: -----001
Record successivo
Posizione bit: -----010
Record precedente
Posizione bit: -----011
Record # in P1
Posizione bit: -----100

 

pData [in]

Puntatore al record da aggiornare.

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 in fase di elaborazione.

Quando il comando contiene un identificatore elementare breve valido, imposta il file come file elementare corrente. Se al momento dell'esecuzione di questo comando è selezionato un altro file elementare, questo comando può essere elaborato senza identificare il file attualmente selezionato.

Se il comando costruito si applica a un file elementare lineare-fisso o ciclico strutturato, interromperà se la lunghezza del record è diversa dalla lunghezza del record esistente.

Se il comando si applica a un file elementare strutturato a variabile lineare, può essere eseguito quando la lunghezza del record è diversa dalla lunghezza del record esistente.

L'opzione "previous" del comando (P2=xxxxx011), applicata a un file ciclico, ha lo stesso comportamento di un comando costruito da AppendRecord.

I file elementari senza una struttura di record non possono essere letti. Il comando costruito interrompe se applicato a un file elementare senza 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

ReadRecord

WriteRecord