Funzione HttpCreateRequestQueue (http.h)
La funzione HttpCreateRequestQueue crea una nuova coda di richieste o apre una coda di richieste esistente.
Questa funzione sostituisce la funzione http versione 1.0 HttpCreateHttpHandle.
Sintassi
HTTPAPI_LINKAGE ULONG HttpCreateRequestQueue(
[in] HTTPAPI_VERSION Version,
[in, optional] PCWSTR Name,
[in, optional] PSECURITY_ATTRIBUTES SecurityAttributes,
[in, optional] ULONG Flags,
[out] PHANDLE RequestQueueHandle
);
Parametri
[in] Version
Struttura HTTPAPI_VERSION che indica la versione della coda delle richieste. Per la versione 2.0 dichiarare un'istanza della struttura e impostarla sul valore predefinito HTTPAPI_VERSION_2 prima di passarla a HttpCreateRequestQueue.
La versione deve essere 2.0; HttpCreateRequestQueue non supporta le code delle richieste versione 1.0.
[in, optional] Name
Nome della coda della richiesta. La lunghezza, espressa in byte, non può superare MAX_PATH.
Il parametro facoltativo name consente ad altri processi di accedere alla coda delle richieste in base al nome.
[in, optional] SecurityAttributes
Puntatore alla struttura SECURITY_ATTRIBUTES che contiene le autorizzazioni di accesso per la coda delle richieste.
Questo parametro deve essere NULL all'apertura di una coda di richieste esistente.
[in, optional] Flags
Il parametro flags definisce l'ambito della coda di richieste. Questo parametro può essere uno o più dei seguenti:
[out] RequestQueueHandle
Puntatore a una variabile che riceve un handle per la coda della richiesta. Questo parametro deve contenere un puntatore valido; non può essere NULL.
Valore restituito
Se la funzione ha esito positivo, restituisce NO_ERROR
Se la funzione ha esito negativo, restituisce uno dei codici di errore seguenti.
Valore | Significato |
---|---|
|
Il parametro Version |
|
La lunghezza, in byte, del nome della coda della richiesta non può superare MAX_PATH.
Il parametro Il HTTP_CREATE_REQUEST_QUEUE_FLAG_CONTROLLER può essere impostato solo quando viene creata la coda di richieste. Il HTTP_CREATE_REQUEST_QUEUE_FLAG_OPEN_EXISTING può essere impostato solo quando l'applicazione dispone dell'autorizzazione per aprire una coda di richieste esistente. In questo caso, il parametro pReqQueueHandle deve essere un puntatore valido e il parametro pName deve contenere un nome di coda di richieste valido; non può essere NULL. Il parametro pReqQueueHandle |
|
Il parametro pName è in conflitto con una coda di richieste esistente che contiene un nome identico. |
|
Il processo chiamante non dispone dell'autorizzazione per aprire la coda delle richieste. |
|
L'applicazione non ha chiamato HttpInitialize prima di chiamare HttpCreateRequestQueue. |
Osservazioni
L'API server HTTP supporta le applicazioni esistenti che usano le code delle richieste versione 1.0, tuttavia, il nuovo sviluppo con l'API server HTTP deve usare HttpCreateRequestQueue per creare code di richieste; non usare l' HttpCreateHttpHandle. L'API versione 2.0 è compatibile solo con le code di richieste della versione 2.0 create da HttpCreateRequestQueue.
Le code di richieste HTTP versione 2 richiedono la configurazione manuale; L'applicazione deve creare i gruppi di URL e associare uno o più gruppi di URL alla coda di richieste chiamando HttpSetUrlGroupProperty con il HttpServerBindingProperty. L'applicazione configura la coda delle richieste chiamando
Gli attributi di sicurezza possono essere forniti in pSecurityAttributes parametro solo quando viene creata la coda delle richieste. Solo l'applicazione che crea la coda delle richieste può impostare gli elenchi di controllo di accesso (ACL) nell'handle della coda delle richieste per consentire ai processi (ad eccezione dell'applicazione creatore) di aprire, ricevere richieste e inviare risposte nell'handle della coda delle richieste. Per impostazione predefinita, le applicazioni non possono aprire una coda di richieste, a meno che non siano state concesse autorizzazioni nell'ACL.
Il processo creatore può facoltativamente usare il flag HTTP_CREATE_REQUEST_QUEUE_FLAG_CONTROLLER per indicare che non vuole ricevere richieste HTTP.
HttpCreateRequestQueue consente alle applicazioni di aprire una coda di richieste esistente con il flag HTTP_CREATE_REQUEST_QUEUE_FLAG_OPEN_EXISTING e recuperare l'handle nella coda delle richieste. Le applicazioni non controller possono usare questo handle per eseguire operazioni di I/O HTTP. Solo l'applicazione che crea la coda di richieste può impostare proprietà su di essa chiamando il HttpSetRequestQueueProperty.
L'handle per la coda di richieste creata da HttpCreateRequestQueue deve essere chiuso chiamando HttpCloseRequestQueue prima che l'applicazione termini o quando la sessione non è più necessaria.
Le applicazioni devono chiamare HttpInitialize prima di chiamare HttpCreateRequestQueue.
Fabbisogno
Requisito | Valore |
---|---|
client minimo supportato | Windows Vista [solo app desktop] |
server minimo supportato | Windows Server 2008 [solo app desktop] |
piattaforma di destinazione | Finestre |
intestazione |
http.h |
libreria |
Httpapi.lib |
dll | Httpapi.dll |
Vedere anche
funzioni API server HTTP versione 2.0