Funzione SCardControl (winscard.h)
La funzione SCardControl consente di controllare direttamente il lettore. È possibile chiamarlo in qualsiasi momento dopo la corretta chiamata a SCardConnect e prima di una chiamata a SCardDisconnect. L'effetto sullo stato del lettore dipende dal codice del controllo.
Sintassi
LONG SCardControl(
[in] SCARDHANDLE hCard,
[in] DWORD dwControlCode,
[in] LPCVOID lpInBuffer,
[in] DWORD cbInBufferSize,
[out] LPVOID lpOutBuffer,
[in] DWORD cbOutBufferSize,
[out] LPDWORD lpBytesReturned
);
Parametri
[in] hCard
Valore di riferimento restituito da SCardConnect.
[in] dwControlCode
Codice di controllo per l'operazione. Questo valore identifica l'operazione specifica da eseguire.
[in] lpInBuffer
Puntatore a un buffer contenente i dati necessari per eseguire l'operazione. Questo parametro può essere NULL se il parametro dwControlCode specifica un'operazione che non richiede dati di input.
[in] cbInBufferSize
Dimensioni, in byte, del buffer a cui punta lpInBuffer.
[out] lpOutBuffer
Puntatore a un buffer che riceve i dati di output dell'operazione. Questo parametro può essere NULL se il parametro dwControlCode specifica un'operazione che non produce dati di output.
[in] cbOutBufferSize
Dimensioni, in byte, del buffer a cui punta lpOutBuffer.
[out] lpBytesReturned
Puntatore a un DWORD che riceve le dimensioni, in byte, dei dati archiviati nel buffer a cui punta lpOutBuffer.
Valore restituito
Questa funzione restituisce valori diversi a seconda che abbia esito positivo o negativo.
Codice restituito | Descrizione |
---|---|
|
SCARD_S_SUCCESS. |
|
Codice di errore. Per altre informazioni, vedere Valori restituiti della smart card. |
Commenti
La funzione SCardControl è una funzione di accesso diretto alla scheda. Per altre informazioni su altre funzioni di accesso diretto, vedere Funzioni di accesso diretto alle schede.
Esempio
Nell'esempio seguente viene visualizzato un codice di controllo. L'esempio presuppone che hCardHandle sia un handle valido ricevuto da una chiamata precedente a SCardConnect e che dwControlCode sia una variabile di tipo DWORD inizializzata in precedenza in un codice di controllo valido. Questo particolare codice di controllo non richiede dati di input e non prevede dati di output.
lReturn = SCardControl( hCardHandle,
dwControlCode,
NULL,
0,
NULL,
0,
0 );
if ( SCARD_S_SUCCESS != lReturn )
printf("Failed SCardControl\n");
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows XP [solo app desktop] |
Server minimo supportato | Windows Server 2003 [solo app desktop] |
Piattaforma di destinazione | Windows |
Intestazione | winscard.h |
Libreria | Winscard.lib |
DLL | Winscard.dll |