Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Registra un set di voci dei criteri di routing delle connessioni con il servizio Proxy automatico WinHTTP. Le voci dei criteri definiscono le connessioni di rete da usare per combinazioni di host/applicazioni specifiche, abilitando il routing HTTP compatibile con la connessione.
Syntax
DWORD WINAPI WinHttpConnectionSetPolicyEntries(
_In_ HINTERNET hSession,
_In_ WINHTTP_CONNECTION_POLICY_TAG PolicyEntryTag,
_In_ WINHTTP_CONNECTION_POLICY_ENTRY_LIST *pPolicyEntryList
);
Parameters
hSession [in]
Handle di sessione WinHTTP valido creato da WinHttpOpen. L'handle deve essere un handle a livello di sessione.
PolicyEntryTag [in]
Identifica il proprietario o l'origine delle voci dei criteri. Uno dei valori seguenti.
| valore | Meaning |
|---|---|
| TAG_WINHTTP_CONNECTION_POLICY_TAG_DEFAULT (0) | Voci di criteri predefinite/senza tag. |
| TAG_WINHTTP_CONNECTION_POLICY_TAG_CONNECTION_MANAGER (1) | Riservato per le voci gestite dalla gestione connessione di sistema. Le applicazioni di terze parti devono usare TAG_WINHTTP_CONNECTION_POLICY_TAG_WWWPT per evitare conflitti con le voci di sistema. |
| TAG_WINHTTP_CONNECTION_POLICY_TAG_WWWPT (2) | Voci gestite dal componente WWWPT (Windows Web Platform Transport). |
I tag consentono a più componenti di gestire in modo indipendente i propri set di criteri senza sovrascrivere l'uno l'altro.
pPolicyEntryList [in]
Puntatore a una struttura WINHTTP_CONNECTION_POLICY_ENTRY_LIST contenente una matrice di voci di criteri.
Ogni WINHTTP_CONNECTION_POLICY_ENTRY nell'elenco contiene:
- pwszHost : modello nome host di destinazione a cui si applica questo criterio.
- pwszAppId : identificatore dell'applicazione (nome della famiglia di pacchetti o "*" per tutte le app).
- cbAppSid / pbAppSid : SID contenitore di app facoltativo per l'applicazione. Impostare cbAppSid su 0 e pbAppSid su NULL , se non applicabile.
- nConnections : numero di nomi di connessione in ppwszConnections.
- ppwszConnections : matrice di stringhe di nomi di connessione che possono trasportare traffico per questa combinazione di host/app.
- dwPolicyEntryFlags : attualmente non sono supportati flag.
Valore restituito
Restituisce ERROR_SUCCESS (0) in caso di esito positivo. Restituisce un codice di errore di sistema in caso di errore, incluso quanto segue.
| valore | Description |
|---|---|
| ERROR_WINHTTP_INCORRECT_HANDLE_TYPE | hSession non è un handle di sessione. |
| ERROR_WINHTTP_NOT_INITIALIZED | Le globali WinHTTP non vengono inizializzate. |
| ERROR_ACCESS_DENIED | Il chiamante non dispone dei privilegi necessari. |
Remarks
Annotazioni
Questa API non è attualmente inclusa in un file di intestazione SDK. È necessario dichiarare manualmente la funzione nel codice.
Le voci dei criteri indicano a WinHTTP quali connessioni denominate sono idonee per trasportare il traffico destinato a host specifici o provenienti da applicazioni specifiche. Questa funzionalità è fondamentale per la rete con riconoscimento della connessione nei dispositivi con più connessioni di rete simultanee.
La chiamata a questa funzione sostituisce tutte le voci impostate in precedenza per lo stesso PolicyEntryTag. Il modello tipico è:
- Chiama WinHttpConnectionDeletePolicyEntries per cancellare le voci non aggiornate.
- Chiama WinHttpConnectionSetPolicyEntries con il set aggiornato completo.
Il Windows Gestione connessioni usa TAG_WINHTTP_CONNECTION_POLICY_TAG_CONNECTION_MANAGER per eseguire il push delle regole di routing da host a connessione derivate dalla logica di selezione della connessione.
Questa API richiede privilegi elevati (administrator/SYSTEM).
Example
Nell'esempio seguente vengono eliminate le voci dei criteri di gestione connessione esistenti e quindi viene registrato un nuovo criterio su richiesta per tutte le app che si connettono agli host corrispondenti *.contoso.coma .
// First delete existing connection manager policies
WinHttpConnectionDeletePolicyEntries(
hSession,
TAG_WINHTTP_CONNECTION_POLICY_TAG_WWWPT);
// Then set new policies
WINHTTP_CONNECTION_POLICY_ENTRY entry = {};
entry.pwszHost = L"*.contoso.com";
entry.pwszAppId = L"*";
PCWSTR connectionName = L"Contoso Cellular";
entry.nConnections = 1;
entry.ppwszConnections = &connectionName;
WINHTTP_CONNECTION_POLICY_ENTRY_LIST list = {};
list.pPolicyEntries = &entry;
list.nEntries = 1;
WinHttpConnectionSetPolicyEntries(
hSession,
TAG_WINHTTP_CONNECTION_POLICY_TAG_WWWPT,
&list);
Requisiti
| Requirement | valore |
|---|---|
| Intestazione | N/A |
| Libreria | winhttp.lib |
| DLL | winhttp.dll |