DllImport,如何检查DLL是否已加载?

sri*_*sri 8 c# pinvoke

我正在进行P/Invoke,我使用以下方法

[DllImport("Authz.dll", SetLastError = true)]
    public static extern BOOL AuthzFreeContext(
        IntPtr phAuthzResourceManager);
Run Code Online (Sandbox Code Playgroud)

即使它工作,如何保证Authz.dll始终加载到我的代码中.假设我dll是一些XXX.dll如何在使用之前检查是否加载了dll,这样我就不会找到找不到方法的方法.

lep*_*pie 14

Marshal.PrelinkAll(Type)

要么

Marshal.Prelink(MethodInfo)

请参阅:http://msdn.microsoft.com/en-us/library/system.runtime.interopservices.marshal.prelinkall(v = vs.100).aspx

更新:

遗憾的是,如果找不到DLL,MSDN文档没有提到任何异常被抛出.我刚刚通过一个简单的应用程序验证它确实是一个DllNotFoundException扔.