// Registers Rocket's default parsers. void StyleSheetSpecification::RegisterDefaultParsers() { RegisterParser("number", new PropertyParserNumber()); RegisterParser("keyword", new PropertyParserKeyword()); RegisterParser("string", new PropertyParserString()); RegisterParser(COLOR, new PropertyParserColour()); }
/** This function registers all the available table parsers. @retval EFI_SUCCESS The parser is registered. @retval EFI_ALREADY_STARTED The parser for the ACPI Table was already registered. @retval EFI_INVALID_PARAMETER A parameter is invalid. @retval EFI_OUT_OF_RESOURCES No space to register the parser. */ EFI_STATUS RegisterAllParsers ( ) { EFI_STATUS Status; UINTN Count = sizeof (ParserList) / sizeof (ParserList[0]); while (Count-- != 0) { Status = RegisterParser ( ParserList[Count].Signature, ParserList[Count].Parser ); if (EFI_ERROR (Status)) { return Status; } } return Status; }
NTSTATUS DriverEntry(PDRIVER_OBJECT pDriverObject, PUNICODE_STRING pRegistryPath) { NTSTATUS status = STATUS_SUCCESS; VstorParserInfo ParserInfo = { 0 }; PDEVICE_OBJECT pDeviceObject = NULL; EVHD_EXT_CAPABILITIES Caps; pDriverObject->DriverUnload = EVhdDriverUnload; status = Ext_Initialize(&Caps); if (!NT_SUCCESS(status)) { DbgPrint("Failed to initialize extension: %X\n", status); return status; } status = DPT_Initialize(pDriverObject, pRegistryPath, &pDeviceObject); if (!NT_SUCCESS(status)) { DbgPrint("DPT_Initialize failed with error: 0x%08X\n", status); return status; } status = Log_Initialize(pDeviceObject, pRegistryPath); if (!NT_SUCCESS(status)) { DbgPrint("Log_Initialize failed with error: 0x%08X\n", status); return status; } ParserInfo.qwVersion = 0; ParserInfo.qwUnk1 = 0; ParserInfo.qwUnk2 = 1; ParserInfo.qwUnk3 = 1; ParserInfo.pDriverObject = pDriverObject; ParserInfo.pfnParserInit = EVhd_Init; ParserInfo.pfnParserCleanup = EVhd_Cleanup; ParserInfo.pfnParserGetGeometry = EVhd_GetGeometry; ParserInfo.pfnParserGetCapabilities = EVhd_GetCapabilities; ParserInfo.pfnParserMount = EVhd_Mount; ParserInfo.pfnParserExecuteSrb = EVhd_ExecuteSrb; ParserInfo.pfnParserBeginSave = EVhd_BeginSave; ParserInfo.pfnParserSaveData = EVhd_SaveData; ParserInfo.pfnParserBeginRestore = EVhd_BeginRestore; ParserInfo.pfnParserRestoreData = EVhd_RestoreData; ParserInfo.pfnParserSetCacheState = EVhd_SetCacheState; status = EVhdDriverLoad(&ParserInfo.dwBalancerId); if (!NT_SUCCESS(status)) { DbgPrint("EVhdDriverLoad failed with error: 0x%08X\n", status); return status; } status = RegisterParser(&ParserInfo); if (!NT_SUCCESS(status)) { DbgPrint("RegisterParser failed with error: 0x%08X\n", status); return status; } return status; }