다음을 통해 공유


EDITSTREAMCALLBACK 콜백 함수(richedit.h)

EditStreamCallback 함수는 EM_STREAMINEM_STREAMOUT 메시지와 함께 사용되는 애플리케이션 정의 콜백 함수입니다. 다양한 편집 컨트롤로 또는 외부로 데이터 스트림을 전송하는 데 사용됩니다. EDITSTREAMCALLBACK 형식은 이 콜백 함수에 대한 포인터를 정의합니다. EditStreamCallback 애플리케이션 정의 함수 이름의 자리 표시자입니다.

통사론

EDITSTREAMCALLBACK Editstreamcallback;

DWORD Editstreamcallback(
  [in] DWORD_PTR dwCookie,
  [in] LPBYTE pbBuff,
  [in] LONG cb,
  [in] LONG *pcb
)
{...}

매개 변수

[in] dwCookie

형식: DWORD_PTR

EDITSTREAM 구조체의 dwCookie 멤버의 값입니다. 애플리케이션은 EM_STREAMIN 또는 EM_STREAMOUT 메시지를 보낼 때 이 값을 지정합니다.

[in] pbBuff

형식: LPBYTE

읽거나 쓸 버퍼에 대한 포인터입니다. 스트림 인(읽기) 작업의 경우 콜백 함수는 이 버퍼를 풍부한 편집 컨트롤로 전송할 데이터로 채웁니다. 스트림 아웃(쓰기) 작업의 경우 버퍼에는 콜백 함수가 일부 스토리지에 쓰는 컨트롤의 데이터가 포함됩니다.

[in] cb

형식: LONG

읽거나 쓸 바이트 수입니다.

[in] pcb

형식: LONG*

콜백 함수가 실제로 읽거나 쓴 바이트 수로 설정하는 변수에 대한 포인터입니다.

반환 값

형식: DWORD

콜백 함수는 성공을 나타내기 위해 0을 반환합니다.

콜백 함수는 0이 아닌 값을 반환하여 오류를 나타냅니다. 오류가 발생하면 읽기 또는 쓰기 작업이 종료되고 서식 있는 편집 컨트롤이 pbBuff 버퍼의 모든 데이터를 삭제합니다. 콜백 함수가 0이 아닌 값을 반환하는 경우 리치 편집 컨트롤은 EDITSTREAM 구조체의 dwError 멤버를 사용하여 값을 애플리케이션에 다시 전달합니다.

발언

EM_STREAMIN 또는 EM_STREAMOUT 메시지를 서식 있는 편집 컨트롤로 보내면 EDITSTREAM 구조의 pfnCallback 멤버가 EditStreamCallback 함수에 대한 포인터를 지정합니다. 리치 편집 컨트롤은 반복적으로 함수를 호출하여 데이터 스트림을 컨트롤로 또는 외부로 전송합니다.

EM_STREAMIN 또는 EM_STREAMOUT 메시지를 보낼 때 EDITSTREAM 구조체의 dwCookie 멤버에 대한 값을 지정합니다. 리치 편집 컨트롤은 dwCookie 매개 변수를 사용하여 이 값을 EditStreamCallback 함수에 전달합니다. 예를 들어 dwCookie 사용하여 열려 있는 파일에 핸들을 전달할 수 있습니다. 콜백 함수는 dwCookie 핸들을 사용하여 파일에서 읽거나 파일에 쓸 수 있습니다.

컨트롤은 콜백 함수를 반복적으로 호출하여 각 호출을 통해 데이터의 일부를 전송합니다. 컨트롤은 다음 조건 중 하나가 발생할 때까지 콜백 함수를 계속 호출합니다.

  • 콜백 함수는 0이 아닌 값을 반환합니다.
  • 콜백 함수는 * pcb 매개 변수에서 0을 반환합니다.
  • 리치 편집 컨트롤이 데이터를 자체 내부 또는 외부로 전송하지 못하게 하는 오류가 발생합니다. 예를 들어 메모리 부족 상황, 시스템 함수 오류 또는 읽기 버퍼의 잘못된 문자가 있습니다.
  • 스트림 인 작업의 경우 RTF 코드에는 RTF 블록의 끝을 지정하는 데이터가 포함됩니다.
  • 한 줄 편집 컨트롤에 대한 스트림 인 작업의 경우 콜백은 단락 끝 문자(CR, LF, VT, LS 또는 PS)를 읽습니다.

요구 사항

요구
지원되는 최소 클라이언트 Windows Vista [데스크톱 앱만 해당]
지원되는 최소 서버 Windows Server 2003 [데스크톱 앱만 해당]
대상 플랫폼 Windows
헤더 richedit.h

참고 항목

EDITSTREAM

EM_STREAMIN

EM_STREAMOUT

참조