/osf 스위치
/osf 스위치는 OSF DCE와의 엄격한 호환성을 강제합니다.
midl /osf
이 스위치에는 매개 변수가 없습니다.
이식성을 위해 애플리케이션에서 OSF DCE와의 엄격한 호환성이 필요한 경우 이 스위치를 사용합니다.
/osf 모드에서는 전체 포인터를 사용하거나 인수에 메모리 할당이 필요하거나 enable_allocate 특성을 사용할 때 RpcSs 패키지가 자동으로 사용하도록 설정됩니다. 즉, 클라이언트 및 서버 애플리케이션에서 midl_user_allocate 및 midl_user_free 함수를 제공할 필요가 없습니다.
/osf 스위치로 컴파일할 때는 다음 Microsoft 확장 기능을 사용할 수 없습니다.
- IDL 파일의 추상 선언자(명명되지 않은 매개 변수)입니다.
- COM 개체에 대한 인터페이스 정의입니다.
- 17자를 초과하는 인터페이스 이름입니다.
- MIDL 전용 특성(예: wire_marshal, user_marshal 및 ODL(typelib) 확장)
- IDL 파일에서 ACF 키워드 사용(MIDL /app_config 옵션)
- 클라이언트의 정적 콜백 함수입니다.
- 비동기 특성입니다.
- cpp_quote 및 #pragma midl_echo.
- 와이드 문자 형식, 상수 및 문자열을 wchar_t.
- 열거형 초기화(스파스 열거자).
- out-only 크기 사양입니다.
- 혼합된 크기 포인터 및 크기가 조정된 배열입니다.
- 크기 및 판별자 지정자에 사용되는 식입니다.
- 인수 목록의 모든 위치에서 매개 변수를 명시적으로 처리합니다. /osf 모드에서 MIDL 컴파일러는 명시적 바인딩 핸들을 첫 번째 매개 변수로 찾습니다. 첫 번째 매개 변수가 바인딩 핸들이 아니고 하나 이상의 컨텍스트 핸들을 지정하면 맨 왼쪽 컨텍스트 핸들이 바인딩 핸들로 사용됩니다. 첫 번째 매개 변수가 핸들이 아니고 컨텍스트 핸들이 없는 경우 프로시저는 ACF 특성 implicit_handle 또는 auto_handle 사용하여 암시적 바인딩을 사용합니다.
- 포인터 특성 형식 상속입니다. OSF DCE는 배포되지 않은 포인터를 허용하지 않습니다. 따라서 /osf 모드에서 각 IDL 파일은 포인터에 대한 특성을 정의해야 합니다. 포인터에 명시적 특성이 없는 경우 IDL 파일에 포인터 형식을 설정하려면 pointer_default 사양이 있어야 합니다.
- IDL 파일의 여러 인터페이스.
- 인터페이스 블록 외부의 정의입니다.
- far 및 stdcall과 같은 한정자를 입력합니다.
- 방향 특성을 생략합니다.
/osf 스위치로 컴파일할 때는 다음 C/C++ 언어 확장을 사용할 수 없습니다.
- 구조체 및 공용 구조체의 비트 필드입니다.
- 슬래시 문자 2개(//)로 구분된 한 줄 주석입니다.
- 외부 선언.
- 매개 변수 목록에 타원이 있는 프로시저입니다.
- int를 입력합니다.
- void *를 입력합니다(context_handle 특성 제외).
- ANSI 호환 접두사를 사용하는 폼을 포함한 형식 한정자에는 두 개의 밑줄 문자인 __cdecl, cdecl, const, const, __export, 내보내기, __far, 원거리, __loadds, 로드,__near, 근거리, __pascal, 파스칼, __stdcall, stdcall, __volatile 및 휘발성 문자가 포함됩니다.
- # pragma 경고 또는 #pragma 주석
- serialization을 입력합니다.
- __int3264 데이터 형식입니다.
- /protocol 스위치 및 ndr64 전송 구문입니다.
midl /osf filename.idl
midl /osf /app_config filename.idl