Método IStream::Seek (objidl.h)
O método Seek altera o ponteiro seek para um novo local. O novo local é relativo ao início do fluxo, ao final do fluxo ou ao ponteiro de busca atual.
Sintaxe
HRESULT Seek(
[in] LARGE_INTEGER dlibMove,
[in] DWORD dwOrigin,
[out] ULARGE_INTEGER *plibNewPosition
);
Parâmetros
[in] dlibMove
O deslocamento a ser adicionado ao local indicado pelo parâmetro dwOrigin . Se dwOrigin for STREAM_SEEK_SET, isso será interpretado como um valor não assinado em vez de um valor assinado.
[in] dwOrigin
A origem do deslocamento especificado em dlibMove. A origem pode ser o início do arquivo (STREAM_SEEK_SET), o ponteiro de busca atual (STREAM_SEEK_CUR) ou o final do arquivo (STREAM_SEEK_END). Para obter mais informações sobre valores, consulte a enumeração STREAM_SEEK .
[out] plibNewPosition
Um ponteiro para o local em que esse método grava o valor do novo ponteiro de busca desde o início do fluxo.
Você pode definir esse ponteiro como NULL. Nesse caso, esse método não fornece o novo ponteiro de busca.
Retornar valor
Esse método pode retornar um desses valores.
Código de retorno | Descrição |
---|---|
S_OK | O ponteiro de busca foi ajustado com êxito. |
E_PENDING | Somente armazenamento assíncrono: parte ou todos os dados de fluxo não estão disponíveis no momento. |
STG_E_INVALIDPOINTER | Indica que plibNewPosition aponta para memória inválida, porque plibNewPosition não é lido. |
STG_E_INVALIDFUNCTION | O parâmetro dwOrigin contém um valor inválido ou o parâmetro dlibMove contém um valor de deslocamento inválido. Por exemplo, o resultado do ponteiro seek é um valor de deslocamento negativo. |
STG_E_REVERTED | O objeto foi invalidado por uma operação de reverter acima dele na árvore de transações. |
Comentários
IStream::Seek altera o ponteiro seek para que as operações de leitura e gravação subsequentes possam ser executadas em um local diferente no objeto de fluxo. É um erro buscar antes do início do fluxo. No entanto, não é um erro buscar além do final do fluxo. Buscar além do final do fluxo é útil para operações de gravação subsequentes, pois o intervalo de bytes de fluxo será estendido para a nova posição de busca imediatamente antes que a gravação seja concluída.
Você também pode usar esse método para obter o valor atual do ponteiro seek chamando esse método com o parâmetro dwOrigin definido como STREAM_SEEK_CUR e o parâmetro dlibMove definido como 0 para que o ponteiro seek não seja alterado. O ponteiro de busca atual é retornado no parâmetro plibNewPosition .
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows 2000 Professional [aplicativos da área de trabalho | Aplicativos UWP] |
Servidor mínimo com suporte | Windows 2000 Server [aplicativos da área de trabalho | Aplicativos UWP] |
Plataforma de Destino | Windows |
Cabeçalho | objidl.h |
Biblioteca | Uuid.lib |
DLL | Ole32.dll |