HttpCreateRequestQueue-Funktion (http.h)
Die HttpCreateRequestQueue-Funktion erstellt eine neue Anforderungswarteschlange oder öffnet eine vorhandene Anforderungswarteschlange.
Diese Funktion ersetzt die HTTP-Version 1.0 HttpCreateHttpHandle--Funktion.
Syntax
HTTPAPI_LINKAGE ULONG HttpCreateRequestQueue(
[in] HTTPAPI_VERSION Version,
[in, optional] PCWSTR Name,
[in, optional] PSECURITY_ATTRIBUTES SecurityAttributes,
[in, optional] ULONG Flags,
[out] PHANDLE RequestQueueHandle
);
Parameter
[in] Version
Eine HTTPAPI_VERSION Struktur, die die Anforderungswarteschlangenversion angibt. Deklarieren Sie für Version 2.0 eine Instanz der Struktur, und legen Sie sie auf den vordefinierten Wert HTTPAPI_VERSION_2 fest, bevor Sie sie an HttpCreateRequestQueueübergeben.
Die Version muss 2.0 sein; HttpCreateRequestQueue unterstützt keine Anforderungswarteschlangen der Version 1.0.
[in, optional] Name
Der Name der Anforderungswarteschlange. Die Länge in Bytes darf MAX_PATH nicht überschreiten.
Der optionale Name-Parameter ermöglicht anderen Prozessen den Zugriff auf die Anforderungswarteschlange anhand des Namens.
[in, optional] SecurityAttributes
Ein Zeiger auf die SECURITY_ATTRIBUTES Struktur, die die Zugriffsberechtigungen für die Anforderungswarteschlange enthält.
Dieser Parameter muss NULL- sein, wenn eine vorhandene Anforderungswarteschlange geöffnet wird.
[in, optional] Flags
Der Parameter "flags" definiert den Bereich der Anforderungswarteschlange. Dieser Parameter kann eine oder mehrere der folgenden Werte sein:
[out] RequestQueueHandle
Ein Zeiger auf eine Variable, die ein Handle für die Anforderungswarteschlange empfängt. Dieser Parameter muss einen gültigen Zeiger enthalten; es kann nicht NULL-sein.
Rückgabewert
Wenn die Funktion erfolgreich ist, wird NO_ERROR
Wenn die Funktion fehlschlägt, wird eine der folgenden Fehlercodes zurückgegeben.
Wert | Bedeutung |
---|---|
|
Der parameter Version enthält eine ungültige Version. |
|
Die Länge des Anforderungswarteschlangennamens in Bytes darf MAX_PATH nicht überschreiten.
Der pSecurityAttributes--Parameter muss beim Öffnen einer vorhandenen Anforderungswarteschlange NULL- sein. Die HTTP_CREATE_REQUEST_QUEUE_FLAG_CONTROLLER kann nur festgelegt werden, wenn die Anforderungswarteschlange erstellt wird. Die HTTP_CREATE_REQUEST_QUEUE_FLAG_OPEN_EXISTING kann nur festgelegt werden, wenn die Anwendung über die Berechtigung zum Öffnen einer vorhandenen Anforderungswarteschlange verfügt. In diesem Fall muss der pReqQueueHandle Parameter ein gültiger Zeiger sein, und der pName Parameter muss einen gültigen Anforderungswarteschlangennamen enthalten; es kann nicht NULL-sein. Der pReqQueueHandle Parameter, der von HttpCreateRequestQueue zurückgegeben wird, ist NULL-. |
|
Der pName Parameter in Konflikt mit einer vorhandenen Anforderungswarteschlange, die einen identischen Namen enthält. |
|
Der Aufrufvorgang verfügt nicht über die Berechtigung zum Öffnen der Anforderungswarteschlange. |
|
Die Anwendung hat HttpInitialize- nicht aufgerufen, bevor HttpCreateRequestQueueaufgerufen wird. |
Bemerkungen
Die HTTP-Server-API unterstützt vorhandene Anwendungen mithilfe der Anforderungswarteschlangen der Version 1.0. Neue Entwicklung mit der HTTP-Server-API sollte jedoch HttpCreateRequestQueue zum Erstellen von Anforderungswarteschlangen verwenden; HttpCreateHttpHandle- sollte nicht verwendet werden. Die Version 2.0-API ist nur mit den Anforderungswarteschlangen der Version 2.0 kompatibel, die von HttpCreateRequestQueueerstellt wurden.
Für die HTTP Version 2-Anforderungswarteschlangen ist eine manuelle Konfiguration erforderlich; die Anwendung muss die URL-Gruppen erstellen und eine oder mehrere URL-Gruppen der Anforderungswarteschlange zuordnen, indem sie HttpSetUrlGroupProperty- mit der HttpServerBindingProperty-aufrufen. Die Anwendung konfiguriert die Anforderungswarteschlange durch Aufrufen HttpSetRequestQueueProperty- mit der gewünschten Konfiguration im parameter Property. Weitere Informationen zum Erstellen und Konfigurieren von URL-Gruppen finden Sie unter HttpCreateUrlGroup und HttpSetUrlGroupProperty.
Sicherheitsattribute können in pSecurityAttributes Parameter nur angegeben werden, wenn die Anforderungswarteschlange erstellt wird. Nur die Anwendung, die die Anforderungswarteschlange erstellt, kann Zugriffssteuerungslisten (ACLs) im Anforderungswarteschlangenhandle festlegen, um Prozessen (außer der Erstelleranwendung) die Berechtigung zum Öffnen, Empfangen von Anforderungen und Senden von Antworten auf den Anforderungswarteschlangenhandle zu ermöglichen. Standardmäßig dürfen Anwendungen keine Anforderungswarteschlange öffnen, es sei denn, sie wurden in der ACL berechtigung erteilt.
Der Erstellerprozess kann optional das HTTP_CREATE_REQUEST_QUEUE_FLAG_CONTROLLER Flag verwenden, um anzugeben, dass er keine HTTP-Anforderungen empfangen möchte.
HttpCreateRequestQueue ermöglicht Anwendungen das Öffnen einer vorhandenen Anforderungswarteschlange mit dem HTTP_CREATE_REQUEST_QUEUE_FLAG_OPEN_EXISTING Flag und abrufen des Handles in die Anforderungswarteschlange. Nicht controllerbasierte Anwendungen können dieses Handle verwenden, um HTTP-E/A-Vorgänge auszuführen. Nur die Anwendung, die die Anforderungswarteschlange erstellt, kann Eigenschaften darauf festlegen, indem die HttpSetRequestQueuePropertyaufgerufen wird.
Das Handle für die von HttpCreateRequestQueue erstellte Anforderungswarteschlange muss durch Aufrufen HttpCloseRequestQueue geschlossen werden, bevor die Anwendung beendet wird oder wenn die Sitzung nicht mehr erforderlich ist.
Anwendungen müssen HttpInitialize- aufrufen, bevor HttpCreateRequestQueueaufgerufen wird.
Anforderungen
Anforderung | Wert |
---|---|
mindestens unterstützte Client- | Windows Vista [nur Desktop-Apps] |
mindestens unterstützte Server- | Windows Server 2008 [Nur Desktop-Apps] |
Zielplattform- | Fenster |
Header- | http.h |
Library | Httpapi.lib |
DLL- | Httpapi.dll |