20 February 2010 0 Comments

2/23 TechDays キーノートのライブ配信

2/23(火) TechDaysの基調講演がライブ配信されます。もちろん、SilverlightとIIS Media ServicesのLive Smooth Streamingを使った、720p HD配信です。 http://www.microsoft.com/japan/events/techdays/2010/keynote/live.aspx 当日は、9:50くらいからライブの映像が流れる予定です。2009年7月のReMIX、2009年8月のTechEd、2009年11月のMicrosoft Developer Forum、今回4回目なので、たくさんの人に視聴いただければと思います。 今回は、ビデオ配信に加えて、別の仕掛けとしてTwitterの連動を仕掛けてみました。 TwitterのAPI呼び出しに制約があるので、リアルタイムにタイムラインを拾えませんが、どんな形になるのか楽しみです。 ふよふよ動くリストボックスを含んだアプリケーションについては、ロゴの部分を除いた形で、MSDN Silverlightデベロッパーセンターなどで作り方を含め公開したいと考えています。 IIS のメディア機能については、下記のページをご参照ください。…( read more )

18 September 2009 0 Comments

ソースネクスト 超字幕リスニング大会 (Silverlight)

ソースネクスト様が販売されている「超字幕」シリーズの体験サイトの位置づけで、 Silverlight を使って構築された「超字幕リスニング大会」がオープンされました。 お試しいただき、英語学習に興味のある方々にもご案内していただければと思います。 URL: http://www.chou-jimaku.com/rank/ ※トップページのランキングは Flash で作られていますが、ゲーム本体は Silverlight です なお、「超字幕」シリーズの製品パッケージは、 WPF で開発されています…( read more )

7 September 2009 0 Comments

9/17 Infragistics アカデミア 2009 in 福岡 で講演します

詳細は、下記のURLをご覧ください。 http://jp.infragistics.com/events/academia/fukuoka2009-09.aspx 「Expression Blend 3 ではじめる Silverlight 3 アプリケーション開発」というタイトルで講演します。 過去にも同じタイトルで講演をやっていますが、毎回、少しずつネタを変えております。 TechEd Japan 2009の「Silverlight 3の新機能」のエッセンス的な部分を取り入れ、Expression Blend 3とExpression Encoder 3の使い方を紹介しながら、Silverlight 3アプリケーション開発のポイントをお話ししようと考えています。 福岡近郊の皆様、ぜひ、ご参加ください。…( read more )

26 July 2009 0 Comments

Tech・Ed Japan 2009 まであと1カ月です 早期割引間もなく終了します (20090727)

みなさんこんにちは。 ほんと、暑いですよねぇ。この暑さで少々やられ気味です。 さて、Tech・Ed Japan 2009 まであと1カ月を切りました。 現在、私を含めて多くのスピーカーがプレゼン資料の作成に追われています。 今年はペパーレスという事で、会場で資料をお配りしない代わりに参加者の皆さまには事前に PPT をダウンロードしていただけるような形になっています。 事前に PPT を確認いただいて、参加したいセッションを吟味していただければと思います。 また、早期割引の期間も31日まで延長されています。お申し込みを検討中の皆さまは早めにご登録をお願いいたします。

1 July 2009 0 Comments

MSDN Embedded Subscription販売開始しました

5月のESECで私が担当したセッションで紹介した、MSDN Embedded Subscriptionの販売が7月1日付けで開始されました。 Editionの正式名称は、 Visual Studio 2008 Professional Edition with MSDN Embedded Subscription です。ダウンロード可能なEmbedded系OSは、 Windows Embedded CE 6.0 R2 Windows Embedded Standard 2009 Windows Embedded NavReady Windows Embedded POSReady 2009 です。他にWindows Embedded Standard 2009向けのSilverlight 2もダウンロード可能です。サブスクライバダウンロードのページで上の製品が表示されない場合は、言語をEnglishにしてみてください。 また、既にSubscriptionのPremium Edition以上をご購入いただいている皆さんも Embedded系製品をダウンロードして、設計、開発、評価目的でお使いいただけます。 詳しくは、 http://msdn.microsoft.com/ja-jp/subscriptions/dd941868.aspx http://www.microsoft.com/japan/msdn/vstudio/subscriptions/ をご覧ください。 また、Embedded系OSに詳しくない方は、 http://www.microsoft.com/windowsembedded/ja-jp/default.mspx をご覧ください。

24 June 2009 0 Comments

64ビットへのいざない

こんにちは、なおき~です。 皆さんは、職場や自宅では、どの Windows OS を使用されていますでしょうか? 先日、知人から 64 ビットの Windows OS は、アプリケーションの互換性が心配だし、デバイス ドライバがあるかどうかわからないので、敷居が高いと言われました。 Windows Vista のリリース直後に 64 ビットに移行してしまった私としては、既に気にならないのですが、移行するときは、アプリケーションの互換性やデバイス ドライバの有無は、少なからず心配になりましたので、知人の心配も尤だと思います。   デバイス ドライバを開発されている方の立場からすると、過去に開発したデバイス ドライバの互換性が気になると思いますし、最近では、 Windows 7 のリリースされるのが、気になるのではないかと思います。また、 Windows 7 だけでなく、 Windows Server 2008 R2 もリリースされると思います。 特に、 Windows Server 2008 R2 は、 32 ビット版は提供されず、 64 ビット版のみになり、サーバーの Windows OS は、完全に 64 ビットになります。 対して、ノート PC もデスクトップ PC も、 4GB 以上のメモリを搭載 PC が増えてきて、クライアント側も、ひしひしと 64 ビット化を感じます。   ユーザ モードのアプリケーションは、 WOW64 (Windows 32-bit on Windows 64-bit ) という機能のおかげで、 32 ビットでも動作します。 しかしながら、デバイス ドライバは、 64 ビット版の Windows OS では、ユーザ モードやカーネル モードに関わらず、 64 ビットである必要があります。   64 ビット化が近づきながらも、 32 ビット版の Windows OS も、まだまだ現役という現状は、 32 ビットと 64 ビットのデバイス ドライバを開発する必要があると思います。 2 つもデバイス ドライバを開発しなければいけないのか!と思われるかもしれませんが、開発自体は、そんなに大変ではありません。 何故ならば、ほぼソース コードレベルで互換が可能であるということです。つまり、 x86 ・ x64 ・ ia64 それぞれの Build Environment で build すれば、ほとんど終了してしまうのです。   しかし、ソース コード レベルで互換が可能ということは、過去に開発した全ての 32 ビットのデバイス ドライバに対して、ソース コード レベルで互換性を保証しているわけではありません。意識して、コーディングすれば、ソース コード レベルの互換が可能ということです。また、 100% のソース コードの互換ではなく、若干 考慮しなければいけないところもあります。 とはいっても、ソース コードの互換が可能なぐらいの差異なので、過去に開発した 32 ビットのデバイス ドライバも比較的 容易に移行できるのではないかと思います。   まず、よく使用するデータ型は、このようになっており、ポインター型は、全て 64 ビット長になります。 データ型 ビット数 LONG, INT 32 ビット符号付き ULONG,UINT,DWORD 32 ビット符号なし LONG32, INT32 32 ビット符号付き LONG64, INT64 64 ビット符号付き ULONG32,UINT32,DWORD32 32 ビット符号なし ULONG64,UINT64,DWORD64 64 ビット符号なし   データ型で、よくある問題として、 -1 を 0xFFFFFFFF とコーディングしたり、 0×80000000 以上のアドレスは、カーネル アドレスと判定するなど、 32 ビット長に依存しているコーディングです。 こういったのは、 -1 にするなど、ビット長に依存しないようにコーディングするか、ヘッダ ファイルに定数を定義するなどの工夫が必要になります。 また、定数を定義する場合に、 _WIN64 や _IA64_ や _AMD64_ を使用すると、 Build Environment で適切に定義してくれるので便利だと思います。   なお、このようなコーディングは、デバイス ドライバのみならず、ユーザ アプリケーションでも必要な一般的な考慮点で、ユーザ モードのデバイス ドライバは、このような一般的な考慮点のみで、ほぼ 64 ビットに移行できると思います。 強いて言えば、プリンタ ドライバの場合、 32 ビットのユーザ アプリケーションから呼び出される場合、 SPLWOW64.EXE 経由で呼び出されるため、プロセス空間が、ユーザ アプリケーションではない点です。ただ、通常 プリンタ ドライバは、動作するプロセス空間を認識する必要がないので、問題にならないと思いますが、もし、何らかの事情で、プロセスを意識しているコードがあったとしたら、変更が必要かもしれません。   対してまして、カーネル モードのデバイス ドライバの代表的な考慮点は、 32 ビットのユーザ アプリケーションから、 DeviceIoControl() が呼ばれる場合の実装だと思います。 DeviceIoControl() で指定する InputBuffer や OutputBuffer の構造体は、 IOCTL に依存します。 IOCTL が、デバイス ドライバが管理していると同様に、 InputBuffer や OutputBuffer の構造体も管理する必要があります。そのため、 32 ビットのユーザ アプリケーションから、 DeviceIoControl() が呼ばれたら、 32 ビット用の構造体に変更する必要があります。 WDK のサンプル コード (%BASEDIR%src srcstorageclassclasspnpclass.c) にわかりやすい例があるので、そのコードを抜粋してみます。   ClassDeviceControl() という関数で、 IOCTL_SCSI_PASS_THROUGH と IOCTL_SCSI_PASS_THROUGH_DIRECT という IOCTL のハンドリングをしています。 _WIN64 の場合のみ、 32 ビットのプロセスから呼ばれたかどうかを IoIs32bitProcess() という関数で確認しています。もし、 32 ビットのプロセスから呼ばれたのであれば、 SCSI_PASS_THROUGH 32 という構造体でサイズチェックをしています。 ———- 抜粋 ———-         #if defined (_WIN64)             if ( IoIs32bitProcess (Irp)) {                 if (irpStack->Parameters.DeviceIoControl.InputBufferLength < sizeof(SCSI_PASS_THROUGH 32 )){                     Irp->IoStatus.Status = STATUS_INVALID_PARAMETER;                     ClassReleaseRemoveLock(DeviceObject, Irp);                      ClassCompleteRequest(DeviceObject, Irp, IO_NO_INCREMENT);                     status = STATUS_INVALID_PARAMETER;                     goto SetStatusAndReturn;                 }             }             else         #endif             {                  if (irpStack->Parameters.DeviceIoControl.InputBufferLength < sizeof(SCSI_PASS_THROUGH)) {                     Irp->IoStatus.Status = STATUS_INVALID_PARAMETER;                     ClassReleaseRemoveLock(DeviceObject, Irp);                      ClassCompleteRequest(DeviceObject, Irp, IO_NO_INCREMENT);                     status = STATUS_INVALID_PARAMETER;                     goto SetStatusAndReturn;                 }             } ———- 抜粋 ———-   build するだけで、終了すると書きましたが、実際に本格的な 64 ビット化する場合は、ソース コードをちょっと変更して re-build するだけでなく、テストをしたり、ドライバ署名をしたりと色々と必要になるので、軽い気持ちで、 64 ビット化することはできないと思いますが、将来的な 64 ビット化に備えて、過去に開発したデバイス ドライバや現在 開発しているデバイス ドライバを 64 ビットの Build Environment で re-build してみたり、ソース コードを調整してみたり、少しずつ準備をされるとよいと思います。   なお、細かなチェックリストは、 WHDC のサイトに公開されているので、本格的な移行際には、このチェックリストを活用していただくのがいいと思います。   64 ビット Microsoft Windows ドライバー用のチェックリスト http://www.microsoft.com/japan/whdc/driver/kernel/64bit_chklist.mspx   ちなみに、 64 ビットの Dump ファイルの調査は、少々厄介かもしれません。なにせ、引数が レジスタ 渡 し になってしまったので、 32 ビットのようにお気軽に引数を確認することができません。 ETW ト ー レス など、他のトラブルシューティングの方法を充実させなければいけないかもしれません。 トラブルシューティングについては、いずれ紹介したいと思います。   それでは、また~  

23 June 2009 0 Comments

Remix Tokyo 09 で会いましょう!

来たる 7月16日、Remix Tokyo 09 が開催されます! 今回は Silverlight 3やExpression Blend 3 の新情報が盛りだくさん! 私が担当するブレイクアウトセッションでは、プロトタイピングで注目の Expression Blend 3 の新機能 SketchFlow を使って Silverlight 3 のアプリケーションをどうやって作ったらよいかを紹介します。 他のセッションでは、Windows Azure、Windows Live Services、IIS などを取り上げ、Silverlight やクラウドアプリケーションの構築方法、IIS の SmoothStreaming と Silverlight を組み合わせた最新のメディア配信のソリューションについても解説するセッションがあります。 Silverlight や Expression に興味はあるけど「どこから手をつければ良いのか分からない」「クラウドとの関わりは?」といった方は必見です! 今すぐ申し込んじゃいましょう! また、キーノートのスペシャルゲストにデザインディレクターの川崎和男氏の登壇が決定しました! デザインディレクターとして、伝統工芸品からメガネやコンピュータ、ロボット、原子力エネルギー、人工臓器、先端医療、海事戦略、宇宙空間の装置化などまで幅広く、研究、教育、実務活動を行う川崎和男氏のキーノートへの登壇が決定しました。インダストリアルデザイン、プロダクトデザインを中心に内外で活躍する川崎氏には、Webやアプリケーションにおけるデザインの意義についてご講演を頂きます。 おもしろそうでしょう? さらに、パートナーによるブレイクアウトセッションでは、実際のアプリケーションやサービスでどう活用しているのか?マイクロソフトの技術をどう見ているのか?Windows 7 ユーザー コミュニティサイトや CGMブログパーツを Silverlight で制作した「バスキュール」による開発秘話、数多くの WPF、Silverlight のプロジェクトを手がける「セカンドファクトリー」による UI 開発におけるチーム モデルとワークフロー、「クラスメソッド」による業務アプリケーション開発から見た Silverlight 3、Expression Blend 3 の考察、マークアップエンジニア、テクニカルライター、テクニカルトレーナーとして情報設計やアクセシビリティに深い造詣を持つ「アンカーテクノロジー、神森氏」による Internet Explorer 8 や Expression Web 3 の 4 つのパートナーセッションが用意されています。 みなさまお誘い合わせのうえ、会場に来てくださいね! お待ちしてます!

23 June 2009 0 Comments

Treasure in, treasure out – Windows フィードバック プログラム

こんにちは、小山田と申します。このブログには初めての書き込みとなります。よろしくお願いいたします。 今回は、私が担当している「 Windows フィードバック プログラム」についてご紹介したいと思います。 こちらの Windows 7 ブログでも紹介されているのですが、「 Telemetry (テレメトリー , tele=remote, metry=measure) 」とも呼ばれています。 http://blogs.msdn.com/e7jp/archive/2008/09/16/8963217.aspx このプログラムは、 Windows を開発にするにあたり、我々の思い込みで作るのではなくお客様からのフィードバックを元によりよい製品にしようと始められたプログラムです。 つまり、お客様にも開発に参加していただくのです。設計、コーディング、デバッグ、テストするだけが「開発」ではなく、信頼できる必要なデータの収集も開発の大事なプロセスのひとつです。 私達は様々なマーケットデータなどを Windows の開発に役立てていますが、そもそもマーケットデータが無いものや、実際の使われ方とは乖離がある場合があるため、実データが必要な場合が多々あります。例えば、このような例です。 ・ Windows をお使いのどれぐらいの方がペイントを使っているのか? ・実際には PC にはメモリはどれ位積まれているのだろうか?(メモリを別途購入した場合には PC の基本のスペックと乖離しているのでマーケットデータからはデータが取れない) フィードバックの方法としてはアンケートをとったりヒヤリングをしたりという方法が一般的ですが、このプログラムでは「 Windows は実際にどう使われているかを知る」ということで、小さなプログラムを参加者の方に導入していただき、データを自動的にマイクロソフトにお送りいただく方式を取っています。 体につけた血圧計が、自動的にデータを送信するようなものですね。   米国では既に実施されていたのですが、 2 番目の国として日本でもスタートしました。 英語圏からのデータだけでなく、日本からのデータもこれから Windows の開発に取り込まれてゆくわけです。 参加いただく方を、 6/18 に発信された「 Exploring Windows ニュース」にて募集させていただきました。 たくさんのご応募を頂き、事務局は嬉しい悲鳴を上げています。ご応募いただいた皆様、本当にありがとうございます。 今、先着順に参加いただく方に案内のメールをお送りしています。(参加いただく方のみにご連絡を差し上げておりますのでどうぞご了承ください。 ) 先着としたために、お仕事や都合ですぐには Exploring Windows ニュースを見ることができなかった方もおられると思います。今回は 2,400 名様限定とさせていただいたためにご希望に添えない方も大勢いらっしゃいますが、この場を借りて、ご関心をお寄せいただいたことに対するお礼と、参加いただけなかったお詫びを申し上げます。   さて、今回の表題の – Treasure in treasure out – なのですが、 “Garbage in, Garbage out” という言葉があります。 コンピュータ用語なのですが、「ゴミデータからはゴミしか出てこない」、ということですよね。 「 Windows フィードバック プログラム」はその逆で、皆様の貴重なデータ「宝」からはきっとすばらしい Windows ができる!ということで今回の表題としました。 最後になりましたが、まだ Exploring Windows ニュースレターに 登録されていない方はこの機会にぜひご登録ください。 Windows の最新情報、セキュリティ情報や使い方をわかりやすくご紹介しています。 登録はこちらからどうぞ。 http://www.microsoft.com/japan/windows/using/newsletter.mspx   これからも Windows をよろしくお願いいたします。

22 June 2009 0 Comments

KB 紹介:DirectShow 脆弱性により、リモートでコードが実行される。

  こんにちははらだんです。しばらく立て込んでいて間が空いてしまいました。申し訳ございません。 本日は前回とはまた別の要因による Quartz.dll の脆弱性に関するサポート技術情報の紹介です。こちらも緊急度の高い内容となります。大変ご迷惑おかけいたしますが、紹介するサポート技術情報をご確認いただき対策をお願いします。   今回のサポート技術情報には現時点で修正モジュールがリリースされていません。すでに限定的な攻撃が始まっていることから当面の回避策を公開させていただくことになりました。現在研究開発部門では修正モジュールの作成を行っています。   回避策はレジストリ操作により、該当機能を使えなくするもので、以下のサポート技術情報内の Microsoft Fix it のアイコンをクリック していただければ脆弱性の回避策が講じられます。 (元に戻すことも可能です。)     マイクロソフト セキュリティ アドバイザリ: DirectShow 脆弱性により、リモートでコードが実行される. http://support.microsoft.com/kb/971778/ja     概要をご説明します。 ———- 脆弱性の見つかった箇所は DirectShow フィルタの QuickTime パーサー フィルタです。このフィルタは古い QuickTime 2.0 までに対応しています。(現在のバージョンは 7 ですので、実質は現行のコンテンツを視聴することができません。 QuickTime Player をご利用頂いていると思います。)   このフィルタは旧来のコンテンツを視聴するために OS の互換性の目的で同梱されていましたが、 Vista ではすでに同梱されておりません。このため、今回の脆弱性には Vista 以降の OS は含まれません。対象となる OS は Windows 2000 , Windows XP , Windows Server 2003 の各エディションです。   回避策は該当機能( QuickTime のパーサー フィルタ)を使用しないように設定することで脆弱性は回避されます。具体的な回避策はレジストリを設定し、 QuickTime パーサー フィルタを使用しないようにします。   この回避策による影響は前述のとおり通常 QuickTime Player でコンテンツを再生することとなりますので .mov ファイルのコンテンツの視聴が出来なくなるということはありません。   限定的に、古い . mov ファイルを再生する環境で専用の再生アプリケーション( DirectShow アプリケーション)あるいは Windows Media Player を使用している場合に視聴ができなくなります。   修正モジュールについてリリースがあり次第ここでもご報告したいと思います。 繰り返しとなりますが、すでに限定的とはいえこの脆弱性をついた攻撃が始まっておりますので対策を講じていただきますようよろしくお願いたします。   はらだんでした。

16 June 2009 0 Comments

MSDN オンライン ラーニングページ リニューアルしました!

窪田です。 本日、 MSDN ラーニング ページ をリニューアルしました。 ラーニング ページとは、要は学習に役立つ情報を集約したページです。MSDN オンラインは、開発者の方向けの情報を掲載しているサイトですので、このラーニング ページも、マイクロソフトの製品、テクノロジを利用して開発を行うための学習情報がつまっています。 MSDN ラーニング  http://msdn.microsoft.com/ja-jp/bb188199.aspx リニューアル前は、というと ・・・ こんな感じで、主にテキストベースでしたが、リニューアル後は・・・   となっています。新着情報、セミナー・イベント、オンライン ラーニング、資格・書籍、How Do I  ビデオ、と 5 つのカテゴリーに分けてタブで表示しています。 個人的には、色づかいとか結構好きです。(自己満足?) 何かフィードバックがありましたら、このブログの 私の過去のポスト でご紹介しているいずれかの方法でご連絡ください! MSDN 担当 窪田…( read more )

22 April 2009 0 Comments

インターネットラジオBrandnew-JがSilverlightでテスト配信中

J-WAVEのインターネットラジオ、Brandnew-JがSilverlightを利用した番組配信のβテストを実施しています。 http://prg.j-wavemusic.com/topics/archives/2009/04/silverlight.html Silverlightによる配信は、Windowsだけではなく、Intel Mac (OS X 10.4.8以降)対応です。ラジオが好きな方は、ぜひβテストにご協力ください。…( read more )