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 identificadores 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 que acabou de fechar.

Manipular hierarquia

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

Windows XP e Windows Server 2003 R2 e versões anteriores: Identificadores retornados por , GopherOpenFile e 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 pelo 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, InternetReadFile e InternetSetFilePointer usam o identificador HINTERNET criado por 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

As funções FtpCreateDirectory, FtpDeleteFile, FtpGetCurrentDirectory, FtpGetFile, FtpPutFile, FtpRemoveDirectory, FtpRenameFile e FtpSetCurrentDirectory usam o identificadorHINTERNET 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 o identificador de ftpopen e ftpfindfirstfile

A função InternetFindNextFile depende do identificador criado por FtpFindFirstFile, enquanto InternetReadFile e InternetWriteFile usam o identificador criado por 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 de httpopenrequest

As funções HttpAddRequestHeaders, HttpQueryInfo, HttpSendRequest, HttpSendRequestEx e InternetErrorDlg dependem do identificador criado por HttpOpenRequest.

O diagrama a seguir mostra as funções que usam o identificador HINTERNET criado por HttpOpenRequest depois que ele é 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 por HttpOpenRequest, ele poderá ser usado por InternetQueryDataAvailable, InternetReadFile e InternetSetFilePointer.

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

Depois que HttpSendRequestEx tiver usado o identificador retornado por HttpOpenRequest, o identificador poderá ser usado por HttpEndRequest, InternetReadFileEx e InternetWriteFile. Depois que HttpEndRequest tiver sido chamado, o identificador poderá ser usado por InternetReadFile, InternetSetFilePointer e InternetQueryDataAvailable.

Observação

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 de servidor ou serviços, use Os Serviços HTTP do Microsoft Windows (WinHTTP).