Класс CGopherConnection
Управление подключением к интернет-серверу gopher.
Примечание.
Классы CGopherConnection
, CGopherFile
CGopherFileFind
CGopherLocator
и их члены были нерекомендуемы, поскольку они не работают на платформе Windows XP, но они будут продолжать работать на более ранних платформах.
Синтаксис
class CGopherConnection : public CInternetConnection
Участники
Открытые конструкторы
Имя | Описание |
---|---|
CGopherConnection::CGopherConnection | Формирует объект CGopherConnection . |
Открытые методы
Имя | Описание |
---|---|
CGopherConnection::CreateLocator | Создает объект CGopherLocator для поиска файлов на сервере шифров. |
CGopherConnection::GetAttribute | Извлекает сведения о атрибутах объекта gopher. |
CGopherConnection::OpenFile | Открывает файл сгофера. |
Замечания
Служба gopher является одной из трех интернет-служб, распознанных классами MFC WinInet.
CGopherConnection
Класс содержит конструктор и три дополнительных функции-члены, которые управляют службой gopher: OpenFile, CreateLocator и GetAttribute.
Для взаимодействия с gopher Internet server необходимо сначала создать экземпляр CInternetSession, а затем вызвать CInternetSession::GetGopherConnection, который создает CGopherConnection
объект и возвращает указатель на него. Вы никогда не создаете объект напрямую CGopherConnection
.
Дополнительные сведения о CGopherConnection
работе с другими классами Интернета MFC см. в статье "Интернет-программирование с помощью WinInet". Дополнительные сведения об использовании двух других поддерживаемых интернет-служб, FTP и HTTP см. в классах CHttpConnection и CFtpConnection.
Иерархия наследования
CGopherConnection
Требования
Заголовок: afxinet.h
CGopherConnection::CGopherConnection
Эта функция-член вызывается для создания CGopherConnection
объекта.
CGopherConnection(
CInternetSession* pSession,
HINTERNET hConnected,
LPCTSTR pstrServer,
DWORD_PTR dwContext);
CGopherConnection(
CInternetSession* pSession,
LPCTSTR pstrServer,
LPCTSTR pstrUserName = NULL,
LPCTSTR pstrPassword = NULL,
DWORD_PTR dwContext = 0,
INTERNET_PORT nPort = INTERNET_INVALID_PORT_NUMBER);
Параметры
pSession
Указатель на связанный объект CInternetSession .
hConnected
Дескриптор Windows текущего сеанса Интернета.
pstrServer
Указатель на строку, содержащую имя FTP-сервера.
dwContext
Идентификатор контекста для операции. dwContext определяет сведения о состоянии операции, возвращаемые CInternetSession::OnStatusCallback. Значение по умолчанию равно 1; однако можно явно назначить определенный идентификатор контекста для операции. Объект и любая работа, которую она выполняет, будет связана с этим идентификатором контекста.
pstrUserName
Указатель на строку, завершающуюся значением NULL, которая указывает имя пользователя для входа. Если значение NULL, значение по умолчанию является анонимным.
pstrPassword
Указатель на строку, завершающуюся значением NULL, которая указывает пароль, используемый для входа. Если для pstrPassword и pstrUserName задано значение NULL, анонимный пароль по умолчанию — это имя электронной почты пользователя. Если pstrPassword имеет значение NULL (или пустая строка), но pstrUserName не равно NULL, используется пустой пароль. В следующей таблице описывается поведение четырех возможных параметров pstrUserName и pstrPassword:
pstrUserName | pstrPassword | Имя пользователя, отправленное на FTP-сервер | Пароль, отправленный на FTP-сервер |
---|---|---|---|
NULL или " | NULL или " | "анонимный" | Имя электронной почты пользователя |
Строка, отличной от NULL | NULL или " | pstrUserName | " " |
Строка NULL, отличной от NULL | ОШИБКА | ОШИБКА | |
Строка, отличной от NULL | Строка, отличной от NULL | pstrUserName | pstrPassword |
nPort
Число, определяющее порт TCP/IP для использования на сервере.
Замечания
Вы никогда не создаете напрямую CGopherConnection
. Вместо этого вызовите CInternetSession::GetGopherConnection, который создает CGopherConnection
объект и возвращает указатель на него.
CGopherConnection::CreateLocator
Вызовите эту функцию-член, чтобы создать указатель гофера для поиска или идентификации файла на сервере gopher.
CGopherLocator CreateLocator(
LPCTSTR pstrDisplayString,
LPCTSTR pstrSelectorString,
DWORD dwGopherType);
static CGopherLocator CreateLocator(LPCTSTR pstrLocator);
static CGopherLocator CreateLocator(
LPCTSTR pstrServerName,
LPCTSTR pstrDisplayString,
LPCTSTR pstrSelectorString,
DWORD dwGopherType,
INTERNET_PORT nPort = INTERNET_INVALID_PORT_NUMBER);
Параметры
pstrDisplayString
Указатель на строку, содержащую имя документа или каталога, который требуется извлечь. Если параметр pstrDisplayString имеет значение NULL, возвращается каталог по умолчанию для сервера шифров.
pstrSelectorString
Указатель на строку селектора, отправляемую на сервер шифров, чтобы получить элемент. pstrSelectorString может иметь значение NULL.
dwGopherType
Это указывает, относится ли pstrSelectorString к каталогу или документу, а также указывает, является ли запрос gopher или gopher+. См. атрибуты структуры GOPHER_FIND_DATA в пакете SDK для Windows.
pstrLocator
Указатель на строку, определяющую открытый файл. Как правило, эта строка возвращается из вызова CGopherFileFind::GetLocator.
pstrServerName
Указатель на строку, содержащую имя сервера gopher.
nPort
Номер, определяющий интернет-порт для этого подключения.
Возвращаемое значение
Замечания
Статическую версию функции-члена требуется указать сервер, а нестатическую версию использует имя сервера из объекта подключения.
Чтобы получить информацию с сервера gopher, приложение должно сначала получить указатель на шифр. Затем приложение должно рассматривать указатель как непрозрачный маркер (т. е. приложение может использовать указатель, но не напрямую управлять им или сравнивать его). Как правило, приложение использует указатель для вызовов функции элемента CGopherFileFind::FindFile для получения определенной части информации.
CGopherConnection::GetAttribute
Вызовите эту функцию-член, чтобы получить сведения о конкретном атрибуте элемента с сервера шифров.
BOOL GetAttribute(
CGopherLocator& refLocator CString strRequestedAttributes,
CString& strResult,);
Параметры
Рефлокатор
Ссылка на объект CGopherLocator .
strRequestedAttributes
Строка с разделителями пространства, указывающая имена запрошенных атрибутов.
strResult
Ссылка на CString , которая получает тип указателя.
Возвращаемое значение
Имеет ненулевое значение в случае успешного выполнения, иначе — 0. Если вызов завершается ошибкой, можно вызвать функцию GetLastError Win32, чтобы определить причину ошибки.
CGopherConnection::OpenFile
Вызовите эту функцию-член, чтобы открыть файл на сервере шифров.
CGopherFile* OpenFile(
CGopherLocator& refLocator,
DWORD dwFlags = 0,
LPCTSTR pstrView = NULL,
DWORD_PTR dwContext = 1);
Параметры
Рефлокатор
Ссылка на объект CGopherLocator .
dwFlags
Любое сочетание флагов INTERNET_FLAG_*. Дополнительные сведения о флагах INTERNET_FLAG_* см. в разделе CInternetSession::OpenUrl .
pstrView
Указатель на строку представления файлов. Если на сервере существует несколько представлений файла, этот параметр указывает, какое представление файла нужно открыть. Если pstrView имеет значение NULL, используется представление файлов по умолчанию.
dwContext
Идентификатор контекста для открываемого файла. Дополнительные сведения о dwContext см. в примечаниях.
Возвращаемое значение
Указатель на открытый объект CGopherFile .
Замечания
Переопределите dwContext по умолчанию, чтобы задать идентификатор контекста для выбранного значения. Идентификатор контекста связан с этой конкретной операцией объекта, созданного CGopherConnection
объектом CInternetSession . Значение возвращается в CInternetSession::OnStatusCallback , чтобы предоставить состояние операции, с которой она определена. Дополнительные сведения об идентификаторе контекста см. в статье Internet First Steps: WinInet .
См. также
Класс CInternetConnection
Диаграмма иерархии
Класс CFtpConnection
Класс CHttpConnection
Класс CInternetConnection
Класс CGopherLocator
Класс CGopherFile
Класс CInternetSession