Home | Info | Community | Development | myReactOS | Contact Us
[static]
Definition at line 37 of file init.c.
Referenced by InitializeFmIfsOnce().
{ PIFS_PROVIDER Provider = NULL; ULONG RequiredSize; HMODULE hMod = NULL; BOOLEAN ret = FALSE; hMod = LoadLibraryW(DllFile); if (!hMod) goto cleanup; RequiredSize = FIELD_OFFSET(IFS_PROVIDER, Name) + FileSystem->Length + sizeof(UNICODE_NULL); Provider = (PIFS_PROVIDER)RtlAllocateHeap( RtlGetProcessHeap(), 0, RequiredSize); if (!Provider) goto cleanup; RtlZeroMemory(Provider, RequiredSize); /* Get function pointers */ Provider->ChkdskEx = (CHKDSKEX)GetProcAddress(hMod, "ChkdskEx"); //Provider->Extend = (EXTEND)GetProcAddress(hMod, "Extend"); Provider->FormatEx = (FORMATEX)GetProcAddress(hMod, "FormatEx"); RtlCopyMemory(Provider->Name, FileSystem->Buffer, FileSystem->Length); InsertTailList(&ProviderListHead, &Provider->ListEntry); ret = TRUE; cleanup: if (!ret) { if (hMod) FreeLibrary(hMod); if (Provider) RtlFreeHeap(RtlGetProcessHeap(), 0, Provider); } return ret; }