internal CabinetNativeApi.FdiContextHandle fdiContext; // HFDI internal CabinetExtractor() { CabinetNativeApi.FdiERF err = new CabinetNativeApi.FdiERF(); populateDelegates(); // marshal the delegate to a unmanaged function pointer so that AppDomain reference is stored correctly. fdiContext = CabinetNativeApi.FDICreate( Marshal.GetFunctionPointerForDelegate(_allocDelegate), Marshal.GetFunctionPointerForDelegate(_freeDelegate), Marshal.GetFunctionPointerForDelegate(_openDelegate), Marshal.GetFunctionPointerForDelegate(_readDelegate), Marshal.GetFunctionPointerForDelegate(_writeDelegate), Marshal.GetFunctionPointerForDelegate(_closeDelegate), Marshal.GetFunctionPointerForDelegate(_seekDelegate), CabinetNativeApi.FdiCreateCpuType.Cpu80386, err); }
internal CabinetNativeApi.FdiContextHandle fdiContext; // HFDI internal CabinetExtractor() { CabinetNativeApi.FdiERF err = new CabinetNativeApi.FdiERF(); populateDelegates(); // marshal the delegate to a unmanaged function pointer so that AppDomain reference is stored correctly. fdiContext = CabinetNativeApi.FDICreate( Marshal.GetFunctionPointerForDelegate(_allocDelegate), Marshal.GetFunctionPointerForDelegate(_freeDelegate), Marshal.GetFunctionPointerForDelegate(_openDelegate), Marshal.GetFunctionPointerForDelegate(_readDelegate), Marshal.GetFunctionPointerForDelegate(_writeDelegate), Marshal.GetFunctionPointerForDelegate(_closeDelegate), Marshal.GetFunctionPointerForDelegate(_seekDelegate), CabinetNativeApi.FdiCreateCpuType.Cpu80386, err); }