Метод IStream::Seek (objidl.h)
Метод Seek изменяет указатель поиска на новое расположение. Новое расположение относится либо к началу потока, либо к концу потока, либо к текущему указателю поиска.
Синтаксис
HRESULT Seek(
[in] LARGE_INTEGER dlibMove,
[in] DWORD dwOrigin,
[out] ULARGE_INTEGER *plibNewPosition
);
Параметры
[in] dlibMove
Смещение, добавляемое к расположению, указанному параметром dwOrigin . Если dwOriginSTREAM_SEEK_SET, это интерпретируется как неподписаемое значение, а не как подписанное значение.
[in] dwOrigin
Источник смещения, указанного в dlibMove. Источником может быть начало файла (STREAM_SEEK_SET), текущий указатель поиска (STREAM_SEEK_CUR) или конец файла (STREAM_SEEK_END). Дополнительные сведения о значениях см. в перечислении STREAM_SEEK .
[out] plibNewPosition
Указатель на расположение, в котором этот метод записывает значение нового указателя поиска с начала потока.
Для этого указателя можно задать значение NULL. В этом случае этот метод не предоставляет новый указатель поиска.
Возвращаемое значение
Этот метод может возвращать одно из этих значений.
Код возврата | Описание |
---|---|
S_OK | Указатель поиска успешно отрегулирован. |
E_PENDING | Только асинхронное хранилище. Часть или все потоковые данные в настоящее время недоступны. |
STG_E_INVALIDPOINTER | Указывает, что plibNewPosition указывает на недопустимую память, так как plibNewPosition не считывается. |
STG_E_INVALIDFUNCTION | Параметр dwOrigin содержит недопустимое значение, или параметр dlibMove содержит неправильное значение смещения. Например, результатом указателя поиска является отрицательное значение смещения. |
STG_E_REVERTED | Объект был признан недействительным в результате операции отменить изменения над ним в дереве транзакций. |
Комментарии
IStream::Seek изменяет указатель поиска, чтобы последующие операции чтения и записи можно было выполнять в другом расположении объекта потока. Поиск до начала потока является ошибкой. Однако поиск за пределы конца потока не является ошибкой. Поиск после конца потока полезен для последующих операций записи, так как диапазон байтов потока будет расширен до новой позиции поиска непосредственно перед завершением записи.
Этот метод также можно использовать для получения текущего значения указателя поиска путем вызова этого метода с параметром dwOrigin , заданным в STREAM_SEEK_CUR , и параметром dlibMove , равным 0, чтобы указатель поиска не изменялся. Текущий указатель поиска возвращается в параметре plibNewPosition .
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows 2000 Профессиональная [классические приложения | Приложения UWP] |
Минимальная версия сервера | Windows 2000 Server [классические приложения | Приложения UWP] |
Целевая платформа | Windows |
Header | objidl.h |
Библиотека | Uuid.lib |
DLL | Ole32.dll |