DllImportAttribute.ExactSpelling DllImportAttribute.ExactSpelling DllImportAttribute.ExactSpelling DllImportAttribute.ExactSpelling Field

정의

CharSet 필드로 인해 공용 언어 런타임이 지정된 이름 이외의 진입점 이름을 관리되지 않는 DLL에서 검색할지 여부를 제어합니다.Controls whether the CharSet field causes the common language runtime to search an unmanaged DLL for entry-point names other than the one specified.

public: bool ExactSpelling;
public bool ExactSpelling;
val mutable ExactSpelling : bool
Public ExactSpelling As Boolean 

필드 값

예제

경우에 따라 Visual Basic 개발자는 다음과 같이 사용 됩니다.는 DllImportAttribute를 사용 하는 대신는 Declare 문을, 관리 코드에서 DLL 함수를 정의 합니다.In some cases, Visual Basic developers use the DllImportAttribute, instead of using the Declare statement, to define a DLL function in managed code. 설정 된 ExactSpelling 필드는 이러한 사례 중 하나입니다.Setting the ExactSpelling field is one of those cases.

[DllImport("user32.dll", CharSet = CharSet::Ansi, ExactSpelling = true)]
int MessageBoxA(IntPtr hWnd, String^ Text,
    String^ Caption, unsigned int Type);
internal static class NativeMethods
{
    [DllImport("user32.dll", CharSet = CharSet.Unicode,
        ExactSpelling = true)]
    internal static extern int MessageBoxW(
        IntPtr hWnd, string lpText, string lpCption, uint uType);
}
Friend Class NativeMethods
    <DllImport("user32.dll", ExactSpelling:=False)>
    Friend Shared Function MessageBox(hWnd As IntPtr, lpText As String,
        lpCaption As String, uType As UInteger) As Integer
    End Function
End Class

설명

경우 false, 문자 A 사용 하 여 추가 진입점 이름을 호출 되 때를 DllImportAttribute.CharSet 필드 설정 됩니다 CharSet.Ansi, W 문자로 추가 진입점 이름을 호출 되 고 때를 DllImportAttribute.CharSet 필드 설정 됩니다는 CharSet.Unicode합니다.If false, the entry point name appended with the letter A is invoked when the DllImportAttribute.CharSet field is set to CharSet.Ansi, and the entry-point name appended with the letter W is invoked when the DllImportAttribute.CharSet field is set to the CharSet.Unicode. 일반적으로 관리 되는 컴파일러는이 필드를 설정합니다.Typically, managed compilers set this field.

다음 표에서 간의 관계를 보여 줍니다.는 CharSetExactSpelling 필드, 프로그래밍 언어에서 적용 되는 기본 값을 기반으로 합니다.The following table shows the relationship between the CharSet and ExactSpelling fields, based on default values imposed by the programming language. 기본 설정을 재정의할 수 있지만 주의 해야 합니다.You can override the default setting, but do so with caution.

언어Language ANSIANSI 유니코드(Unicode)Unicode 자동Auto
Visual BasicVisual Basic ExactSpelling:=TrueExactSpelling:=True ExactSpelling:=TrueExactSpelling:=True ExactSpelling:=FalseExactSpelling:=False
C#C# ExactSpelling=falseExactSpelling=false ExactSpelling=falseExactSpelling=false ExactSpelling=falseExactSpelling=false
C++C++ ExactSpelling=falseExactSpelling=false ExactSpelling=falseExactSpelling=false ExactSpelling=falseExactSpelling=false

적용 대상