LZOpenFileW 함수(lzexpand.h)
지정된 파일을 만들거나, 열거나, 다시 열거나, 삭제합니다.
통사론
INT LZOpenFileW(
[in] LPWSTR lpFileName,
[out] LPOFSTRUCT lpReOpenBuf,
[in] WORD wStyle
);
매개 변수
[in] lpFileName
파일의 이름입니다.
[out] lpReOpenBuf
파일이 처음 열릴 때 파일에 대한 정보를 수신하는 OFSTRUCT 구조체에 대한 포인터입니다. 이 구조는 LZOpenFile 함수에 대한 후속 호출에서 열려 있는 파일을 확인하는 데 사용할 수 있습니다.
이 구조체의 szPathName 멤버에는 OEM(원래 장비 제조업체) 문자 집합의 문자가 포함됩니다.
[in] wStyle
수행할 작업입니다. 이 매개 변수는 다음 값 중 하나 이상일 수 있습니다.
값 | 의미 |
---|---|
|
무시. 16비트 Windows와의 호환성을 위해서만 제공됩니다. OF_PROMPT 스타일을 사용하여 취소 단추가 포함된 대화 상자를 표시합니다. |
|
LZOpenFile 새 파일을 만들도록 지시합니다. 파일이 이미 있는 경우 길이가 0으로 잘립니다. |
|
파일을 삭제합니다. |
|
파일을 연 다음 파일을 닫아 파일의 존재를 테스트합니다. |
|
OFSTRUCT 구조를 채우지만 다른 작업은 수행하지 않습니다. |
|
요청된 파일이 없는 경우 대화 상자를 표시합니다. 이 대화 상자는 시스템에서 파일을 찾을 수 없다는 것을 사용자에게 알리고 다시 시도 및 취소 단추가 포함되어 있습니다. |
|
읽기 전용 파일을 엽니다. |
|
읽기 및 쓰기를 위해 파일을 엽니다. |
|
다시 열기 버퍼의 정보를 사용하여 파일을 엽니다. |
|
다른 프로세스에서 파일에 대한 읽기 또는 쓰기 액세스를 거부하지 않고 파일을 엽니다. 파일이 다른 프로세스에 의해 호환 모드로 열려 있는 경우 LZOpenFile 실패합니다. |
|
파일을 열고 다른 프로세스에서 파일에 대한 읽기 액세스를 거부합니다. 파일이 호환 모드로 열려 있거나 다른 프로세스에서 읽기 액세스를 위해 열린 경우 LZOpenFile 실패합니다. |
|
파일을 열고 다른 프로세스에서 파일에 대한 쓰기 액세스를 거부합니다. 파일이 호환 모드로 열려 있거나 다른 프로세스에서 쓰기 액세스를 위해 열린 경우 LZOpenFile 실패합니다. |
|
파일을 단독 모드로 열고 파일에 대한 읽기 및 쓰기 액세스를 모두 거부하는 다른 프로세스를 거부합니다. LZOpenFile 파일이 현재 프로세스에 의해서도 읽기 또는 쓰기 액세스를 위해 다른 모드로 열려 있는 경우 실패합니다. |
|
쓰기 전용 파일을 엽니다. |
반환 값
함수가 성공하고 wStyle 매개 변수로 지정된 값이 OF_READ않으면 반환 값은 파일을 식별하는 핸들입니다. 파일을 압축하고 wStyleOF_READ설정하여 열면 반환 값은 특수 파일 핸들입니다.
함수가 실패하면 반환 값은 LZERROR_* 코드입니다. 이러한 코드에는 0보다 작은 값이 있습니다. 이 함수에 대한 확장 오류 정보는 없습니다. getLastError
반환 코드/값 | 묘사 |
---|---|
|
원본 파일을 식별하는 핸들이 잘못되었습니다. 파일을 읽을 수 없습니다. |
|
열려 있는 압축 파일의 최대 수를 초과했거나 로컬 메모리를 할당할 수 없습니다. |
발언
wStyle 매개 변수가 OF_READ 플래그(또는 OF_READ 및 OF_SHARE_* 플래그)이고 파일이 압축된 경우 LZOpenFile 압축 해제 작업에 필요한 초기화를 수행하는 LZInit 함수를 호출합니다.
이 함수가 반환하는 핸들은 Lz32.dll; 의 함수와만 호환됩니다. 다른 파일 작업에는 사용하지 않아야 합니다.
LZOpenFilelpFileName지정된 파일을 열 수 없는 경우 일부 Windows 버전에서는 마지막 문자가 밑줄("_")로 바뀐 것을 제외하고 거의 동일한 파일 이름으로 파일을 열려고 시도합니다. 따라서 "MyProgram.exe" 열기 시도가 실패하면 LZOpenFile "MyProgram.ex_"을 열려고 시도합니다. 설치 패키지는 파일 이름 확장명의 마지막 문자에 대한 밑줄을 대체하여 파일이 압축되었음을 나타내는 경우가 많습니다. 예를 들어 "MyProgram.exe" 압축된 이름은 "MyProgram.ex_"일 수 있습니다. 열린 파일의 이름을 확인하려면(있는 경우) lpReOpenBuf 매개 변수에서 OFSTRUCT 구조체의 szPathName 멤버를 검사합니다.
Windows 8 및 Windows Server 2012에서 이 함수는 다음 기술에서 지원됩니다.
기술 | 지원 |
---|---|
SMB(서버 메시지 블록) 3.0 프로토콜 | 예 |
SMB 3.0 TFO(투명한 장애 조치(failover) | 예 |
SO(스케일 아웃 파일 공유)가 있는 SMB 3.0 | 예 |
CsvFS(클러스터 공유 볼륨 파일 시스템) | 예 |
ReFS(복원 파일 시스템) | 예 |
CsvFs는 압축된 파일에 대해 리디렉션된 IO를 수행합니다.
메모
lzexpand.h 헤더는 UNICODE 전처리기 상수의 정의에 따라 이 함수의 ANSI 또는 유니코드 버전을 자동으로 선택하는 별칭으로 LZOpenFile을 정의합니다. 인코딩 중립 별칭을 인코딩 중립이 아닌 코드와 혼합하면 컴파일 또는 런타임 오류가 발생하는 불일치가 발생할 수 있습니다. 자세한 내용은 함수 프로토타입대한
요구 사항
요구 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows XP [데스크톱 앱만 해당] |
지원되는 최소 서버 | Windows Server 2003 [데스크톱 앱만 해당] |
대상 플랫폼 | Windows |
헤더 | lzexpand.h(Windows.h 포함) |
라이브러리 | Lz32.lib |
DLL | Lz32.dll |
참고 항목
LZClose
LZInit
OFSTRUCT