Condividi tramite


Metodo ISCardISO7816::P utData

[Il metodo PutData è 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 PutData costruisce un comando APDU ( Application Protocol Data Unit ) che archivia un singolo oggetto dati primitivo o il set di oggetti dati contenuti in un oggetto dati costruito, a seconda del file selezionato.

La modalità di archiviazione degli oggetti (scrittura una volta e/o aggiornamento e/o aggiunta) dipende dalla definizione o dalla natura degli oggetti dati.

Sintassi

HRESULT PutData(
  [in]      BYTE         byP1,
  [in]      BYTE         byP2,
  [in]      LPBYTEBUFFER pData,
  [in, out] LPSCARDCMD   *ppCmd
);

Parametri

byP1 [in]

Codifica di P1-P2.

Valore Significato
0000 - 003F
RFU
0040 - 00FF
BER-TLV tag (1 byte) in P2
0100 - 01FF
Dati dell'applicazione (codifica proprietaria)
0200 - 02FF
SIMPLE-TLV tag in P2
0300 - 03FF
RFU
0400 - 04FF
Tag BER-TLV (2 byte) in P1-P2

 

byP2 [in]

Codifica di P1-P2.

Valore Significato
0000 - 003F
RFU
0040 - 00FF
BER-TLV tag (1 byte) in P2
0100 - 01FF
Dati dell'applicazione (codifica proprietaria)
0200 - 02FF
SIMPLE-TLV tag in P2
0300 - 03FF
RFU
0400 - 04FF
Tag BER-TLV (2 byte) in P1-P2

 

pData [in]

Puntatore a un buffer di byte contenente i parametri e i dati da scrivere.

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 può essere eseguito solo se lo stato di sicurezza soddisfa le condizioni di sicurezza definite dall'applicazione all'interno del contesto per la funzione.

Archiviare i dati dell'applicazione

Quando il valore di P1-P2 è compreso nell'intervallo compreso tra 0100 e 01FF, il valore di P1-P2 deve essere un identificatore riservato ai test interni della scheda e ai servizi proprietari significativi all'interno di un determinato contesto dell'applicazione.

Archiviare oggetti dati

Quando il valore P1-P2 è compreso nell'intervallo compreso tra 0040 e 00FF, il valore di P2 deve essere un tag BER-TLV su un singolo byte. Il valore 00FF è riservato per indicare che il campo dati contiene oggetti dati BER-TLV.

Quando il valore di P1-P2 si trova nell'intervallo da 0200 a 02FF, il valore di P2 deve essere un tag SIMPLE-TLV. Il valore 0200 è RFU. Il valore 02FF è riservato per indicare che il campo dati contiene oggetti dati SIMPLE-TLV.

Quando il valore di P1-P2 è compreso nell'intervallo compreso tra 4000 e FFFF, il valore di P1-P2 deve essere un tag BER-TLV su due byte. I valori da 4000 a FFFF sono RFU.

Quando viene fornito un oggetto dati primitivo, il campo dati del messaggio di comando conterrà il valore dell'oggetto dati primitivo corrispondente.

Quando viene fornito un oggetto dati costruito, il campo dati del messaggio di comando conterrà il valore dell'oggetto dati costruito, ovvero gli oggetti dati, inclusi il tag, la lunghezza e il valore.

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

GetData

ISCardISO7816