LoadFromMappedFile
문서 관리, 성능, 파일 입력
설명
경계가 있는 읽기 전용 매핑 뷰를 통해 로컬 PDF를 로드하고 선택하여, 큰 지연 객체 및 스트림 읽기가 전체 소스를 메모리에 보관하지 않고 운영체제 파일 페이지를 재사용할 수 있게 합니다
구문
Delphi
Function TPDFlib.LoadFromMappedFile(Const FileName, Password: WideString;
WindowSize: Int64= 0; Options: Integer= 0): Integer;매개변수
| FileName | 로컬 PDF의 경로 |
|---|---|
| Password | PDF를 여는 데 쓰인 암호이며 암호화되지 않은 문서는 빈 문자열 |
| WindowSize | 요청된 매핑 뷰 크기(바이트)입니다. 0은 64 MiB를 선택하고, 운영체제 할당 단위 미만의 값은 그 단위로 올려지며, 1 GiB를 넘는 값은 상한이 설정됩니다 |
| Options | 0은 읽기 전용 파일 스트림 폴백을 허용하고, PDF_MAPPED_FILE_REQUIRE_MAPPING은 매핑된 뷰가 활성이 아니면 실패합니다 |
반환 값
| 0 | 인수가 잘못되었거나, 파일을 열 수 없었거나, 필요한 매핑을 사용할 수 없었거나, PDF를 로드할 수 없었습니다. LastErrorCode를 확인하십시오 |
|---|---|
| 1 | 문서가 로드되고 선택되었습니다 |
비고
Windows 빌드는 읽기 전용 뷰 하나를 유지하고 할당 단위 경계에서 필요할 때 다시 매핑합니다. 다른 플랫폼과 매핑 실패는, 매핑이 꼭 필요한 게 아니라면 보통 읽기 전용 파일 스트림 위에서 동일한 절대 읽기 계약을 씁니다
기본 64 MiB 뷰는 소스 크기와 무관하게 주소 공간 사용을 묶으며 큰 로컬 파일에 대한 드문 접근에 적합합니다. 더 작은 뷰는 재매핑이 늘어나는 대가로 상주 주소 공간을 줄일 수 있습니다
절대 객체 조각 읽기는 위치 스트림 커서를 바꾸지 않고 현재 뷰에서 파서 소유 저장소로 직접 복사합니다. 재매핑이 뷰 주소를 무효화하므로 지속적인 제로카피 포인터 API는 아닙니다
소스는 로드된 문서가 제거될 때까지 열려 있고, 저장이나 지연 추출이 계속 읽을 수 있습니다
OnPassword가 할당되어 있으면 거부된 암호 재시도마다 새로 매핑된 스트림과 파서 상태를 받습니다
매핑이 활성인지 확인하고 현재 뷰·읽기 통계를 살펴보려면 GetMappedFileInfo를 사용하십시오