DllImportAttribute.CharSet 필드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
문자열 매개 변수를 메서드로 마샬링하는 방법을 지정하고 이름 관리를 제어합니다.
public: System::Runtime::InteropServices::CharSet CharSet;
public System.Runtime.InteropServices.CharSet CharSet;
val mutable CharSet : System.Runtime.InteropServices.CharSet
Public CharSet As CharSet
필드 값
예제
다음 코드 예제에서는 특성을 사용하여 DllImportAttribute Win32 MessageBox
함수를 가져오는 방법을 보여줍니다. 그런 다음, 코드 예제는 가져온 메서드를 호출합니다.
using System;
using System.Runtime.InteropServices;
class Example
{
// Use DllImport to import the Win32 MessageBox function.
[DllImport("user32.dll", CharSet = CharSet.Unicode)]
public static extern int MessageBox(IntPtr hWnd, String text, String caption, uint type);
static void Main()
{
// Call the MessageBox function using platform invoke.
MessageBox(new IntPtr(0), "Hello World!", "Hello Dialog", 0);
}
}
Imports System.Runtime.InteropServices
Module Example
' Use DllImport to import the Win32 MessageBox function.
<DllImport("user32.dll", CharSet:=CharSet.Unicode)> _
Function MessageBox(ByVal hwnd As IntPtr, ByVal t As String, ByVal caption As String, ByVal t2 As UInt32) As Integer
End Function
Sub Main()
' Call the MessageBox function using platform invoke.
MessageBox(New IntPtr(0), "Hello World!", "Hello Dialog", 0)
End Sub
End Module
설명
이 필드를 열거형의 CharSet 멤버와 함께 사용하여 문자열 매개 변수의 마샬링 동작을 지정하고 호출할 진입점 이름(지정된 정확한 이름 또는 "A" 또는 "W"로 끝나는 이름)을 지정합니다. C# 및 Visual Basic의 기본 열거형 멤버는 CharSet.Ansi
이며 C++의 기본 열거형 멤버는 CharSet.None
와 동일합니다 CharSet.Ansi
. Visual Basic에서는 문을 사용하여 Declare
필드를 지정합니다 CharSet
.
ExactSpelling 필드는 호출할 진입점 이름을 결정할 때 필드의 CharSet
동작에 영향을 줍니다. 필드와 연결된 문자열 마샬링 및 이름 일치 동작에 대한 자세한 설명과 예제는 CharSet
문자 집합 지정을 참조하세요.
적용 대상
추가 정보
GitHub에서 Microsoft와 공동 작업
이 콘텐츠의 원본은 GitHub에서 찾을 수 있으며, 여기서 문제와 끌어오기 요청을 만들고 검토할 수도 있습니다. 자세한 내용은 참여자 가이드를 참조하세요.
.NET