_open_osfhandle
C 런타임 파일 설명자를 기존 운영 체제 파일 핸들과 연결합니다.
구문
int _open_osfhandle (
intptr_t osfhandle,
int flags
);
매개 변수
osfhandle
운영 체제 파일 핸들입니다.
flags
허용되는 연산의 유형입니다.
반환 값
정상적으로 실행되면 _open_osfhandle
은 C 런타임 파일 설명자를 반환합니다. 그렇지 않으면 -1을 반환합니다.
설명
함수는 _open_osfhandle
C 런타임 파일 설명자를 할당합니다. 이 파일 설명자를 .에서 지정 osfhandle
한 운영 체제 파일 핸들과 연결합니다. 컴파일러 경고를 방지하려면 인수를 osfhandle
.로 HANDLE
캐스팅합니다 intptr_t
. 인수는 flags
에 정의된 매니페스트 상수 중 하나 이상에서 형성된 정수 식입니다 <fcntl.h>
. 비트 "or" (|
) 연산자를 사용하여 둘 이상의 매니페스트 상수와 결합하여 인수를 flags
구성할 수 있습니다.
이러한 매니페스트 상수는 다음에서 정의됩니다.<fcntl.h>
상수 | 설명 |
---|---|
_O_APPEND |
모든 쓰기 작업 전에 파일 포인터를 파일 끝에 배치합니다. |
_O_RDONLY |
읽기 전용으로 파일을 엽니다. |
_O_TEXT |
ANSI 텍스트(번역) 모드에서 파일을 엽니다. |
_O_WTEXT |
파일을 유니코드(변환된 UTF-16) 모드에서 엽니다. |
호출은 _open_osfhandle
Win32 파일 핸들의 소유권을 파일 설명자로 전송합니다. 를 사용하여 _open_osfhandle
연 파일을 닫려면 .를 호출합니다 _close
. 기본 OS 파일 핸들도 호출을 _close
통해 닫힙니다. 원래 핸들에서 Win32 함수 CloseHandle
를 호출하지 마세요. 파일 설명자가 스트림에 의해 FILE *
소유되는 경우 호출은 fclose
파일 설명자와 기본 핸들을 모두 닫습니다. 이 경우 파일 설명자 또는 CloseHandle
원래 핸들에서 호출 _close
하지 마세요.
기본적으로 이 함수의 전역 상태는 애플리케이션으로 범위가 지정됩니다. 이 동작을 변경하려면 CRT 전역 상태를 참조하세요.
요구 사항
루틴에서 반환된 값 | 필수 헤더 |
---|---|
_open_osfhandle |
<io.h> |
호환성에 대한 자세한 내용은 호환성을 참조하세요.