ReactOS 0.4.15-dev-7994-gb388cb6
io.c
Go to the documentation of this file.
1/*
2 * COPYRIGHT: See COPYING.ARM in the top level directory
3 * PROJECT: ReactOS UEFI Boot Library
4 * FILE: boot/environ/lib/io/io.c
5 * PURPOSE: Boot Library I/O Management Routines
6 * PROGRAMMER: Alex Ionescu (alex.ionescu@reactos.org)
7 */
8
9/* INCLUDES ******************************************************************/
10
11#include "bl.h"
12
13/* DATA VARIABLES ************************************************************/
14
17
18/* FUNCTIONS *****************************************************************/
19
22 _In_ PBL_IO_DESTROY_ROUTINE DestroyRoutine
23 )
24{
25 ULONG Id;
26
29 DestroyRoutine,
30 &Id,
32}
33
36 VOID
37 )
38{
40 ULONG Size;
41
42 /* Allocate the I/O table */
44 Size = IoMgrRoutineEntries * sizeof(PVOID);
47 {
48 /* Zero it out */
50
51 /* Initialize the device manager */
53
54 /* Initialize the file manager */
55 if (NT_SUCCESS(Status))
56 {
58 }
59 }
60 else
61 {
62 /* No memory */
64 }
65
66 /* Return initialization status */
67 return Status;
68}
69
70
DWORD Id
LONG NTSTATUS
Definition: precomp.h:26
PVOID BlMmAllocateHeap(_In_ SIZE_T Size)
Definition: heapalloc.c:569
NTSTATUS TblDoNotPurgeEntry(_In_ PVOID Entry)
Definition: util.c:495
NTSTATUS BlTblSetEntry(_Inout_ PVOID **Table, _Inout_ PULONG Count, _In_ PVOID Entry, _Out_ PULONG EntryIndex, _In_ PBL_TBL_SET_ROUTINE Callback)
Definition: util.c:321
NTSTATUS(* PBL_IO_DESTROY_ROUTINE)(VOID)
Definition: bl.h:588
NTSTATUS BlpDeviceInitialize(VOID)
Definition: device.c:2309
NTSTATUS BlpFileInitialize(VOID)
Definition: file.c:908
PVOID * IoMgrDestroyRoutineTable
Definition: io.c:16
NTSTATUS BlpIoInitialize(VOID)
Definition: io.c:35
NTSTATUS BlpIoRegisterDestroyRoutine(_In_ PBL_IO_DESTROY_ROUTINE DestroyRoutine)
Definition: io.c:21
ULONG IoMgrRoutineEntries
Definition: io.c:15
#define NT_SUCCESS(StatCode)
Definition: apphelp.c:32
Status
Definition: gdiplustypes.h:25
#define _In_
Definition: ms_sal.h:308
#define STATUS_NO_MEMORY
Definition: ntstatus.h:260
void * PVOID
Definition: typedefs.h:50
#define RtlZeroMemory(Destination, Length)
Definition: typedefs.h:262
uint32_t ULONG
Definition: typedefs.h:59
_Must_inspect_result_ _In_ WDFDEVICE _In_ PWDF_DEVICE_PROPERTY_DATA _In_ DEVPROPTYPE _In_ ULONG Size
Definition: wdfdevice.h:4533