Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Antarmuka IStream asli tidak menyediakan metode untuk memeriksa posisi aliran saat ini, sehingga mesin olahpesan menggunakan metode Pencarian berikut.
pStream->Seek(0, STREAM_SEEK_CUR, &pNewPosition);
Metode ini tidak memindahkan penunjuk aliran; sebaliknya mengkueri posisi saat ini. Jadi, jika Anda menerapkan komponen alur yang berfungsi dengan aliran yang tidak dapat dipilih, Anda dapat menggunakan metode Stream.Seek seperti dalam contoh berikut.
Contoh
override public long Seek(long offset, SeekOrigin origin)
{
long pos = -1;
switch(origin)
{
case SeekOrigin.Begin :
pos = offset;
break;
case SeekOrigin.Current :
pos = Position + offset;
break;
case SeekOrigin.End :
break;
}
// We generally disallow seeking of the stream
// However, in unmanaged code, many people use Seek(0,CURR) to retrieve // the current position
// Special case (that is, if Seek does not change position, do not
// throw an exception)
if (pos==Position)
{
return pos;
}
else
{
throw new NotSupportedException("ForwardOnlyEventingReadStream does not support Seek()");
}
}