You write the following code segment to call a function from the Win32 Application rogramming
Interface (API) by using platform invoke.
string personName = “N?el”;string msg = “Welcome” + personName + “to club”!”;bool rc =
User32API.MessageBox(0, msg, personName, 0); You need to define a method prototype that
can best marshal the string data. Which code segment should you use?
A. [DllImport("user32", CharSet = CharSet.Ansi)]public static extern bool
MessageBox(int hWnd,
String text,
String caption,
uint type);}
B. [DllImport("user32", EntryPoint = "MessageBoxA", CharSet = CharSet.Ansi)]public
static extern bool MessageBox(int hWnd,
[MarshalAs(UnmanagedType.LPWStr)]String text,
[MarshalAs(UnmanagedType.LPWStr)]String caption,
uint type);}
C. [DllImport("user32", CharSet = CharSet.Unicode)]public static extern bool
MessageBox(int hWnd,
Page 14 of 114
String text,
String caption,
uint type);}
D. [DllImport("user32", EntryPoint = "MessageBoxA", CharSet =
CharSet.Unicode)]public static extern bool MessageBox(int hWnd,
[MarshalAs(UnmanagedType.LPWStr)]String text,
[MarshalAs(UnmanagedType.LPWStr)]String caption,
uint type);}
Answer: C
Interface (API) by using platform invoke.
string personName = “N?el”;string msg = “Welcome” + personName + “to club”!”;bool rc =
User32API.MessageBox(0, msg, personName, 0); You need to define a method prototype that
can best marshal the string data. Which code segment should you use?
A. [DllImport("user32", CharSet = CharSet.Ansi)]public static extern bool
MessageBox(int hWnd,
String text,
String caption,
uint type);}
B. [DllImport("user32", EntryPoint = "MessageBoxA", CharSet = CharSet.Ansi)]public
static extern bool MessageBox(int hWnd,
[MarshalAs(UnmanagedType.LPWStr)]String text,
[MarshalAs(UnmanagedType.LPWStr)]String caption,
uint type);}
C. [DllImport("user32", CharSet = CharSet.Unicode)]public static extern bool
MessageBox(int hWnd,
Page 14 of 114
String text,
String caption,
uint type);}
D. [DllImport("user32", EntryPoint = "MessageBoxA", CharSet =
CharSet.Unicode)]public static extern bool MessageBox(int hWnd,
[MarshalAs(UnmanagedType.LPWStr)]String text,
[MarshalAs(UnmanagedType.LPWStr)]String caption,
uint type);}
Answer: C
No comments:
Post a Comment