2007-03-01から1ヶ月間の記事一覧

STA でのマーシャリング(2)

STA でのマーシャリング うへー、ものすごい間違ってましたorz いろいろ調べてみた結果、デッドロックは一切起こってなかったです。 自分はいろいろ勘違いしていたようで、COM 側(Source って言うらしい)から Sink 側を呼び出したとき、Sink 側のメッセー…

新型プレイステーション3、互換性リスト公開

新型プレイステーション3、互換性リスト公開 - Engadget 日本版 どう見てもエミュレベルの動作率です。本当に(ry

STA でのマーシャリング

STA(Single Thread Apartment)のスレッディングモデルで COM を生成して、何らかの処理を COM に投げた場合、その処理は即座に実行されるわけではなく、マーシャラーによってメッセージキューに溜められ、そのメッセージが処理されるのを待ちます。 普段は…

セッションを超えた Mutex の動作(2)

セッションを超えた Mutex の動作 NULL の DACL を入れてやればちゃんとハンドルを取得できました。 SECURITY_DESCRIPTOR sd; ::InitializeSecurityDescriptor(&sd, SECURITY_DESCRIPTOR_REVISION); ::SetSecurityDescriptorDacl(&sd, TRUE, NULL, FALSE); S…

スマートポインタ(機能限定版)

スマートポインタとしての最低限の機能だけを実装してみますた。

COM の親切な対応

COM の exe サーバのスケルトンを作ると、CAtlExeModuleT<> を使ったメインクラスが作成されるんだけど、こいつがなかなか面白いことをしてくれる。 クライアント側がこの COM を生成すると、exe が起動され、このアプリは起動した状態を保ちます。 2つ目の…

セッションを超えた Mutex の動作

2重起動を防止するために ::CreateMutex() して ::GetLastError() でどうこうする、っていうのはよくあると思うけど、FUS(Fast User Switching: Windows XP でログオフを選択したときに出てくるユーザ切り替えのこと) によってセッションを超えて起動し…