CommDlgExtendedError 함수(commdlg.h)

일반적인 대화 상자 오류 코드를 반환합니다. 이 코드는 일반적인 대화 상자 함수 중 하나를 실행하는 동안 발생할 가장 최근의 오류를 나타냅니다.

구문

DWORD CommDlgExtendedError();

반환 값

형식:DWORD

일반적인 대화 상자 함수에 대한 최신 호출이 성공하면 반환 값이 정의되지 않습니다. 사용자가 대화 상자를 닫거나 취소했기 때문에 일반 대화 상자 함수가 FALSE 를 반환한 경우 반환 값은 0입니다. 그렇지 않으면 반환 값이 0이 아닌 오류 코드입니다.

CommDlgExtendedError 함수는 일반적인 대화 상자 함수에 대한 일반 오류 코드를 반환할 수 있습니다. 또한 특정 일반 대화 상자에 대해서만 반환되는 오류 코드가 있습니다. 이러한 모든 오류 코드는 Cderr.h에 정의되어 있습니다. 일반적인 대화 상자 함수에 대해 다음과 같은 일반적인 오류 코드를 반환할 수 있습니다.

반환 코드/값 설명
CDERR_DIALOGFAILURE
0xFFFF
대화 상자를 만들 수 없습니다. DialogBox 함수에 대한 일반적인 대화 상자 함수 호출이 실패했습니다. 예를 들어 이 오류는 일반적인 대화 상자 호출이 잘못된 창 핸들을 지정하는 경우에 발생합니다.
CDERR_FINDRESFAILURE
0x0006
일반 대화 상자 함수가 지정된 리소스를 찾지 못했습니다.
CDERR_INITIALIZATION
0x0002
초기화하는 동안 일반적인 대화 상자 함수가 실패했습니다. 이 오류는 충분한 메모리를 사용할 수 없는 경우에 자주 발생합니다.
CDERR_LOADRESFAILURE
0x0007
일반 대화 상자 함수가 지정된 리소스를 로드하지 못했습니다.
CDERR_LOADSTRFAILURE
0x0005
일반 대화 상자 함수가 지정된 문자열을 로드하지 못했습니다.
CDERR_LOCKRESFAILURE
0x0008
일반적인 대화 상자 함수가 지정된 리소스를 잠그지 못했습니다.
CDERR_MEMALLOCFAILURE
0x0009
일반적인 대화 상자 함수가 내부 구조에 대한 메모리를 할당할 수 없습니다.
CDERR_MEMLOCKFAILURE
0x000A
일반적인 대화 상자 함수가 핸들과 연결된 메모리를 잠글 수 없습니다.
CDERR_NOHINSTANCE
0x0004
ENABLETEMPLATE 플래그는 해당 공통 대화 상자에 대한 초기화 구조의 Flags 멤버에서 설정되었지만 해당 instance 핸들을 제공하지 못했습니다.
CDERR_NOHOOK
0x000B
ENABLEHOOK 플래그는 해당 공통 대화 상자에 대한 초기화 구조의 Flags 멤버에서 설정되었지만 해당 후크 프로시저에 대한 포인터를 제공하지 못했습니다.
CDERR_NOTEMPLATE
0x0003
ENABLETEMPLATE 플래그는 해당 공통 대화 상자에 대한 초기화 구조의 Flags 멤버에서 설정되었지만 해당 템플릿을 제공하지 못했습니다.
CDERR_REGISTERMSGFAIL
0x000C
RegisterWindowMessage 함수는 일반적인 대화 상자 함수에 의해 호출되었을 때 오류 코드를 반환했습니다.
CDERR_STRUCTSIZE
0x0001
해당 공통 대화 상자에 대한 초기화 구조의 lStructSize 멤버가 잘못되었습니다.
 

PrintDlg 함수에 대해 다음 오류 코드를 반환할 수 있습니다.

반환 코드/값 설명
PDERR_CREATEICFAILURE
0x100A
정보 컨텍스트를 만들려고 할 때 PrintDlg 함수가 실패했습니다.
PDERR_DEFAULTDIFFERENT
0x100C
DEVNAMES 구조체의 wDefault 멤버에 지정된 DN_DEFAULTPRN 플래그를 사용하여 PrintDlg 함수를 호출했지만 다른 구조체 멤버가 설명한 프린터가 현재 기본 프린터와 일치하지 않았습니다. 이 오류는 DEVNAMES 구조를 저장하고 사용자가 제어판 사용하여 기본 프린터를 변경할 때 발생합니다.

DEVNAMES 구조에 설명된 프린터를 사용하려면 DN_DEFAULTPRN 플래그를 지우고 PrintDlg를 다시 호출합니다.

기본 프린터를 사용하려면 DEVNAMES 구조체(및 구조체가 있는 경우)를 NULL로 바꿉니다. PrintDlg를 다시 호출합니다.

PDERR_DNDMMISMATCH
0x1009
DEVMODEDEVNAMES 구조의 데이터는 두 가지 프린터를 설명합니다.
PDERR_GETDEVMODEFAIL
0x1005
프린터 드라이버가 DEVMODE 구조를 초기화하지 못했습니다.
PDERR_INITFAILURE
0x1006
초기화하는 동안 PrintDlg 함수가 실패했으며 오류를 설명하는 더 이상 구체적인 확장 오류 코드가 없습니다. 함수의 제네릭 기본 오류 코드입니다.
PDERR_LOADDRVFAILURE
0x1004
PrintDlg 함수가 지정된 프린터의 디바이스 드라이버를 로드하지 못했습니다.
PDERR_NODEFAULTPRN
0x1008
기본 프린터가 없습니다.
PDERR_NODEVICES
0x1007
프린터 드라이버를 찾을 수 없습니다.
PDERR_PARSEFAILURE
0x1002
PrintDlg 함수가 WIN.INI 파일의 [devices] 섹션에서 문자열을 구문 분석하지 못했습니다.
PDERR_PRINTERNOTFOUND
0x100B
WIN.INI 파일의 [디바이스] 섹션에 요청된 프린터에 대한 항목이 포함되어 있지 않습니다.
PDERR_RETDEFFAILURE
0x1003
PD_RETURNDEFAULT 플래그는 PRINTDLG 구조체의 Flags 멤버에 지정되었지만 hDevMode 또는 hDevNames 멤버는 NULL이 아닙니다.
PDERR_SETUPFAILURE
0x1001
PrintDlg 함수가 필요한 리소스를 로드하지 못했습니다.
 

ChooseFont 함수에 대해 다음 오류 코드를 반환할 수 있습니다.

반환 코드/값 설명
CFERR_MAXLESSTHANMIN
0x2002
CHOOSEFONT 구조체의 nSizeMax 멤버에 지정된 크기가 nSizeMin 멤버에 지정된 크기보다 작습니다.
CFERR_NOFONTS
0x2001
글꼴이 없습니다.
 

GetOpenFileNameGetSaveFileName 함수에 대해 다음 오류 코드를 반환할 수 있습니다.

반환 코드/값 설명
FNERR_BUFFERTOOSMALL
0x3003
OPENFILENAME 구조체의 lpstrFile 멤버가 가리키는 버퍼가 사용자가 지정한 파일 이름에 비해 너무 작습니다. lpstrFile 버퍼의 처음 두 바이트에는 전체 이름을 받는 데 필요한 크기를 문자 단위로 지정하는 정수 값이 포함되어 있습니다.
FNERR_INVALIDFILENAME
0x3002
파일 이름이 잘못되었습니다.
FNERR_SUBCLASSFAILURE
0x3001
충분한 메모리를 사용할 수 없어 목록 상자를 서브클래스하려고 시도하지 못했습니다.
 

FindTextReplaceText 함수에 대해 다음 오류 코드를 반환할 수 있습니다.

반환 코드/값 설명
FRERR_BUFFERLENGTHZERO
0x4001
FINDREPLACE 구조체의 멤버는 잘못된 버퍼를 가리킵니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 2000 Professional[데스크톱 앱만]
지원되는 최소 서버 Windows 2000 Server[데스크톱 앱만]
대상 플랫폼 Windows
헤더 commdlg.h(Windows.h 포함)
라이브러리 Comdlg32.lib
DLL Comdlg32.dll
API 세트 ext-ms-win-shell-comdlg32-l1-1-0(Windows 10 버전 10.0.10240에 도입됨)

추가 정보

CHOOSECOLOR

CHOOSEFONT

선택코어

ChooseFont

일반 대화 상자 라이브러리

개념

DEVNAMES

DialogBox

FINDREPLACE

Findtext

GetOpenFileName

GetSaveFileName

OPENFILENAME

PAGESETUPDLG

PRINTDLG

PageSetupDlg

PrintDlg

참조

RegisterWindowMessage

ReplaceText