다음을 통해 공유


wiasWritePageBufToFile 함수(wiamdef.h)

wiasWritePageBufToFile 함수는 임시 페이지 버퍼의 내용을 이미지 파일에 씁니다.

통사론

HRESULT wiasWritePageBufToFile(
  [in] PMINIDRV_TRANSFER_CONTEXT pmdtc
);

매개 변수

[in] pmdtc

MINIDRV_TRANSFER_CONTEXT 구조체에 대한 포인터입니다.

반환 값

성공하면 함수는 S_OK 반환합니다. 함수가 실패하면 표준 COM 오류 또는 WIA_ERROR_XXX 오류 중 하나가 반환됩니다(Microsoft Windows SDK 설명서에 설명됨).

발언

이 함수는 미니 드라이버가 할당한 임시 페이지 버퍼의 데이터를 WIA 서비스에서 연 이미지 파일에 씁니다. 미니 드라이버는 일반적으로 미니 드라이버가 임시 버퍼를 할당한 데이터 페이지를 가져온 후 이 함수를 호출합니다.

이 함수는 이미지 데이터의 버퍼를 모든 유형의 이미지 파일에 쓰는 데 사용할 수 있는 wiasWriteBufToFile유사합니다. WIA 미니 드라이버가 모든 적절한 태그, IFD(이미지 파일 디렉터리) 항목 및 기타 비이미지 데이터를 포함하여 여러 페이지 TIFF 파일에 이미지 데이터 페이지를 쓰려는 경우 wiasWriteBufToFile 대신 이 함수를 호출해야 합니다.

pmdtc 식 ->hFile TYMED_FILE(및 TYMED_MULTIPAGE_FILE) 전송의 파일에 대한 핸들을 포함합니다. 기록 중인 파일에 직접 액세스하는 데 사용할 수 있습니다.

사용하는 방법의 예는 다음과 같습니다.

SetFilePointer((HANDLE)(LONG_PTR)pmdtc->hFile,0,NULL,FILE_BEGIN);
if (!WriteFile((HANDLE)(LONG_PTR)pmdtc->hFile,
    pMyBuffer,
    dwNumBytesToWrite,
   &dwNumBytesWritten,
    NULL)) {
     //
     // Some error happened
     //
     .
     .
     .
    }

그러나 TYMED_FILE 파일 핸들만 사용하고 전송을 TYMED_MULTIPAGE_FILE 경우(wiasWritePageBufToFile호출하는 대신 파일 핸들을 사용하여 파일에 직접 데이터를 쓰려면) wiasWriteBufToFile 사용합니다. 이 함수는 다음과 같은 작업을 수행합니다.

bRet = WriteFile((HANDLE)ULongToPtr(pmdtc->hFile),
    pmdtc->pTransferBuffer,
    pmdtc->lItemSize,
    &ulWritten,
    NULL);

이는 기본적으로 파일 핸들을 직접 사용하는 경우 수행할 작업입니다. 첫 번째 예제의 장점은 WIA의 이후 릴리스에서 구현이 변경된 경우(예: WIA 서비스가 내부적으로 파일 대신 파이프를 사용하기 시작한 경우) 드라이버를 업데이트할 필요가 없다는 것입니다.

요구 사항

요구
지원되는 최소 클라이언트 Microsoft Windows Me 및 Windows XP 이상 버전의 Windows 운영 체제에서 사용할 수 있습니다.
대상 플랫폼 바탕 화면
헤더 wiamdef.h(Wiamdef.h 포함)
라이브러리 Wiaservc.lib
DLL Wiaservc.dll

참고 항목

MINIDRV_TRANSFER_CONTEXT

wiasWriteBufToFile

wiasWritePageBufToStream