• Viernes 8 de Noviembre de 2024, 21:49

Autor Tema:  duda con _SECURITY_ATTRIBUTES  (Leído 1220 veces)

dhararon

  • Nuevo Miembro
  • *
  • Mensajes: 5
    • Ver Perfil
duda con _SECURITY_ATTRIBUTES
« en: Viernes 31 de Octubre de 2008, 17:55 »
0
Hola amigos, aqui con ustedes nuevamente, tengo un problema, quiero utilizar

CreateFiles(), pero al momento de compilar marca como que no esta especificada la struct de SECURITY_ATTRIBUTES, asi que investigue pero no se como emplear esta estructura
Código: Text
  1.  
  2. typedef struct _SECURITY_ATTRIBUTES { // sa
  3.     DWORD  nLength;
  4.     LPVOID lpSecurityDescriptor;
  5.     BOOL   bInheritHandle;
  6. } SECURITY_ATTRIBUTES;
  7.  

lo que yo hice fue:

Código: Text
  1. char *seg;
  2. bool are=true;
  3. seg =struct {5000,NULL,are}SECURITY_ATTRIBUTES;
  4.  
  5.  
Pero me marca error,  se que estoy mal en omo se emplea la struct, pero casi no uso ese codigo y no recuerdo como tiene que estar.

Gracias por ayudarme.

Eternal Idol

  • Moderador
  • ******
  • Mensajes: 4696
  • Nacionalidad: ar
    • Ver Perfil
Re: duda con _SECURITY_ATTRIBUTES
« Respuesta #1 en: Viernes 31 de Octubre de 2008, 18:15 »
0
Lo que tenes que pasar es un LPSECURITY_ATTRIBUTES es decir un puntero a esa estructura (LP=LONG POINTER), la mayoria de las veces se pasa simplemente 0  :lol:

Sino hay dos formas de hacerlo, con una variable estatica:
SECURITY_ATTRIBUTES fAttr;
CreateFile(fName, fAcess, fShare, &fAttr, fCreation, fFlags, 0);

O con memoria dinamica:
LPSECURITY_ATTRIBUTES fAttr = new SECURITY_ATTRIBUTES; //o malloc de sizeof(SECURITY_ATTRIBUTES)
CreateFile(fName, fAccess, fShare, fAttr, fCreation, fFlags, 0);
delete fAttr; //o free


Obviamente tenes que darle los valores correspondientes a los miembros de la estructura si la pasas.

Nacional y Popular En mi país la bandera de Eva es inmortal.


Queremos una Argentina socialmente justa, económicamente libre y  políticamente soberana.
¡Perón cumple, Evita dignifica!


La mano invisible del mercado me robo la billetera.