Pozdrav, imam pitanje, zanima me zasto treba kod ovoga pointer (zvjezdica) FILE * file, a kod HKEY hKey netreba (ako ga stavim, onda ne radi)?
Po čemu to mogu znati gdje moram staviti zvjezdicu, a gdje ne?
Pozdrav, imam pitanje, zanima me zasto treba kod ovoga pointer (zvjezdica) FILE * file, a kod HKEY hKey netreba (ako ga stavim, onda ne radi)?
Po čemu to mogu znati gdje moram staviti zvjezdicu, a gdje ne?
WTF, o čemu ti, o win32 Registry APIju?. Koliko znam HKEY je samo još jedan tip HANDLE-a u windowsima, a oni su uvjek ako me sječanje dobro služi, samo nekakvi brojevi (long ili int) kojim windowsi barataju interno. A ne pointeri.
Osim ako ne pišeš neku svoju funkciju kojoj prosljeđuješ HKEY kao referencu ili pointer?
Je, o win32 registry APIju, a kaj onda tocno predstavlja ova zvjezdica, pa kaj nije to oznaka za pointere inače i zasto se tu bas koristi, zasto ne radi bez nje?
Inače pišem funkciju koja bi citala odredene stvari iz registryja ...
a kaj onda tocno predstavlja ova zvjezdica, pa kaj nije to oznaka za pointere inače i zasto se tu bas koristi, zasto ne radi bez nje?
File handle je u stvari obicna struktura koja u sebi sadrzi neke bitne informacije o otvorenoj datoteci. Definiras ga kao pointer na strukturu zato sto standardne C funkcije koje rade s datotekama ocekuju pointer na strukturu, a ne strukturu sâmu.
vise o tome ces naci ovdje:
HKEY već je pointer i to void *.
Možda nešto propuštam, al gdje je ovdje *void ?
DECLARE_HANDLE(HKEY);
typedef HKEY *PHKEY;
#define DECLARE_HANDLE(name) struct name##__{int unused;}; typedef struct name##__ *name
Gle stvarno. Zanimljivo. Ovakvu grešku u MSDN-u nisam dugo vidio. Jesi vidio komentare na dnu, posebno onaj prvi.
Vidi se da su u MSu malo zapostavili c++ i win32. Al bude sigurno bolje uskoro sa novom specifikacijom c++a, kad c++ bude ponovno in :-)