컴파일러 오류

MIDL 컴파일 중에 다음 오류 메시지가 생성됩니다.

반환 코드 설명
MIDL2000
추상 선언자에 대해 /c_ext 지정해야 합니다.
추상 선언자는 RPC에 대한 Microsoft 확장을 나타내며 DCE RPC에 정의되어 있지 않습니다. 따라서 파일에 추상 선언자가 포함된 경우 엄격한 DCE 호환성을 적용하는 /osf 스위치로 컴파일할 수 없습니다. MIDL 버전 3.0 이상에서는 /c_ext 스위치를 기본값으로 사용합니다. /osf 스위치는 /c_ext 스위치를 끕니다. 추상 선언자에 대한 자세한 내용은 ACF 본문을 참조하세요.
MIDL2001
데이터 인스턴스화는 불법입니다. "extern" 또는 "static"을 사용해야 합니다.
IDL 파일의 선언 및 초기화는 DCE RPC와 호환되지 않습니다. 이 기능은 DCE 호환성(/osf) 모드에서 컴파일할 때 사용할 수 없는 Microsoft 확장입니다.
MIDL2002
컴파일러 스택 오버플로
IDL 파일을 처리하는 동안 컴파일러에 스택 공간이 부족했습니다. 이 문제는 컴파일러가 복잡한 선언 또는 식을 처리할 때 발생할 수 있습니다. 문제를 해결하려면 복잡한 선언 또는 식을 단순화합니다.
MIDL2003
재정의
이 오류 메시지는 다음과 같은 상황에서 나타날 수 있습니다. 형식이 다시 정의되었습니다. 프로시저 프로토타입이 다시 정의되었습니다. 동일한 이름의 구조체 또는 공용 구조체의 멤버가 이미 있습니다. 동일한 이름의 매개 변수가 프로토타입에 이미 있습니다.
MIDL2004
[auto_handle] 바인딩이 사용됩니다.
핸들 형식이 기본 핸들 형식으로 정의되지 않았습니다. 컴파일러는 자동 핸들이 지정된 프로시저의 바인딩 핸들로 사용된다고 가정합니다.
MIDL2005
메모리 부족
컴파일러가 컴파일하는 동안 메모리가 부족했습니다. IDL 파일의 크기 또는 복잡성을 줄이거나 프로세스에 더 많은 메모리를 할당합니다.
MIDL2006
재귀 정의
구조체 또는 공용 구조체가 재귀적으로 정의되었습니다. 이 오류는 중첩된 구조체 정의의 포인터 사양이 누락될 때 발생할 수 있습니다.
MIDL2007
가져오기가 무시됨; 이미 가져온 파일
IDL 파일을 가져오는 것은 idempotent 작업입니다. 두 번 이상 포함해도 아무런 효과가 없습니다. 첫 번째 가져오기 작업을 제외한 모든 작업은 무시됩니다.
MIDL2008
스파스 열거형에는 /c_ext 또는 /ms_ext 필요합니다.
열거형 상수에 값을 할당하는 것은 DCE RPC와 호환되지 않습니다. 열거형 상수에 값을 할당할 수 있도록 허용하는 MIDL에 Microsoft 확장을 사용하려는 경우 엄격한 DCE 호환성을 적용하는 /osf 스위치로 컴파일할 수 없습니다. MIDL 버전 3.0 이상에서는 /c_ext/ms_ext 스위치를 기본값으로 사용합니다. /osf 스위치는 이러한 확장 스위치를 끕니다.
MIDL2009
정의되지 않은 기호
정의되지 않은 기호가 식에 사용되었습니다. 이 오류는 정의되지 않은 열거형 값을 사용할 때 발생할 수 있습니다.
MIDL2010
IDL 파일에 정의되지 않은 ACF 파일에 사용되는 형식
정의되지 않은 형식이 사용되고 있습니다.
MIDL2011
해결되지 않은 형식 선언
추가 오류 정보 필드에 보고된 형식이 IDL 파일의 다른 곳에서 정의되지 않았습니다.
MIDL2012
와이드 문자 상수를 사용하려면 /ms_ext 또는 /c_ext
와이드 문자 상수는 DCE IDL에 대한 Microsoft 확장입니다. 데이터 형식 wchar_t 사용하려면 /osf 스위치를 사용하여 컴파일할 수 없습니다. 이 스위치는 MIDL 컴파일러 기본 스위치 /ms_ext 및 /c_ext 재정의합니다.
MIDL2013
와이드 문자열을 사용하려면 /ms_ext 또는 /c_ext
와이드 문자 문자열 상수는 DCE IDL에 대한 Microsoft 확장입니다. 데이터 형식 wchar_t 사용하려면 /osf 스위치를 사용하여 컴파일할 수 없습니다. 이 스위치는 MIDL 컴파일러 기본 스위치 /ms_ext 및 /c_ext 재정의합니다.
MIDL2014
형식 wchar_t 일관성 없는 재정의
wchar_t 형식이 서명되지 않은 짧은 DOS *와 동일하지 않은 형식으로 다시 정의되었습니다.
MIDL2015
importlib를 찾을 수 없음
컴파일러에서 [ importlib] 지시문에 지정된 형식 라이브러리를 찾을 수 없습니다. 라이브러리의 경로와 이름이 올바른지 확인합니다.
MIDL2016
두 개의 라이브러리 블록
동일한 원본 파일에서 두 개의 라이브러리 블록(이름이 다른 경우에도)이 잘못되었습니다. 모든 요소를 단일 라이브러리 블록으로 결합합니다.
MIDL2017
dispinterface 문에는 IDispatch에 대한 정의가 필요합니다.
이 오류는 일반적으로 Stdole2.tlb 또는 Oaidl.idl 파일을 가져오지 않을 때 발생합니다.
MIDL2018
형식 라이브러리에 액세스하는 동안 오류가 발생했습니다.
컴파일러에서 지정된 형식 라이브러리를 찾을 수 없습니다. 경로를 올바르게 지정했는지 확인합니다.
MIDL2019
형식 정보에 액세스하는 동안 오류가 발생했습니다.
가져온 형식 라이브러리가 손상되었거나 잘못되었거나 부분적으로만 생성되었습니다.
MIDL2020
형식 라이브러리를 생성하는 동안 오류가 발생했습니다.
형식 라이브러리를 생성할 수 없습니다. 이 오류의 가능한 원인 중 하나는 126자를 초과하는 IDL 파일의 경로를 지정하는 것입니다. Oleaut32.dll 126자를 초과하는 경로 이름을 지원하지 않습니다.
MIDL2021
중복 ID
애플리케이션은 IDL 파일의 ID 문을 사용하여 멤버 함수에 대한 DISPID를 지정합니다. 멤버 함수는 인터페이스 또는 dispinterfaces의 속성 또는 메서드일 수 있습니다. 이 오류는 IDL 파일이 두 메서드 또는 속성에 대해 동일한 식별자 번호를 지정했음을 나타냅니다.
MIDL2022
항목 특성에 대한 잘못된 값 또는 누락된 값
entry 특성에 대한 인수는 명명된 진입점을 지정하는 문자열이거나 진입점을 정의하는 서수일 수 있습니다. 이 인수가 없거나 잘못된 값이 포함되어 있습니다.
MIDL2023
오류 복구가 가정합니다.
MIDL 컴파일러가 IDL 파일에서 잘못된 문자를 발견했습니다.
MIDL2024
오류 복구가 삭제됩니다.
MIDL 컴파일러가 IDL 파일에서 잘못된 문자를 발견했습니다. 잘못된 문자를 무시합니다.
MIDL2025
구문 오류
컴파일러가 지정된 줄에서 구문 오류를 감지했습니다.
MIDL2026
이전 구문 오류에서 복구할 수 없습니다. 컴파일 중단
MIDL 컴파일러는 구문 요소를 추가하거나 제거하여 구문 오류로부터 자동으로 복구하려고 시도합니다. 이 메시지는 이러한 복구 시도에도 불구하고 컴파일러에서 너무 많은 오류를 감지했음을 나타냅니다. 지정된 오류를 수정하고 다시 컴파일합니다.
MIDL2027
알 수 없는 pragma 옵션
지정된 C pragma는 MIDL에서 지원되지 않습니다. IDL 파일에서 pragma를 제거합니다.
MIDL2028
기능이 구현되지 않음
MIDL 기능은 언어 정의의 일부이지만 Microsoft RPC에서 구현되지 않으며 MIDL 컴파일러에서 지원되지 않습니다. 예를 들어 비트 집합, 파이프 및 국가별 문자 형식과 같은 언어 기능은 구현되지 않습니다. 구현되지 않은 언어 기능은 오류 메시지의 추가 오류 정보 필드에 표시됩니다.
MIDL2029
형식이 구현되지 않음
지정된 데이터 형식은 유효한 MIDL 키워드(keyword) Microsoft RPC에서 구현되지 않습니다.
MIDL2030
역참조 작업에 사용되는 비 포인터
포인터가 아닌 데이터 형식이 포인터 작업과 연결되었습니다. 지정한 비포인터를 통해 개체에 액세스할 수 없습니다.
MIDL2031
식에 0으로 나누기
상수 식은 0으로 나누기를 포함합니다.
MIDL2032
식은 호환되지 않는 형식을 사용합니다.
식에서 연산자의 왼쪽과 오른쪽은 호환되지 않는 형식입니다.
MIDL2033
nonarray 식은 인덱스 연산자 사용
식은 배열 형식이 아닌 데이터 항목에서 배열 인덱싱 작업을 사용합니다.
MIDL2034
식의 왼쪽이 구조체/공용 구조체/열거형으로 평가되지 않음
직접 또는 간접 참조 연산자 "." 또는 "->"이 구조체, 공용 구조체 또는 열거형이 아닌 데이터 개체에 적용되었습니다. 지정된 개체를 사용하여 직접 또는 간접 참조를 가져올 수 없습니다.
MIDL2035
상수 식이 필요합니다.
구문에 상수 식이 필요합니다. 예를 들어 배열 경계에는 상수 식이 필요합니다. 배열 바인딩이 변수 또는 정의되지 않은 기호로 정의되면 컴파일러에서 이 오류 메시지를 발생합니다.
MIDL2036
컴파일 시간에 식을 평가할 수 없습니다.
컴파일러는 컴파일 시간에 식을 평가할 수 없습니다.
MIDL2037
식이 구현되지 않음
MIDL 컴파일러의 이전 릴리스에서 지원된 기능은 Microsoft RPC와 함께 제공되는 컴파일러 버전에서 지원되지 않습니다. 지정된 식을 제거합니다.
MIDL2038
지정되지 않은 모든 포인터에 대해 [unique]를 가정하여 [pointer_default] 특성이 지정되지 않았습니다.
MIDL 컴파일러는 포인터 특성이 없는 포인터에 대해 세 가지 기본 사례를 제공합니다. 최상위 포인터인 함수 매개 변수는 기본적으로 [ref] 포인터로 설정됩니다. 구조체에 포함된 포인터와 다른 포인터(최상위 포인터 아님)에 대한 포인터는 기본적으로 [pointer_default] 특성에 지정된 형식입니다. [pointer_default] 특성이 제공되지 않으면 이러한 비정상 수준 포인터는 기본적으로 고유한 포인터로 설정됩니다. 이 오류 메시지는 마지막 사례를 나타냅니다. [pointer_default] 특성이 제공되지 않으며 고유한 포인터로 처리되는 최상위가 아닌 포인터가 하나 이상 있습니다. 자세한 내용은 기본 포인터 형식을 참조하세요.
MIDL2039
인터페이스가 자동화 마샬링을 준수하지 않음
인터페이스가 OLE 자동화 인터페이스에 대한 요구 사항을 충족하지 않습니다. 인터페이스가 IUnknown 또는 IDispatch에서 파생되었는지 확인합니다.
MIDL2040
[out] 매개 변수만 열린 구조체에 대한 포인터가 될 수 없습니다.
[out] 전용 매개 변수는 런타임에 전송된 범위와 크기가 결정되는 개방형 구조체라고 하는 구조체에 대한 포인터로 사용되었습니다. 서버 스텁은 열린 구조에 할당할 공간의 양을 알지 못합니다. 열린 구조체에 대한 포인터에 대한 포인터를 사용하고 서버 애플리케이션이 충분한 공간을 할당하는지 확인합니다.
MIDL2041
[out] 매개 변수만 크기가 조정되지 않은 문자열일 수 없습니다.
문자열 특성이 있는 배열은 크기 사양 없이 [out]전용 매개 변수로 선언되었습니다. 문자열에 대한 메모리를 할당하려면 서버 스텁에 크기 정보가 필요합니다. 문자열 특성을 제거하고 [size_is] 특성을 추가하거나 매개 변수를 [in, out] 매개 변수로 변경할 수 있습니다.
MIDL2042
[out] 매개 변수가 포인터가 아닙니다.
모든 [out] 매개 변수는 C 프로그래밍 언어의 값별 호출 규칙에 따라 포인터여야 합니다. [out] 방향 매개 변수는 서버가 클라이언트에 값을 전송한다는 것을 나타냅니다. 값별 호출 규칙을 사용하면 함수 인수가 포인터인 경우에만 서버에서 클라이언트로 데이터를 전송할 수 있습니다.
MIDL2043
open 구조체는 매개 변수가 될 수 없습니다.
열린 구조체에는 마지막 요소로 규칙적인 배열이 포함됩니다. 해당 구조체 또는 공용 구조체의 마지막 요소가 규칙 배열인 경우 구조체 또는 공용 구조체가 잘립니다.
MIDL2044
[out] 컨텍스트 핸들/제네릭 핸들을 해당 핸들 형식에 대한 포인터로 지정해야 합니다.
[out] 방향 특성이 있는 컨텍스트 핸들 또는 사용자 정의 핸들 매개 변수는 포인터에 대한 포인터여야 합니다.
MIDL2045
컨텍스트 핸들은 [transmit_as] 특성이 있는 형식에서 파생되어서는 안됩니다.
컨텍스트 핸들은 컨텍스트 핸들 형식으로 전송되어야 합니다. 다른 형식으로 전송할 수 없으며 [transmit_is], [represent_as], [wire_marshal] 또는 [user_marshal]에서 파생될 수 없습니다.
MIDL2046
원격 프로시저에 대한 가변 개수의 인수를 지정할 수 없습니다.
컴파일 시간에 가변 개수의 인수를 지정하는 원격 프로시저 호출은 DCE RPC 정의와 호환되지 않습니다. Microsoft RPC에서는 가변 개수의 인수를 사용할 수 없습니다.
MIDL2047
명명된 매개 변수는 "void"일 수 없습니다.
기본 형식 void 가 있는 매개 변수는 이름으로 지정됩니다.
MIDL2048
매개 변수는 "coclass" 또는 "module"에서 파생됩니다.
coclass는 인터페이스 및 dispinterfaces를 포함하는 최상위 개체를 지정합니다. 매개 변수로 전달할 수 없습니다.
MIDL2049
첫 번째 매개 변수만 바인딩 핸들일 수 있습니다. /ms_ext 스위치를 지정해야 합니다.
DCE RPC에서는 첫 번째 매개 변수만 바인딩 핸들이 될 수 있습니다. /osf 스위치를 사용하여 컴파일하면 여러 핸들 매개 변수를 지원하고 가장 왼쪽 위치가 아닌 다른 위치에서 매개 변수를 처리하는 기본 /ms_ext 스위치가 꺼집니다.
MIDL2050
매개 변수와 반환 형식 모두에서 [comm_status]을 사용할 수 없습니다.
프로시저와 해당 매개 변수 중 하나에는 [comm_status] 특성이 있습니다. [comm_status] 특성은 한 번에 하나의 데이터 개체만 error_status_t 형식일 수 있음을 지정합니다.
MIDL2051
프로시저의 [local] 특성에는 /ms_ext 필요합니다.
[local] 특성은 DCE IDL에 대한 Microsoft 확장입니다. 함수에서 이 특성을 사용하려면 /osf 스위치를 사용하여 컴파일할 수 없습니다. /osf 스위치는 MIDL 컴파일러 기본 스위치 /ms_ext/c_ext 재정의합니다.
MIDL2052
속성 특성은 프로시저에만 사용할 수 있습니다.
[propget], [propput] 또는 [propputref] 특성의 부적절한 사용. 속성의 함수 이름을 올바르게 철자하고 속성과 함수의 이름이 같은지 확인합니다.
MIDL2053
프로시저에 둘 이상의 속성 특성이 없을 수 있습니다.
함수에 대해 [propget], [propput] 또는 [propputref] 특성 중 하나만 지정할 수 있습니다.
MIDL2054
프로시저에 잘못된 작업 특성 조합이 있습니다.
특정 특성은 다른 특성과 관련하여 사용할 수 없습니다. 이 절차에서 사용되는 특성의 정확한 요구 사항 및 구문은 MIDL 언어 참조를 확인합니다.
MIDL2055
규칙 배열에서 파생되는 필드는 구조체의 마지막 멤버여야 합니다.
구조체에는 구조체의 마지막 요소가 아닌 규칙적 배열이 포함되어 있습니다. 규칙 배열은 마지막 구조 요소로 표시되어야 합니다.
MIDL2056
중복 [사례] 레이블
중복된 대/소문자 레이블이 지정되었습니다. 중복 레이블이 표시됩니다.
MIDL2057
구분된 공용 구조체에 대해 지정된 [기본값] 대/소문자 없음
차별된 공용 구조체는 기본 사례 없이 지정되었습니다.
MIDL2058
특성 식을 확인할 수 없습니다.
특성과 연결된 식을 확인할 수 없습니다. 이 오류는 일반적으로 식에 표시되는 변수가 정의되지 않은 경우에 발생합니다. 예를 들어 변수 정의되지 않고 특성 [size_is]에서 사용되는 경우 오류가 발생할 수 있습니다.
MIDL2059
특성 식은 정수 형식이어야 하며 64비트 식에 대한 지원 없음
지정된 특성 변수 또는 식은 정수 형식이어야 합니다. 이 오류는 특성 식 형식이 정수로 resolve 않을 때 발생합니다.
MIDL2060
[byte_count]에는 /ms_ext 필요
[byte_count] 특성은 DCE IDL에 대한 Microsoft 확장입니다. 이 특성을 사용하려면 /osf 스위치를 사용하여 컴파일할 수 없습니다. 이 스위치는 MIDL 컴파일러 기본 스위치 /ms_ext 및 /c_ext 재정의합니다.
MIDL2061
[byte_count]은 포인터 형식의 out 매개 변수에만 적용할 수 있습니다.
[byte_count] 특성은 [out] 매개 변수에만 적용할 수 있으며 모든 [out] 매개 변수는 포인터 형식이어야 합니다.
MIDL2062
[byte_count]은(는) 규칙적인 배열 또는 구조체에 대한 포인터에 지정할 수 없습니다.
[byte_count] 특성은 규칙 배열 또는 구조체에 적용할 수 없습니다.
MIDL2063
바이트 수를 지정하는 매개 변수가 [in]이 아니거나 바이트 개수 매개 변수가 [out]만 아닌 경우
[byte_count]와 연결된 값은 클라이언트에서 서버로 전송되어야 합니다. [in] 매개 변수여야 합니다. [byte_count] 매개 변수는 [in, out] 매개 변수일 필요가 없습니다.
MIDL2064
바이트 수를 지정하는 매개 변수가 정수 형식이 아닙니다.
바이트 수와 연결된 값은 정수 형식 int, small, short 또는 long이어야 합니다.
MIDL2065
크기 특성이 있는 매개 변수에는 [byte_count]을 지정할 수 없습니다.
[byte_count] 특성은 [size_is] 또는 [length_is]과 같은 다른 크기 특성과 함께 사용할 수 없습니다.
MIDL2066
[case] 식이 상수가 아님
대/소문자 레이블에 지정된 식이 상수가 아닙니다.
MIDL2067
[case] 식이 정수 형식이 아닙니다.
대/소문자 레이블에 지정된 식이 정수 형식이 아닙니다.
MIDL2068
void * 이외의 형식에 [context_handle]을 지정하려면 /ms_ext
DCE-RPC 호환성의 경우 컨텍스트 핸들은 void *형식의 포인터여야 합니다. 컨텍스트 핸들을 void *가 아닌 형식과 연결하려면 MIDL 컴파일러 기본 스위치 /ms_ext 재정의하는 MIDL 컴파일러 스위치 /osf를 사용하지 마세요.
MIDL2069
각 comm_status/fault_status 매개 변수를 둘 이상 지정할 수 없습니다.
프로시저에는 [comm_status] 특성이 있는 매개 변수가 하나만 있을 수 있습니다. [fault_status] 특성을 사용하여 최대 하나의 매개 변수를 가질 수 있습니다.
MIDL2070
comm_status/fault_status 매개 변수는 [out] 전용 포인터 매개 변수여야 합니다.
오류 코드 형식 [comm_status] 및 [fault_status]은 서버에서 클라이언트로 전송되므로 [out] 매개 변수로 지정해야 합니다. C 프로그래밍 언어의 제약 조건으로 인해 모든 [out] 매개 변수는 포인터여야 합니다.
MIDL2071
엔드포인트 구문 오류
엔드포인트 구문이 잘못되었습니다.
MIDL2072
적용할 수 없는 특성
지정된 특성을 이 구문에 적용할 수 없습니다. 예를 들어 문자열 특성은 char 배열 또는 char 포인터에 적용되며 두 개의 짧은 정수로 구성된 구조체에 적용할 수 없습니다.
typedef [string] struct moo 
{
    short x;
    short y;
};
MIDL2073
[allocate]에는 /ms_ext 필요합니다.
allocate 특성은 DCE RPC의 일부로 정의되지 않은 Microsoft 확장을 나타냅니다. 이 특성을 사용하려면 MIDL 컴파일러 기본 스위치 /ms_ext 재정의하는 /osf 스위치로 컴파일할 수 없습니다.
MIDL2074
잘못된 [할당] 모드
[allocate] 특성 구문에 대한 잘못된 모드가 지정되었습니다. 4가지 유효한 모드는 single_node, all_nodes, on_null, 항상 있습니다.
MIDL2075
length 특성은 문자열 특성으로 적용할 수 없습니다.
문자열 특성을 사용하는 경우 생성된 스텁 파일은 strlen 함수를 호출하여 문자열 길이를 확인합니다. 동일한 변수에 길이 특성과 문자열 특성을 사용하지 마세요.
MIDL2076
[last_is] 및 [length_is]을 동시에 지정할 수 없습니다.
[last_is]과 [length_is]은 모두 동일한 배열에 대해 지정되었습니다. 이러한 특성은 다음과 같습니다. length = last first + 1. 각 값은 다른 값에서 파생될 수 있으므로 둘 다 지정하지 마세요.
MIDL2077
[max_is] 및 [size_is]을 동시에 지정할 수 없습니다.
[ max_is] 및 [ size_is]은 모두 동일한 배열에 대해 지정되었습니다. 이러한 특성은 max = size + 1과 관련이 있습니다. 각 값은 다른 값에서 파생될 수 있으므로 둘 다 지정하지 마세요.
MIDL2078
공용 구조체를 사용할 때 지정된 [switch_is] 특성 없음
공용 구조체에 대해 비범죄자가 지정되지 않았습니다. [switch_is] 특성은 공용 구조체 필드 중에서 선택하는 데 사용되는 비범죄자를 나타냅니다.
MIDL2079
지정된 [uuid] 없음
인터페이스에 대해 UUID가 지정되지 않았습니다.
MIDL2080
[uuid] 인터페이스에서 무시됨
개체 인터페이스에서 [local] 특성을 사용하면 MIDL 컴파일러가 [uuid] 특성을 무시합니다. RPC 인터페이스에서는 두 특성을 모두 사용할 수 없습니다.
MIDL2081
길이와 크기 특성 식 간의 형식 불일치
길이 및 크기 특성 식은 동일한 형식이어야 합니다. 예를 들어 이 경고는 [size_is] 식의 특성 변수가 unsigned long 형식이고 [length_is] 식의 특성 변수가 long 형식인 경우 발생합니다.
MIDL2082
[string] 특성은 "byte", "char" 또는 "wchar_t" 배열 또는 포인터로 지정해야 합니다.
문자열 특성은 멤버가 모두 바이트 또는 char 형식인 바이트, char 또는 구조체가 아닌 포인터 또는 배열에 적용할 수 없습니다.
MIDL2083
[switch_is] 식의 형식과 공용 구조체의 스위치 형식이 일치하지 않습니다.
공용 구조체 [switch_type]을 지정하지 않으면 스위치 형식이 [switch_is] 필드와 동일한 형식입니다.
MIDL2084
컨텍스트 핸들에서 파생되는 형식에는 [transmit_as]을 적용하면 안 됩니다.
컨텍스트 핸들은 다른 형식으로 전송할 수 없습니다.
MIDL2085
[transmit_as]은(는) 허용되는 형식을 지정해야 합니다.
지정된 [transmit_as] 형식은 void, void *또는 int와 같이 Microsoft RPC에서 전송할 수 없는 형식에서 파생됩니다. 정의된 RPC 기본 형식을 사용합니다. int의 경우 크기 지정자( 예: 작음, 음 또는 long )를 추가하여 int를 한정합니다.
MIDL2086
[transmit_as] 및 [represent_as]에 대해 전송된 형식은 포인터이거나 포인터에서 파생되어서는 안 됩니다.
전송된 형식은 포인터이거나 포인터에서 파생될 수 없습니다.
MIDL2087
[transmit_as] 및 [represent_as]에 대해 제시된 형식은 규칙적/다양한 배열, 해당 포인터 등가 또는 적합/다양한 구조체에서 파생되어서는 안됩니다.
[transmit_as]이 적용된 형식은 규칙적인 배열 또는 구조체(런타임에 크기가 결정되는 배열 또는 구조체)에서 파생될 수 없습니다.
MIDL2088
[uuid] 형식이 잘못되었습니다.
UUID 형식은 사양을 준수하지 않습니다. UUID는 길이 8, 4, 4, 4 및 12자리의 5개의 16진수 시퀀스로 구성된 문자열이어야 합니다. "12345678-1234-ABCD-EF01-28A49C28F17D"는 유효한 UUID입니다. UuidCreate 함수 또는 유틸리티를 사용하여 유효한 UUID를 생성합니다.
MIDL2089
uuid가 16진수가 아닙니다.
인터페이스에 지정된 UUID에는 16진수 표현에서 유효하지 않은 문자가 포함됩니다. 문자 0~9 및 A~F는 16진수 표현으로 유효합니다.
MIDL2090
선택적 매개 변수는 필수 매개 변수 다음에 와야 합니다.
매개 변수 목록의 순서에 대한 설명은 MIDL 언어 참조의 [선택 사항]을 참조하세요.
MIDL2091
[entry]을 사용할 때 [dllname] 필요
DLL에 진입점을 지정하는 경우 [dllname] 특성을 사용하여 해당 DLL의 이름도 지정해야 합니다.
MIDL2092
[propget], [propput] 또는 [propputref]가 없으면 [바인딩 가능]이 잘못되었습니다.
[바인딩 가능한] 특성은 속성에서만 유효하므로 속성 액세스 또는 속성 설정 함수 중 하나를 지정해야 합니다.
MIDL2093
[propput] 또는 [propputref]가 있는 프로시저에는 매개 변수가 하나 이상 있어야 합니다.
[propput] 또는 [ propputref] 프로시저에는 설정할 속성이 있는 [in] 매개 변수 이상이 있어야 합니다. 속성 또는 참조를 받으려면 [propget] 프로시저에 적어도 [out, retval] 매개 변수가 있어야 합니다.
MIDL2094
[id] 특성이 필요합니다.
이 멤버 함수는 사용된 dispinterface 구문 때문에 [ id] 특성을 사용하여 지정하는 DISPID가 필요합니다. 속성 및 메서드를 사용하여 dispinterface 를 지정하는 경우 모든 속성 및 메서드에 대해 DISPID를 지정해야 합니다.
MIDL2095
ACF에 지정된 인터페이스 이름이 IDL 파일에 지정된 이름과 일치하지 않습니다.
현재 컴파일러 모드에서 ACF의 인터페이스 키워드(keyword) 따르는 이름은 IDL 파일의 인터페이스 키워드(keyword) 뒤에 있는 이름과 동일해야 합니다. MIDL 컴파일러 스위치 /acf를 사용하여 컴파일할 때 IDL 및 ACF 파일의 인터페이스 이름은 다를 수 있습니다.
MIDL2096
중복된 특성
중복되거나 충돌하는 특성이 지정되었습니다. 이 오류는 종종 두 특성이 함께 배타적일 때 발생합니다. 예를 들어 [code] 및 [nocode] 특성은 동시에 사용할 수 없습니다.
MIDL2097
[comm_status] 또는 [fault_status] 특성이 있는 매개 변수는 형식에 대한 포인터여야 error_status_t
[fault_status] 또는 [comm_status]을 매개 변수 특성으로 사용하는 경우 매개 변수는 error_status_t 형식의 [out] 매개 변수여야 합니다. 서버 오류가 발생하면 매개 변수가 오류 코드로 설정됩니다. 원격 호출이 성공적으로 완료되면 프로시저에서 값을 설정합니다.
MIDL2098
ACF 파일에서 [local] 프로시저를 지정할 수 없습니다.
ACF에 로컬 프로시저가 지정되었습니다. 로컬 프로시저는 IDL 파일에서만 지정할 수 있습니다.
MIDL2099
지정된 형식이 핸들로 정의되지 않았습니다.
[implicit_handle] 특성에 지정된 형식이 핸들 형식으로 정의되지 않았습니다. 특성에 지정된 형식 정의 또는 형식 이름을 변경합니다.
MIDL2100
프로시저가 정의되지 않음
특성이 ACF의 프로시저에 적용되었으며 해당 프로시저는 IDL 파일에 정의되어 있지 않습니다.
MIDL2101
IDL 파일에 이 매개 변수가 없습니다.
ACF에 지정된 매개 변수가 IDL 파일의 정의에 없습니다. ACF에 표시되는 모든 매개 변수, 함수 및 형식 정의는 이전에 IDL 파일에 정의된 매개 변수, 함수 및 형식에 해당해야 합니다.
MIDL2102
이 배열 경계 구문은 지원되지 않습니다.
MIDL은 현재 배열[아래쪽 .) 형식으로 배열의 상한과 하한을 표현하는 것을 지원합니다. Upper] 배열의 하한을 지정하는 상수가 값 0으로 확인되는 경우에만 해당됩니다.
MIDL2103
배열 바인딩된 사양이 잘못되었습니다.
고정 크기 배열에 대한 배열 범위의 사용자 사양이 잘못되었습니다. 예를 들면 다음과 같습니다.
typedef short Array[-1]
MIDL2104
준수 배열 또는 규칙 배열이 포함된 배열에 대한 포인터는 지원되지 않습니다.
잘못된 규칙 배열 사용. 규칙 배열을 제어하는 규칙은 배열 및 RPC를 참조하세요.
MIDL2105
pointee/array는 어떤 크기도 파생하지 않습니다.
크기 사양 없이 규칙적인 배열이 지정되었습니다. [max_is] 또는 [size_is] 특성을 사용하여 크기를 지정할 수 있습니다.
MIDL2106
형식 라이브러리에서는 고정 배열 및 SAFEARRAY만 사용할 수 있습니다.
형식 라이브러리에서 사용할 수 없는 라이브러리 문 내에서 배열 형식을 사용했습니다.
MIDL2107
SAFEARRAY는 라이브러리 블록 내에서만 합법적입니다.
MIDL 컴파일러는 형식 라이브러리를 생성할 때를 제외하고 SAFEARRAY를 유효한 데이터 형식으로 인식하지 않습니다.
MIDL2108
잘못된 형식의 문자 상수
문자 상수에서는 줄 끝 문자가 허용되지 않습니다.
MIDL2109
주석에 있는 파일의 끝
주석에서 파일 끝 문자가 발견되었습니다.
MIDL2110
문자열에 있는 파일의 끝
파일 끝 문자가 문자열에서 발견되었습니다.
MIDL2111
식별자 길이가 31자를 초과합니다.
식별자는 31자로 제한됩니다. 31자보다 긴 식별자 이름이 잘립니다.
MIDL2112
문자열에 있는 줄의 끝
문자열에서 줄 끝 문자가 발견되었습니다. 문자열을 종료하는 큰따옴표 문자를 포함했는지 확인합니다.
MIDL2113
문자열 상수가 255자 제한을 초과함
문자열이 허용되는 최대 길이인 255자를 초과했습니다.
MIDL2114
식별자가 255자의 제한을 초과하여 잘렸습니다.
식별자가 허용되는 최대 길이인 255자를 초과했습니다. 식별자의 초과 문자가 잘립니다.
MIDL2115
상수가 너무 큼
상수가 너무 커서 내부적으로 나타낼 수 없습니다.
MIDL2116
숫자 구문 분석 오류
컴파일러가 숫자 식별자를 구문 분석할 수 없습니다.
MIDL2117
파일을 열 때 오류가 발생했습니다.
운영 체제에서 출력 파일을 여는 동안 오류가 보고되었습니다. 이 오류는 파일 시스템에 너무 긴 이름 또는 중복된 파일 이름으로 인해 발생할 수 있습니다.
MIDL2118
함수에 대한 오류 바인딩
MIDL2119
OLE 초기화 중 오류 발생
MIDL2120
라이브러리를 로드하는 동안 오류가 발생했습니다.
MIDL2121
[out] 매개 변수만 최상위 [고유] 또는 [ptr] 포인터/배열에서 파생되어서는 안 됩니다.
고유 포인터는 [out] 전용 매개 변수일 수 없습니다. 정의에 따라 고유 포인터는 NULL에서 NULL이 아닌 포인터로 변경할 수 있습니다. [out] 전용 매개 변수에 대한 정보는 클라이언트에서 서버로 전달되지 않습니다.
MIDL2122
특성은 이 rpcable이 아닌 공용 구조체에 적용할 수 없습니다.
원격 프로시저 호출의 일부로 전송되는 공용 구조체에는 [switch_is] 및 [switch_type] 특성만 적용됩니다.
MIDL2123
크기 특성에 사용되는 식은 [out]-only 매개 변수에서 파생되어서는 안 됩니다.
[out] 전용 매개 변수의 값은 서버로 전송되지 않으며 [in] 매개 변수의 길이 또는 크기를 결정하는 데 사용할 수 없습니다.
MIDL2124
[in] 매개 변수의 길이 특성에 사용되는 식은 [out]-only 매개 변수에서 파생될 수 없습니다.
[out] 전용 매개 변수의 값은 서버로 전송되지 않으며 [in] 매개 변수의 길이 또는 크기를 결정하는 데 사용할 수 없습니다.
MIDL2125
"int" 필요 /c_ext 사용
MIDL은 강력한 형식의 언어입니다. 네트워크를 통해 전송되는 모든 매개 변수는 MIDL 기본 형식 중 하나에서 파생되어야 합니다. int 형식은 MIDL의 일부로 정의되지 않습니다. 전송된 데이터에는 크기 지정자( 음, 음 또는 길이)가 포함되어야 합니다. 네트워크를 통해 전송되지 않는 데이터는 인터페이스에 포함될 수 있습니다. /c_ext 스위치를 사용합니다.
MIDL2126
struct/union 필드는 "void"가 아니어야 합니다.
구조체 또는 공용 구조체의 필드는 MIDL에서 지원하는 특정 기본 형식 또는 기본 형식에서 파생된 형식으로 선언되어야 합니다. Void 형식은 원격 작업에서 허용되지 않습니다.
MIDL2127
array 요소는 void가 아니어야 합니다.
배열 요소는 void일 수 없습니다.
MIDL2128
형식 한정자 및/또는 한정자를 사용하려면 /c_ext
/c_ext 스위치를 지정하는 경우에만 _cdecl 및 _far 같은 형식 한정자를 컴파일할 수 있습니다.
MIDL2129
struct/union 필드는 함수에서 파생되어서는 안됩니다.
구조체 또는 공용 구조체의 필드는 이러한 기본 형식에서 파생된 MIDL 기본 형식 또는 형식이어야 합니다. 함수는 구조체 또는 공용 구조체 필드에서는 합법이 아닙니다.
MIDL2130
array 요소는 함수가 아니어야 합니다.
배열 요소는 함수일 수 없습니다.
MIDL2131
매개 변수는 함수가 아니어야 합니다.
원격 프로시저에 대한 매개 변수는 지정된 형식의 변수여야 합니다. 함수는 원격 프로시저에 대한 매개 변수가 될 수 없습니다.
MIDL2132
비트 필드가 있는 구조체/공용 구조체에는 /c_ext 필요
원격 프로시저 호출에서 전송되지 않는 구조체의 비트 필드를 허용하려면 MIDL 컴파일러 스위치 /c_ext 지정해야 합니다.
MIDL2133
"int"가 비 ANSI 호환 확장인 다른 형식의 비트 필드 사양
ANSI C 프로그래밍 언어 사양에서는 비트 필드를 비진동기 형식에 적용할 수 없습니다.
MIDL2134
비트 필드 사양은 단순 정수 형식에만 적용할 수 있습니다.
ANSI C 프로그래밍 언어 사양에서는 비트 필드를 비진동기 형식에 적용할 수 없습니다.
MIDL2135
구조체/공용 구조체 필드는 handle_t 또는 컨텍스트 핸들에서 파생되어서는 안 됩니다.
컨텍스트 핸들은 다른 구조의 일부로 전송할 수 없습니다. 컨텍스트 핸들로 전송되어야 합니다.
MIDL2136
array 요소는 handle_t 또는 컨텍스트 핸들에서 파생되어서는 안됩니다.
컨텍스트 핸들은 배열의 일부로 전송할 수 없습니다.
MIDL2137
이 공용 구조체 사양에는 /c_ext 필요합니다.
인터페이스 정의에 표시되는 공용 구조체는 비범죄와 연결되거나 로컬로 선언되어야 합니다. 네트워크를 통해 전송되지 않는 데이터는 MIDL 기본값인 /c_ext 스위치를 사용할 때 암시적으로 로컬로 선언할 수 있습니다. /osf 스위치를 사용하여 이 IDL을 컴파일할 수 없습니다.
MIDL2138
"int"에서 파생되는 매개 변수에는 "int"가 있는 크기 지정자 "small", "short" 또는 "long"이 있어야 합니다.
int 형식은 32비트 플랫폼의 유효한 MIDL 형식일 뿐이며, 16비트 시스템 int에는 크기 사양이 함께 제공되어야 합니다. 크기 지정자 중 하나를 거나 거나 길게 사용합니다.
MIDL2139
매개 변수의 형식은 void 또는 void*에서 파생될 수 없습니다.
MIDL은 강력한 형식의 언어입니다. 네트워크를 통해 전송되는 모든 매개 변수는 MIDL 기본 형식 중 하나에서 파생되어야 합니다. MIDL은 void 를 기본 형식으로 지원하지 않습니다. 선언을 유효한 MIDL 형식으로 변경해야 합니다.
MIDL2140
비트 필드를 포함하는 구조체/공용 구조체에서 파생되는 매개 변수는 지원되지 않습니다.
비트 필드는 DCE RPC에서 유효한 데이터 형식으로 정의되지 않습니다.
MIDL2141
type-modifiers/type-qualifiers가 포함된 형식에서 파생되는 매개 변수를 사용하려면 /c_ext
IDL 파일에서 멀리, 근거리, constvolatile 와 같은 키워드를 사용하는 것은 DCE RPC에 대한 Microsoft 확장명입니다. 이러한 키워드는 기본 /c_ext 확장 스위치를 해제하는 /osf 스위치로 컴파일할 때 사용할 수 없습니다.
MIDL2142
매개 변수는 함수에 대한 포인터에서 파생되어서는 안 됩니다.
RPC 런타임 라이브러리는 클라이언트와 서버 간에 포인터 및 관련 데이터를 전송합니다. 함수에 대한 포인터는 네트워크를 통해 전송할 수 없으므로 매개 변수로 전송할 수 없습니다.
MIDL2143
매개 변수는 비rpc 지원 공용 구조체에서 파생되어서는 안 됩니다.
공용 구조체는 비범죄자와 연결되어야 합니다. [switch_is] 및 [switch_type] 특성을 사용합니다.
MIDL2144
return 형식은 "int"에서 파생됩니다. "int"와 함께 크기 지정자를 사용해야 합니다.
16비트 시스템에서 int 형식은 크기 사양과 함께 제공되지 않는 한 유효한 MIDL 형식이 아닙니다. 크기 지정자 중 하나를 거나 거나 길게 사용합니다.
MIDL2145
return 형식은 void 포인터에서 파생되어서는 안 됩니다.
MIDL은 강력한 형식의 언어입니다. 네트워크를 통해 전송되는 모든 매개 변수는 MIDL 기본 형식 중 하나에서 파생되어야 합니다. Void 형식은 MIDL의 일부로 정의되지 않습니다. 선언을 유효한 MIDL 형식으로 변경해야 합니다.
MIDL2146
반환 형식은 비트 필드를 포함하는 구조체/공용 구조체에서 파생되어서는 안 됩니다.
비트 필드는 DCE RPC에서 유효한 데이터 형식으로 정의되지 않습니다.
MIDL2147
반환 형식은 비rpc 지원 공용 구조체에서 파생되어서는 안 됩니다.
공용 구조체는 비범죄자와 연결되어야 합니다. [switch_is] 및 [switch_type] 특성을 사용합니다.
MIDL2148
반환 형식은 함수에 대한 포인터에서 파생되어서는 안됩니다.
RPC 런타임 라이브러리는 클라이언트와 서버 간에 포인터 및 관련 데이터를 전송합니다. RPC는 네트워크를 통해 연결된 함수를 전송하는 메서드를 정의하지 않으므로 함수에 대한 포인터를 매개 변수로 전송할 수 없습니다.
MIDL2149
복합 이니셜라이저는 지원되지 않습니다.
DCE RPC는 간단한 초기화만 지원합니다. IDL 파일에서 구조체 또는 배열을 초기화할 수 없습니다.
MIDL2150
IDL 파일의 ACF 특성에는 /app_config 스위치가 필요합니다.
Microsoft 확장을 사용하면 IDL 파일에서 ACF 특성을 지정할 수 있습니다. /app_config 스위치를 사용하여 이 확장을 활성화합니다.
MIDL2151
단일 줄 주석 /ms_ext 또는 /c_ext 필요
두 슬래시 문자(//)를 사용하는 한 줄 주석은 DCE RPC에 대한 Microsoft 확장을 나타냅니다. /osf 스위치로 컴파일하는 경우 한 줄 주석을 사용할 수 없습니다.
MIDL2152
[version] 형식이 잘못되었습니다.
인터페이스 헤더의 인터페이스 버전 번호를 형식으로 지정해야 합니다. minor입니다. 여기서 각 숫자는 0에서 65535까지입니다.
MIDL2153
"signed"에는 /ms_ext 또는 /c_ext 필요합니다.
서명된 키워드(keyword) 사용하는 것은 DCE RPC에 대한 Microsoft 확장입니다. 이 기능을 사용하려는 경우 /osf 스위치를 사용할 수 없습니다.
MIDL2154
할당 형식의 불일치
변수의 형식이 변수에 할당된 값의 형식과 일치하지 않습니다.
MIDL2155
선언은 형식이어야 합니다. const <type> \<declarator> = <initializing expression>
선언은 DCE RPC 구문과 호환되지 않습니다. /ms_ext 또는 /c_ext MIDL 컴파일러 모드 스위치를 사용합니다.
MIDL2156
선언에는 "const"가 있어야 합니다.
IDL 파일의 선언은 키워드(keyword) const를 사용하는 상수 식이어야 합니다. 예를 들면 다음과 같습니다.
const short x = 2;
MIDL2157
struct/union/enum은 매개 변수 형식 사양에 정의되어서는 안 됩니다.
구조체, 공용 구조체 또는 열거형 형식은 함수 프로토타입 외부에서 명시적으로 명시되어야 합니다.
MIDL2158
[allocate] 특성은 void가 아닌 포인터 형식에만 적용해야 합니다.
[allocate] 특성은 복잡한 포인터 기반 데이터 구조를 위해 설계되었습니다. [allocate] 특성을 지정하면 스텁 파일은 데이터 구조를 트래버스하여 포인터 및 데이터 구조의 다른 모든 포인터에서 액세스할 수 있는 모든 개체의 총 크기를 계산합니다. 형식을 비보수 포인터 형식으로 변경하거나 [allocate] 특성을 제거하고 다른 메서드를 사용하여 sizeof 연산자와 같은 할당 크기를 결정합니다.
MIDL2159
배열 또는 동등한 포인터 구문은 캡슐화되지 않은 공용 구조체에서 파생될 수 없습니다.
각 공용 구조체는 비범죄와 연결되어야 합니다. 공용 구조체 배열은 연결된 비범죄자를 제공하지 않으므로 허용되지 않습니다. 구조체가 공용 구조체와 해당 비범죄자를 패키지하는 구조체의 배열은 스텁이 비범죄자를 사용하여 각 공용 구조체의 크기를 결정할 수 있기 때문에 허용됩니다.
MIDL2160
필드는 error_status_t 형식에서 파생되어서는 안됩니다.
error_status_t 형식은 매개 변수 또는 반환 형식으로만 사용할 수 있습니다. 구조체 또는 공용 구조체의 필드에 포함할 수 없습니다.
MIDL2161
공용 구조체에는 대/소문자 레이블이 없는 팔이 하나 이상 있습니다.
공용 구조체 선언은 공용 구조체에 필요한 MIDL 구문과 일치하지 않습니다. 각 공용 구조체 암에는 해당 공용 구조체 암을 선택하는 대/소문자 레이블 또는 기본 레이블이 필요합니다.
MIDL2162
매개 변수 또는 반환 값은 [ignore]가 적용된 형식에서 파생되어서는 안 됩니다.
[ignore] 특성은 구조체 및 배열의 필드와 같은 필드에만 적용할 수 있는 필드 특성입니다. [ignore] 특성은 스텁이 전송 중에 포인터를 역참조해서는 안 되며 [out] 매개 변수 및 함수 반환 값과 같이 역참조해야 하는 다른 특성과 충돌할 때 허용되지 않음 나타냅니다.
MIDL2163
포인터에 이미 포인터 특성이 적용되어 있습니다.
포인터 특성 [ref], [unique] 또는 [ptr] 중 하나만 단일 포인터에 적용할 수 있습니다.
MIDL2164
field/parameter는 ref 포인터를 통해 재귀적인 구조체에서 파생되어서는 안 됩니다.
정의에 따라 참조 포인터를 NULL로 설정할 수 없습니다. 참조 포인터로 정의된 재귀 데이터 구조에는 NULL 요소가 없으며 규칙에 따라 변경되지 않습니다. [unique] 포인터 특성을 사용하여 데이터 구조가 NULL 요소를 지정하거나 데이터 구조를 비귀적 데이터 구조로 다시 정의할 수 있도록 합니다.
MIDL2165
void 포인터에서 파생되는 필드를 사용하려면 /c_ext
TYPE void * 및 DCE IDL에서 지원되지 않는 다른 형식 및 형식 한정자는 MIDL 기본 컴파일러 설정을 사용하는 경우에만 IDL 파일에서 허용됩니다. /osf 스위치를 사용하면 이 기본값이 재정의됩니다. osf 호환성 모드에서 컴파일해야 하는 경우 포인터 형식을 다시 정의해야 합니다.
MIDL2166
이 특성의 사용 요구 사항 /ms_ext
이 언어 기능은 DCE IDL에 대한 Microsoft 확장입니다. osf 호환 모드( /osf )에서 컴파일하는 경우 이 기능을 사용할 수 없습니다.
MIDL2167
이 특성은 새 형식 형식 라이브러리에서만 허용됩니다.
이 특성을 사용하려면 Windows 2000 이상과 함께 제공되는 Oleaut32.dll 버전이 필요합니다.
MIDL2168
/ms_ext 또는 /c_ext 필요한 wchar_t 사용
와이드 문자 형식은 DCE IDL에 대한 확장을 나타냅니다. /osf 스위치를 지정할 때 MIDL 컴파일러는 와이드 문자 형식을 허용하지 않습니다.
MIDL2169
명명되지 않은 필드에는 /ms_ext 또는 /c_ext 필요합니다.
DCE IDL은 다른 구조체 또는 공용 구조체에 포함된 명명되지 않은 구조체 또는 공용 구조체의 사용을 지원하지 않습니다. DCE IDL에서 이러한 모든 포함된 필드의 이름을 지정해야 합니다. MIDL 컴파일러는 /osf 스위치를 지정할 때 해당 컴파일러의 사용을 허용하지 않습니다.
MIDL2170
명명되지 않은 필드는 구조체/공용 구조체 형식에서만 파생할 수 있습니다.
명명되지 않은 필드를 지원하는 DCE IDL에 대한 Microsoft 확장은 구조체 및 공용 구조체에만 적용됩니다. 이 제한을 준수하려면 필드에 이름을 할당하거나 필드를 다시 정의해야 합니다.
MIDL2171
공용 구조체의 필드는 규칙적/다양한 배열 또는 해당 포인터에서 파생될 수 없습니다.
규칙형 배열은 공용 구조체에 단독으로 나타날 수 없지만 배열의 크기를 지정하는 값과 함께 제공되어야 합니다. 배열을 공용 구조체 암으로 사용하는 대신, 규칙 배열과 해당 크기를 지정하는 식별자로 구성된 구조를 사용합니다.
MIDL2172
인터페이스의 모든 할당되지 않은 포인터에 대해 [ptr]을 가정하여 지정된 [pointer_default] 특성이 없습니다.
DCE IDL 구현은 각 IDL 파일의 모든 포인터를 포인터 특성과 연결해야 한다고 지정합니다. 명시적 포인터 특성이 매개 변수 또는 포인터 형식에 할당되지 않고 IDL 파일에 [pointer_default] 특성을 지정하지 않으면 전체 포인터 특성 ptr 이 포인터와 연결됩니다. 명시적 포인터 특성을 사용하거나 [pointer_default] 특성을 지정하거나 /ms_ext 스위치를 지정하여 대상 없는 포인터의 기본값을 [unique]로 변경하여 포인터 특성을 변경할 수 있습니다.
MIDL2173
식 초기화는 상수 식에 resolve 합니다.
식이 이니셜라이저로 사용되는 경우 식은 상수 식이어야 합니다. 이는 모든 MIDL 컴파일러 모드에서 마찬가지입니다. 식은 컴파일 시간에 확인할 수 있어야 합니다. 변수가 아닌 상수로 확인되는 리터럴 상수 또는 식을 지정합니다.
MIDL2174
특성 식은 정수, char, 부울 또는 열거형 형식이어야 합니다.
지정된 형식이 유효한 스위치 형식으로 resolve 않습니다. 정수, 문자, 바이트, 부울 또는 열거형 형식 또는 이러한 형식 중 하나에서 파생된 형식을 사용합니다.
MIDL2175
불법 상수
지정된 상수가 지정된 형식의 유효한 범위를 벗어났습니다.
MIDL2176
특성이 구현되지 않았습니다. 무시
지정된 특성은 이 Microsoft RPC 릴리스에서 구현되지 않습니다. MIDL 컴파일러는 특성이 없는 것처럼 IDL 파일을 계속 처리합니다.
MIDL2177
반환 형식은 [ref] 포인터에서 파생되어서는 안됩니다.
포인터 형식으로 정의된 함수 반환 값은 [고유] 또는 전체 포인터로 지정해야 합니다. 참조 포인터는 사용할 수 없습니다.
MIDL2178
특성 식은 이 모드에서 변수 이름 또는 포인터 역참조 식이어야 합니다. /ms_ext 스위치를 지정해야 합니다.
DCE IDL 컴파일러는 [size_is] 특성과 연결된 크기를 변수 또는 포인터 변수로 지정해야 합니다. 상수 식으로 [size_is] 특성을 정의할 수 있는 Microsoft 확장을 활용하려는 경우 /osf 컴파일러 스위치를 사용할 수 없습니다.
MIDL2179
매개 변수는 재귀적 nonencapsulated 공용 구조체에서 파생되어서는 안 됩니다.
노조는 비범죄자를 포함해야 하므로 노조는 다른 노조를 요소로 가질 수 없습니다. 공용 구조체는 비범죄자를 포함하는 구조체의 일부인 경우에만 다른 공용 구조체에 포함될 수 있습니다.
MIDL2180
binding-handle 매개 변수는 [out]만 사용할 수 없습니다.
MIDL 컴파일러에서 이 작업의 바인딩 핸들로 식별되는 핸들 매개 변수는 [in] 매개 변수여야 합니다. [out] 전용 매개 변수는 클라이언트 스텁에서 정의되지 않으며 클라이언트에서 바인딩 핸들을 정의해야 합니다.
MIDL2181
핸들에 대한 포인터는 [unique] 또는 [ptr]일 수 없습니다.
핸들에 대한 포인터에는 고유 및 전체 포인터 특성을 사용할 수 없습니다. 이러한 특성은 NULL 값을 허용하고 바인딩 핸들은 NULL일 수 없습니다. [ref] 특성을 사용하여 참조 포인터에서 binding-handle 매개 변수를 파생합니다.
MIDL2182
바인딩 핸들이 아닌 매개 변수는 handle_t
handle_t 기본 핸들 형식은 네트워크를 통해 전송되는 유효한 데이터 형식이 아닙니다. 매개 변수 형식을 handle_t 이외의 형식으로 변경하거나 매개 변수를 제거합니다.
MIDL2183
예기치 않은 파일 끝 발견
MIDL 컴파일러는 파일의 모든 구문 요소를 성공적으로 resolve 전에 파일의 끝을 찾았습니다. 종료되는 오른쪽 중괄호 문자(})가 파일의 끝에 있는지 확인하거나 구문을 검사.
MIDL2184
handle_t 파생된 형식에 [transmit_as]이 적용되지 않아야 합니다.
handle_t 기본 핸들 형식은 네트워크를 통해 전송되지 않습니다.
MIDL2185
[context_handle]이 적용된 형식에 적용하면 안 됩니다.
[context_handle] 및 [핸들] 특성은 동일한 형식에 적용할 수 없습니다.
MIDL2186
void 또는 void *에서 파생되는 형식에 [handle]을 지정해서는 안 됩니다.
[handle] 특성으로 지정된 형식은 네트워크를 통해 전송할 수 있지만 void* 형식은 전송 가능한 형식이 아닙니다. 핸들 형식은 허용되는 기본 형식에서 파생되는 형식으로 resolve 합니다.
MIDL2187
매개 변수에는 이 모드에서 [in], [out] 또는 [in,out]이 있어야 합니다. /ms_ext 또는 /c_ext 지정해야 합니다.
DCE IDL 컴파일러는 모든 매개 변수에 명시적 방향 매개 변수가 있어야 합니다. Microsoft 확장을 DCE IDL로 사용하려면 /osf 스위치를 사용하여 /ms_ext 및 /c_ext 재정의할 수 없습니다.
MIDL2188
전송된 형식은 [transmit_as], [represent_as], [wire_marshal], [user_marshal]에 대해 "void"에서 파생되지 않을 수 있습니다.
[transmit_as] 특성은 포인터 형식에만 적용됩니다. void 대신 void*형식을 사용합니다.
MIDL2189
첫 번째 및 유일한 매개 변수 사양에 "void"를 지정해야 합니다.
키워드(keyword) void가 다른 함수 매개 변수와 함께 잘못 표시됩니다. 매개 변수 없이 함수를 지정하려면 다음 예제와 같이 키워드(keyword) void가 매개 변수 목록의 유일한 요소여야 합니다.
void Moo(void)
MIDL2190
[switch_is]은 nonencapsulated 공용 구조체에서 파생되는 형식에만 지정해야 합니다.
[switch_is] 키워드(keyword) 잘못 적용되었습니다. 캡슐화되지 않은 공용 구조체 형식에서만 사용할 수 있습니다.
MIDL2191
문자열 가능 구조체는 이 버전에서 구현되지 않습니다.
DCE IDL을 사용하면 [string] 특성이 문자, 바이트 또는 문자 또는 바이트로 resolve 형식으로만 구성된 구조체에 적용할 수 있습니다. 이 기능은 Microsoft RPC에서 지원되지 않습니다. [string] 특성은 구조체 전체에 적용할 수 없습니다. 그러나 각 개별 배열에 적용할 수 있습니다.
MIDL2192
스위치 형식은 정수, char, 부울 또는 열거형일 수 있습니다.
지정된 형식이 유효한 스위치 형식으로 resolve 않습니다. 정수, 문자, 바이트, 부울, 열거 형 형식 또는 이러한 형식 중 하나에서 파생된 형식을 사용합니다.
MIDL2193
[handle]은 handle_t 파생되는 형식에 지정해서는 안 됩니다.
핸들 형식은 핸들 형식 또는 특성 중 하나만 사용하여 정의해야 합니다. 기본 형식 handle_t 또는 특성 [핸들]을 사용하지만 둘 다 사용하지는 않습니다. 사용자 정의 핸들 형식은 전송 가능해야 하지만 handle_t 형식은 네트워크에서 전송되지 않습니다.
MIDL2194
handle_t 파생되는 매개 변수는 [out] 매개 변수가 아니어야 합니다.
기본 형식 handle_t 핸들은 정의된 애플리케이션 쪽에만 의미가 있습니다. handle_t 형식은 네트워크에서 전송되지 않습니다.
MIDL2195
특성 식은 [unique] 또는 [ptr] 포인터 역참조에서 파생됩니다.
[고유] 및 전체 포인터 특성을 사용하면 포인터가 NULL 값을 가질 수 있지만 크기 또는 길이 특성을 정의하는 식에는 NULL 값이 없어야 합니다. 포인터를 사용하는 경우 MIDL은 식을 [ref] 포인터로 제한합니다.
MIDL2196
"cpp_quote"에는 /ms_ext 필요합니다.
cpp_quote 특성은 DCE IDL에 대한 Microsoft 확장입니다. /ms_ext 재정의하는 MIDL 컴파일러 스위치 /osf를 사용하지 마세요.
MIDL2197
따옴표 붙은 uuid에는 /ms_ext 필요합니다.
따옴표 안에 UUID 값을 지정하는 기능은 DCE IDL에 대한 Microsoft 확장입니다. /ms_ext 재정의하는 MIDL 컴파일러 스위치 /osf를 사용하지 마세요.
MIDL2198
반환 형식은 캡슐화되지 않은 공용 구조체에서 파생될 수 없습니다.
nonencapsulated 공용 구조체는 함수 반환 형식으로 사용할 수 없습니다. 공용 구조체 형식을 반환하려면 공용 구조체 형식을 [out] 또는 [in, out] 매개 변수로 지정합니다.
MIDL2199
반환 형식은 규칙 구조에서 파생될 수 없습니다.
반환 형식의 크기는 상수여야 합니다. 구조체에 크기 지정자도 포함된 경우에도 규칙 배열을 포함하는 구조체를 반환 형식으로 지정할 수 없습니다. 규칙 구조체를 반환하려면 구조를 [out] 또는 [in, out] 매개 변수로 지정합니다.
MIDL2200
제네릭 핸들에서 파생되는 형식에 [transmit_as]을 적용하면 안 됩니다.
이 릴리스에서는 [핸들] 및 [transmit_as] 특성을 동일한 형식에서 결합할 수 없습니다.
MIDL2201
[핸들]은 [transmit_as]이 적용된 형식에 적용되어서는 안 됩니다.
이 릴리스에서는 [핸들] 및 [transmit_as] 특성을 동일한 형식에서 결합할 수 없습니다.
MIDL2202
const 선언에 지정된 형식이 잘못되었습니다.
상수 선언은 정수, 문자, 와이드 문자, 문자열 및 부울 형식으로 제한됩니다.
MIDL2203
sizeof 연산자에 대한 피연산자는 지원되지 않습니다.
MIDL 컴파일러는 단순 형식에 대해서만 sizeof 작업을 지원합니다. 지정된 피연산자는 정수 형식으로 계산되지 않습니다.
MIDL2204
이 이름은 이미 const 식별자 이름으로 사용됨
식별자는 이전에 const 선언에서 상수를 식별하는 데 사용되었습니다. 식별자가 고유하게 식별자 중 하나의 이름을 변경합니다.
MIDL2205
형식 error_status_t 일관되지 않은 재정의
error_status_t 형식은 unsigned long 형식으로 resolve 합니다. 다른 형식 정의는 사용할 수 없습니다.
MIDL2206
[case] 스위치 형식 범위를 벗어난 값
switch 문 케이스와 연결된 값이 지정된 스위치 형식의 범위를 벗어났습니다. 예를 들어 이 오류는 짧은 정수 형식의 case 문에서 긴 정수 값을 사용할 때 발생합니다.
MIDL2207
매개 변수에서 파생 wchar_t /ms_ext 필요
wchar_t 와이드 문자 형식은 DCE IDL에 대한 Microsoft 확장입니다. /ms_ext 재정의하는 MIDL 컴파일러 스위치 /osf를 사용하지 마세요.
MIDL2208
이 인터페이스에는 콜백만 있습니다.
콜백은 원격 프로시저 호출의 컨텍스트에서만 유효합니다. 인터페이스는 [콜백] 특성을 포함하지 않는 원격 프로시저 호출에 대해 하나 이상의 함수 프로토타입을 포함해야 합니다.
MIDL2209
중복으로 지정된 특성; 무시
지정된 특성이 두 번 이상 적용되었습니다. 동일한 특성의 여러 인스턴스는 무시됩니다.
MIDL2210
암시적 핸들에 사용되는 컨텍스트 핸들 형식
[context_handle] 특성을 사용하여 정의된 형식이 [ implicit_handle] 특성의 핸들 형식으로 지정되었습니다. 이러한 방식으로 특성을 결합할 수 없습니다.
MIDL2211
[할당]에 지정된 충돌하는 옵션
ACF 특성 [allocate]에 지정된 옵션은 충돌하는 지시문을 나타냅니다. 예를 들어 옵션 all_nodes 또는 옵션 single_node 지정하지만 둘 다 지정하지는 않습니다.
MIDL2212
파일에 쓰는 동안 오류 발생
파일에 쓰는 동안 오류가 발생했습니다. 이 조건은 디스크 공간, 파일 핸들, 파일 액세스 제한 및 하드웨어 오류와 관련된 오류로 인해 발생할 수 있습니다.
MIDL2213
[switch_is] 형식을 사용하여 공용 구조체 정의에서 스위치 형식을 찾을 수 없습니다.
공용 구조체 정의에는 명시적 [switch_type] 특성이 포함되어 있지 않습니다. [switch_is] 특성에 지정된 변수의 형식이 스위치 형식으로 사용됩니다.
MIDL2214
의미 체계 검사 이전 오류로 인해 불완전합니다.
MIDL 컴파일러는 입력 파일을 두 개 전달하여 모든 정방향 선언을 resolve. 첫 번째 패스 중에 발생한 오류로 인해 두 번째 패스에 대한 확인이 수행되지 않았습니다. 전달 선언과 관련된 보고되지 않은 오류는 여전히 파일에 있을 수 있습니다.
MIDL2215
핸들 매개 변수 또는 반환 형식은 [콜백] 프로시저에서 지원되지 않습니다.
[콜백] 프로시저는 클라이언트에서 서버로의 호출 컨텍스트에서 발생하며 원래 호출과 동일한 바인딩 핸들을 사용합니다. 명시적 바인딩 핸들 매개 변수 또는 반환 형식은 콜백 함수에서 허용되지 않습니다.
MIDL2216
[ptr]은(는) 이 버전의 별칭 지정을 지원하지 않습니다.
별칭은 둘 이상의 포인터 또는 변수 이름을 통해 데이터에 액세스할 수 있을 때 발생합니다. 별칭을 제거합니다. 자세한 내용은 고유 포인터를 참조하세요.
MIDL2217
컨텍스트 핸들로 이미 정의된 매개 변수
매개 변수는 이전에 컨텍스트 핸들로 정의되었습니다.
MIDL2218
[context_handle]은(는) handle_t
세 가지 핸들 특성인 handle_t 형식, 특성 [핸들] 및 특성 [context_handle]은 상호 배타적입니다. 한 번에 하나의 특성만 형식 또는 매개 변수에 적용할 수 있습니다.
MIDL2219
배열 크기가 65536바이트 초과
일부 Microsoft 플랫폼에서는 허용되는 최대 데이터 크기가 64K입니다. 전송된 모든 데이터가 최대 전송 가능한 크기 내에 맞도록 애플리케이션을 다시 디자인합니다.
MIDL2220
구조체 크기가 65536바이트 초과
일부 Microsoft 플랫폼에서는 허용되는 최대 데이터 크기가 64K입니다. 전송된 모든 데이터가 최대 전송 가능한 크기 내에 맞도록 애플리케이션을 다시 디자인합니다.
MIDL2221
캡슐화되지 않은 공용 구조체의 필드는 다른 캡슐화되지 않은 공용 구조체일 수 없습니다.
원격 프로시저 호출의 일부로 전송되는 공용 구조체에는 공용 구조체 암을 선택하는 연결된 데이터 항목(비범죄자)이 필요합니다. 다른 노조에 중첩된 공용 구조체는 비범죄자를 제공하지 않습니다. 따라서 이 형식으로 전송할 수 없습니다. 공용 구조체와 해당 비범죄자로 구성된 구조를 만듭니다.
MIDL2222
포함된 배열에 적용된 포인터 특성; 무시
배열이 최상위 매개 변수인 경우에만 포인터 특성을 배열에 적용할 수 있습니다. 다른 데이터 구조에 포함된 배열에 적용된 다른 포인터 특성은 무시됩니다.
MIDL2223
[allocate]는 [transmit_as], [represent_as], [wire_marshal] 또는 [user_marshal]에 대해 전송되거나 제공된 형식에 대해 잘못되었습니다.
[transmit_as] 및 [할당] 특성은 모두 동일한 형식에 적용할 수 없습니다. [transmit_as] 특성은 제공된 형식과 전송된 형식을 구분하지만 [allocate] 특성은 제공된 형식이 전송된 형식과 동일하다고 가정합니다.
MIDL2224
이 가져오기 모드에서 [switch_type]을 지정해야 합니다.
MIDL2225
[implicit_handle] 형식이 정의되지 않았습니다. 제네릭 핸들 가정
ACF에 지정된 핸들 형식이 IDL 파일에 정의되어 있지 않습니다. MIDL 컴파일러는 핸들 형식이 handle_t 기본 핸들 형식으로 확인된다고 가정합니다. 핸들이 사용자 정의 또는 제네릭 핸들처럼 동작하도록 하려면 형식 정의에 [handle] 특성을 추가합니다.
MIDL2226
array 요소는 error_status_t 파생되지 않아야 합니다.
이 Microsoft RPC 릴리스에서는 error_status_t 형식이 매개 변수 또는 반환 형식으로만 표시될 수 있습니다. 배열에 표시할 수 없습니다.
MIDL2227
[allocate] 기본/제네릭/컨텍스트 핸들에서 파생되는 형식에 대해 잘못되었습니다.
기본적으로 ACF 특성 [할당]은 핸들 형식에 적용할 수 없습니다.
MIDL2228
전송되거나 제공된 형식은 error_status_t 파생되어서는 안됩니다.
이 Microsoft RPC 릴리스에서는 형식 error_status_t [transmit_as] 특성과 함께 사용할 수 없습니다.
MIDL2229
공용 구조체의 비범죄자는 [무시]가 적용된 필드에서 파생되어서는 안 됩니다.
원격 프로시저 호출에 사용되는 공용 구조체는 공용 구조체 암을 선택하는 다른 데이터 항목(비범죄자)과 연결되어야 합니다. 비범죄자는 전송되어야 합니다. [무시] 특성은 공용 구조체 비범죄에 적용할 수 없습니다.
MIDL2230
[nocode] "/server none"이 지정되지 않았기 때문에 서버 쪽에서 무시됨
일부 DCE IDL 컴파일러에서는 서버 스텁 파일이 생성되는 인터페이스의 프로시저에 [nocode] 특성이 적용될 때 오류를 생성합니다. 서버는 모든 작업을 지원해야 하므로 이 모드의 프로시저에 [nocode]를 적용해서는 안 되며, MIDL 컴파일러 스위치 /server none을 사용하여 서버 루틴을 생성하지 않도록 명시적으로 지정해야 합니다.
MIDL2231
비[local] 인터페이스에 지정된 원격 프로시저가 없습니다. 클라이언트/서버 스텁이 생성되지 않음
제공된 인터페이스에는 원격 프로시저가 없으므로 헤더 파일만 생성됩니다.
MIDL2232
캡슐화된 공용 구조체에 대해 지정된 기본 사례가 너무 많습니다.
캡슐화된 공용 구조체에는 arm이라는 하나의 기본값만 있을 수 있습니다.
MIDL2233
coclass에 대해 너무 많은 기본 인터페이스가 지정됨
coclass에는 나가는(원본) 인터페이스 또는 dispinterface를 나타내는 멤버와 들어오는(싱크) 인터페이스 또는 dispinterface를 나타내는 멤버가 최대 두 개까지 있을 수 있습니다.
MIDL2234
[defaultvtable]이 있는 항목에도 [source]가 있어야 합니다.
defaultvtable 인터페이스는 개체에 대한 두 번째 소스 인터페이스를 만듭니다. 이 인터페이스는 싱크가 V 테이블을 통해 이벤트를 수신할 수 있도록 합니다.
MIDL2235
필드가 없는 공용 구조체 사양은 불법입니다.
공용 구조체에는 하나 이상의 필드가 있어야 합니다.
MIDL2236
범위를 벗어난 값
제공된 사례 값이 스위치 형식의 범위를 벗어났습니다.
MIDL2237
포인터 형식에 [context_handle]을 적용해야 합니다.
컨텍스트 핸들은 항상 포인터 형식이어야 합니다. DCE는 모든 컨텍스트 핸들을 void *로 입력해야 함을 지정합니다.
MIDL2238
반환 형식은 handle_t 파생되어서는 안됩니다.
handle_t 반환할 수 없습니다.
MIDL2239
컨텍스트 핸들에서 파생되는 형식에는 [handle]을 적용하면 안 됩니다.
형식은 컨텍스트 핸들과 제네릭 핸들일 수 없습니다.
MIDL2240
"int"에서 파생되는 필드에는 "int"가 있는 크기 지정자 "small", "short" 또는 "long"이 있어야 합니다.
int의 크기가 컴퓨터 간에 다를 수 있으므로 int 형식은 16비트 시스템에서 변환할 수 없습니다.
MIDL2241
field는 void 또는 void *에서 파생되어서는 안 됩니다.
voidvoid *는 원격 프로시저의 매개 변수 형식으로 사용할 수 없습니다.
MIDL2242
필드는 비트 필드가 포함된 구조체에서 파생되어서는 안 됩니다.
비트 필드가 포함된 구조체는 원격 프로시저의 매개 변수 또는 반환 형식으로 사용할 수 없습니다.
MIDL2243
필드는 rpcable이 아닌 공용 구조체에서 파생되어서는 안됩니다.
전송하려면 공용 구조체를 캡슐화되지 않은 공용 구조체 또는 캡슐화된 공용 구조체로 지정해야 합니다. 일반 C 노조는 네트워크를 통해 노조를 전송하는 데 필요한 비난이 부족합니다.
MIDL2244
필드는 함수에 대한 포인터에서 파생되어서는 안됩니다.
함수에 대한 포인터는 원격 프로시저로 전송할 수 없습니다. 함수에 대한 포인터는 함수 코드를 가리키며 RPC를 사용하여 네트워크를 통해 함수 코드를 전송할 수 없습니다.
MIDL2245
매개 변수와 반환 형식 모두에서 [fault_status]을 사용할 수 없습니다.
특성 [fault_status]은 프로시저당 한 번만 사용할 수 있습니다. [comm_status] 특성을 독립적으로 사용할 수 있습니다.
MIDL2246
/Oi 모드에서 /Os를 사용하여 형식을 너무 복잡하게 반환합니다.
값으로 전달되는 큰 반환 형식은 /Os 최적화 스텁에서만 처리할 수 있습니다. 이 루틴에 대한 스텁은 /Os 최적화를 사용하여 생성됩니다.
MIDL2247
/Os를 사용하는 /Oi 모드의 경우 제네릭 핸들 형식이 너무 큽니다.
값으로 전달되는 큰 제네릭 핸들 형식은 /Os 최적화 스텁에서만 처리할 수 있습니다. 이 루틴에 대한 스텁은 /Os 최적화를 사용하여 생성됩니다.
MIDL2248
[in,out] 매개 변수의 [allocate(all_nodes)]는 원래 메모리를 분리할 수 있습니다.
[in, out] 매개 변수에서 [allocate(all_nodes)]를 사용하려면 [out] 방향에 대해 연속 메모리를 다시 할당해야 하므로 [in] 매개 변수가 분리됩니다. 이 사용은 권장되지 않습니다.
MIDL2249
[ref] 포인터를 공용 구조체 팔로 사용할 수 없습니다.
참조 포인터는 항상 유효한 메모리를 가리킵니다. 그러나 [in] 방향이 다른 형식을 사용하는 경우 참조 포인터가 있는 [in, out] 공용 구조체는 참조 포인터를 반환할 수 있습니다.
MIDL2250
/Os를 사용하여 /Oi 모드에서 지원되지 않는 컨텍스트 핸들의 반환
MIDL은 완전히 해석된 최적화 모드에서 컨텍스트 핸들을 지원하지 않습니다. 혼합 모드 최적화로 전환.
MIDL2251
/Os를 사용하여 /Oi 모드에서 지원되지 않는 추가 [comm_status] 또는 [fault_status] 매개 변수 사용
[comm_status] 및 [fault_status] 특성은 /Os 최적화 스텁에서만 처리할 수 있습니다. 이 루틴에 대한 스텁은 /Os 최적화를 사용하여 생성됩니다.
MIDL2252
/Os를 사용하여 /Oi 모드에서 지원되지 않는 [represent_as] 또는 [user_marshal]에 알 수 없는 형식 사용
IDL 파일 또는 가져온 IDL 파일에 정의되지 않은 로컬 형식의 [represent_as] 특성 사용은 /Os 최적화 스텁에서만 처리할 수 있습니다. 이 루틴에 대한 스텁은 /Os 최적화를 사용하여 생성됩니다.
MIDL2253
/Os를 사용하여 /Oi 모드의 반환 형식에서 [transmit_as] 또는 [represent_as]이 지원되지 않는 배열 형식
[transmit_as] 또는 [represent_as]이 적용된 배열을 반환하는 작업은 /Os 최적화 스텁에서만 처리할 수 있습니다. 이 루틴에 대한 스텁은 /Os 최적화를 사용하여 생성됩니다.
MIDL2254
/Os를 사용하여 /Oi 모드에 대해 [transmit_as] 또는 [represent_as]이 지원되지 않는 배열 형식
이 작업은 완전히 해석된 최적화에 지원되지 않습니다. 혼합 모드 최적화로 전환.
MIDL2255
[콜백]에는 /ms_ext 필요
[콜백] 특성은 Microsoft 확장이며 /ms_ext 스위치를 사용하도록 설정해야 합니다. /osf를 사용하여 컴파일하지 마세요. /osf는 /ms_ext 재정의합니다.
MIDL2256
순환 인터페이스 종속성
이 인터페이스는 직접 또는 간접적으로 자신을 기본 인터페이스로 사용합니다.
MIDL2257
IUnknown만 루트 인터페이스로 사용할 수 있습니다.
현재 모든 인터페이스에는 루트 인터페이스로 IUnknown 이 있어야 합니다.
MIDL2258
[IID_IS]은 인터페이스에 대한 포인터에만 적용할 수 있습니다.
[iid_is] 특성은 인터페이스 포인터에만 적용할 수 있지만 IUnknown *에 대한 포인터로 지정할 수 있습니다.
MIDL2259
인터페이스는 포인터-인터페이스 구문에서만 사용할 수 있습니다.
인터페이스 이름은 기본 인터페이스 또는 인터페이스 포인터로만 사용할 수 없습니다.
MIDL2260
인터페이스 포인터에는 UUID/IID가 있어야 합니다.
[iid_is] 식의 기본 형식은 UUID/GUID/IID 형식이어야 합니다.
MIDL2261
인터페이스 본문 외부의 정의 및 선언에는 /ms_ext 필요합니다.
선언 및 정의를 인터페이스 본문 외부에 배치하는 것은 Microsoft 확장이며 /ms_ext 스위치를 사용해야 합니다.
MIDL2262
한 파일의 여러 인터페이스에는 /ms_ext 필요합니다.
단일 idl 파일에서 여러 인터페이스를 사용하는 것은 Microsoft 확장 프로그램이며 /osf 모드에서 컴파일할 때 사용할 수 없습니다.
MIDL2263
[implicit_handle], [auto_handle] 또는 [explicit_handle] 중 하나만 허용됨
각 인터페이스에는 이러한 세 가지 특성 중 하나만 있을 수 있습니다.
MIDL2264
[implicit_handle]는 핸들이 아닌 형식을 참조합니다.
암시적 핸들은 핸들 형식 중 하나여야 합니다.
MIDL2265
[object] procs는 "/env win32"에서만 사용할 수 있습니다.
[개체] 특성이 있는 인터페이스는 16비트 환경에서 사용할 수 없습니다.
MIDL2266
/Os를 사용하여 /Oi에 대해 -env dos/win16이 지원되지 않는 [콜백]
16비트 환경의 콜백은 /Os 최적화 스텁에서만 처리할 수 있습니다. 이 루틴에 대한 스텁은 /Os 최적화를 사용하여 생성됩니다.
MIDL2267
float/double은 /Os를 사용하여 /Oi 모드의 최상위 매개 변수로 지원되지 않습니다.
float 및 double 형식은 /Os 최적화 스텁을 통해서만 매개 변수로 처리할 수 있습니다. 이 루틴에 대한 스텁은 /Os 최적화를 사용하여 생성됩니다. 구조체, 배열 또는 공용 구조체 내의 float 및 double 형식은 여전히/Os를 사용하여 처리할 수 있습니다.
MIDL2268
컨텍스트 핸들에 대한 포인터를 반환 값으로 사용할 수 없습니다.
컨텍스트 핸들은 간접 반환 값이 아닌 직접 반환 값으로 사용해야 합니다.
MIDL2269
개체 인터페이스의 프로시저는 HRESULT를 반환해야 합니다.
the-[local] 특성이 없는 개체 인터페이스의 모든 프로시저는 HRESULT/SCODE를 반환해야 합니다.
MIDL2270
중복된 UUID
UUID와 동일해야 합니다.
MIDL2271
[object] 인터페이스는 IUnknown과 같은 다른 [개체] 인터페이스에서 파생되어야 합니다.
인터페이스 상속은 개체 인터페이스를 사용하는 경우에만 허용됩니다.
MIDL2272
(비동기) 인터페이스는 다른(비동기) 인터페이스에서 파생되어야 합니다.
동기 및 비동기 개체 인터페이스는 IUnknown 또는 다른 기본 OLE 인터페이스에서 파생되어야 합니다.
MIDL2273
[IID_IS] 식은 IID 구조체에 대한 포인터여야 합니다.
[iid_is] 식의 기본 형식은 UUID/GUID/IID 형식이어야 합니다.
MIDL2274
[call_as] 형식은 [local] 프로시저여야 합니다.
정의된 경우 [call_as] 형식의 대상에 [ local]이 적용되어 있어야 합니다.
MIDL2275
undefined [call_as]은(는) 개체 인터페이스에서 사용해서는 안 됩니다.
[call_as] 형식의 대상을 정의해야 합니다. 호출 및 호출된 애플리케이션 모두에 대한 call_as 루틴을 제공했는지 확인합니다.
MIDL2276
[auto_handle]은(는) [인코딩] 또는 [디코딩]과 함께 사용할 수 없습니다.
[ 인코딩] 및 [ 디코딩] 특성은 명시적 핸들 또는 암시적 핸들에서만 사용할 수 있습니다.
MIDL2277
일반 프로시저는 [인코딩] 또는 [디코딩]이 있는 인터페이스에서 허용되지 않습니다.
[인코딩] 또는 [디코딩] 프로시저를 포함하는 인터페이스에는 원격 프로시저도 포함될 수 없습니다.
MIDL2278
최상위 규칙 또는 분산은 [인코딩] 또는 [디코딩]에서 허용되지 않습니다.
크기 조정/길이를 제공할 방법이 없으므로 최상위 규칙 또는 분산이 있는 형식은 형식 serialization을 사용할 수 없습니다. 그러나 이를 포함하는 구조체는 형식 serialization을 사용할 수 있습니다.
MIDL2279
[out] 매개 변수에 "const"가 없을 수 있습니다.
[out] 매개 변수가 변경되었으므로 sa 상수로 선언해서는 안 됩니다.
MIDL2280
반환 값에 "const"가 없을 수 있습니다.
함수가 반환될 때 함수 값이 설정되므로 이 값을 상수로 선언해서는 안 됩니다.
MIDL2281
"retval" 특성의 잘못된 사용
[선택 사항] 특성을 사용하지 않았고 [retval] 매개 변수가 목록의 마지막 매개 변수인지 확인합니다.
MIDL2282
여러 통화 규칙이 잘못되었습니다.
하나의 호출 규칙만 단일 프로시저에 적용할 수 있습니다.
MIDL2283
특성이 [object] 프로시저에 잘못되었습니다.
위의 특성은 [object] 특성이 없는 인터페이스의 프로시저에만 적용됩니다.
MIDL2284
[out] 인터페이스 포인터는 이중 간접 참조를 사용해야 합니다.
변경된 값은 인터페이스에 대한 포인터이므로 반환할 수 있도록 포인터 위에 또 다른 수준의 간접 참조가 있어야 합니다.
MIDL2285
프로시저는 [call_as]에서 호출자로 두 번 사용됩니다.
이름 충돌을 방지하기 위해 지정된 [로컬] 프로시저를 [call_as]의 대상으로 한 번만 사용할 수 있습니다.
MIDL2286
[call_as] 대상은 개체 인터페이스에 [local]이 있어야 합니다.
[call_as]의 대상은 현재 인터페이스에서 정의된 [local] 프로시저여야 합니다.
MIDL2287
[code] 및 [nocode]를 함께 사용할 수 없습니다.
이러한 두 특성은 모순되며 함께 사용할 수 없습니다.
MIDL2288
[어쩌면] 또는 [메시지] 특성이 있는 프로시저에 매개 변수가 없거나 반환 값이 HRESULT 또는 error_status_t 형식이어야 합니다.
[어쩌면] 프로시저는 반환되지 않으므로 반환 값을 가져올 방법이 없습니다.
MIDL2289
함수에 대한 포인터를 사용해야 합니다.
함수 형식 정의는 /c_ext 모드에서 허용되지만 함수에 대한 포인터로만 사용할 수 있습니다. 원격 프로시저의 매개 변수 또는 반환 값으로 전송할 수 없습니다.
MIDL2290
함수는 RPC 작업에서 전달되지 않을 수 있습니다.
함수 및 함수 포인터는 원격 프로시저의 매개 변수 또는 반환 값으로 전달할 수 없습니다.
MIDL2291
/Os를 사용하여 /Oi 모드의 반환 값으로 hyper/double이 지원되지 않음
하이퍼 및 이중 반환 값은 /Os 최적화 스텁에서만 처리할 수 있습니다. 이 루틴에 대한 스텁은 /Os 최적화를 사용하여 생성됩니다.
MIDL2292
#pragma pack(push)과 일치하지 않는 #pragma pack(pop)
#pragma pack(push) 및 #pragma pack(pop)은 일치하는 쌍으로 표시되어야 합니다. 하나 이상의 #pragma pack(push)s가 지정되었습니다.
MIDL2293
문자열 가능 구조 필드는 바이트/char/wchar_t
[string] 형식은 필드가 모두 바이트 형식인 구조체 또는 바이트에 해당하는 형식 정의에만 적용할 수 있습니다.
MIDL2294
/Os를 사용하는 /Oi 모드에는 [notify]가 지원되지 않습니다.
[notify] 특성은 /Os 최적화 스텁에서만 처리할 수 있습니다.
MIDL2295
핸들 매개 변수 또는 반환 형식은 [object] 인터페이스의 프로시저에서 지원되지 않습니다.
핸들은 [ 개체] 인터페이스와 함께 사용할 수 없습니다.
MIDL2296
ANSI C는 가장 왼쪽에 바인딩된 배열만 지정되지 않도록 허용합니다.
적절한 배열에서 ANSI C는 가장 왼쪽(가장 중요한) 배열만 지정되지 않도록 허용합니다. 여러 차원이 적합하면 MIDL은 다른 규칙 차원에 "1"을 넣으려고 시도합니다. 다른 차원이 다른 형식 정의에 정의되어 있으면 이 작업을 수행할 수 없습니다. 이를 방지하려면 배열 선언에 모든 배열 차원을 배치해 보세요. 어떤 경우든 컴파일러에서 수행한 배열 인덱싱 계산을 주의해야 합니다. 실제 크기를 사용하여 고유한 계산을 수행해야 할 수 있습니다.
MIDL2297
/Oi 모드에서 /Os를 사용하는 값별 공용 구조체 매개 변수가 지원되지 않음
이 작업은 완전히 해석된 최적화에 지원되지 않습니다. 혼합 모드 최적화로 전환.
MIDL2298
[version] 특성은 [object] 인터페이스에서 무시됩니다.
[object] 특성은 COM 인터페이스를 식별합니다. COM 인터페이스의 인터페이스 특성 목록에는 [ version] 특성이 포함될 수 없습니다.
MIDL2299
고정 배열에서 [size_is] 또는 [max_is] 특성이 잘못되었습니다.
고정 크기의 배열은 size_is 또는 max_is 특성을 사용할 수 없습니다.
MIDL2300
[개체] 인터페이스에서 [인코딩] 또는 [디코딩]이 잘못되었습니다.
[object] 특성은 COM 인터페이스를 식별합니다. [인코딩] 및 [ 디코딩] 특성은 serialization을 사용하도록 설정합니다. 즉, 데이터 마샬링 및 unmarshal에 대한 버퍼를 제공하고 제어할 수 있지만 COM 인터페이스에서는 serialization을 수행할 수 없습니다.
MIDL2301
형식의 [인코딩] 또는 [디코딩]에는 /ms_ext
직렬화는 DCE-IDL 사양의 일부가 아닙니다. /ms_ext 명령줄 스위치를 사용해야 하는 Microsoft 확장입니다.
MIDL2302
int는 /env win16 또는 /env dos에서 지원되지 않습니다.
16비트 Microsoft 플랫폼은 IDL 파일 에서 int 형식의 사용을 지원하지 않습니다. int 형식을 거나 거나 형식으로 한정합니다.
MIDL2303
[bstring]은 "char" 또는 "whchar_t"에 대한 포인터에만 적용될 수 있습니다.
이 오류는 사용되지 않습니다. 이전 버전과의 호환성을 위해서만 제공됩니다.
MIDL2304
특성이 [개체] 인터페이스의 프로시저에 잘못되었습니다.
COM 인터페이스의 프로시저에서는 지정된 특성이 허용되지 않습니다.
MIDL2305
[object] 인터페이스에서 잘못된 특성
COM 인터페이스에서는 지정된 특성이 허용되지 않습니다.
MIDL2306
/Os를 사용하여 /Oi 모드에 너무 많은 매개 변수 또는 스택이 너무 큽니다.
이 경고는 사용되지 않습니다. 이전 버전과의 호환성을 위해서만 제공됩니다. 원격 프로시저를 호출하면 스택이 64K보다 커짐을 나타냅니다.
MIDL2307
ACF 파일 typedef에 특성이 없으므로 효과가 없습니다.
IDL 파일에는 특성이 없는 typedef 문이 모두 포함되어야 합니다. ACF 파일에서는 발생하지 않아야 합니다. 이 경우 MIDL 컴파일러는 이를 중복으로 해석하고 무시합니다.
MIDL2308
/Os를 사용하여 /Oi 모드에서 지원되지 않는 __stdcall 또는 __cdecl 이외의 호출 규칙
__pascal 또는 __fastcall 같은 호출 규칙은 스택의 형식을 변경합니다. /Oi 모드는 __stdcall__cdecl 호출 규칙만 지원합니다. 다른 호출 규칙을 사용해야 하는 경우 /Os 모드를 사용합니다.
MIDL2309
인터페이스에 위임 메서드가 너무 많으므로 Windows 2000 이상이 필요합니다.
한 인터페이스는 다른 인터페이스에서 상속할 수 있습니다. 이 경우 기본 인터페이스의 메서드가 위임된 것으로 간주됩니다. 파생된 인터페이스는 256개를 초과하는 위임된 메서드를 포함할 수 없습니다.
MIDL2310
/env mac 또는 /env powermac에서 지원되지 않는 자동 핸들
PowerMac에 대한 IDL 파일을 컴파일할 때는 자동 바인딩 핸들을 사용할 수 없습니다. 명시적 또는 암시적 핸들을 지정해야 합니다.
MIDL2311
라이브러리 블록 외부의 문은 mktyplib 호환 모드에서 잘못되었습니다.
IDL 파일을 컴파일할 때 /mktyplib203 명령줄 스위치를 지정해야 할 수 있습니다.

참고:
Mktyplib.exe 도구는 사용되지 않습니다. 대신 MIDL 컴파일러를 사용합니다.


MIDL2312
mktyplib 호환 모드를 사용하지 않는 한 잘못된 구문
IDL 파일을 컴파일할 때 /mktyplib203 명령줄 스위치를 지정해야 할 수 있습니다.

참고:
Mktyplib.exe 도구는 사용되지 않습니다. 대신 MIDL 컴파일러를 사용합니다.


MIDL2313
잘못된 정의, mktyplib 호환 모드에서 typedef를 사용해야 합니다.
IDL 파일을 컴파일할 때 /mktyplib203 명령줄 스위치를 지정해야 할 수 있습니다.

참고:
Mktyplib.exe 도구는 사용되지 않습니다. 대신 MIDL 컴파일러를 사용합니다.


MIDL2314
인터페이스 포인터에 대해 무시된 명시적 포인터 특성 [ptr] [ref]
인터페이스에 대한 포인터에는 IDL 특성이 있을 수 없습니다.
MIDL2315
/Oi 모드가 PowerMac에 대해 구현되지 않고 /Os로 전환
MIDL2316
특성에 사용된 잘못된 식 형식
포인터의 기본값은 상수여야 합니다.
MIDL2317
파이프에 잘못된 형식 사용
파이프는 기본 IDL 데이터 형식으로 제한됩니다. 예를 들어 배열 파이프를 지정할 수 없습니다.
MIDL2318
프로시저는 /Oicf를 사용하여 파이프를 사용합니다.
선택한 모드는 파이프를 지원하지 않습니다. MIDL 컴파일러가 인터페이스에서 하나 이상의 파이프 사용을 감지했습니다. 따라서 /Oicf 모드에서 IDL 파일을 컴파일합니다.
MIDL2319
프로시저에는 /Oif, 전환 모드를 사용해야 하는 특성이 있습니다.
/Oif 모드에서 [비동기] 프로시저를 컴파일해야 합니다.
MIDL2320
충돌하는 최적화 요구 사항, 최적화할 수 없음
이 오류는 /Os/Oi (또는 /Oi의 변형) MIDL 컴파일러 모드를 모두 지정했음을 나타내는 경우가 많습니다. IDL 및 ACL 파일에서 지정한 기능에 두 모드를 모두 사용해야 한다는 의미일 수도 있습니다. 최적화하려면 한 모드 또는 다른 모드를 선택해야 합니다.
MIDL2321
파이프는 배열 요소 또는 구조체 또는 공용 구조체의 멤버일 수 없습니다.
파이프 데이터 형식은 최상위 매개 변수일 수 있습니다.
MIDL2322
파이프 사용이 잘못되었습니다.
[transmit_as], [represent_as] 또는 [user_marshal] 특성과 함께 파이프를 사용할 수 없습니다. 또한 파이프는 반환 형식으로 사용할 수 없습니다.
MIDL2323
기능을 사용하려면 고급 해석 최적화 옵션이 필요합니다. use -Oicf
이 오류는 /robust 와 같은 MIDL 컴파일러 명령줄 스위치에 /Oicf 모드를 사용해야 했음을 나타냅니다.
MIDL2324
기능을 사용하려면 고급 해석 최적화 옵션이 필요합니다. use -Oicf
이 경고는 /strong 와 같은 MIDL 컴파일러 명령줄 스위치에 /Oicf 모드를 사용해야 했음을 나타냅니다.
MIDL2329
최적화 옵션이 단계적으로 중단되고 있습니다. -Oic을 사용합니다.
/Oi1 최적화 모드가 MIDL 명령줄에 지정되었습니다. 이 모드는 더 이상 지원되지 않으며 대신 /Oicf 를 사용해야 합니다.
MIDL2330
최적화 옵션이 단계적으로 중단되고 있습니다. -Oicf를 사용합니다.
/Oi2 최적화 모드가 MIDL 명령줄에 지정되었습니다. 이 모드는 더 이상 지원되지 않으며 대신 /Oicf 를 사용해야 합니다.
MIDL2331
최적화 옵션이 단계적으로 중단되고 있습니다. -ic을 사용합니다.
i1 최적화 모드가 [optimize] ACF 특성에 지정되었습니다. 이 모드는 더 이상 지원되지 않으며 대신 icf를 사용해야 합니다.
ACF 파일 예제:
[optimize("i1")] roo();    //MIDL 2331
MIDL2332
최적화 옵션이 단계적으로 중단되고 있으며 -icf를 사용합니다.
i2 최적화 모드는 [optimize] ACF 특성에 지정되었습니다. 이 모드는 더 이상 지원되지 않으며 대신 icf를 사용해야 합니다.
ACF 파일 예제:
[optimize("i2")] roo();    //MIDL 2332
MIDL2333
-old 및 -new 스위치는 사용되지 않으며 -oldtlb 및 -newtlb를 사용합니다.
이 메시지는 더 이상 사용되지 않으며 MIDL에서 더 이상 생략되지 않습니다.
MIDL2334
잘못된 인수 값
/O 명령줄 스위치의 허용되는 변형에는 /Os, /Oi, /Oic, /Oicf/Oif가 포함됩니다.
MIDL2335
상수의 잘못된 식 형식
식은 상수로 계산되지 않습니다.
MIDL2336
열거형의 잘못된 식 형식
거형 정의의 열거형 값은 정수 형식으로 계산되지 않습니다.
MIDL2337
만족스럽지 않은 정방향 선언
MIDL 컴파일러가 정방향 선언의 정의를 resolve 수 없습니다.
MIDL2338
스위치는 모순됩니다.
IDL 파일을 컴파일할 때 는 /osf/ms_ext 명령줄 스위치를 모두 사용할 수 없습니다. 하나 또는 다른 하나를 선택해야 합니다.
MIDL2339
MIDL은 rpc를 사용할 수 없는 공용 구조체에 대한 HOOKOLE 정보를 생성할 수 없습니다.
이 오류는 사용되지 않습니다. 이전 버전과의 호환성을 위해 엄격하게 제공됩니다.
MIDL2340
공용 구조체에 대한 사례 식을 찾을 수 없음
공용 구조체의 각 필드에는 상수 식이 있는 case 문이 있어야 합니다.
MIDL2341
[user_marshal] 및 [wire_marshal] -Oi 및 -Oic 플래그에서 지원되지 않음, -Os 또는 -Oicf 사용
[user_marshal] 및 [wire_marshal] 특성에는 /Oicf (빠른 형식 문자열이 있는 코드리스 프록시) 또는 /Os (혼합 모드 마샬링)에서만 사용할 수 있는 특정 최적화 기능이 필요합니다.
MIDL2342
파이프는 데이터 serialization(예: [인코딩] 및/또는 [디코딩])과 함께 사용할 수 없습니다.
파이프를 [인코딩] 또는 [디코딩] 특성이 있는 프로시저에 매개 변수로 전달할 수 없습니다.
MIDL2343
모든 파이프 인터페이스 포인터는 단일 간접 참조를 사용해야 합니다.
이러한 방식으로 파이프 인터페이스에 대한 포인터에 대한 포인터를 사용할 수 없습니다.
MIDL2344
[iid_is()]은(는) 파이프 인터페이스 포인터와 함께 사용할 수 없습니다.
이 메시지는 사용되지 않습니다. 이 메시지는 컴파일러에서 더 이상 사용되지 않습니다.
MIDL2345
잘못되었거나 적용할 수 없는 -lcid 스위치
지정한 LCID(로컬 식별자)가 잘못되었습니다.
MIDL2346
지정된 lcid가 이전 사양과 다릅니다.
/lcid 및 [lcid]에 지정된 값은 다릅니다. MIDL 컴파일러는 마지막으로 정의된 컴파일러를 사용합니다.
MIDL2347
라이브러리 블록 외부에서는 importlib를 사용할 수 없습니다.
모든 [importlib] 문은 [라이브러리] 블록에서 발생해야 합니다.
MIDL2348
부동 소수점 값이 잘못되었습니다.
이 오류는 MIDL에서 내보내지 않아야 합니다. 이 오류가 표시되면 IDL 파일, ACF 파일, 헤더 등을 포함하여 오류를 재현하는 데 필요한 모든 파일을 제공하는 버그를 Microsoft에 보고하세요.
MIDL2349
잘못된 멤버
프로시저는 라이브러리의 멤버일 수 없습니다.
MIDL2350
가능한 잘못된 멤버
라이브러리의 유효한 멤버가 되려면 라이브러리 요소는 모듈, dispinterface, coclass, if 문, 구조체, 공용 구조체, 열거형 또는 정방향 선언이어야 합니다.
MIDL2351
파이프 및 인터페이스 형식의 불일치
이 메시지는 사용되지 않습니다.
MIDL2352
문자열, 다양한 배열, 준수 배열 및 전체 포인터 매개 변수는 런타임 동안 파이프 매개 변수와 호환되지 않을 수 있습니다.
하나 이상의 [in] 문자열, 다양한 배열, 규칙적인 배열 및 전체 포인터 매개 변수와 [in] 파이프 매개 변수를 결합한 메서드는 Windows 컴퓨터의 ncacn_*ncalrpc 프로토콜 시퀀스에서만 실행되는 스텁을 생성합니다. 스텁을 사용하여 ncadg_* 프로토콜 시퀀스를 호출하거나 다른 OSF DCE RPC 공급업체의 호출을 수락하면 런타임 동안 서버에 오류가 발생할 수 있습니다. 이 오류는 Windows Server 2003부터 발생합니다.
MIDL2353
매개 변수는 에 있어야 합니다.
비동기 핸들은 매개 변수여야 합니다.
MIDL2354
[async] 개체의 매개 변수 형식은 인터페이스에 대한 이중 포인터여야 합니다.
매개 변수는 IAsyncManager **형식이어야 합니다.
MIDL2355
잘못된 비동기 핸들 형식
핸들 형식은 IAsyncManager 또는 IAsyncManager에서 파생된 형식이어야 합니다.
MIDL2356
"내부" 스위치는 지원되지 않는 기능을 사용하도록 설정하고 주의해서 사용합니다.
이 스위치를 사용하지 마십시오.
MIDL2357
비동기 프로시저는 자동 핸들을 사용할 수 없습니다.
[async] 특성이 있는 프로시저에는 명시적 핸들이 필요합니다.
MIDL2358
error_status_t [comm_status]와 [fault_status]가 모두 있어야 합니다.
프로시저는 IDL 특성 [어쩌면] 또는 [메시지]로 지정되었지만 반환 형식에는 ACF 특성 [comm_status] 또는 [fault_status]만 있습니다. 두 ACF 특성이 모두 필요합니다.
ACF 파일 예제:
[comm_status] roo();    //MIDL 2358
[fault_status] bar();    //MIDL 2358
[comm_status, fault_status] baz();    //OK
MIDL2359
이 구문은 라이브러리 블록 내에서만 허용됩니다.
모듈은 라이브러리 블록 내에서만 발생할 수 있습니다.
MIDL2360
잘못된 형식 재정의
존재하지 않는 형식에서 새 형식이 재귀적으로 정의되었습니다.
예:
typedef roo roo[10];    //MIDL 2360
MIDL2361
[vararg] 특성이 있는 프로시저에는 SAFEARRAY(VARIANT) 매개 변수가 있어야 합니다. param order is [vararg], [lcid], [retval]
[vararg] 특성이 있는 프로시저에 대한 대부분의 매개 변수는 SAFEARRAY(VARIANT) 매개 변수 이전에 발생해야 합니다. SAFEARRAY(VARIANT) 매개 변수가 있어야 합니다. 매개 변수 목록에 [ lcid] 특성이 있는 매개 변수가 포함된 경우 SAFEARRAY(VARIANT) 매개 변수를 따라야 합니다. 매개 변수 목록에 [retval] 특성이 있는 매개 변수가 포함된 경우 [lcid] 특성이 있는 매개 변수 다음에 발생해야 합니다.
MIDL2363
인터페이스에 메서드가 너무 많으므로 Windows 2000 이상이 필요합니다.
MIDL 컴파일러는 /Oicf 모드로 컴파일할 때 인터페이스에서 1024개 이상의 메서드를 허용하지 않습니다.
MIDL2364
스위치가 단계적으로 중단되고 있습니다.
/hookole, /env win16 및 /env 스위치는 사용되지 않습니다.
MIDL2365
는 IAdviseSink, IAdviseSink2 또는 IAdviseSinkEx에서 파생될 수 없습니다.
이러한 인터페이스는 확장할 수 없습니다.
MIDL2366
기본값을 할당할 수 없음
매개 변수에 기본값을 할당하는 것은 Visual Basic에서는 허용되지만 C++에서는 허용되지 않습니다. C++를 사용하는 경우 기본값은 무시됩니다.
MIDL2367
DOS/Win16/MAC에 대한 형식 라이브러리 생성은 지원되지 않습니다.
MIDL은 16비트 형식 라이브러리를 지원하지 않습니다.
MIDL2368
형식 라이브러리를 생성하는 동안 오류가 발생했습니다. 무시됨
형식 라이브러리를 생성하는 동안 심각하지 않은 오류가 발생했습니다.
MIDL2369
/Os를 사용하여 /Oi의 스택 크기를 초과했습니다.
-Oi 최적화 모드는 매개 변수에 대한 스택 공간의 128바이트로 제한됩니다. 이 제한 사항을 해결하기 위해 컴파일러가 Os 최적화 모드로 자동으로 전환되었습니다.
이 경고를 방지하려면 -Oicf 또는 -Os 최적화 모드를 사용합니다. 최적화 모드는 명령줄에서 -Oi 대신 -Oicf 또는 -Os를 지정하거나 ACF 파일의 함수에 [optimize9"icf")] 또는 optimize[("s")] 특성을 추가하여 변경할 수 있습니다.
이 경고는 일반적으로 큰 구조를 값별로 매개 변수로 전달할 때 발생합니다. 대신 구조체에 포인터를 전달하여 필요한 스택 크기를 낮출 수 있습니다.
예:
typedef struct
{
char a[127];
}
large;
//This function has a stack size of 132 (x86) or 136 (alpha) on 32-bit systems
void roo(large s, int a);    //MIDL 2360
// workaround: pass by reference
void bar (large *s, int a);
MIDL2370
/strong을 사용하려면 /Oicf, 전환 모드가 필요합니다.
명령줄에서 /strong 스위치를 지정할 때 /Oicf 모드로 컴파일해야 합니다.
MIDL2371
잘못된 범위를 지정했습니다.
[range] 특성에 지정된 가장 높은 값이 가장 낮은 값보다 작습니다.
예:
void roo([range(3,2)] int a);    //MIDL 2371
MIDL2372
[async_uuid] 인터페이스에 대한 [in] 전용 및 [out] 매개 변수의 조합이 잘못되었습니다.
이 유형의 인터페이스에는 [in] 또는 [out] 매개 변수가 있는 특성의 간단한 조합만 허용됩니다.
MIDL2373
DOS, Win16 및 MAC 플랫폼은 /strong에서 지원되지 않습니다.
MIDL은 Microsoft Windows 2000 이상에서 /strong 스위치를 지원합니다.
MIDL2374
개체 인터페이스에 대한 NT 3.51 스타일 스텁리스 프록시에 대한 지원은 단계적으로 중단됩니다. /Oif를 사용합니다.
이 모드는 사용되지 않습니다. /Oif 또는 /Oicf를 사용합니다.
MIDL2375
/robust를 사용하는 [인코딩] 또는 [디코딩]에는 /Oicf가 필요합니다.
/strong 스위치를 지정하면 serialization을 수행할 수 없습니다.
MIDL2377
지정된 충돌하는 특성
[context_handle_serialize] 및 [context_handle_noserialize]이 모두 지정되었습니다.
MIDL2378
[serialize], [noserialize]를 context_handles 적용할 수 있습니다.
ACF 특성 [context_handle_serialize] 또는 [context_handle_noserialize]은 컨텍스트 핸들인 형식에만 적용할 수 있습니다.
예제 IDL 파일:
typedef /*[context_handle] */ void *PV;    //Note: PV is *not* a context handle.
ACF 파일 예제:
typedef [context_handle_serialize] PV;    //MIDL 2378
MIDL2379
컴파일러가 형식 문자열 표현에 대한 제한에 도달했습니다. 자세한 내용은 설명서를 참조하세요.
MIDL 컴파일러에는 형식 문자열에 대한 64KB 제한이 있습니다. 이 오류는 일반적으로 IDL 파일에 다른 IDL 파일이 포함될 때 발생합니다. 모든 include 문에서 생성된 복합 IDL 파일이 마샬링 엔진 인터프리터의 형식 표현 테이블 제한을 초과합니다. IDL 파일에서 include 지시문 대신 import 지시문을 사용해 보세요. 자세한 내용은 시스템 헤더 파일 가져오기, 포함 및 가져오기를 참조 하세요.
MIDL2380
와이어 형식이 잘못되었을 수 있습니다. -ms_conf_struct 사용해야 할 수 있습니다. 자세한 내용은 설명서를 참조하세요.
MIDL 컴파일러가 데이터에 대해 허용되는 형식을 생성할 수 없습니다. 이 오류를 가져오는 일반적인 방법 중 하나는 복잡한 구조 내에서 ms_conf_struct 정의하는 것입니다.
MIDL2381
스택 크기 또는 64K 제한보다 큰 오프셋입니다. 자세한 내용은 설명서를 참조하세요.
호출로 인해 64KB보다 큰 스택이 생성됩니다. 더 작은 블록으로 데이터를 전달해 보세요.
MIDL2382
64비트 플랫폼에 강제 적용된 인터프리터 모드
64비트 플랫폼에는 /Oicf 컴파일 모드가 필요합니다.
MIDL2383
배열 요소 크기가 64KB 제한보다 큽니다.
모든 배열 요소의 크기는 64KB 미만이어야 합니다.
MIDL2384
메서드에는 [Icid] 매개 변수가 하나만 있을 수 있으며, 마지막 매개 변수에 [retval]이 있는 경우 마지막 또는 두 번째 매개 변수가 지속되어야 합니다.
[lcid] 특성이 있는 매개 변수는 마지막으로 발생해야 합니다. 유일한 예외는 [retval] 특성이 있는 매개 변수도 있는 경우입니다. 둘 다 발생하는 경우 매개 변수 목록의 마지막 매개 변수에 대한 두 번째 매개 변수에는 [ lcid] 특성이 있어야 합니다. 마지막 매개 변수에는 [retval] 특성이 있어야 합니다.
MIDL2385
midl_pragma 대한 잘못된 구문
MIDL 컴파일러가 midl_pragma 문에서 알 수 없는 구문 오류를 검색했습니다.
MIDL2386
__int3264 /osf 모드에서 지원되지 않습니다.
__int3264 사용해야 하는 경우 /ms-ext 모드로 컴파일합니다.
MIDL2387
형식 라이브러리의 해결되지 않은 기호
컴파일러가 형식 라이브러리에서 형식 선언 또는 참조된 형식을 resolve 수 없습니다.
MIDL2388
값으로 비동기 파이프를 전달할 수 없음
비동기 파이프는 참조 또는 주소로 전달되어야 합니다.
MIDL2389
매개 변수 오프셋이 해석된 프로시저에 대한 64KB 제한을 초과합니다.
이 오류는 일반적으로 프로시저에 매개 변수가 너무 많다는 것을 의미합니다.
MIDL2390
잘못된 배열 요소
파이프는 배열 요소로 사용할 수 없습니다.
MIDL2391
dispinterface 멤버는 메서드, 속성 또는 인터페이스여야 합니다.
dispinterface는 형식 정의, 구조체, 열거형 또는 공용 구조체를 포함할 수 없습니다.
MIDL2392
[call_as] 없는 [local] 프로시저
[local] 특성이 있는 개체 프로시저에도 [call_as] 특성이 필요합니다.
MIDL2393
다차원 벡터, /Oicf로 전환
/Os 최적화 모드는 다차원 비 접두사 크기 배열을 지원하지 않습니다. 컴파일러가 이 함수에 대한 최적화 모드를 /Oicf 로 자동으로 전환했습니다.
MIDL 명령줄에서 /Oicf 를 지정하거나 IDL 파일에서 midl_pragma 경고(사용 안 함: 2393)를 사용하여 컴파일러 모드를 변경하여 이 경고를 전역적으로 표시하지 않을 수 있습니다. ACF 파일의 함수에 [optimize("icf")] 특성을 추가하여 개별 함수에 대한 최적화 모드를 변경할 수 있습니다.
다음 예제에서는 이 경고를 보여 줍니다.
void roo(long s1, [size_is(s1)] long a[][30];    //MIDL2393
void bar(long s1, long s2, [size_is(s1,s2) long **a);//MIDL2393
MIDL2395
64KB 다형 형식에 대한 Oleaut32.dll 지원이 없으므로 라이브러리 블록에서 형식 또는 구문이 지원되지 않습니다.
OLE 자동화는 다형 형식(예: _int3264, INT_PTR 등)을 지원하지 않습니다. 이러한 형식에는 32비트와 64비트 플랫폼 간에 호환되지 않는 데이터 표현이 있습니다. 원격 호출은 런타임에 64비트 플랫폼에서 실패합니다.

참고:
Windows 2000 릴리스 기준으로 64비트 TLB 파일은 런타임에 32비트 TLB 정보를 변환하여 OLE Automation에서 지원됩니다. 따라서 MIDL에서는 32비트 TLB 생성만 지원됩니다.


MIDL을 사용하여 헤더 파일을 생성하는 경우 /notlb 스위치는 TLB 파일 생성을 표시하지 않습니다.

MIDL2396
64b에 대해 생성되는 이전 인터프리터 코드
이 오류는 사용되지 않습니다. 이 오류가 표시되면 IDL 파일, ACF 파일 및 전체 MIDL 명령줄을 제공하는 버그를 Microsoft에 보고하세요.
MIDL2397
컴파일러 스위치는 더 이상 지원되지 않습니다.
지정된 스위치 또는 스위치는 더 이상 지원되지 않습니다.
MIDL2398
MIDL 엔진을 실행할 수 없음
Windows 2000 릴리스(MIDL 버전 5.03.279)를 기준으로 MIDL 컴파일러는 두 개의 실행 파일인 Midl.exe(드라이버) 및 Midlc.exe(컴파일러 엔진)를 사용하여 구현됩니다. 이 오류는 Midl.exe Midlc.exe 시작할 수 없음을 나타냅니다. Midlc.exe Midl.exe 동일한 디렉터리에 있고 동일한 버전인지 확인합니다.
이 오류는 Midl.exe 복사하여 발생했을 수 있지만 최신 배포에서 Midlx.exe 않았습니다. 매개 변수 없이 명령줄에서 midl 및/또는 midlc 를 실행하여 실행 파일의 버전 번호를 확인합니다.
MIDL2399
드라이버의 잘못된 명령
Windows 2000 릴리스(MIDL 버전 5.03.279)를 기준으로 MIDL 컴파일러는 두 개의 실행 파일인 Midl.exe(드라이버) 및 Midlc.exe(컴파일러 엔진)를 사용하여 구현됩니다. 이 오류는 Midl.exe Midlc.exe 명령을 전달하는 데 사용되는 임시 파일이 누락되었거나 손상되었음을 나타냅니다. Midlc.exe Midl.exe 동일한 디렉터리에 있고 동일한 버전인지 확인합니다.
이 오류는 Midlc.exe 직접 실행하려고 시도하거나 최신 배포에서 Midlc.exe 않은 Midl.exe 복사하여 발생했을 수 있습니다. 매개 변수 없이 명령줄에서 midl 및/또는 midlc 를 실행하여 실행 파일의 버전 번호를 확인합니다.
MIDL2400
ole 자동화의 경우 선택적 매개 변수는 VARIANT 또는 VARIANT *여야 합니다.
OLE 자동화를 사용하려면 모든 [선택 사항] 매개 변수가 VARIANT 또는 VARIANT*형식이어야 합니다.
OLE 자동화에서 VARIANT가 아닌 매개 변수를 사용하면 런타임에 호출이 실패하거나 [선택 사항] 매개 변수에 대해 정의되지 않은 데이터를 전달할 수 있습니다.
MIDL2401
[defaultvalue]는 VARIANT가 아닌 및 [선택 사항]에 적용됩니다. [선택 사항]을 제거하세요.
[defaultvalue] 특성은 [선택 사항]을 의미합니다. [ 선택 사항] 특성은 필요하지 않습니다.
MIDL2402
[선택 사항] 특성은 라이브러리 블록 외부에서 적용할 수 없습니다.
[ 선택 사항] 특성에 내포된 기능은 라이브러리 블록 외부의 인터페이스에 대해 생성된 프록시에는 적용되지 않습니다.
MIDL2403
[Icid] 매개 변수의 데이터 형식은 길어야 합니다.
OLE 자동화를 사용하려면 [Icid] 특성이 있는 매개 변수의 형식이 어야 합니다.
MIDL2404
[propput], [propget] 또는 [propref]가 있는 프로시저에는 [선택 사항] 다음에 필요한 매개 변수가 두 개 이상 있을 수 없습니다.
[propput], [propget] 또는 [propputref]를 사용할 때 마지막 매개 변수 다음에 [선택 사항]이 없으면 매개 변수가 두 개 이상 있을 수 없습니다.
MIDL2405
절임이 필요한 [comm_status] 또는 [fault_status]에는 -Oicf가 필요합니다.
이전 -Oi 최적화 모드는 [인코딩] 및/또는 [디코딩]을 사용하여 선택(즉, [코딩] 및/또는 [디코딩])이 있는 [comm_status] 또는 [fault_status]의 프로시저 또는 매개 변수를 지원하지 않습니다.
이 경고는 MIDL 명령줄에서 -Oicf 를 지정하거나 ACF 파일의 함수에 [optimize("icf:)] 특성을 추가하여 개별 함수에 대해 전역적으로 표시되지 않을 수 있습니다.
일반적으로 -Oicf 최적화 모드는 -Oi 모드에 권장됩니다.
MIDL2406
midl 드라이버 및 컴파일러 버전 불일치
Windows 2000 릴리스(MIDL 버전 5.03.279)를 기준으로 MIDL 컴파일러는 두 개의 실행 파일인 Midl.exe(드라이버) 및 Midlc.exe(컴파일러 엔진)를 사용하여 구현됩니다. 이 오류는 Midl.exe 버전이 Midlc.exe 버전과 일치하지 않음을 나타냅니다.
오류는 Midl.exe 복사하여 발생했을 수 있지만 최신 배포에서 Midlc.exe 않습니다. 매개 변수 없이 명령줄에서 midl 및/또는 midlc 를 실행하여 실행 파일의 버전 번호를 확인합니다.
MIDL2407
지정된 중간 파일 없음: Midl.exe 사용
Windows 2000 릴리스(MIDL 버전 5.03.279)를 기준으로 MIDL 컴파일러는 두 개의 실행 파일인 Midl.exe(드라이버) 및 Midlc.exe(컴파일러 엔진)를 사용하여 구현됩니다. 이 오류는 Midlc.exe Midl.exe 사용하는 대신 직접 실행되었음을 나타냅니다.
MIDL2408
프로시저에서 매개 변수 처리 문제
이 오류는 TLB에서 데이터를 가져올 때와 프로시저에 잘못된 매개 변수가 있는 경우에 표시될 수 있습니다.
이 오류가 표시되면 Microsoft에 버그를 보고합니다. IDL 파일, ACF 파일, TLB 파일 및 전체 MIDL 명령줄을 지정합니다.
MIDL2409
구조체의 필드 처리 문제
이 오류는 TLB에서 데이터를 가져올 때와 구조체에 잘못된 구조체 또는 공용 구조체 필드가 있는 경우에 나타날 수 있습니다.
이 오류가 표시되면 Microsoft에 버그를 보고합니다. IDL 파일, ACF 파일, TLB 파일 및 전체 MIDL 명령줄을 지정합니다.
MIDL2410
내부 컴파일러 불일치가 감지됨: 형식 문자열 오프셋이 잘못되었습니다. 자세한 내용은 문서 를 참조하세요.
MIDL 컴파일러가 내부 데이터 구조에서 잘못된 값을 검색했습니다. 이는 재귀 구조체 또는 컴파일러가 내부 데이터에 대한 자체 표현 제한을 위반하여 발생할 수 있습니다. 문제를 식별 및/또는 해결하려면 IDL 파일을 간소화해 보세요. 복잡한 매개 변수 및 재귀 데이터 구조를 단순화하거나 IDL 파일을 분할하여 더 작게 만들어 이 작업을 수행할 수 있습니다. 이 메시지에는 문제에 대한 추가 정보가 포함된 진단 인쇄물이 함께 제공될 수 있습니다.
이 오류가 표시되면 Microsoft에 버그를 보고합니다. IDL 파일, ACF 파일, 전체 MIDL 명령줄 및 진단 출력(있는 경우)을 지정합니다.
MIDL2411
내부 컴파일러 불일치가 감지됨: 형식 오프셋이 잘못되었습니다. 자세한 내용은 문서 를 참조하세요.
MIDL 컴파일러가 내부 데이터 구조에서 잘못된 값을 검색했습니다. 이는 재귀 구조체 또는 컴파일러가 내부 데이터에 대한 자체 표현 제한을 위반하여 발생할 수 있습니다. 문제를 식별 및/또는 해결하려면 IDL 파일을 간소화해 보세요. 복잡한 매개 변수 및 재귀 데이터 구조를 단순화하거나 IDL 파일을 분할하여 더 작게 만들어 이 작업을 수행할 수 있습니다. 이 메시지에는 문제에 대한 추가 정보가 포함된 진단 인쇄물이 함께 제공될 수 있습니다.
이 오류가 표시되면 Microsoft에 버그를 보고합니다. IDL 파일, ACF 파일, 전체 MIDL 명령줄 및 진단 출력(있는 경우)을 지정합니다.
MIDL2412
SAFEARRAY(roo) 구문은 라이브러리 블록 외부에서 지원되지 않습니다. 프록시에 LPSAFEARRAY를 사용합니다.
명시적으로 형식화된 SAFEARRAY는 라이브러리 블록 외부에서 허용되지 않습니다. 대신 LPSAFEARRAY를 사용합니다.
다음 예제에서는 이 오류를 보여 줍니다.
void roo(SAFEARRAY(long) *a); //MIDL2412 when outside a library block
void roo(LPSAFEAEEAY a);         //OK
MIDL2413
비트 필드는 지원되지 않습니다.
C 스타일 비트 필드는 MIDL에서 지원되지 않습니다. 이는 TLB 생성뿐만 아니라 프록시 생성에도 적용됩니다.
MIDL2414
부동 소수점 또는 [디코딩]이 있는 복합 반환 형식은 -OI를 사용하여 -Oicf에서 지원되지 않습니다.
부동 소수점 또는 구조체/공용 구조체 반환 형식의 프로시저는 -Oicf 스타일 선택에서 지원되지 않습니다. 32비트 해결 방법은 데이터를 직렬화할 때 -Oi 최적화 모드를 사용하는 것입니다([인코딩] 및/또는 [디코딩]사용). 그러나 이전 -Oi 스타일 인터프리터 및 피클링 지원은 Windows 2000 릴리스 이후 단계적으로 폐지될 예정이므로 이 문제를 해결하기 위해 포인터를 사용하는 것이 좋습니다. 또한 일반적으로 문제를 일으키는 반환 값 대신 [out, ref] 포인터를 사용하도록 인터페이스 메서드를 변경하는 것은 와이어에서 완전히 이전 버전과 호환되며 앱 계층에서 쉽게 숨길 수 있습니다.
MIDL 명령줄에서 -Oi를 지정하거나 ACF 파일의 함수에 [optimize("i")] 특성을 추가하여 개별 함수에 대해 이 경고를 전역적으로 표시하지 않을 수 있습니다.
다음 예제에서는 문제를 보여 줍니다.
roo.idl:
double GetDouble();
roo.acf:
[decode] GetDouble();
이 제한 사항을 해결하는 한 가지 옵션은 반환 값을 사용하는 대신 결과를 저장할 [out] 매개 변수를 전달하는 것입니다.
roo.idl:
void GetDouble([out] double *result); //top level pointer is a [ref] pointer
roo.acf:
[decode] GetDouble();
앞에서 설명한 것처럼 위에서 설명한 솔루션은 새 인터페이스뿐만 아니라 이전 인터페이스에 대한 해결 방법이기도 합니다. 새 "out" 인수에 대한 와이어 표현은 반환 값과 동일합니다(새 반환 값으로 void를 확인).
MIDL2415
[디코딩]을 사용할 때 반환 형식은 64비트에서 지원되지 않습니다.
데이터 직렬화를 수행할 때 부동 소수점 또는 구조체/공용 구조체 반환 형식의 프로시저는 64비트 모드에서 지원되지 않습니다([ 인코딩] 및/또는 [ 디코딩]사용). 이는 64비트 플랫폼에서 지원되지 않는 이전 스타일 -Oi 인터프리터 및 데이터 serializer와 관련이 있습니다. 자세한 내용은 MIDL2414 설명을 참조하세요.
다음 예제에서는 이 오류를 보여 줍니다.
roo.idl:
double GetDouble();
roo.acf:
[decode] GetDouble();
다음은 새 인터페이스와 이전 인터페이스 모두에 대한 해결 방법으로 권장됩니다. 반환 값을 사용하는 대신 [out] 매개 변수를 사용하여 결과를 저장합니다.
roo.idl:
void GetDouble([out] double *result); //top level pointer is a [ref] pointer.
roo.acf:
[decode] GetDouble();
이 솔루션은 [ref, out] 포인터 또는 double의 와이어 표현이 double과 동일하기 때문에 와이어에서 완전히 이전 버전과 호환됩니다.
MIDL2416
전송된 형식에 [wire_marshal] 또는 [user_marshal]에 대한 전체 포인터가 포함될 수 없습니다.
[ wire_marshal] 또는 [ user_marshal] 특성이 있는 형식에는 전체([ ptr]) 포인터가 포함되지 않을 수 있습니다. 대신 [ unique] 또는 [ ref]를 사용합니다.
다음 예제에서는 이 오류를 보여 줍니다.
typedef struct
{
    [ptr] long *a;    //Should use [ref] or [unique] instead
}
st1;
typedef [wire_marshal(st1)] struct
{
    long a;
}
st2:
void roo(st2 *s);    //MIDL2416
MIDL2417
전송된 형식은 포인터이거나 [wire_marshal] 및 [user_marshal]의 상수 크기여야 합니다.
[ wire_marshal] 또는 [ user_marshal] 특성이 있는 최상위 형식은 컴파일 시간에 잘 정의된 크기여야 합니다. 적합하거나 다양한 크기의 배열을 포함할 수 없습니다.
다음 예제에서는 이 오류를 보여 줍니다.
typedef struct        //Type contains variable-sized array
{
    long s;
    [size_is(s)] char a[];
}
st1;
typedef [wire_marshal(st1)] struct
{
    long a;
}
st2;
void roo(st2 *s);        //MIDL2417
MIDL2418
[propget]이 있는 프로시저에는 매개 변수 또는 반환 값이 하나 이상 있어야 합니다.
[propget] 특성이 있는 프로시저에는 속성 값을 반환하는 몇 가지 수단이 있어야 합니다. 하나 이상의 [out] 매개 변수 또는 반환 값이 있어야 합니다.
MIDL2461
메서드 수준에서 [readonly] 특성이 적용되었습니다.
[readonly] 특성은 매개 변수 수준에서만 적용할 수 있습니다.
MIDL2465
규칙적 배열을 포함하는 구조체는 참조를 통해 전달되어야 합니다.
RPC의 최상위 매개 변수는 컴파일 시간에 잘 정의된 크기여야 합니다. 적합하거나 다양한 크기의 배열을 포함할 수도 없고 포함할 수도 없습니다. 또한 사용자는 잘 정의된 크기 없이 형식을 인코딩/디코딩할 수 없습니다. 애플리케이션은 참조를 통해 규칙적 구조체/규칙적 다양한 구조체를 전달해야 합니다.
다음 예제에서는 이 오류를 보여 줍니다.
typedef struct        //Type contains variable-sized array
{
    long s;
    [size_is(s)] char a[];
}
st1;
void roo(st1 s);        //MIDL2465
 
on .acf file
typedef [encode,decode] st1; //MIDL2465
MIDL9008
내부 컴파일러 문제 <시스템 오류 코드> - 알 수 없는 이유로 컴파일러를 계속할 수 없습니다. 해결 방법은 설명서를 참조하세요.
컴파일러를 계속할 수 없으며 오류의 원인을 알 수 없습니다. 16진수 오류 번호는 시스템 오류 식별자입니다. 메모리 부족 상태와 같은 외부 문제로 인해 컴파일이 실패했을 수 있습니다. 이 경우 Winerror.h 또는 Ntstatus.h에서 자세한 정보를 찾을 수 있습니다.
일반적으로 이 오류를 생성하는 두 가지 상황이 있습니다.
  • IDL 파일에서 오류를 감지한 후 MIDL 컴파일러가 복구하지 못했습니다. MIDL이 IDL 파일에 대한 오류 메시지를 반환한 경우 수정하고 다시 컴파일해 보세요. 오류 메시지가 없으면 오류를 보고하기 전에 컴파일러가 실패했을 수 있습니다. 내부 컴파일러 오류가 보고된 줄에서 구문 오류를 찾습니다.
  • MIDL 컴파일러가 지정된 최적화 옵션에서 올바른 코드를 생성할 수 없습니다. 컴파일러 모드를 변경하거나, 혼합 모드 최적화(/Os)에서 컴파일하거나, 모든 최적화를 제거해 보세요. 또는 /NO_FORMAT_OPT 플래그를 사용하여 다시 컴파일하여 MIDL의 프로시저 및 형식 설명자에 대한 기본 최적화를 표시하지 않습니다.
경우에 따라 이 오류는 IDL 파일이 올바르고 최적화 옵션이 사용되지 않는 경우에도 발생합니다. 이 경우 최근 수정 내용을 제거하거나, 데이터 형식을 단순화하거나 다시 정렬하거나, 프로토타입을 변경하거나, IDL 파일의 일부를 주석 처리하여 문제 코드를 찾아 오류를 보고한 부근의 코드 섹션을 다시 작성해 보세요.
이러한 옵션이 작동하지 않거나 문제가 Midl.exe 버그와 관련이 있다고 생각되는 경우 Microsoft에 알리고 모든 관련 세부 정보를 제공하세요.