24 EFI_SIMPLE_FILE_SYSTEM_PROTOCOL_REVISION,
57 Status =
gBS->OpenProtocol (
59 &gEfiDiskIoProtocolGuid,
61 This->DriverBindingHandle,
63 EFI_OPEN_PROTOCOL_BY_DRIVER
65 if (EFI_ERROR (Status)) {
74 &gEfiDiskIoProtocolGuid,
75 This->DriverBindingHandle,
82 Status =
gBS->OpenProtocol (
84 &gEfiBlockIoProtocolGuid,
86 This->DriverBindingHandle,
88 EFI_OPEN_PROTOCOL_TEST_PROTOCOL
124 OldTpl =
gBS->RaiseTPL (TPL_CALLBACK);
129 Status =
gBS->OpenProtocol (
131 &gEfiBlockIoProtocolGuid,
133 This->DriverBindingHandle,
135 EFI_OPEN_PROTOCOL_GET_PROTOCOL
142 Status =
gBS->OpenProtocol (
144 &gEfiDiskIoProtocolGuid,
146 This->DriverBindingHandle,
148 EFI_OPEN_PROTOCOL_BY_DRIVER
156 if (EFI_ERROR (Status)) {
166 if (PrivFsData ==
NULL) {
167 Status = EFI_OUT_OF_RESOURCES;
174 PrivFsData->Signature = PRIVATE_UDF_SIMPLE_FS_DATA_SIGNATURE;
175 PrivFsData->BlockIo = BlockIo;
176 PrivFsData->DiskIo = DiskIo;
177 PrivFsData->Handle = ControllerHandle;
183 (VOID *)&PrivFsData->SimpleFs,
184 (VOID *)&gUdfSimpleFsTemplate,
191 Status =
gBS->InstallMultipleProtocolInterfaces (
193 &gEfiSimpleFileSystemProtocolGuid,
194 &PrivFsData->SimpleFs,
199 if (EFI_ERROR (Status)) {
205 &gEfiDiskIoProtocolGuid,
206 This->DriverBindingHandle,
214 &gEfiBlockIoProtocolGuid,
215 This->DriverBindingHandle,
220 gBS->RestoreTPL (OldTpl);
255 Status =
gBS->OpenProtocol (
257 &gEfiSimpleFileSystemProtocolGuid,
259 This->DriverBindingHandle,
261 EFI_OPEN_PROTOCOL_GET_PROTOCOL
263 if (!EFI_ERROR (Status)) {
264 PrivFsData = PRIVATE_UDF_SIMPLE_FS_DATA_FROM_THIS (SimpleFs);
269 Status =
gBS->UninstallMultipleProtocolInterfaces (
271 &gEfiSimpleFileSystemProtocolGuid,
272 &PrivFsData->SimpleFs,
279 if (!EFI_ERROR (Status)) {
285 &gEfiDiskIoProtocolGuid,
286 This->DriverBindingHandle,
294 &gEfiBlockIoProtocolGuid,
295 This->DriverBindingHandle,
VOID *EFIAPI CopyMem(OUT VOID *DestinationBuffer, IN CONST VOID *SourceBuffer, IN UINTN Length)
VOID *EFIAPI AllocateZeroPool(IN UINTN AllocationSize)
VOID EFIAPI FreePool(IN VOID *Buffer)
EFI_STATUS EFIAPI UdfOpenVolume(IN EFI_SIMPLE_FILE_SYSTEM_PROTOCOL *This, OUT EFI_FILE_PROTOCOL **Root)
EFI_STATUS SupportUdfFileSystem(IN EFI_DRIVER_BINDING_PROTOCOL *This, IN EFI_HANDLE ControllerHandle)
#define ASSERT_EFI_ERROR(StatusParameter)
EFI_STATUS EFIAPI UdfDriverBindingStart(IN EFI_DRIVER_BINDING_PROTOCOL *This, IN EFI_HANDLE ControllerHandle, IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath)
EFI_STATUS EFIAPI InitializeUdf(IN EFI_HANDLE ImageHandle, IN EFI_SYSTEM_TABLE *SystemTable)
EFI_STATUS EFIAPI UdfDriverBindingStop(IN EFI_DRIVER_BINDING_PROTOCOL *This, IN EFI_HANDLE ControllerHandle, IN UINTN NumberOfChildren, IN EFI_HANDLE *ChildHandleBuffer)
EFI_STATUS EFIAPI UdfDriverBindingSupported(IN EFI_DRIVER_BINDING_PROTOCOL *This, IN EFI_HANDLE ControllerHandle, IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath)
VOID EFIAPI Exit(IN EFI_STATUS Status)
EFI_STATUS EFIAPI EfiLibInstallDriverBindingComponentName2(IN CONST EFI_HANDLE ImageHandle, IN CONST EFI_SYSTEM_TABLE *SystemTable, IN EFI_DRIVER_BINDING_PROTOCOL *DriverBinding, IN EFI_HANDLE DriverBindingHandle, IN CONST EFI_COMPONENT_NAME_PROTOCOL *ComponentName OPTIONAL, IN CONST EFI_COMPONENT_NAME2_PROTOCOL *ComponentName2 OPTIONAL)