FILE? Koje Win32 funkcije vracaju FILE?
Ja se secam samo CRT f-ja koje su deo C biblioteka i nisu kompatibilne sa Win32 API-jem (interno, naravno, C biblioteka implementira stdio preko Win32 API-ja, ali su Win32 stvari sakrivene kao deo implementacije)
Konverzije tesko da moze da ima, tj. ako bi je imalo, to bi morala biti funkcionalnost C runtime biblioteke zato sto je za ovo potrebno imati implementacione detalje CRT biblioteke (u ovom slucaju stdio f-ja).
Uzgred, sad si me naterao da pogledam malo API dokumentaciju. Jao...
Pazi ovo:
https://docs.microsoft.com/en-us/windows/win32/api/winbase/
Citat:
winbase.h header
01/11/2019
37 minutes to read
This header is used by Backup. For more information, see:
Backup winbase.h contains the following programming interfaces:
What the actual fck? Backup? Vaistinu, ako nisi znao, najbolji opis winbase.h je "koristi se za Backup" (Backup = pravi backup, mislim arhiviranje podataka). Nije bas da mi je jasno kakve veze ima "Backup" i winbase.h API-ji poput DisableThreadProfiling() ili CreateFiberEx(), te i da mogu da se zakunem da "Backup" nije razlog zasto je winbase.h nastao... ali bolje da cutim.
NECU DA CUTIM :-) Pazi ovo, slucajno uzeti Win32 API-ji deklarisani u winbase.h:
Citat:
- CreateFileMappingNumaA - Creates or opens a named or unnamed file mapping object for a specified file and specifies the NUMA node for the physical memory.
- CreateJobObjectA - Creates or opens a job object.
- CreateUmsCompletionList - Creates a user-mode scheduling (UMS) completion list.
- DisableThreadProfiling - Disables thread profiling.
- DnsHostnameToComputerNameA - Converts a DNS-style host name to a NetBIOS-style computer name. (the F*CK?)
- GetActiveProcessorCount - Returns the number of active processors in a processor group or in the system.
- GetCommMask - Retrieves the value of the event mask for a specified communications device
- AddSecureMemoryCacheCallback - Registers a callback function to be called when a secured memory range is freed or its protections are changed.
- CreateMailslotA - Creates a mailslot with the specified name and returns a handle that a mailslot server can use to perform operations on the mailslot.
- InterlockedExchangeSubtract - Performs an atomic subtraction of two values.
- PulseEvent - Sets the specified event object to the signaled state and then resets it to the nonsignaled state after releasing the appropriate number of waiting threads.
- EraseTape - Erases all or part of a tape.
Ovo sve u jednom header-u za koji MSFT kaze "hmmm... da, koristi se za Backup" :-))))
Vise lici na "dumpster" za sve sistemske API-je za koje koder ili nije imao pojma gde da ih stavi, ili ga je mrzelo da se cima.
Ovo je samo delic ludila unutra... mozes da obrises svoju backup traku, kreiras poslove, mailslot-ove, komuniciras sa modemom, da konfigurises polise OS-a u vezi profajliranja niti, kupis hw. informacije, kreiras mapirani fajl sa zeljenim NUMA afinitetom ili cak naredis Windows scheduler-u da se skloni zato sto ces ti sam da budes serif na CPU-u...
Hej, cak ima i atomickih operacija jbt! I, naravno, kako ne bi - PulseEvent() je tu, bez zezanja... nista bolje od API-ja koji ne radi kako treba :-)
[Ovu poruku je menjao Ivan Dimkovic dana 27.12.2020. u 00:48 GMT+1]
DigiCortex (ex. SpikeFun) - Cortical Neural Network Simulator:
http://www.digicortex.net/node/1 Videos:
http://www.digicortex.net/node/17 Gallery:
http://www.digicortex.net/node/25
PowerMonkey - Redyce CPU Power Waste and gain performance! -
https://github.com/psyq321/PowerMonkey