Visual Basic Foro

Programación => Visual Basic 6 => Mensaje iniciado por: Dessa en Febrero 19, 2010, 02:23:26 pm

Título: CreateFile
Publicado por: Dessa en Febrero 19, 2010, 02:23:26 pm
Hola, tengo una duda con el rotorno de CreateFile, estoy tratando de hacer funcion específica (serial verdadero de discos rigidos instalados en el sistema), para esto estoy usando como guia un modulo de clase en el que su autor se refiere en una de sus funciones a que si el retono de CreateFile = 0 (cero) Then "error en createfile", hasta aquí todo bien pero si uso un lpfilename inexistente el retono es -1, lo mismo si intento usar la funcion en W7 con UAC activado el retorno es -1 ...

Puntualmente, la pregunta es: puede createfile retornar 0 (cero) en un Win NT ?

Gracias y saludos

   
Título: Re:CreateFile
Publicado por: coco en Febrero 19, 2010, 02:28:04 pm
Hola, tengo una duda con el rotorno de CreateFile, estoy tratando de hacer funcion específica (serial verdadero de discos rigidos instalados en el sistema), para esto estoy usando como guia un modulo de clase en el que su autor se refiere en una de sus funciones a que si el retono de CreateFile = 0 (cero) Then "error en createfile", hasta aquí todo bien pero si uso un lpfilename inexistente el retono es -1, lo mismo si intento usar la funcion en W7 con UAC activado el retorno es -1 ...

Puntualmente, la pregunta es: puede createfile retornar 0 (cero) en un Win NT ?

Gracias y saludos

   

No entendi del todo, pero fijate si te sirve:

Citar
If the function succeeds, the return value is an open handle to the specified file. If the specified file exists before the function call and dwCreationDistribution is CREATE_ALWAYS or OPEN_ALWAYS, a call to GetLastError returns ERROR_ALREADY_EXISTS (even though the function has succeeded). If the file does not exist before the call, GetLastError returns zero.
Título: Re:CreateFile
Publicado por: Dessa en Febrero 19, 2010, 02:38:08 pm
Return value del Apiguide, si era un perro me mordía, gracias coco, era eso.
Título: Re:CreateFile
Publicado por: cobein en Febrero 19, 2010, 04:29:56 pm
-1 es invalid handle value y es basicamente cuando falla
Título: Re:CreateFile
Publicado por: Dessa en Febrero 19, 2010, 04:44:48 pm
If ret = 0 Or ret = -1 Then Exit Function ?

o puedo retirar el cero del if ?


Título: Re:CreateFile
Publicado por: cobein en Febrero 19, 2010, 07:15:25 pm
Para la proxima usa MSDN es mas rapido y no hay necesidad de quedarse con dudas.

Return Value

If the function succeeds, the return value is an open handle to the specified file, device, named pipe, or mail slot.

If the function fails, the return value is INVALID_HANDLE_VALUE. To get extended error information, call GetLastError.
Título: Re:CreateFile
Publicado por: Dessa en Febrero 19, 2010, 07:54:14 pm
Las dudas me la creó el autor de la clase con el retorno cero, por supusto que lo respeto, pero la practica me devuelve -1. Por eso pense que si alguien tenia claro el tema (en la practica) me podia ayudar mas que la teoria del MSDN.

Gracias por las respuestas Cobein y coco.