Compartilhar via


Identificadores HINTERNET

Esta seção contém informações sobre os identificadores usados pelas funções WinINet e a hierarquia na qual eles funcionam.

Sobre identificadores HINTERNET

Os identificadores criados e usados pelas funções WinINet são do tipo HINTERNET. As funções WinINet retornam identificadores HINTERNET que não são intercambiáveis com outros tipos de identificador. Portanto, eles não podem ser usados com funções como ReadFile ou CloseHandle. Da mesma forma, outros tipos de identificador não podem ser usados com as funções WinINet. Por exemplo, um identificador retornado por CreateFile não pode ser passado para InternetReadFile.

A função InternetCloseHandle fecha alças do tipo HINTERNET. Observe que os valores de identificador são reciclados rapidamente; portanto, se um identificador for fechado e um novo identificador for gerado imediatamente, haverá uma boa chance de que o novo identificador tenha o mesmo valor que o identificador acabou de fechar.

Manipular hierarquia

Os identificadores HINTERNET são mantidos em uma hierarquia de árvore. O identificador retornado pela funçãoInternetOpené o nó raiz. Os identificadores retornados pela função InternetConnect ocupam o próximo nível. Identificadores retornados peloFtpOpenFile, FtpFindFirstFile e funções HttpOpenRequest são os nós folha.

Windows XP e Windows Server 2003 R2 e anteriores: Handles retornados por, GopherOpenFilee GopherFindFirstFile também são nós folha.

O diagrama a seguir ilustra a hierarquia dos identificadores HINTERNET. Cada caixa no diagrama representa uma função que retorna um identificador HINTERNET.

funções que criam identificadores

No nível superior está a função InternetOpen, que cria o identificador raiz. O próximo nível contém as funções InternetOpenUrl e InternetConnect. As funções que usam o identificador retornado por InternetConnect compõem o último nível.

O diagrama a seguir mostra as funções que dependem do identificador criado por InternetOpenUrl. As caixas sombreadas representam funções que retornam identificadores HINTERNET, enquanto as caixas simples representam funções que usam o identificador HINTERNET criado pela função associada.

funções que usam o identificador internetopenurl

As funções InternetQueryDataAvailable, InternetReadFilee InternetSetFilePointer usam o identificador HINTERNET criado pelo InternetOpenUrl.

Hierarquia de FTP

O diagrama a seguir mostra as funções FTP que dependem do identificador de sessão FTP retornado pelo InternetConnect. As caixas sombreadas representam funções que retornam identificadores HINTERNET, enquanto as caixas simples representam funções que usam o identificador HINTERNET criado pela função da qual elas dependem.

funções que usam o identificador de sessão ftp

OFtpCreateDirectory, FtpDeleteFile, FtpGetCurrentDirectory, FtpGetFile, FtpPutFile, FtpRemoveDirectory, FtpRenameFile e funções FtpSetCurrentDirectory usam o identificador HINTERNET criado pelo InternetConnect.

O diagrama a seguir mostra as duas funções FTP que retornam identificadores e as funções que dependem delas. As caixas sombreadas representam funções que retornam identificadores HINTERNET, enquanto as caixas simples representam funções que usam o identificador HINTERNET criado pela função da qual elas dependem.

funções que usam a alça de ftpopen e ftpfindfirstfile

A função InternetFindNextFile depende do identificador criado por FtpFindFirstFile, enquanto InternetReadFile e InternetWriteFile usar o identificador criado pelo FtpOpenFile.

Hierarquia HTTP

O diagrama a seguir mostra as relações das funções usadas para o protocolo HTTP. As caixas sombreadas representam funções que retornam identificadores HINTERNET, enquanto as caixas simples representam funções que usam o identificador HINTERNET criado pela função da qual elas dependem.

funções que usam o identificador do httpopenrequest

As funções HttpAddRequestHeaders, HttpQueryInfo, HttpSendRequest, HttpSendRequestExe InternetErrorDlg dependem do identificador criado pelo httpOpenRequest.

O diagrama a seguir mostra as funções que usam o identificador HINTERNET criado por HttpOpenRequest depois de ser enviado por HttpSendRequest. As caixas sombreadas representam funções que retornam identificadores HINTERNET, enquanto as caixas simples representam funções que usam o identificador HINTERNET criado pela função da qual elas dependem.

funções que usam o identificador após httpsendrequest

Depois que HttpSendRequest tiver usado o identificador retornado peloHttpOpenRequest, ele pode ser usado por InternetQueryDataAvailable, InternetReadFilee InternetSetFilePointer.

funções que usam o identificador após httpsendrequestex

Depois que HttpSendRequestEx tiver usado o identificador retornado por HttpOpenRequest, o identificador pode ser usado por HttpEndRequest, InternetReadFileExe InternetWriteFile. Depois que HttpEndRequest tiver sido chamado, o identificador poderá ser usado por InternetReadFile, InternetSetFilePointere InternetQueryDataAvailable.

Nota

O WinINet não dá suporte a implementações de servidor. Além disso, ele não deve ser usado de um serviço. Para implementações ou serviços de servidor, use do Microsoft Windows HTTP Services (WinHTTP).