Exemple #1
0
        private void closeHandle(HandleOperationRequest request)
        {
            this.kernelStorage.channelDevice.storage = 1;
            Handle handle = this.kernelStorage.handles[request.handle];

            this.kernelStorage.handles.remove(handle);

            if (handle is Battery)
            {
                this.kernelStorage.channelDevice.battery = 0;
            }

            Resource response = new HandleOperationResponse(this.id, HandleOperationType.Close, request.createdByProcess);

            this.kernelStorage.channelDevice.storage = 0;
            kernelStorage.resources.add(response);
            request.release();
        }
Exemple #2
0
        private void deleteHandle(HandleOperationRequest request)
        {
            this.kernelStorage.channelDevice.storage = 1;
            Handle handle = this.kernelStorage.handles[request.handle];

            if (handle.GetType() != typeof(FileHandle))
            {
                throw new Exception("Only file handles can be deleted");
            }
            FileHandle file     = (FileHandle)handle;
            string     fileName = file.fileName;

            this.kernelStorage.handles.remove(handle);

            StorageFile.DeleteFile(this.kernelStorage.virtualHdd, fileName);

            Resource response = new HandleOperationResponse(this.id, HandleOperationType.Delete, request.createdByProcess);

            this.kernelStorage.channelDevice.storage = 0;
            kernelStorage.resources.add(response);
            request.release();
        }