Please see my comment to the question. You have a different problem, lack of pinning of
&ContextP.szDevLink
which may create some nasty problems which are hard to debug. Do it this way:
unsafe
{
char[] devicePath = DetailData.DevicePath.ToCharArray();
Debug.WriteLine(devicePath[0]);
fixed (byte* pointer = &ContextP.szDevLink) {
Debug.WriteLine((int)pointer);
for (byte loop = 0; loop <= DetailData.DevicePath.Length - 1; loop++)
{
*pointer = (byte)devicePath[loop];
pointer++;
}
}
}
Please see:
http://msdn.microsoft.com/en-us/library/f58wzh21%28v=vs.100%29.aspx[
^].
—SA