Metodo ISCardISO7816::SelectFile
[Il metodo SelectFile è 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 SelectFile costruisce un comando APDU ( Application Protocol Data Unit ) che imposta un file elementare corrente all'interno di un canale logico. I comandi successivi possono fare riferimento implicitamente al file corrente tramite il canale logico.
La selezione di una directory (DF) all'interno del filetore di schede, che può essere la radice (MF) del filetore, lo rende l'DF corrente. Dopo tale selezione, è possibile fare riferimento a un file elementare corrente implicito tramite tale canale logico.
Se si seleziona un file elementare, il file selezionato e il relativo padre vengono impostati come file correnti.
Dopo la reimpostazione della risposta, il mf viene selezionato in modo implicito tramite il canale logico di base, a meno che non venga specificato diversamente nei byte cronologici o nella stringa di dati iniziale.
Sintassi
HRESULT SelectFile(
[in] BYTE byP1,
[in] BYTE byP2,
[in] LPBYTEBUFFER pData,
[in] LONG lBytesToRead,
[in, out] LPSCARDCMD *ppCmd
);
Parametri
-
byP1 [in]
-
Controllo di selezione.
P1 (byte superiore in parola): 8 7 6 5 4 3 2 1 Significato - 000000xx
Selezionare ID file - 00000000
EF, DF o MF - 00000001
DF figlio - 00000010
Entity Framework in DF - 00000011
DF padre di DF corrente Quando P1=00, la scheda conosce una codifica specifica dell'ID file o a causa del contesto di esecuzione del comando se il file da selezionare è mf, un DF o un ef.
Quando P1-P2=0000, se viene specificato un ID file, deve essere univoco negli ambienti seguenti:
- Elementi figlio immediati dell'DF corrente
- DF padre
- Elementi figlio immediati dell'DF padre
Se P1-P2=0000 e se il campo dati è vuoto o uguale a 3F00, selezionare mf.
Quando P1=04, il campo dati è un nome DF, possibilmente troncato a destra.
Se supportato, i comandi successivi con lo stesso campo dati devono selezionare DFS i cui nomi corrispondono al campo dati, ovvero iniziare con il campo dati del comando. Se la scheda accetta il comando con un campo dati vuoto, è possibile selezionare tutti o un sottoinsieme delle DFS.
-
byP2 [in]
-
Controllo di selezione.
-
pData [in]
-
Dati per l'operazione, se necessario; else, NULL. I tipi di dati passati in questo parametro includono:
- ID file
- percorso da MF
- percorso dalla funzione definita dall'DF corrente
- Nome DF
-
lBytesToRead [in]
-
Vuoto (ovvero 0) o lunghezza massima dei dati previsti in risposta.
-
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 |
---|---|
|
Operazione completata correttamente. |
|
Parametro non valido. |
|
È stato passato un puntatore non valido. |
|
Memoria insufficiente. |
Commenti
Se non diversamente specificato, l'esecuzione corretta del comando incapsulato modifica lo stato di sicurezza in base alle regole seguenti:
- Quando il file elementare corrente viene modificato o quando non è presente alcun file elementare corrente, lo stato di sicurezza specifico di un file elementare corrente viene perso.
- Quando la directory filestore corrente (DF) è discendente o identica alla precedente DF corrente, lo stato di sicurezza specifico dell'DF corrente viene perso. Lo stato di sicurezza comune a tutti i predecessori comuni della funzione definita dall'DF precedente e nuovo corrente viene mantenuto.
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 |
|
Libreria dei tipi |
|
DLL |
|
IID |
IID_ISCardISO7816 è definito come 53B6AA68-3F56-11D0-916B-00AA00C18068 |
Vedi anche