Поделиться через


Метод IMDSPDeviceControl::Seek (mswmdm.h)

Метод Seek ищет позицию, которая используется в качестве отправной точки методами Play или Record .

Синтаксис

HRESULT Seek(
  [in] UINT fuMode,
  [in] int  nOffset
);

Параметры

[in] fuMode

Режим выполняемой операции поиска. Параметр fuMode должен быть одним из следующих режимов.

Режим Описание
MDSP_SEEK_BOF Ищите позицию, которая имеет значение nOffset единиц после начала файла.
MDSP_SEEK_CUR Ищите позицию, которая имеет значение nOffset единиц из текущей позиции.
MDSP_SEEK_EOF Наведите указатель на позицию, которая имеет значение nOffset единиц перед окончанием файла.

[in] nOffset

Количество единиц, на которые операция поиска перемещает начальную позицию от источника, заданного fuMode. Единицы nOffset определяются содержимым. Они могут быть миллисекунды для музыки, страницы для электронных книг и т. д.

Положительное значение для nOffset указывает на поиск вперед по файлу. Отрицательное значение указывает на поиск в обратном направлении по файлу. Любое сочетание nOffset и fuMode , указывающее на поиск в позиции до начала файла или после его окончания, является недопустимым и приводит к тому, что метод возвращает E_INVALIDARG.

Возвращаемое значение

Метод возвращает HRESULT. Допустимые значения включают, но не ограничиваются, значения, приведенные в следующей таблице.

Код возврата Описание
S_OK
Метод выполнен успешно.
E_INVALIDARG
Один или несколько параметров недопустимы.
WMDM_E_NOTSUPPORTED
Поиск не реализован на этом устройстве.
E_FAIL
Произошла неизвестная ошибка.

Комментарии

Позиция поиска определяется путем передачи интерфейса IWMDMStorage , указывающего на расположение на носителе устройства, или интерфейса IWMDMOperation , который был реализован для поддержки потоковой передачи звука. Интерфейс IMDSPObjectInfo также можно передать для описания некоторой точки внутри объекта, на которую указывает указанный интерфейс.

Если для воспроизведения устройства метод Seek не вызывается до воспроизведения, воспроизведение начинается с первой звуковой дорожки на первом носителе носителя.

Для записи устройства операция записи завершается сбоем, если метод Seek не вызывается перед записью. После вызова метода Record последующие вызовы метода IMDSPObjectInfo::GetLastPlayPosition в любое время сообщают об общей продолжительности воспроизведения и равны значению, возвращенном из IMDSPObjectInfo::GetTotalLength. Длину записи можно ограничить, вызвав метод IMDSPObjectInfo::SetPlayLength после возвращения из вызова Seek .

Требования

Требование Значение
Целевая платформа Windows
Header mswmdm.h
Библиотека Mssachlp.lib

См. также раздел

Интерфейс IMDSPDeviceControl

Интерфейс IMDSPObjectInfo

Интерфейс IWMDMOperation

Интерфейс IWMDMStorage