Funzione SCardSetCardTypeProviderNameW (winscard.h)

La funzione SCardSetCardTypeProviderName specifica il nome del modulo (libreria di collegamento dinamica) contenente il provider per un determinato nome e tipo di provider.

Sintassi

LONG SCardSetCardTypeProviderNameW(
  [in] SCARDCONTEXT hContext,
  [in] LPCWSTR      szCardName,
  [in] DWORD        dwProviderId,
  [in] LPCWSTR      szProvider
);

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 SCardSetCardCardTypeProviderName non viene indirizzata a un contesto specifico.

[in] szCardName

Nome del tipo di scheda con cui è associato il nome del provider .

[in] dwProviderId

Identificatore per il provider associato a questo tipo di scheda.

Valore Significato
SCARD_PROVIDER_PRIMARY
1
La funzione recupera il nome del provider di servizi primariodella smart card come stringa GUID.
SCARD_PROVIDER_CSP
2
La funzione recupera il nome del provider di servizi di crittografia (CSP).
SCARD_PROVIDER_KSP
3
La funzione recupera il nome del provider di archiviazione chiavi smart card (KSP).
SCARD_PROVIDER_CARD_MODULE
0x80000001
La funzione recupera il nome del modulo della scheda.

[in] szProvider

Stringa che contiene il nome del provider che rappresenta il provider CSP.

Valore restituito

Questa funzione restituisce valori diversi a seconda che abbia esito positivo o negativo.

Codice restituito Descrizione
Success
SCARD_S_SUCCESS.
Operazioni non riuscite
Codice di errore. Per altre informazioni, vedere Valori restituiti smart card.

Commenti

Questa funzione non viene reindirizzata, ma la chiamata alla funzione quando all'interno di una sessione desktop remoto non verrà generato un errore. Significa solo che il risultato sarà dal computer remoto anziché dal computer locale.

Questa funzione imposta il nome del provider, mentre SCardGetCardTypeProviderName può essere usato per recuperare il nome del provider.

Esempio

Nell'esempio seguente viene illustrato come specificare il nome del provider del tipo di scheda.

LPTSTR            szNewProvName = _T("My Provider Name");
LPTSTR            szCardName = _T("WindowsCard");
LONG              lReturn = SCARD_S_SUCCESS;

// Set the card type provider name.
// hContext was set by SCardEstablishContext.
lReturn = SCardSetCardTypeProviderName(hContext,
                                      szCardName,
                                      SCARD_PROVIDER_CSP,
                                      szNewProvName);
if ( SCARD_S_SUCCESS != lReturn )
{
    printf("Failed SCardSetCardTypeProviderName - %x\n", lReturn);
    exit(1);
}

Nota

L'intestazione winscard.h definisce SCardSetCardTypeProviderName come alias che seleziona automaticamente la versione ANSI o Unicode di questa funzione in base alla definizione della costante preprocessore UNICODE. La combinazione dell'utilizzo dell'alias di codifica neutrale con il codice che non è neutrale dalla codifica può causare errori di corrispondenza che causano errori di compilazione o runtime. Per altre informazioni, vedere Convenzioni per i prototipi di funzione.

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

SCardGetCardTypeProviderName