| Mirko Pozzetti |
Interop
Salve a tutti, devo creare una nuova porta di stampa da codice, ho trovato la seguente API
Public Declare Auto Function AddPortEx Lib "winspool.drv" _ Alias "AddPortExA" _ (ByVal pName As String, _ ByVal pLevel As Long, _ ByVal lpBuffer As Any, _ ByVal pMonitorName As String) As Long dove lpBuffer è la seguente Structure <System.Runtime.InteropServices.StructLayout(Runtime.InteropServices.LayoutKind.Sequential, Pack:=1)> _ Public Structure PORT_INFO_1 Public pPortName As String End Structure Il problema è che la porta non viene creata. Credo che ci sia un errore nel passaggio dei parametri ma non so dove. L'API utilizzata in VB6 funziona senza problemi. Qualcuno saprebbe darmi una mano? Grazie a tutti. Ciao. |
| Corrado Cavalli [MVP] |
Re: Interop
Premessa: "The AddPortEx function is out of date and for use only with Windows NT 4.0 and previous versions" da MSDN: BOOL (WINAPI *pfnAddPortEx)( HANDLE hMonitor //MONITOR2 only LPWSTR pName, DWORD Level, LPBYTE lpBuffer, LPWSTR lpMonitorName ); Public Declare Auto Function AddPortEx(ByVal pName as String,byval level as Int32, byval lpBuffer as PORT_INFO_1,byval lpMonitorName as string) <System.Runtime.InteropServices.StructLayout(Runtime.InteropServices.LayoutK ind. Sequential, Pack:=1)> _ Public Structure PORT_INFO_1 < MarshalAs( UnmanagedType.LPStr, SizeConst:=3 )>Public pPortName As String End Structure Non l'ho provata... HTH -- Corrado Cavalli [Microsoft .NET MVP-MCP] UGIdotNET - http://www.ugidotnet.org Weblog: http://www.ugidotnet.org/710.blog ---------------------- Questo messaggio è stato postato da microsoft.public.it.dotnet.vb. |