InternetCloseHandle 함수(wininet.h)
단일 인터넷 핸들을 닫습니다.
구문
BOOL InternetCloseHandle(
[in] HINTERNET hInternet
);
매개 변수
[in] hInternet
닫을 핸들입니다.
반환 값
핸들이 성공적으로 닫혀 있으면 TRUE 를 반환하고, 그렇지 않으면 FALSE 를 반환합니다. 확장 오류 정보를 가져오려면 GetLastError를 호출합니다.
설명
함수는 핸들에서 보류 중인 모든 작업을 종료하고 미해결 데이터를 삭제합니다.
API 호출이 이루어지지 않거나 핸들을 사용하여 이루어지는 한 InternetCloseHandle 을 호출하는 것이 안전합니다. API가 ERROR_IO_PENDING 반환한 후에는 InternetCloseHandle을 호출하여 해당 I/O를 취소하는 것이 안전합니다( 핸들과 함께 후속 API 호출이 실행되지 않는 한).
핸들이 닫히는 콜백에서 InternetCloseHandle 을 호출해도 안전합니다. 닫히는 핸들에 대해 등록된 상태 콜백이 있고 NULL이 아닌 컨텍스트 값을 사용하여 핸들을 만든 경우 INTERNET_STATUS_HANDLE_CLOSING 콜백이 만들어집니다. 이 표시는 핸들에서 만들어진 마지막 콜백이며 핸들이 제거되고 있음을 나타냅니다.
핸들 또는 해당 자식 핸들에 대해 비동기 요청이 보류 중인 경우 핸들을 즉시 닫을 수는 없지만 무효화됩니다. 핸들을 사용하여 시도한 모든 새 요청은 ERROR_INVALID_HANDLE 알림과 함께 반환됩니다. 비동기 요청은 INTERNET_STATUS_REQUEST_COMPLETE 완료됩니다. 최종 INTERNET_STATUS_HANDLE_CLOSING 표시가 생성되기 전에 핸들에 대한 INTERNET_STATUS_REQUEST_COMPLETE 표시를 받을 수 있도록 애플리케이션을 준비해야 합니다. 이는 핸들이 완전히 닫혀 있음을 나타냅니다.
애플리케이션은 GetLastError 를 호출하여 요청이 보류 중인지 확인할 수 있습니다. GetLastError가 ERROR_IO_PENDING 반환하는 경우 핸들이 닫혔을 때 미해결 요청이 있었습니다.
WinINet API의 다른 모든 측면과 마찬가지로 이 함수는 DllMain 내에서 또는 전역 개체의 생성자 및 소멸자에서 안전하게 호출할 수 없습니다.
요구 사항
지원되는 최소 클라이언트 | Windows 2000 Professional[데스크톱 앱만] |
지원되는 최소 서버 | Windows 2000 Server[데스크톱 앱만] |
대상 플랫폼 | Windows |
헤더 | wininet.h |
라이브러리 | Wininet.lib |
DLL | Wininet.dll |