Usando buffers de cadeia de caracteres
As funções que retornam cadeias de caracteres contêm um parâmetro de entrada, lpszBuffer e um parâmetro size, lpdwBufferLength. Embora lpszBuffer possa ser NULL, lpdwBufferLength deve ser um ponteiro válido para uma variável DWORD . Se o buffer de entrada apontado por lpszBuffer for NULL ou muito pequeno para manter a cadeia de caracteres de saída, a função falhará e GetLastError retornará ERROR_INSUFFICIENT_BUFFER. A variável apontada por lpdwBufferLength contém um número que representa o número de bytes que a função requer para retornar a cadeia de caracteres solicitada, incluindo o terminador nulo . O aplicativo deve alocar um buffer desse tamanho, definir a variável apontada por lpdwBufferLength para esse valor e reenviar a solicitação. Se o tamanho do buffer for suficiente para receber a cadeia de caracteres solicitada, a cadeia de caracteres será copiada para o buffer de saída com um terminador nulo e a função retornará uma indicação de êxito. A variável apontada por lpdwBufferLength agora contém o número de caracteres armazenados no buffer, excluindo o terminador nulo .
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).