Reputation: 87
when i tried to build WFPSamplerCalloutDriver it could not link to Syslib/WFPSampler.lib, in Additional Dependencies it has ...\syslib\$(IntDir)\WFPSampler.lib, but still had these error:
1>------ Build started: Project: WFPSamplerCalloutDriver, Configuration: Release x64 ------ 1> Building 'WFPSamplerCalloutDriver' with toolset 'WindowsKernelModeDriver10.0' and the 'Desktop' target platform. 1> Stamping .\x64\Release\WFPSamplerCalloutDriver.inf [Version] section with DriverVer=04/26/2017,11.34.2.116 1>CompletionFunctions_BasicPacketModificationCallouts.obj : error LNK2001: unresolved external symbol "void __cdecl KrnlHlprClassifyDataDestroyLocalCopy(struct CLASSIFY_DATA_ * *)" (?KrnlHlprClassifyDataDestroyLocalCopy@@YAXPEAPEAUCLASSIFY_DATA_@@@Z) 1>CompletionFunctions_BasicStreamInjectionCallouts.obj : error LNK2001: unresolved external symbol "void __cdecl KrnlHlprClassifyDataDestroyLocalCopy(struct CLASSIFY_DATA_ * *)" (?KrnlHlprClassifyDataDestroyLocalCopy@@YAXPEAPEAUCLASSIFY_DATA_@@@Z) 1>CompletionFunctions_PendAuthorizationCallouts.obj : error LNK2001: unresolved external symbol "void __cdecl KrnlHlprClassifyDataDestroyLocalCopy(struct CLASSIFY_DATA_ * *)" (?KrnlHlprClassifyDataDestroyLocalCopy@@YAXPEAPEAUCLASSIFY_DATA_@@@Z) 1>CompletionFunctions_ProxyCallouts.obj : error LNK2001: unresolved external symbol "void __cdecl KrnlHlprClassifyDataDestroyLocalCopy(struct CLASSIFY_DATA_ * *)" (?KrnlHlprClassifyDataDestroyLocalCopy@@YAXPEAPEAUCLASSIFY_DATA_@@@Z) 1>ClassifyFunctions_PendAuthorizationCallouts.obj : error LNK2001: unresolved external symbol "void __cdecl KrnlHlprClassifyDataDestroyLocalCopy(struct CLASSIFY_DATA_ * *)" (?KrnlHlprClassifyDataDestroyLocalCopy@@YAXPEAPEAUCLASSIFY_DATA_@@@Z) 1>ClassifyFunctions_ProxyCallouts.obj : error LNK2001: unresolved external symbol "void __cdecl KrnlHlprClassifyDataDestroyLocalCopy(struct CLASSIFY_DATA_ * *)" (?KrnlHlprClassifyDataDestroyLocalCopy@@YAXPEAPEAUCLASSIFY_DATA_@@@Z) 1>CompletionFunctions_AdvancedPacketInjectionCallouts.obj : error LNK2001: unresolved external symbol "void __cdecl KrnlHlprClassifyDataDestroyLocalCopy(struct CLASSIFY_DATA_ * *)" (?KrnlHlprClassifyDataDestroyLocalCopy@@YAXPEAPEAUCLASSIFY_DATA_@@@Z) 1>CompletionFunctions_BasicPacketInjectionCallouts.obj : error LNK2001: unresolved external symbol "void __cdecl KrnlHlprClassifyDataDestroyLocalCopy(struct CLASSIFY_DATA_ * *)" (?KrnlHlprClassifyDataDestroyLocalCopy@@YAXPEAPEAUCLASSIFY_DATA_@@@Z) 1>ClassifyFunctions_AdvancedPacketInjectionCallouts.obj : error LNK2001: unresolved external symbol "void __cdecl KrnlHlprClassifyDataDestroyLocalCopy(struct CLASSIFY_DATA_ * *)" (?KrnlHlprClassifyDataDestroyLocalCopy@@YAXPEAPEAUCLASSIFY_DATA_@@@Z) 1>ClassifyFunctions_BasicPacketInjectionCallouts.obj : error LNK2001: unresolved external symbol "void __cdecl KrnlHlprClassifyDataDestroyLocalCopy(struct CLASSIFY_DATA_ * *)" (?KrnlHlprClassifyDataDestroyLocalCopy@@YAXPEAPEAUCLASSIFY_DATA_@@@Z) 1>ClassifyFunctions_BasicPacketModificationCallouts.obj : error LNK2001: unresolved external symbol "void __cdecl KrnlHlprClassifyDataDestroyLocalCopy(struct CLASSIFY_DATA_ * *)" (?KrnlHlprClassifyDataDestroyLocalCopy@@YAXPEAPEAUCLASSIFY_DATA_@@@Z) 1>ClassifyFunctions_BasicStreamInjectionCallouts.obj : error LNK2001: unresolved external symbol "void __cdecl KrnlHlprClassifyDataDestroyLocalCopy(struct CLASSIFY_DATA_ * *)" (?KrnlHlprClassifyDataDestroyLocalCopy@@YAXPEAPEAUCLASSIFY_DATA_@@@Z) 1>CompletionFunctions_BasicPacketModificationCallouts.obj : error LNK2001: unresolved external symbol "void __cdecl KrnlHlprInjectionDataDestroy(struct INJECTION_DATA_ * *)" (?KrnlHlprInjectionDataDestroy@@YAXPEAPEAUINJECTION_DATA_@@@Z) 1>CompletionFunctions_BasicStreamInjectionCallouts.obj : error LNK2001: unresolved external symbol "void __cdecl KrnlHlprInjectionDataDestroy(struct INJECTION_DATA_ * *)" (?KrnlHlprInjectionDataDestroy@@YAXPEAPEAUINJECTION_DATA_@@@Z) 1>CompletionFunctions_PendAuthorizationCallouts.obj : error LNK2001: unresolved external symbol "void __cdecl KrnlHlprInjectionDataDestroy(struct INJECTION_DATA_ * *)" (?KrnlHlprInjectionDataDestroy@@YAXPEAPEAUINJECTION_DATA_@@@Z) 1>CompletionFunctions_ProxyCallouts.obj : error LNK2001: unresolved external symbol "void __cdecl KrnlHlprInjectionDataDestroy(struct INJECTION_DATA_ * *)" (?KrnlHlprInjectionDataDestroy@@YAXPEAPEAUINJECTION_DATA_@@@Z) 1>ClassifyFunctions_PendAuthorizationCallouts.obj : error LNK2001: unresolved external symbol "void __cdecl KrnlHlprInjectionDataDestroy(struct INJECTION_DATA_ * *)" (?KrnlHlprInjectionDataDestroy@@YAXPEAPEAUINJECTION_DATA_@@@Z) 1>ClassifyFunctions_ProxyCallouts.obj : error LNK2001: unresolved external symbol "void __cdecl KrnlHlprInjectionDataDestroy(struct INJECTION_DATA_ * *)" (?KrnlHlprInjectionDataDestroy@@YAXPEAPEAUINJECTION_DATA_@@@Z) 1>CompletionFunctions_AdvancedPacketInjectionCallouts.obj : error LNK2001: unresolved external symbol "void __cdecl KrnlHlprInjectionDataDestroy(struct INJECTION_DATA_ * *)" (?KrnlHlprInjectionDataDestroy@@YAXPEAPEAUINJECTION_DATA_@@@Z) 1>CompletionFunctions_BasicPacketInjectionCallouts.obj : error LNK2001: unresolved external symbol "void __cdecl KrnlHlprInjectionDataDestroy(struct INJECTION_DATA_ * *)" (?KrnlHlprInjectionDataDestroy@@YAXPEAPEAUINJECTION_DATA_@@@Z) 1>ClassifyFunctions_AdvancedPacketInjectionCallouts.obj : error LNK2001: unresolved external symbol "void __cdecl KrnlHlprInjectionDataDestroy(struct INJECTION_DATA_ * *)" (?KrnlHlprInjectionDataDestroy@@YAXPEAPEAUINJECTION_DATA_@@@Z) 1>ClassifyFunctions_BasicPacketInjectionCallouts.obj : error LNK2001: unresolved external symbol "void __cdecl KrnlHlprInjectionDataDestroy(struct INJECTION_DATA_ * *)" (?KrnlHlprInjectionDataDestroy@@YAXPEAPEAUINJECTION_DATA_@@@Z) 1>ClassifyFunctions_BasicPacketModificationCallouts.obj : error LNK2001: unresolved external symbol "void __cdecl KrnlHlprInjectionDataDestroy(struct INJECTION_DATA_ * *)" (?KrnlHlprInjectionDataDestroy@@YAXPEAPEAUINJECTION_DATA_@@@Z) 1>ClassifyFunctions_BasicStreamInjectionCallouts.obj : error LNK2001: unresolved external symbol "void __cdecl KrnlHlprInjectionDataDestroy(struct INJECTION_DATA_ * *)" (?KrnlHlprInjectionDataDestroy@@YAXPEAPEAUINJECTION_DATA_@@@Z) 1>ClassifyFunctions_PendAuthorizationCallouts.obj : error LNK2001: unresolved external symbol "void __cdecl KrnlHlprDPCDataDestroy(struct DPC_DATA_ * *)" (?KrnlHlprDPCDataDestroy@@YAXPEAPEAUDPC_DATA_@@@Z) 1>ClassifyFunctions_PendEndpointClosureCallouts.obj : error LNK2001: unresolved external symbol "void __cdecl KrnlHlprDPCDataDestroy(struct DPC_DATA_ * *)" (?KrnlHlprDPCDataDestroy@@YAXPEAPEAUDPC_DATA_@@@Z) 1>ClassifyFunctions_ProxyCallouts.obj : error LNK2001: unresolved external symbol "void __cdecl KrnlHlprDPCDataDestroy(struct DPC_DATA_ * *)" (?KrnlHlprDPCDataDestroy@@YAXPEAPEAUDPC_DATA_@@@Z) 1>ClassifyFunctions_AdvancedPacketInjectionCallouts.obj : error LNK2001: unresolved external symbol "void __cdecl KrnlHlprDPCDataDestroy(struct DPC_DATA_ * *)" (?KrnlHlprDPCDataDestroy@@YAXPEAPEAUDPC_DATA_@@@Z) 1>ClassifyFunctions_BasicPacketInjectionCallouts.obj : error LNK2001: unresolved external symbol "void __cdecl KrnlHlprDPCDataDestroy(struct DPC_DATA_ * *)" (?KrnlHlprDPCDataDestroy@@YAXPEAPEAUDPC_DATA_@@@Z) 1>ClassifyFunctions_BasicPacketModificationCallouts.obj : error LNK2001: unresolved external symbol "void __cdecl KrnlHlprDPCDataDestroy(struct DPC_DATA_ * *)" (?KrnlHlprDPCDataDestroy@@YAXPEAPEAUDPC_DATA_@@@Z) 1>ClassifyFunctions_BasicStreamInjectionCallouts.obj : error LNK2001: unresolved external symbol "void __cdecl KrnlHlprDPCDataDestroy(struct DPC_DATA_ * *)" (?KrnlHlprDPCDataDestroy@@YAXPEAPEAUDPC_DATA_@@@Z) 1>NotifyFunctions_BasicCallouts.obj : error LNK2001: unresolved external symbol "void __cdecl KrnlHlprWorkItemDataDestroy(struct WORKITEM_DATA_ * *)" (?KrnlHlprWorkItemDataDestroy@@YAXPEAPEAUWORKITEM_DATA_@@@Z) 1>NotifyFunctions_FastCallouts.obj : error LNK2001: unresolved external symbol "void __cdecl KrnlHlprWorkItemDataDestroy(struct WORKITEM_DATA_ * *)" (?KrnlHlprWorkItemDataDestroy@@YAXPEAPEAUWORKITEM_DATA_@@@Z) 1>NotifyFunctions_PendCallouts.obj : error LNK2001: unresolved external symbol "void __cdecl KrnlHlprWorkItemDataDestroy(struct WORKITEM_DATA_ * *)" (?KrnlHlprWorkItemDataDestroy@@YAXPEAPEAUWORKITEM_DATA_@@@Z) 1>NotifyFunctions_ProxyCallouts.obj : error LNK2001: unresolved external symbol "void __cdecl KrnlHlprWorkItemDataDestroy(struct WORKITEM_DATA_ * *)" (?KrnlHlprWorkItemDataDestroy@@YAXPEAPEAUWORKITEM_DATA_@@@Z) 1>ClassifyFunctions_PendAuthorizationCallouts.obj : error LNK2001: unresolved external symbol "void __cdecl KrnlHlprWorkItemDataDestroy(struct WORKITEM_DATA_ * *)" (?KrnlHlprWorkItemDataDestroy@@YAXPEAPEAUWORKITEM_DATA_@@@Z) 1>ClassifyFunctions_PendEndpointClosureCallouts.obj : error LNK2001: unresolved external symbol "void __cdecl KrnlHlprWorkItemDataDestroy(struct WORKITEM_DATA_ * *)" (?KrnlHlprWorkItemDataDestroy@@YAXPEAPEAUWORKITEM_DATA_@@@Z) 1>ClassifyFunctions_ProxyCallouts.obj : error LNK2001: unresolved external symbol "void __cdecl KrnlHlprWorkItemDataDestroy(struct WORKITEM_DATA_ * *)" (?KrnlHlprWorkItemDataDestroy@@YAXPEAPEAUWORKITEM_DATA_@@@Z) 1>NotifyFunctions_AdvancedCallouts.obj : error LNK2001: unresolved external symbol "void __cdecl KrnlHlprWorkItemDataDestroy(struct WORKITEM_DATA_ * *)" (?KrnlHlprWorkItemDataDestroy@@YAXPEAPEAUWORKITEM_DATA_@@@Z) 1>ClassifyFunctions_AdvancedPacketInjectionCallouts.obj : error LNK2001: unresolved external symbol "void __cdecl KrnlHlprWorkItemDataDestroy(struct WORKITEM_DATA_ * *)" (?KrnlHlprWorkItemDataDestroy@@YAXPEAPEAUWORKITEM_DATA_@@@Z) 1>ClassifyFunctions_BasicPacketInjectionCallouts.obj : error LNK2001: unresolved external symbol "void __cdecl KrnlHlprWorkItemDataDestroy(struct WORKITEM_DATA_ * *)" (?KrnlHlprWorkItemDataDestroy@@YAXPEAPEAUWORKITEM_DATA_@@@Z) 1>ClassifyFunctions_BasicPacketModificationCallouts.obj : error LNK2001: unresolved external symbol "void __cdecl KrnlHlprWorkItemDataDestroy(struct WORKITEM_DATA_ * *)" (?KrnlHlprWorkItemDataDestroy@@YAXPEAPEAUWORKITEM_DATA_@@@Z) 1>ClassifyFunctions_BasicStreamInjectionCallouts.obj : error LNK2001: unresolved external symbol "void __cdecl KrnlHlprWorkItemDataDestroy(struct WORKITEM_DATA_ * *)" (?KrnlHlprWorkItemDataDestroy@@YAXPEAPEAUWORKITEM_DATA_@@@Z) 1>ClassifyFunctions_PendAuthorizationCallouts.obj : error LNK2019: unresolved external symbol "void __cdecl KrnlHlprPendDataDestroy(struct PEND_DATA_ * *)" (?KrnlHlprPendDataDestroy@@YAXPEAPEAUPEND_DATA_@@@Z) referenced in function "void __cdecl ClassifyPendAuthorization(struct FWPS_INCOMING_VALUES0_ const *,struct FWPS_INCOMING_METADATA_VALUES0_ const *,void *,void const *,struct FWPS_FILTER2_ const *,unsigned __int64,struct FWPS_CLASSIFY_OUT0_ *)" (?ClassifyPendAuthorization@@YAXPEBUFWPS_INCOMING_VALUES0_@@PEBUFWPS_INCOMING_METADATA_VALUES0_@@PEAXPEBXPEBUFWPS_FILTER2_@@_KPEAUFWPS_CLASSIFY_OUT0_@@@Z) 1>ClassifyFunctions_PendEndpointClosureCallouts.obj : error LNK2001: unresolved external symbol "void __cdecl KrnlHlprPendDataDestroy(struct PEND_DATA_ * *)" (?KrnlHlprPendDataDestroy@@YAXPEAPEAUPEND_DATA_@@@Z) 1>NotifyFunctions_FlowDelete.obj : error LNK2001: unresolved external symbol "void __cdecl KrnlHlprPendDataDestroy(struct PEND_DATA_ * *)" (?KrnlHlprPendDataDestroy@@YAXPEAPEAUPEND_DATA_@@@Z) 1>ClassifyFunctions_ProxyCallouts.obj : error LNK2019: unresolved external symbol "void __cdecl KrnlHlprRedirectDataDestroy(struct REDIRECT_DATA_ * *)" (?KrnlHlprRedirectDataDestroy@@YAXPEAPEAUREDIRECT_DATA_@@@Z) referenced in function "void __cdecl ClassifyProxyByALERedirect(struct FWPS_INCOMING_VALUES0_ const *,struct FWPS_INCOMING_METADATA_VALUES0_ const *,void *,void const *,struct FWPS_FILTER2_ const *,unsigned __int64,struct FWPS_CLASSIFY_OUT0_ *)" (?ClassifyProxyByALERedirect@@YAXPEBUFWPS_INCOMING_VALUES0_@@PEBUFWPS_INCOMING_METADATA_VALUES0_@@PEAXPEBXPEBUFWPS_FILTER2_@@_KPEAUFWPS_CLASSIFY_OUT0_@@@Z) 1>NotifyFunctions_FlowDelete.obj : error LNK2019: unresolved external symbol "long __cdecl KrnlHlprFlowContextDestroy(struct FLOW_CONTEXT_ * *)" (?KrnlHlprFlowContextDestroy@@YAJPEAPEAUFLOW_CONTEXT_@@@Z) referenced in function "void __cdecl NotifyFlowDeleteNotification(unsigned short,unsigned int,unsigned __int64)" (?NotifyFlowDeleteNotification@@YAXGI_K@Z) 1>WFPSampler.lib(HelperFunctions_ClassifyData.obj) : error LNK2019: unresolved external symbol "void __cdecl KrnlHlprFwpsIncomingMetadataValuesDestroyLocalCopy(struct FWPS_INCOMING_METADATA_VALUES0_ * *)" (?KrnlHlprFwpsIncomingMetadataValuesDestroyLocalCopy@@YAXPEAPEAUFWPS_INCOMING_METADATA_VALUES0_@@@Z) referenced in function "void __cdecl KrnlHlprClassifyDataReleaseLocalCopy(struct CLASSIFY_DATA_ *)" (?KrnlHlprClassifyDataReleaseLocalCopy@@YAXPEAUCLASSIFY_DATA_@@@Z) 1>WFPSampler.lib(HelperFunctions_ClassifyData.obj) : error LNK2019: unresolved external symbol "void __cdecl KrnlHlprFwpsStreamCalloutIOPacketDestroyLocalCopy(struct FWPS_STREAM_CALLOUT_IO_PACKET0_ * *)" (?KrnlHlprFwpsStreamCalloutIOPacketDestroyLocalCopy@@YAXPEAPEAUFWPS_STREAM_CALLOUT_IO_PACKET0_@@@Z) referenced in function "void __cdecl KrnlHlprClassifyDataReleaseLocalCopy(struct CLASSIFY_DATA_ *)" (?KrnlHlprClassifyDataReleaseLocalCopy@@YAXPEAUCLASSIFY_DATA_@@@Z) 1>x64\Release\WFPSamplerCalloutDriver.sys : fatal error LNK1120: 9 unresolved externals ========== Build: 0 succeeded, 1 failed, 1 up-to-date, 0 skipped ==========
can anyone help ?
Upvotes: 1
Views: 384
Reputation: 118
I have faced with the same problem. It looks like compiler omits some inline functions in Release. If you disable inline expansion then everything works. (WFPSampler -> C/C++ -> Optimization -> Inline Function Expansion -> Disabled)
Upvotes: 3