Função HttpCreateRequestQueue (http.h)
A função HttpCreateRequestQueue cria uma nova fila de solicitações ou abre uma fila de solicitações existente.
Essa função substitui a função http versão 1.0 HttpCreateHttpHandle.
Sintaxe
HTTPAPI_LINKAGE ULONG HttpCreateRequestQueue(
[in] HTTPAPI_VERSION Version,
[in, optional] PCWSTR Name,
[in, optional] PSECURITY_ATTRIBUTES SecurityAttributes,
[in, optional] ULONG Flags,
[out] PHANDLE RequestQueueHandle
);
Parâmetros
[in] Version
Uma estrutura HTTPAPI_VERSION indicando a versão da fila de solicitação. Para a versão 2.0, declare uma instância da estrutura e defina-a como o valor predefinido HTTPAPI_VERSION_2 antes de passá-la para HttpCreateRequestQueue.
A versão deve ser 2.0; HttpCreateRequestQueue não dá suporte a filas de solicitação da versão 1.0.
[in, optional] Name
O nome da fila de solicitação. O comprimento, em bytes, não pode exceder MAX_PATH.
O parâmetro de nome opcional permite que outros processos acessem a fila de solicitação pelo nome.
[in, optional] SecurityAttributes
Um ponteiro para a estrutura de SECURITY_ATTRIBUTES que contém as permissões de acesso para a fila de solicitação.
Esse parâmetro deve ser NULL ao abrir uma fila de solicitação existente.
[in, optional] Flags
O parâmetro flags define o escopo da fila de solicitação. Esse parâmetro pode ser um ou mais dos seguintes:
[out] RequestQueueHandle
Um ponteiro para uma variável que recebe um identificador para a fila de solicitação. Esse parâmetro deve conter um ponteiro válido; não pode ser NULL.
Valor de retorno
Se a função for bem-sucedida, ela retornará NO_ERROR
Se a função falhar, ela retornará um dos seguintes códigos de erro.
Valor | Significado |
---|---|
|
O parâmetro Version contém uma versão inválida. |
|
O comprimento, em bytes, do nome da fila de solicitação não pode exceder MAX_PATH.
O parâmetro pSecurityAttributes deve ser NULL ao abrir uma fila de solicitação existente. O HTTP_CREATE_REQUEST_QUEUE_FLAG_CONTROLLER só pode ser definido quando a fila de solicitação é criada. O HTTP_CREATE_REQUEST_QUEUE_FLAG_OPEN_EXISTING só pode ser definido quando o aplicativo tem permissão para abrir uma fila de solicitação existente. Nesse caso, o parâmetro pReqQueueHandle O parâmetro pReqQueueHandle |
|
O parâmetro pName entra em conflito com uma fila de solicitação existente que contém um nome idêntico. |
|
O processo de chamada não tem permissão para abrir a fila de solicitação. |
|
O aplicativo não chamou HttpInitialize antes de chamar HttpCreateRequestQueue. |
Observações
A API do Servidor HTTP dá suporte a aplicativos existentes usando as filas de solicitação da versão 1.0, no entanto, o novo desenvolvimento com a API do Servidor HTTP deve usar httpCreateRequestQueue para criar filas de solicitação; HttpCreateHttpHandle não deve ser usada. A API versão 2.0 só é compatível com as filas de solicitação da versão 2.0 criadas pelo HttpCreateRequestQueue.
As filas de solicitação HTTP versão 2 exigem configuração manual; o aplicativo deve criar os Grupos de URL e associar um ou mais Grupos de URL à fila de solicitações chamando
Atributos de segurança podem ser fornecidos em pSecurityAttributes parâmetro somente quando a fila de solicitação é criada. Somente o aplicativo que cria a fila de solicitações pode definir ACLs (Listas de Controle de Acesso) no identificador de fila de solicitação para permitir que processos (além do aplicativo criador) abram, recebam solicitações e enviem respostas no identificador de fila de solicitação. Por padrão, os aplicativos não têm permissão para abrir uma fila de solicitação, a menos que tenham recebido permissão na ACL.
Opcionalmente, o processo do criador pode usar o sinalizador HTTP_CREATE_REQUEST_QUEUE_FLAG_CONTROLLER para indicar que ele não deseja receber solicitações http.
httpCreateRequestQueue permite que os aplicativos abram uma fila de solicitações existente com o sinalizador HTTP_CREATE_REQUEST_QUEUE_FLAG_OPEN_EXISTING e recuperem o identificador para a fila de solicitação. Aplicativos não controladores podem usar esse identificador para executar operações de E/S HTTP. Somente o aplicativo que cria a fila de solicitação pode definir propriedades nele chamando o httpSetRequestQueueProperty.
O identificador da fila de solicitação criado por HttpCreateRequestQueue deve ser fechado chamando HttpCloseRequestQueue antes que o aplicativo seja encerrado ou quando a sessão não for mais necessária.
Os aplicativos devem chamar HttpInitialize antes de chamar HttpCreateRequestQueue.
Requisitos
Requisito | Valor |
---|---|
de cliente com suporte mínimo | Windows Vista [somente aplicativos da área de trabalho] |
servidor com suporte mínimo | Windows Server 2008 [somente aplicativos da área de trabalho] |
da Plataforma de Destino |
Windows |
cabeçalho | http.h |
biblioteca | Httpapi.lib |
de DLL |
Httpapi.dll |