// ObjectTypes: Semaphore, Event, Timer, Region, File, Socket, Class, Bus, Device, RegKey, Thread, Process, ... LONG GetTypeIdFromName( PCSTR Name ); HANDLE CreateObject( LONG TypeId, ULONG Flags, ... ); VOID CloseHandle( HANDLE Handle ); HANDLE OpenObjectById( ULONG Id, LONG TypeId, ULONG Flags ); HANDLE OpenObjectByName( PCSTR Name, LONG TypeId, ULONG Flags ); LONG GetObjectId( HANDLE Handle ); STATUS WaitForSingleObject( HANDLE Handle, ULONG Flags, ULONG Timeout ); STATUS WaitForMultipleObjects( HANDLE Handles[], ULONG Count, ULONG Flags, ULONG Timeout ); INTERNAL LONG RegisterObjectType( POBJTYPEDESC Descriptor ); INTERNAL BOOL UnregisterObjectType( LONG TypeId ); INTERNAL POBJECT GetObjectByHandle( HANDLE Handle, LONG TypeId ); INTERNAL POBJECT GetObjectByPointer( POINTER Pointer, LONG TypeId ); INTERNAL POBJECT GetObjectById( ULONG Id, LONG TypeId ); INTERNAL VOID PutObject( POBJECT Object );
Die Frage ist nun, ob ich den "Inhalt" der Objekte direkt oder indirekt (CallObjectProcedure, SetObjectParam, ...) adressieren soll ... ersteres ist schneller, aber auch anfälliger ... aber muss wohl indirekt sein, sonst wirds nichts mit Userspace
Naja, werde fürn Kernel wahrscheinlich eine "abgespeckte" Variante verwenden und die komplette wie OLE in den Userspace verschieben.
Dieser Beitrag wurde von Dimension bearbeitet: 11. März 2004 - 01:58

Hilfe
Neues Thema
Dieses Thema ist geschlossen

Nach oben





