Condividi tramite


Funzione SspiPromptForCredentialsA (sspi.h)

Consente a un'applicazione security support provider interface (SSPI) di richiedere a un utente di immettere le credenziali.

Sintassi

unsigned long SEC_ENTRY SspiPromptForCredentialsA(
  [in]                PCSTR                           pszTargetName,
  [in]                PCREDUI_INFOA                   pUiInfo,
  [in]                unsigned long                   dwAuthError,
  [in]                PCSTR                           pszPackage,
  [in]                PSEC_WINNT_AUTH_IDENTITY_OPAQUE pInputAuthIdentity,
  [out]               PSEC_WINNT_AUTH_IDENTITY_OPAQUE *ppAuthIdentity,
  [in, out, optional] int                             *pfSave,
  [in]                unsigned long                   dwFlags
);

Parametri

[in] pszTargetName

Nome della destinazione da usare.

[in] pUiInfo

Puntatore a una struttura CREDUI_INFO che contiene informazioni per personalizzare l'aspetto della finestra di dialogo visualizzata da questa funzione.

Se il membro hwndParent della struttura CREDUI_INFO non è null, questa funzione visualizza una finestra di dialogo modale allineata al centro della finestra padre.

Se il membro hwndParent della struttura CREDUI_INFO è NULL, la funzione visualizza una finestra di dialogo centrata sullo schermo.

Questa funzione ignora il membro hbmBanner della struttura CREDUI_INFO.

[in] dwAuthError

Codice di errore di Windows, definito in Winerror.h, visualizzato nella finestra di dialogo. Se le credenziali raccolte in precedenza non sono valide, il chiamante usa questo parametro per passare il messaggio di errore dall'API che ha raccolto le credenziali (ad esempio, Winlogon) a questa funzione. Il messaggio di errore corrispondente viene formattato e visualizzato nella finestra di dialogo. Impostare il valore di questo parametro su zero per non visualizzare alcun messaggio di errore.

[in] pszPackage

Nome del pacchetto di sicurezza da utilizzare.

[in] pInputAuthIdentity

Struttura di identità utilizzata per popolare i campi delle credenziali nella finestra di dialogo. Per lasciare vuoti i campi delle credenziali, impostare il valore di questo parametro su NULL.

[out] ppAuthIdentity

Struttura di identità che rappresenta le credenziali raccolte da questa funzione.

Al termine dell'uso di questa struttura, liberarlo chiamando la funzione SspiFreeAuthIdentity.

[in, out, optional] pfSave

Puntatore a un valore booleano che, in input, specifica se la casella di controllo Salva è selezionata nella finestra di dialogo visualizzata da questa funzione. Nell'output, il valore di questo parametro specifica se la casella di controllo Salva è stata selezionata quando l'utente ha fatto clic sul pulsante invia nella finestra di dialogo. Impostare questo parametro su NULL per ignorare la casella di controllo Salva .

Questo parametro viene ignorato se il flag di CREDUIWIN_CHECKBOX non è impostato nel parametro dwFlags .

[in] dwFlags

Flag che determinano il comportamento di questa funzione. Il flag seguente è attualmente definito.

Valore Significato
SSPIPFC_CREDPROV_DO_NOT_SAVE
0x00000001
Il valore del parametro pfSave viene ignorato e le credenziali raccolte da questa funzione non vengono salvate.

Windows 7 e Windows Server 2008 R2: Il valore del parametro pfSave viene ignorato e le credenziali raccolte da questa funzione non vengono salvate. Solo il nome di questo valore possibile è stato SSPIPFC_SAVE_CRED_BY_CALLER.

SSPIPFC_NO_CHECKBOX
0x00000002
Il valore indica che i provider di credenziali password e smart card non visualizzeranno la casella di controllo "Memorizza credenziali" all'utente. La funzione SspiPromptForCredentials passa questo valore di flag, SSPIPFC_NO_CHECKBOX, nel parametro pvInAuthBuffer di funzione CredUIPromptForWindowsCredentials.

Valore restituito

Se la funzione ha esito positivo, restituisce SEC_E_OK.

Se la funzione ha esito negativo, restituisce un codice di errore diverso da zero.

Osservazioni

Nota

L'intestazione sspi.h definisce SspiPromptForCredentials 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 non indipendente dalla codifica può causare mancate corrispondenze che generano errori di compilazione o di runtime. Per altre informazioni, vedere convenzioni di per i prototipi di funzioni.

Fabbisogno

Requisito Valore
client minimo supportato Windows 7 [solo app desktop]
server minimo supportato Windows Server 2008 R2 [solo app desktop]
piattaforma di destinazione Finestre
intestazione sspi.h
libreria Credui.lib
dll Credui.dll