Click to See Complete Forum and Search --> : Devnames struct and VB.NET


cyberstrike
November 25th, 2002, 07:45 AM
There is a function GetHDevNames() in printersettings namespace. Can anyone
help me find how to interpret the unmanaged structure by .Net program
after returned from the call.

Anyone know what I'm doing wrong?

I get the calls back fine, but printerinfo.extra just includes junk
characters.

I got code like this...

Public Structure DevNames
Dim wDriverOffset As Integer
Dim wDeviceOffset As Integer
Dim wOutputOffset As Integer
Dim wDefault As Integer
<VBFixedString(100), System.Runtime.InteropServices.MarshalAs
(System.Runtime.InteropServices.UnmanagedType.ByValTStr, SizeConst:=100)> Dim
extra As String
End Structure



Dim PrinterInfo As New DevNames()
Dim PrinterInfoHandle As New IntPtr()


PrnSelect.Document = PrnSelectOptions
PrnSelect.ShowDialog()
PrinterInfoHandle =
PrnSelect.Document.PrinterSettings.GetHdevnames()
MsgBox(PrinterInfo.GetType.ToString)
PrinterInfo = Marshal.PtrToStructure(PrinterInfoHandle,
PrinterInfo.GetType)
'MsgBox(PrinterInfo.wDeviceOffset)

MsgBox(PrinterInfo.extra)