BUG: Visual C++ .NET 컴파일러 두 다른 네이티브 형식에 대해 같은 부울 반환 형식을 생성한다합니다

기술 자료 번역 기술 자료 번역
기술 자료: 327097 - 이 문서가 적용되는 제품 보기.
모두 확대 | 모두 축소

이 페이지에서

현상

둘 다 Visual C++ .NET 컴파일러에서 생성하는 NATIVE_TYPE_U1NATIVE_TYPE_VARIANTBOOL 같은 부울 위해 함께 MarshalAs(UnmanagedType::VariantBool) 표시된 형식을 반환합니다.

현재 상태

Microsoft는 Microsoft 버그가 있음을 확인했습니다 이 문서의 시작 부분에 나열된 제품에.

추가 정보

Windows Mobile 기반 스마트폰에 GPRS 연결이 구성되어 있는지 확인합니다

  1. 새 Managed C++ 응용 프로그램을 Visual C++ .NET에서 만든 TestBoolean 라는 프로젝트.
  2. 솔루션 탐색기에서 TestBoolean.cpp 파일을 두 번 클릭한 다음 해당 파일에서 코드를 다음 코드로 바꿉니다:
    // This is the main project file for the Visual C++ Application project that is 
    // generated by using an Application Wizard.
    
    #include "stdafx.h"
    
    #using <mscorlib.dll>
    #include <tchar.h>
    
    using namespace System;
    
    __gc class TestBoolean
    {
    public:
    	[returnvalue:System::Runtime::InteropServices::MarshalAs
    	(System::Runtime::InteropServices::UnmanagedType::VariantBool)]
    	bool RetValBoolean ([System::Runtime::InteropServices::MarshalAs
    	(System::Runtime::InteropServices::UnmanagedType::VariantBool)] bool b)
    	{
    		return b;
    	}
    };
    
    int _tmain(void)
    {
    	TestBoolean *test = new TestBoolean();
    	Console::WriteLine(test->RetValBoolean(true));
    	return 0;
    }
    						
  3. 프로젝트를 빌드하려면 Ctrl + Shift + B 를 누릅니다.
  4. 명령 프롬프트에서 다음을 입력하십시오:
    	c:\>ildasm.exe /adv
    						
    이것은 ildasm을 고급 모드로 시작합니다.
  5. TestBoolean.exe의 ildasm을 엽니다.

  6. 보기 메뉴에서 Metalnfo 클릭한 다음 표시!.

    생성된 메타데이터를 검사하십시오. 컴파일러에서 반환 값은 두 가지 네이티브 형식의 내보냅니다 참조하십시오.
    Global fields
    -------------------------------------------------------
    
    Global MemberRefs
    -------------------------------------------------------
    
    TypeDef #1
    -------------------------------------------------------
    	TypDefName: TestBoolean  (02000002)
    	Flags     : [NotPublic] [AutoLayout] [Class] [AnsiClass]  (00000000)
    	Extends   : 01000008 [TypeRef] System.Object
    	Method #1 
    	-------------------------------------------------------
    		MethodName: RetValBoolean (06000003)
    		Flags     : [Public] [ReuseSlot]  (00000006)
    		RVA       : 0x00001000
    		ImplFlags : [IL] [Managed]  (00000000)
    		CallCnvntn: [DEFAULT]
    		hasThis 
    		ReturnType: Boolean
    		1 Arguments
    			Argument #1:  Boolean
    		3 Parameters
    			(0) ParamToken : (08000001) Name :  flags: [HasFieldMarshal]  (00002000)
    				NATIVE_TYPE_U1 
    			(0) ParamToken : (08000002) Name :  flags: [HasFieldMarshal]  (00002000)
    				NATIVE_TYPE_VARIANTBOOL 
    			(1) ParamToken : (08000003) Name : b flags: [HasFieldMarshal]  (00002000)
    				NATIVE_TYPE_VARIANTBOOL 
    					

속성

기술 자료: 327097 - 마지막 검토: 2005년 9월 27일 화요일 - 수정: 1.6
본 문서의 정보는 다음의 제품에 적용됩니다.
  • Microsoft Visual C++ .NET 2002 Standard Edition
  • Microsoft Visual C++ .NET 2003 Standard Edition
키워드:?
kbmt kbhotfixserver kbqfe kbbug kbcominterop kbnofix KB327097 KbMtko
기계 번역된 문서
중요: 본 문서는 전문 번역가가 번역한 것이 아니라 Microsoft 기계 번역 소프트웨어로 번역한 것입니다. Microsoft는 번역가가 번역한 문서 및 기계 번역된 문서를 모두 제공하므로 Microsoft 기술 자료에 있는 모든 문서를 한글로 접할 수 있습니다. 그러나 기계 번역 문서가 항상 완벽한 것은 아닙니다. 따라서 기계 번역 문서에는 마치 외국인이 한국어로 말할 때 실수를 하는 것처럼 어휘, 구문 또는 문법에 오류가 있을 수 있습니다. Microsoft는 내용상의 오역 또는 Microsoft 고객이 이러한 오역을 사용함으로써 발생하는 부 정확성, 오류 또는 손해에 대해 책임을 지지 않습니다. Microsoft는 이러한 문제를 해결하기 위해 기계 번역 소프트웨어를 자주 업데이트하고 있습니다.

피드백 보내기

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com