예제 #1
0
    private static void initEntryPoint()
    {
        NativeMethods.DllBidInitialize();
        Module manifestModule = Assembly.GetExecutingAssembly().ManifestModule;

        modIdentity = getIdentity(manifestModule);
        modID       = NoData;
        string     friendlyName = getAppDomainFriendlyName();
        BIDEXTINFO pExtInfo     = new BIDEXTINFO(Marshal.GetHINSTANCE(manifestModule), getModulePath(manifestModule), friendlyName, hCookie.AddrOfPinnedObject());

        NativeMethods.DllBidEntryPoint(ref modID, 0x23fa, modIdentity, 0xd0000000, ref modFlags, ctrlCallback, ref pExtInfo, IntPtr.Zero, IntPtr.Zero);
        if (modID != NoData)
        {
            foreach (object obj2 in manifestModule.GetCustomAttributes(typeof(BidMetaTextAttribute), true))
            {
                AddMetaText(((BidMetaTextAttribute)obj2).MetaText);
            }
            Trace("<ds.Bid|Info> VersionSafeName='%ls'\n", friendlyName);
        }
    }
 internal static void DllBidEntryPoint(ref IntPtr hID, int bInitAndVer, string sIdentity,
                                     uint propBits, ref ApiGroup pGblFlags, CtrlCB fAddr,
                                     ref BIDEXTINFO pExtInfo, IntPtr pHooks, IntPtr pHdr);
    [ResourceConsumption(ResourceScope.Machine, ResourceScope.Machine)] // getModulePath
    private static void initEntryPoint()
    {
#if !MONO
        NativeMethods.DllBidInitialize();
#endif

        //
        //  Multi-file assemblies are not supported by current model of the BID managed wrapper.
        //  The below Marshal.GetHINSTANCE(mod) will return HINSTANCE for the manifest module
        //  instead of actual module, which is Ok because it is the only module
        //  in the single-file assembly.
        //
        Module mod  = Assembly.GetExecutingAssembly().ManifestModule;
        modIdentity = getIdentity(mod);
        modID = NoData;

        string friendlyName = getAppDomainFriendlyName();
#if !MONO
        BIDEXTINFO extInfo = new BIDEXTINFO(Marshal.GetHINSTANCE(mod),
                                            getModulePath(mod),
                                            friendlyName,
                                            hCookie.AddrOfPinnedObject());

        NativeMethods.DllBidEntryPoint( ref modID, BidVer, modIdentity,
                                        configFlags, ref modFlags, ctrlCallback,
                                        ref extInfo, IntPtr.Zero, IntPtr.Zero );
#endif

        if( modID != NoData )
        {
            object[] attrColl = mod.GetCustomAttributes(typeof(BidMetaTextAttribute), true);
            foreach (object obj in attrColl) {
                AddMetaText( ((BidMetaTextAttribute)obj).MetaText );
            }
            
            Bid.Trace("<ds.Bid|Info> VersionSafeName='%ls'\n", friendlyName);
        }
    } // initEntryPoint
 private static void initEntryPoint()
 {
     NativeMethods.DllBidInitialize();
     Module manifestModule = Assembly.GetExecutingAssembly().ManifestModule;
     modIdentity = getIdentity(manifestModule);
     modID = NoData;
     string friendlyName = getAppDomainFriendlyName();
     BIDEXTINFO pExtInfo = new BIDEXTINFO(Marshal.GetHINSTANCE(manifestModule), getModulePath(manifestModule), friendlyName, hCookie.AddrOfPinnedObject());
     NativeMethods.DllBidEntryPoint(ref modID, 0x23fa, modIdentity, 0xd0000000, ref modFlags, ctrlCallback, ref pExtInfo, IntPtr.Zero, IntPtr.Zero);
     if (modID != NoData)
     {
         foreach (object obj2 in manifestModule.GetCustomAttributes(typeof(BidMetaTextAttribute), true))
         {
             AddMetaText(((BidMetaTextAttribute) obj2).MetaText);
         }
         Trace("<ds.Bid|Info> VersionSafeName='%ls'\n", friendlyName);
     }
 }