NetSHareAdd Fail

Psk

New Member
I'm traying to share a folder in my pc using progress 9.1d.
I use the following code.
Can anyone tell why this code doesn't work ok.

Thanks

/*CODE TO SHARE A FOLDER*/

/*Nombre de la estructura de datos*/
DEFINE VAR SHARE_INFO_2 AS MEMPTR.

/*Nombre de los punteros de la estructura de datos*/
DEFINE VARIABLE NombreRecursoDeRed AS MEMPTR.
DEFINE VARIABLE Comentario AS MEMPTR.
DEFINE VARIABLE Path AS MEMPTR.
DEFINE VARIABLE Password AS MEMPTR.

/*Variables para llamar a la API*/
DEFINE VARIABLE elError AS INTEGER.
DEFINE VARIABLE elnStatus AS INTEGER.

/*Se supone que esta es la API para el Win98 "Svrapi"*/
PROCEDURE NetShareAdd EXTERNAL "netapi32":
DEFINE INPUT PARAMETER servername AS CHARACTER.
DEFINE INPUT PARAMETER level AS LONG.
DEFINE INPUT PARAMETER buf AS MEMPTR.
DEFINE OUTPUT PARAMETER parmerr AS LONG.
DEFINE RETURN PARAMETER nStatus AS LONG.
END PROCEDURE.

/*Inicializar nombre recurso de red*/
SET-SIZE(NombreRecursoDeRed) = 255.
PUT-STRING(NombreRecursoDeRed,1) = "Isi".

/*Inicializar el Comentario*/
SET-SIZE(Comentario) = 255.
PUT-STRING(Comentario,1) = "Isi".

/*Inicializar el path*/
SET-SIZE(Path) = 255.
PUT-STRING(Path,1) = "c:\isi".

/*Inicializar el password*/
SET-SIZE(Password) = 255.
PUT-STRING(Password,1) = "".

/*Dar el tamaño a la estructura (Un long son 4 bytes) */
SET-SIZE(SHARE_INFO_2) = 4 * 8.
PUT-LONG(SHARE_INFO_2,1) = GET-POINTER-VALUE(NombreRecursoDeRed).
PUT-LONG(SHARE_INFO_2,5) = 0.
PUT-LONG(SHARE_INFO_2,9) = GET-POINTER-VALUE(Comentario).
PUT-LONG(SHARE_INFO_2,13) = 127.
PUT-LONG(SHARE_INFO_2,17) = -1.
PUT-LONG(SHARE_INFO_2,21) = 0.
PUT-LONG(SHARE_INFO_2,25) = GET-POINTER-VALUE(Path).
PUT-LONG(SHARE_INFO_2,29) = GET-POINTER-VALUE(Password).

RUN NetShareAdd (INPUT "",INPUT 2,INPUT SHARE_INFO_2,OUTPUT elError,OUTPUT elnStatus).

MESSAGE elError
elnstatus VIEW-AS ALERT-BOX.

/*Liberar memoria*/
SET-SIZE(NombreRecursoDeRed) = 0.
SET-SIZE(Comentario) = 0.
SET-SIZE(Path) = 0.
SET-SIZE(Password) = 0.
SET-SIZE(SHARE_INFO_2) = 0.
 
Back
Top