Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (WinAPI, Konsole) » Security_attributes?

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
08.08.2002, 13:04 Uhr
XX



Hi,
prog. den parallelen Port. Da aus Sicherheitstechn. Gründen NT u. 2000 den direkten Zugriff über _outp nicht gestattet verwende ich CreateFile unt WriteFile. Anscheinend sin meine SECURITY_ATTRIBUTES falsch gesetzt. Hat jemand eine Ahnung was hier nich stimmt:


C++:
SECURITY_ATTRIBUTES SA;
SA.nLength              = sizeof(SA);
SA.bInheritHandle       = TRUE;
SA.lpSecurityDescriptor = NULL;


Er verabschiedet sich bei meinem Write Zugriff. CreateFile erzugt mir ein gültiges HANDLE. Beim WriteFile bleibt er dann hängen (ohne Fehlermeldung!)
Sind ev. die Defaultwerte des Descriptor (lpSecurityDescriptor0NULL) nicht richtig bzw. für meinen Fall zu verändern?
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
08.08.2002, 16:21 Uhr
ulli



CreateFile() und ein Druckerport???
wie hast Du das denn hinbekommen?
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
08.08.2002, 16:42 Uhr
Christian
C/C++ Master
(Operator)


Hi!

Poste doch mal deinen kopletten Code wie du etwas über den ParallelPort senden willst.

Grüße
--
Grüße, Christian
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
08.08.2002, 16:49 Uhr
XX




Zitat:
Christian postete
Hi!

Poste doch mal deinen kopletten Code wie du etwas über den ParallelPort senden willst.

Grüße



Habe es so gehalten wie bei der seriellen Kommunikation, welche ich kürzlich prog habe. Sie fkt. Denke das es keinen Unterschied macht welchen Port ich mit CreateFile ansprechen will.
Hier die Codeschnipsel.

C++:

  DWORD nWrite;
  UINT xWrite[1];
  xWrite[0] = 1;

   SECURITY_ATTRIBUTES SA;

   SA.nLength              = sizeof(SA);
   SA.bInheritHandle       = TRUE;
   SA.lpSecurityDescriptor = NULL;
  

    m_hComm = CreateFile( UsedPort,  
                          GENERIC_WRITE,
                          0,
                          &SA,
                          OPEN_EXISTING,
                          FILE_ATTRIBUTE_NORMAL,  
                          NULL);

   WriteFile(m_hComm, xWrite, 1, &nWrite, NULL);
        


Bin für jede Hilfe dankbar

Dieser Post wurde am 08.08.2002 um 16:50 Uhr von XX editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
08.08.2002, 23:39 Uhr
Christian
C/C++ Master
(Operator)


Hi!

Also bei mir funktioniert bereits folgender Code:

Code:
CString sPort;
sPort.Format(_T("\\\\.\\LPT%d"), nPort);
m_hPort = CreateFile(sPort, GENERIC_READ | GENERIC_WRITE, 0, NULL, OPEN_EXISTING, 0, NULL);



Weshalb willst du die SECURITY_ATTRIBUTES nutzen? Welchen Sinn soll das in diesem Fall haben?

Grüße
--
Grüße, Christian
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
09.08.2002, 11:04 Uhr
XX




Code:
CString sPort;
sPort.Format(_T("\\\\.\\LPT%d"), nPort);
m_hPort = CreateFile(sPort, GENERIC_READ | GENERIC_WRITE, 0, NULL, OPEN_EXISTING, 0, NULL);



Hi,
wie gesagt das CreateFile funktioniert und ich bekomme auch ein gültiges HANDLE. Fkt. also auch mit Deinem Code. Aber wie ich weiter oben erwähnte bleibt er bei einem Zugriff auf den entsprechenden Port mit WriteFile ohne Fehlermeldung hängen.
SECURITY_ATTRIBUTES werden meines Wissens für NT/2000 Systeme verwendet um den lästigen Sicherheitsbestimmungen genüge zu tun. Es ist ja unter NT Systemen und Abkömlingen nicht möglich direkt auf den Port zb. mit _outp zu zugreifen eben wegen dieser Sicherheitseinstellungen.
Denke es kann nur an dieser Problematik liegen kann da die anderen Parameter
von CreateFile und WriteFile bei falscher Verwendung einen Fehler produzieren oder wenigstes Schrott in einer Var ablegen.
cu
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (WinAPI, Konsole) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: