Funzione SCardGetCardTypeProviderNameA (winscard.h)
La funzione SCardGetCardTypeProviderName restituisce il nome del modulo (libreria di collegamento dinamico) che contiene il provider per un determinato nome di scheda e tipo di provider.
Sintassi
LONG SCardGetCardTypeProviderNameA(
[in] SCARDCONTEXT hContext,
[in] LPCSTR szCardName,
[in] DWORD dwProviderId,
[out] CHAR *szProvider,
[in, out] LPDWORD pcchProvider
);
Parametri
[in] hContext
Handle che identifica il contesto di Resource Manager. Il contesto di Resource Manager può essere impostato da una chiamata precedente a SCardEstablishContext. Questo valore può essere NULL se la chiamata a SCardGetCardTypeProviderName non viene indirizzata a un contesto specifico.
[in] szCardName
Nome del tipo di scheda a cui è associato il nome del provider.
[in] dwProviderId
Identificatore per il provider associato a questo tipo di scheda.
Valore | Significato |
---|---|
|
La funzione recupera il nome del provider di servizi primariodella smart card come stringa GUID. |
|
La funzione recupera il nome del provider del servizio di crittografia. |
|
La funzione recupera il nome del provider di archiviazione chiavi della smart card.The function retrieve the name of the smart card key storage provider (KSP). |
|
La funzione recupera il nome del modulo della scheda. |
[out] szProvider
Variabile stringa per ricevere il nome del provider al completamento di questa funzione.
[in, out] pcchProvider
Puntatore al valore DWORD . In input pcchProvider fornisce la lunghezza del buffer szProvider in caratteri. Se questo valore è SCARD_AUTOALLOCATE, szProvider viene convertito in un puntatore a un puntatore a byte e riceve l'indirizzo di un blocco di memoria contenente la stringa. Questo blocco di memoria deve essere deallocato chiamando SCardFreeMemory.
Nell'output, questo valore rappresenta il numero effettivo di caratteri, incluso il carattere di terminazione Null , nella variabile szProvider .
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
Questa funzione non viene reindirizzata, ma la chiamata alla funzione quando all'interno di una sessione desktop remoto non genererà un errore. Significa solo che il risultato sarà dal computer remoto anziché dal computer locale.
Al termine di questa funzione, il valore in szProvider può essere usato come terzo parametro in una chiamata a CryptAcquireContext.
Esempio
Nell'esempio seguente viene illustrato come recuperare il nome del provider per il contesto del lettore specificato. Nell'esempio si presuppone che hContext sia un handle valido ottenuto da una chiamata precedente alla funzione SCardEstablishContext .
LPTSTR szProvider = NULL;
LPTSTR szCardName = _T("WindowsCard");
DWORD chProvider = SCARD_AUTOALLOCATE;
LONG lReturn = SCARD_S_SUCCESS;
// Retrieve the provider name.
// hContext was set by SCardEstablishContext.
lReturn = SCardGetCardTypeProviderName(hContext,
szCardName,
SCARD_PROVIDER_CSP,
(LPTSTR)&szProvider,
&chProvider);
if (SCARD_S_SUCCESS == lReturn)
{
BOOL fSts = TRUE;
HCRYPTPROV hProv = NULL;
// Acquire a Cryptographic operation context.
fSts = CryptAcquireContext(&hProv,
NULL,
szProvider,
PROV_RSA_FULL,
0);
// Perform Cryptographic operations with smart card
// ...
// Free memory allocated by SCardGetCardTypeProviderName.
lReturn = SCardFreeMemory(hContext, szProvider);
}
Nota
L'intestazione winscard.h definisce SCardGetCardTypeProviderName come alias che seleziona automaticamente la versione ANSI o Unicode di questa funzione in base alla definizione della costante del preprocessore UNICODE. La combinazione dell'utilizzo dell'alias indipendente dalla codifica con il codice che non è indipendente dalla codifica può causare mancate corrispondenze che generano errori di compilazione o di runtime. Per altre informazioni, vedere Convenzioni per i prototipi di funzioni.
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 |
Vedi anche
Commenti e suggerimenti
https://aka.ms/ContentUserFeedback.
Presto disponibile: Nel corso del 2024 verranno gradualmente disattivati i problemi di GitHub come meccanismo di feedback per il contenuto e ciò verrà sostituito con un nuovo sistema di feedback. Per altre informazioni, vedereInvia e visualizza il feedback per