Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

DllEntryPointが間違っていた問題を修正 #103

Closed
Alalf opened this issue Mar 1, 2013 · 8 comments
Closed

DllEntryPointが間違っていた問題を修正 #103

Alalf opened this issue Mar 1, 2013 · 8 comments
Labels

Comments

@Alalf
Copy link
Owner

Alalf commented Mar 1, 2013

  • http://msdn.microsoft.com/ja-jp/library/cc353966.aspx
  • scff_dsf_XXX.defのDllMainの行を削除して、プロジェクト設定でEntryPointをDllMainにすると64bitでのregsvr32での動作が改善する模様
  • たぶんこれでインストール時の問題もなくなるはず
  • VS2010から動作が変わったのかも・・・?
@Alalf Alalf closed this as completed Mar 1, 2013
@Alalf
Copy link
Owner Author

Alalf commented Mar 1, 2013

  • 正直なところまだ良くわかっていない。_DllMainCRTStartupがregsvrex64から見えてないのかも?
  • とりあえずuninstall_regsvr.batが64bitでも動くようになったので少しは改善したはず

@Alalf Alalf reopened this Mar 1, 2013
@Alalf
Copy link
Owner Author

Alalf commented Mar 1, 2013

  • DirectShowのDLLの作り方としてはdef(モジュール定義ファイル)でDllMainもDllEntryPointもエクスポートするのは間違っているっぽい

@Alalf
Copy link
Owner Author

Alalf commented Mar 1, 2013

  • DllMainもDllEntryPointも消去したらちゃんと動いた!
  • ということは追加しない方が正解っぽい

@Alalf
Copy link
Owner Author

Alalf commented Mar 1, 2013

@Alalf
Copy link
Owner Author

Alalf commented Mar 1, 2013

  • 正確にはBaseClassesを利用する場合、でした。

@Alalf
Copy link
Owner Author

Alalf commented Mar 3, 2013

  • プログラム内部でDllMain=DllEntryPointならば、二つエントリポイントを用意する必要は無い(一つでいい)
  • また、DllMain/DllEntryPointをExportせずに_DLLMainCRTStartupに任せる場合、Win32なら_dllmaincrtstartup@12、x64なら_dllmaincrtstartupがエントリポイントになっていればいいはず。
  • たしかにx64が_dllmaincrtstartup@12になってないのは不思議だが、そういう決まりになっているっぽいのでしょうがない。
  • SCFH64.ax/SCFH.axをdumpbinしたら_DLLMainCRTStartupがエントリポイントになってない・・・?古いVSとVS2012ではエントリポイントのデフォルトが違うのか・・・?
  • まあなんにせよVS2012のredistをいれれば何とかなる問題に見える。

@Alalf
Copy link
Owner Author

Alalf commented Mar 3, 2013

  • regsvrexをVS2012でコンパイルしなおした方がいいのかも・・・?うーん。

@Alalf
Copy link
Owner Author

Alalf commented May 1, 2013

問題はでてなさそうなのでClose

@Alalf Alalf closed this as completed May 1, 2013
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant