Método IByteBuffer::Seek
[El método Seek está disponible para su uso en los sistemas operativos especificados en la sección Requisitos. No está disponible para su uso en Windows Server 2003 con Service Pack 1 (SP1) y versiones posteriores, Windows Vista, Windows Server 2008 y versiones posteriores del sistema operativo. La interfaz IStream proporciona una funcionalidad similar.]
El método Seek cambia el puntero de búsqueda a una nueva ubicación relativa al principio del búfer, al final del búfer o al puntero de búsqueda actual.
Sintaxis
HRESULT Seek(
[in] LONG dlibMove,
[in] LONG dwOrigin,
[out] LONG *plibNewPosition
);
Parámetros
-
dlibMove [in]
-
Desplazamiento que se va a agregar a la ubicación indicada por dwOrigin. Si dwOrigin es STREAM_SEEK_SET, se interpreta como un valor sin signo en lugar de con signo.
-
dwOrigin [in]
-
Especifica el origen del desplazamiento especificado en dlibMove. El origen puede ser uno de los valores de la tabla siguiente.
Valor Significado - STREAM_SEEK_SET
El nuevo puntero de búsqueda es un desplazamiento relativo al principio de la secuencia. En este caso, el parámetro dlibMove es la nueva posición de búsqueda relativa al principio de la secuencia. - STREAM_SEEK_CUR
El nuevo puntero de búsqueda es un desplazamiento relativo a la ubicación actual del puntero de búsqueda. En este caso, el parámetro dlibMove es el desplazamiento firmado de la posición de búsqueda actual. - STREAM_SEEK_END
El nuevo puntero de búsqueda es un desplazamiento relativo al final de la secuencia. En este caso, el parámetro dlibMove es la nueva posición de búsqueda relativa al final de la secuencia. -
plibNewPosition [out]
-
Puntero a la ubicación donde este método escribe el valor del nuevo puntero de búsqueda desde el principio de la secuencia. Puede establecer este puntero en NULL para indicar que no está interesado en este valor. En este caso, este método no proporciona el nuevo puntero de búsqueda.
Valor devuelto
El valor devuelto es hrESULT. Un valor de S_OK indica que la llamada se realizó correctamente.
Comentarios
El método Seek cambia el puntero de búsqueda para que las operaciones posteriores de lectura y escritura se puedan realizar en una ubicación diferente en el objeto de secuencia. Es un error buscar antes del principio de la secuencia. Sin embargo, no es un error buscar más allá del final de la secuencia. Buscar más allá del final de la secuencia es útil para las operaciones de escritura posteriores, ya que la secuencia se extenderá a la posición de búsqueda inmediatamente antes de que se realice la operación de escritura.
También puede usar este método para obtener el valor actual del puntero de búsqueda llamando a este método con el parámetro dwOrigin establecido en STREAM_SEEK_CUR y el parámetro dlibMove establecido en cero para que el puntero de búsqueda no cambie. El puntero de búsqueda actual se devuelve en el parámetro plibNewPosition .
Ejemplos
En el ejemplo siguiente se muestra cómo colocar el puntero de búsqueda en una nueva ubicación.
LONG lNewPos;
HRESULT hr;
// Change the seek pointer.
hr = pIByteBuff->Seek(5, STREAM_SEEK_SET, &lNewPos);
if (FAILED(hr))
printf("Failed IByteBuffer::Seek\n");
else
printf("New position is %x\n", lNewPos);
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible |
Windows XP [solo aplicaciones de escritorio] |
Servidor mínimo compatible |
Windows Server 2003 [solo aplicaciones de escritorio] |
Fin de compatibilidad de cliente |
Windows XP |
Fin de compatibilidad de servidor |
Windows Server 2003 |
Encabezado |
|
Biblioteca de tipos |
|
Archivo DLL |
|
IID |
IID_IByteBuffer se define como E126F8FE-A7AF-11D0-B88A-00C04FD424B9 |