IByteBuffer::Seek 메서드
[ Seek 메서드는 요구 사항 섹션에 지정된 운영 체제에서 사용할 수 있습니다. Windows Server 2003 SP1(서비스 팩 1) 이상, Windows Vista, Windows Server 2008 및 이후 버전의 운영 체제에서는 사용할 수 없습니다. IStream 인터페이스는 비슷한 기능을 제공합니다.]
Seek 메서드는 버퍼의 시작 부분, 버퍼 끝 또는 현재 검색 포인터에 상대적인 새 위치에 대한 검색 포인터를 변경합니다.
구문
HRESULT Seek(
[in] LONG dlibMove,
[in] LONG dwOrigin,
[out] LONG *plibNewPosition
);
매개 변수
-
dlibMove [in]
-
dwOrigin으로 표시된 위치에 추가할 변위입니다. dwOrigin이 STREAM_SEEK_SET 경우 서명되지 않은 값으로 해석됩니다.
-
dwOrigin [in]
-
dlibMove에 지정된 변위의 원본을 지정합니다. 원본은 다음 표의 값 중 하나일 수 있습니다.
값 의미 - STREAM_SEEK_SET
새 검색 포인터는 스트림의 시작 부분을 기준으로 하는 오프셋입니다. 이 경우 dlibMove 매개 변수는 스트림의 시작 부분을 기준으로 하는 새 검색 위치입니다. - STREAM_SEEK_CUR
새 검색 포인터는 현재 검색 포인터 위치를 기준으로 하는 오프셋입니다. 이 경우 dlibMove 매개 변수는 현재 검색 위치에서 서명된 변위입니다. - STREAM_SEEK_END
새 검색 포인터는 스트림의 끝을 기준으로 하는 오프셋입니다. 이 경우 dlibMove 매개 변수는 스트림의 끝을 기준으로 하는 새 검색 위치입니다. -
plibNewPosition [out]
-
이 메서드가 스트림의 시작 부분에서 새 검색 포인터의 값을 쓰는 위치에 대한 포인터입니다. 이 포인터를 NULL 로 설정하여 이 값에 관심이 없음을 나타낼 수 있습니다. 이 경우 이 메서드는 새 검색 포인터를 제공하지 않습니다.
반환 값
반환 값은 HRESULT입니다. S_OK 값은 호출이 성공했음을 나타냅니다.
설명
Seek 메서드는 후속 읽기 및 쓰기 작업이 스트림 개체의 다른 위치에서 수행되도록 검색 포인터를 변경합니다. 스트림이 시작되기 전에 를 검색하는 것은 오류입니다. 그러나 스트림의 끝을 지나서 검색하는 것은 오류가 아닙니다. 스트림의 끝을 지나서 검색하는 것은 후속 쓰기 작업에 유용합니다. 그 때 스트림은 쓰기 작업이 완료되기 직전에 검색 위치로 확장되기 때문에 유용합니다.
또한 이 메서드를 사용하여 dwOrigin 매개 변수를 STREAM_SEEK_CUR 로 설정하고 dlibMove 매개 변수를 0으로 설정하여 이 메서드를 호출하여 검색 포인터의 현재 값을 가져올 수도 있습니다. 현재 검색 포인터는 plibNewPosition 매개 변수에 반환됩니다.
예제
다음 예제에서는 검색 포인터를 새 위치에 배치하는 방법을 보여줍니다.
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);
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 |
Windows XP [데스크톱 앱만 해당] |
지원되는 최소 서버 |
Windows Server 2003 [데스크톱 앱만 해당] |
클라이언트 지원 종료 |
Windows XP |
서버 지원 종료 |
Windows Server 2003 |
헤더 |
|
유형 라이브러리 |
|
DLL |
|
IID |
IID_IByteBuffer E126F8FE-A7AF-11D0-B88A-00C04FD424B9로 정의됩니다. |