HttpCreateRequestQueue-Funktion (http.h)
Die HttpCreateRequestQueue-Funktion erstellt eine neue Anforderungswarteschlange oder öffnet eine vorhandene Anforderungswarteschlange.
Diese Funktion ersetzt die HttpCreateHttpHandle-Funktion der HTTP-Version 1.0.
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 instance der Struktur, und legen Sie sie auf den vordefinierten Wert HTTPAPI_VERSION_2 fest, bevor Sie ihn 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 nach Name.
[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 Flags-Parameter definiert den Bereich der Anforderungswarteschlange. Dieser Parameter kann mindestens einer der folgenden Parameter sein:
[out] RequestQueueHandle
Ein Zeiger auf eine Variable, die ein Handle an die Anforderungswarteschlange empfängt. Dieser Parameter muss einen gültigen Zeiger enthalten. Es darf nicht NULL sein.
Rückgabewert
Wenn die Funktion erfolgreich ist, gibt sie NO_ERROR zurück.
Wenn die Funktion fehlschlägt, gibt sie einen der folgenden Fehlercodes zurück.
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 NULL sein, wenn eine vorhandene Anforderungswarteschlange geöffnet wird. 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 darf nicht NULL sein. Der pReqQueueHandle-Parameter , der von HttpCreateRequestQueue zurückgegeben wird, ist NULL. |
|
Der pName-Parameter stellt einen Konflikt mit einer vorhandenen Anforderungswarteschlange dar, die einen identischen Namen enthält. |
|
Der aufrufende Prozess verfügt nicht über die Berechtigung zum Öffnen der Anforderungswarteschlange. |
|
Die Anwendung hat httpInitialize vor dem Aufrufen von HttpCreateRequestQueue nicht aufgerufen. |
Hinweise
Die HTTP-Server-API unterstützt vorhandene Anwendungen unter Verwendung der Anforderungswarteschlangen der Version 1.0. Neuentwicklung mit der HTTP-Server-API sollte jedoch HttpCreateRequestQueue verwenden, um Anforderungswarteschlangen zu erstellen. HttpCreateHttpHandle sollte nicht verwendet werden. Die API der Version 2.0 ist nur mit den Anforderungswarteschlangen der Version 2.0 kompatibel, die von HttpCreateRequestQueue erstellt wurden.
Die HTTP-Anforderungswarteschlangen der Version 2 erfordern eine manuelle Konfiguration. Die Anwendung muss die URL-Gruppen erstellen und eine oder mehrere URL-Gruppen der Anforderungswarteschlange zuordnen, indem httpSetUrlGroupProperty mit httpServerBindingProperty aufgerufen wird. Die Anwendung konfiguriert die Anforderungswarteschlange, indem httpSetRequestQueueProperty mit der gewünschten Konfiguration im Parameter Property aufgerufen wird. Weitere Informationen zum Erstellen und Konfigurieren von URL-Gruppen finden Sie unter HttpCreateUrlGroup und HttpSetUrlGroupProperty.
Sicherheitsattribute können im pSecurityAttributes-Parameter nur angegeben werden, wenn die Anforderungswarteschlange erstellt wird. Nur die Anwendung, die die Anforderungswarteschlange erstellt, kann Access Control Listen (ACLs) für das Anforderungswarteschlangenhandle festlegen, um Prozessen (mit Ausnahme der Erstelleranwendung) die Berechtigung zum Öffnen, Empfangen von Anforderungen und Senden von Antworten für das Anforderungswarteschlangenhandle zu gestatten. Anwendungen dürfen eine Anforderungswarteschlange standardmäßig nur öffnen, wenn ihnen die Berechtigung in der ACL erteilt wurde.
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 Es Anwendungen, eine vorhandene Anforderungswarteschlange mit dem flag HTTP_CREATE_REQUEST_QUEUE_FLAG_OPEN_EXISTING zu öffnen und das Handle in die Anforderungswarteschlange abzurufen. Anwendungen, die keine Controller sind, können dieses Handle verwenden, um HTTP-E/A-Vorgänge auszuführen. Nur die Anwendung, die die Anforderungswarteschlange erstellt, kann Eigenschaften dafür festlegen, indem sie httpSetRequestQueueProperty aufruft.
Das Handle für die von HttpCreateRequestQueue erstellte Anforderungswarteschlange muss geschlossen werden, indem HttpCloseRequestQueue aufgerufen wird, bevor die Anwendung beendet wird oder wenn die Sitzung nicht mehr erforderlich ist.
Anwendungen müssen HttpInitialize aufrufen, bevor httpCreateRequestQueue aufgerufen wird.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Windows Vista [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) | Windows Server 2008 [nur Desktop-Apps] |
Zielplattform | Windows |
Kopfzeile | http.h |
Bibliothek | Httpapi.lib |
DLL | Httpapi.dll |