Hola!
Hace mucho que no escribía en el foro, pero ya no sé por donde tirar así que he decidido pedir ayuda.
Estoy intentando mapear una impresora de red usando WNetAddConnection2W. Recibe como parámetros un NetResource, passw, usuario, y un dwFlag (DWORD).
Le paso el net resource con esta estructura:
Código Delphi
[-]
NetResource.dwType := RESOURCETYPE_PRINT;
LPTx := LPTx + 1;
NetResource.lpLocalName := PWideChar(WideString('LPT' + IntToStr(LPTx) + ':'));
NetResource.lpRemoteName := PWideChar(WideString(NombreRecurso)); NetResource.lpProvider := PWideChar(WideString(''));
Le paso el Password y Usuario en blanco.
Y como dwFlag le paso CONNECT_INTERACTIVE;
El problema que tengo es que me agrega el recurso y lo veo haciendo un net use desde la consola(cmd), pero el recurso no me aparece como impresora.
En otro proceso, busco las impresoras con:
Código Delphi
[-]
objWMIService := GetWMIObject('winmgmts:\\localhost\root\CIMV2');
colItems := objWMIService.ExecQuery('SELECT * FROM Win32_Printer','WQL',0);
oEnum := IUnknown(colItems._NewEnum) as IEnumVariant;
Y el recurso no me aparece.
Que me falta para que el recurso se me cree como impresora? He tirado de la ayuda me la msdn de la funcion WNetAddConnection2W y aparentemente todo es correcto.
Muchas gracias por todo.
Raúl.