Showing posts with label Mobile. Show all posts
Showing posts with label Mobile. Show all posts

Tuesday, September 29, 2009

Windows Mobile ActiveSync Diagnostic Report

Windows Mobile ActiveSync Diagnostic Report


If ActiveSync cannot receive data through Port 990
A computer uses logical connections called "ports" to pass data into and out of the computer. ActiveSync uses port 990 to send its data into the computer. If the Troubleshooter for ActiveSync detects data being blocked, follow these steps:

Check the Windows Mobile powered device display for any messages and respond to them before continuing
Ensure that the computer and the device are set up to use USB connections for ActiveSync:
In ActiveSync on the computer: On the File menu, click Connection Settings and select the Allow USB connections check box.
In ActiveSync on your device: Click Menu > Connections and select the Synchronize all PCs using this connection check box.
Ensure that the device is connected to the computer using the USB cable that came with the device.
If you have an Internet firewall tool, ensure that it is set up to allow ActiveSync connections.

If these steps do not resolve the problem, follow the steps in Switching the USB connection protocol.





互換性のスキャン 状態: 終了

--- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---
RNDIS/シリアル ドライバのスキャン 状態: 終了

--- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---
ネットワーク構成のスキャン 状態: 終了

--- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---
デバイスのスキャン 状態: 終了

--- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---
インストールされたファイアウォールのスキャン 状態: 終了

--- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---
TCP/IP ポート 990 のスキャン 状態: 終了

--- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---
エラー コードのスキャン 状態: 終了

--- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---




ActiveSync Troubleshooting Utility version: 4.2.4876.0
Date/Time: 2009/09/30-10:40:20.715
Analysis started
Operating system has been qualified as Windows XP (Home or Professional) SP1 or greater
Current operating system is supported
Current version of IE is supported
ActiveSync version found is 4.2.4876
Outlook 2003 found
Current version of Outlook is supported
Exchange server found in Outlook profile 1de6
Connection to Exchange server okay
PC is qualified
RNDIS driver has been detected.
Net start - %s
Net start - 次の Windows サービスが開始されています:
Net start -
Net start - Application Layer Gateway Service
Net start - Background Intelligent Transfer Service
Net start - COM+ Event System
Net start - Computer Browser
Net start - Cryptographic Services
Net start - DCOM Server Process Launcher
Net start - DHCP Client
Net start - DNS Client
Net start - Event Log
Net start - Google Updater Service
Net start - IIS Admin
Net start - IPSEC Services
Net start - Machine Debug Manager
Net start - Net Logon
Net start - Network Connections
Net start - Network Location Awareness (NLA)
Net start - NT LM Security Support Provider
Net start - OfficeScan NT Listener
Net start - OfficeScanNT RealTime Scan
Net start - Plug and Play
Net start - Print Spooler
Net start - Protected Storage
Net start - Remote Access Connection Manager
Net start - Remote Procedure Call (RPC)
Net start - Remote Registry
Net start - Security Accounts Manager
Net start - Server
Net start - sfaegsrv
Net start - sfdevctl
Net start - sfprtsv
Net start - sfrsv
Net start - Shell Hardware Detection
Net start - SMS Agent Host
Net start - SQL Server (MSSQLSERVER)
Net start - SQL Server Agent (MSSQLSERVER)
Net start - SSDP Discovery Service
Net start - System Event Notification
Net start - System Restore Service
Net start - Task Scheduler
Net start - TCP/IP NetBIOS Helper
Net start - Telephony
Net start - Telnet
Net start - Terminal Services
Net start - VNC Server
Net start - Windows Audio
Net start - Windows Firewall/Internet Connection Sharing (ICS)
Net start - Windows Image Acquisition (WIA)
Net start - Windows Management Instrumentation
Net start - Windows Time
Net start - Windows User Mode Driver Framework
Net start - Wireless Zero Configuration
Net start - Workstation
Net start - World Wide Web Publishing
Net start - 自動更新
Net start -
Net start - コマンドは正常に終了しました。
Net start -
Dumping Route information
Route - ===========================================================================
Route - Interface List
Route - 0x1 ........................... MS TCP Loopback interface
Route - 0x2 ...00 14 85 86 e8 84 ...... Intel(R) PRO/100 VE Network Connection - パケット スケジューラ ミニポート
Route - 0x110004 ...80 00 60 0f e8 00 ...... Windows Mobile-based Device #2
Route - ===========================================================================
Route - ===========================================================================
Route - Active Routes:
Route - Network Destination Netmask Gateway Interface Metric
Route - 0.0.0.0 0.0.0.0 172.16.13.254 172.16.13.204 20
Route - 127.0.0.0 255.0.0.0 127.0.0.1 127.0.0.1 1
Route - 169.254.2.0 255.255.255.0 169.254.2.2 169.254.2.2 30
Route - 169.254.2.2 255.255.255.255 127.0.0.1 127.0.0.1 30
Route - 169.254.255.255 255.255.255.255 169.254.2.2 169.254.2.2 30
Route - 172.16.13.0 255.255.255.0 172.16.13.204 172.16.13.204 20
Route - 172.16.13.204 255.255.255.255 127.0.0.1 127.0.0.1 20
Route - 172.16.255.255 255.255.255.255 172.16.13.204 172.16.13.204 20
Route - 224.0.0.0 240.0.0.0 169.254.2.2 169.254.2.2 30
Route - 224.0.0.0 240.0.0.0 172.16.13.204 172.16.13.204 20
Route - 255.255.255.255 255.255.255.255 169.254.2.2 169.254.2.2 1
Route - 255.255.255.255 255.255.255.255 172.16.13.204 172.16.13.204 1
Route - Default Gateway: 172.16.13.254
Route - ===========================================================================
Route - Persistent Routes:
Route - None
Dumping Ipconfig information
Ipconfig -

Ipconfig - Windows IP Configuration

Ipconfig -

Ipconfig - Host Name . . . . . . . . . . . . : m032785

Ipconfig - Primary Dns Suffix . . . . . . . : dm-test.ad.test.co.jp

Ipconfig - Node Type . . . . . . . . . . . . : Hybrid

Ipconfig - IP Routing Enabled. . . . . . . . : No

Ipconfig - WINS Proxy Enabled. . . . . . . . : No

Ipconfig - DNS Suffix Search List. . . . . . : dm-test.ad.test.co.jp

Ipconfig - ad.test.co.jp

Ipconfig - test.co.jp

Ipconfig - co.jp

Ipconfig -

Ipconfig - Ethernet adapter ローカル エリア接続:

Ipconfig -

Ipconfig - Connection-specific DNS Suffix . :

Ipconfig - Description . . . . . . . . . . . : Intel(R) PRO/100 VE Network Connection

Ipconfig - Physical Address. . . . . . . . . : 00-14-85-86-E8-84

Ipconfig - Dhcp Enabled. . . . . . . . . . . : No

Ipconfig - IP Address. . . . . . . . . . . . : 172.16.13.204

Ipconfig - Subnet Mask . . . . . . . . . . . : 255.255.255.0

Ipconfig - Default Gateway . . . . . . . . . : 172.16.13.254

Ipconfig - DNS Servers . . . . . . . . . . . : 172.16.250.7

Ipconfig - 172.16.250.11

Ipconfig - Primary WINS Server . . . . . . . : 172.16.250.1

Ipconfig -

Ipconfig - Ethernet adapter ローカル エリア接続 4:

Ipconfig -

Ipconfig - Connection-specific DNS Suffix . :

Ipconfig - Description . . . . . . . . . . . : Windows Mobile-based Device #2

Ipconfig - Physical Address. . . . . . . . . : 80-00-60-0F-E8-00

Ipconfig - Dhcp Enabled. . . . . . . . . . . : Yes

Ipconfig - Autoconfiguration Enabled . . . . : Yes

Ipconfig - IP Address. . . . . . . . . . . . : 169.254.2.2

Ipconfig - Subnet Mask . . . . . . . . . . . : 255.255.255.0

Ipconfig - Default Gateway . . . . . . . . . :

Ipconfig - DHCP Server . . . . . . . . . . . : 169.254.2.1

Ipconfig - Lease Obtained. . . . . . . . . . : 2009年9月30日 10:31:01

Ipconfig - Lease Expires . . . . . . . . . . : 2009年10月30日 10:31:01

Dumping LSPs information
LSP - MSAFD Tcpip [TCP/IP]
LSP - MSAFD Tcpip [UDP/IP]
LSP - MSAFD Tcpip [RAW/IP]
LSP - RSVP UDP Service Provider
LSP - RSVP TCP Service Provider
LSP - MSAFD NetBIOS [\Device\NetBT_Tcpip_{3464EA89-9685-471B-8FE8-EE2D25FCBC6A}] SEQPACKET 5
LSP - MSAFD NetBIOS [\Device\NetBT_Tcpip_{3464EA89-9685-471B-8FE8-EE2D25FCBC6A}] DATAGRAM 5
LSP - MSAFD NetBIOS [\Device\NetBT_Tcpip_{866BE39D-554F-4BBF-98F2-0091180C4196}] SEQPACKET 3
LSP - MSAFD NetBIOS [\Device\NetBT_Tcpip_{866BE39D-554F-4BBF-98F2-0091180C4196}] DATAGRAM 3
LSP - MSAFD NetBIOS [\Device\NetBT_Tcpip_{CE43D765-A272-4AE3-81A1-FF632C98E32F}] SEQPACKET 0
LSP - MSAFD NetBIOS [\Device\NetBT_Tcpip_{CE43D765-A272-4AE3-81A1-FF632C98E32F}] DATAGRAM 0
LSP - MSAFD NetBIOS [\Device\NetBT_Tcpip_{4FF1138A-C4B9-43E6-A166-B0CC91EDD3C5}] SEQPACKET 1
LSP - MSAFD NetBIOS [\Device\NetBT_Tcpip_{4FF1138A-C4B9-43E6-A166-B0CC91EDD3C5}] DATAGRAM 1
LSP - MSAFD NetBIOS [\Device\NetBT_Tcpip_{3FA20D8B-85D0-414D-9834-B1F6DC0992CA}] SEQPACKET 2
LSP - MSAFD NetBIOS [\Device\NetBT_Tcpip_{3FA20D8B-85D0-414D-9834-B1F6DC0992CA}] DATAGRAM 2
Dumping NSPs information
NSP - Tcpip
NSP - NTDS
NSP - Network Location Awareness (NLA) Namespace
Dumping NDIS information
Listing Network Protocols
---ネットワーク モニタ ドライバ
------Binding Path 1
---------Bluetooth Personal Area Network from TOSHIBA
------Binding Path 2
---------Intel(R) PRO/100 VE Network Connection
------Binding Path 3
---------WAN ミニポート (ネットワーク モニタ)
---PPPoE (Point to Point Protocol over Ethernet)
------Binding Path 1
---------Bluetooth Personal Area Network from TOSHIBA
------Binding Path 2
---------Intel(R) PRO/100 VE Network Connection
---Point to Point Tunneling プロトコル
---レイヤ 2 トンネリング プロトコル
---リモート アクセス NDIS WAN ドライバ
------Binding Path 1
---------直接パラレル
------Binding Path 2
---------WAN ミニポート (PPPOE)
------Binding Path 3
---------WAN ミニポート (PPTP)
------Binding Path 4
---------WAN ミニポート (L2TP)
------Binding Path 5
---------RAS 非同期アダプタ
---NDIS Usermode I/O プロトコル
------Binding Path 1
---------Bluetooth Personal Area Network from TOSHIBA
------Binding Path 2
---------Intel(R) PRO/100 VE Network Connection
---Message-oriented TCP/IP Protocol (SMB session)
---WINS Client(TCP/IP) Protocol
------Binding Path 1
---------インターネット プロトコル (TCP/IP)
---------Windows Mobile-based Device #2
------Binding Path 2
---------インターネット プロトコル (TCP/IP)
---------Bluetooth Personal Area Network from TOSHIBA
------Binding Path 3
---------インターネット プロトコル (TCP/IP)
---------Intel(R) PRO/100 VE Network Connection
------Binding Path 4
---------インターネット プロトコル (TCP/IP)
---------WAN ミニポート (IP)
---インターネット プロトコル (TCP/IP)
------Binding Path 1
---------Windows Mobile-based Device #2
------Binding Path 2
---------Bluetooth Personal Area Network from TOSHIBA
------Binding Path 3
---------Intel(R) PRO/100 VE Network Connection
------Binding Path 4
---------WAN ミニポート (IP)
Listing Network Services
---Wireless Zero Configuration
---Steelhead
---ダイヤルアップ サーバー
---リモート アクセス接続マネージャ
---ダイヤルアップ クライアント
---Microsoft ネットワーク用ファイルとプリンタ共有
------Binding Path 1
---------Message-oriented TCP/IP Protocol (SMB session)
------Binding Path 2
---------WINS Client(TCP/IP) Protocol
---------インターネット プロトコル (TCP/IP)
---------Windows Mobile-based Device #2
------Binding Path 3
---------WINS Client(TCP/IP) Protocol
---------インターネット プロトコル (TCP/IP)
---------Bluetooth Personal Area Network from TOSHIBA
------Binding Path 4
---------WINS Client(TCP/IP) Protocol
---------インターネット プロトコル (TCP/IP)
---------Intel(R) PRO/100 VE Network Connection
------Binding Path 5
---------WINS Client(TCP/IP) Protocol
---------インターネット プロトコル (TCP/IP)
---------WAN ミニポート (IP)
---QoS パケット スケジューラ
------Binding Path 1
---------Bluetooth Personal Area Network from TOSHIBA
------Binding Path 2
---------Intel(R) PRO/100 VE Network Connection
------Binding Path 3
---------WAN ミニポート (IP)
------Binding Path 4
---------WAN ミニポート (ネットワーク モニタ)
---Generic Packet Classifier
---アプリケーション層ゲートウェイ
---NetBIOS インターフェイス
------Binding Path 1
---------WINS Client(TCP/IP) Protocol
---------インターネット プロトコル (TCP/IP)
---------Windows Mobile-based Device #2
------Binding Path 2
---------WINS Client(TCP/IP) Protocol
---------インターネット プロトコル (TCP/IP)
---------Bluetooth Personal Area Network from TOSHIBA
------Binding Path 3
---------WINS Client(TCP/IP) Protocol
---------インターネット プロトコル (TCP/IP)
---------Intel(R) PRO/100 VE Network Connection
------Binding Path 4
---------WINS Client(TCP/IP) Protocol
---------インターネット プロトコル (TCP/IP)
---------WAN ミニポート (IP)
---QoS RSVP
Pinging Desktop gateway 172.16.13.254 started
Ping echoed successfully
Pinging Device 169.254.2.2 started
Ping echoed successfully
PC とデバイスとの接続を確立できません。接続に関する一般的な問題の最新の解決策を入手してください。詳細については、次のリンクをクリックしてください。
http://go.microsoft.com/fwlink/?LinkId=65257
デバイスが切断された可能性があります。デバイスを PC に接続してください。
ActiveSync is performing a sync, please wait......
ActiveSync ログ ファイルの検索中
No errors found in ActiveSync log file




Exiting

Thursday, July 23, 2009

Rubyを利用したiPhoneアプリ開発環境「Rhodes」

http://builder.japan.zdnet.com/sp/iphone-3g-2008/story/0,3800087831,20397077,00.htm?tag=zdnw

http://www.rhomobile.com/products/rhodes

今回はRubyを利用したiPhoneアプリ開発環境「Rhodes」を紹介する。
最新特集【一覧】

Rubyを利用したiPhoneアプリ開発環境「Rhodes」

OSSのクラウド基盤「Eucalyptus」を使う(6)--VM実行環境の設定とCentOSでのイメージ作成
人気記事【一覧】
1:OSSのクラウド基盤「Eucalyptus」を使う(6)--VM実行環境の設定とCentOSでのイメージ作成 ネイティブなiPhoneアプリの開発はObjective-C決め打ち、という状況に呻吟しているデベロッパは少なからず存在するはず。ここに選択肢、たとえばRubyが加わるとしたら、歌い出す(singing……失礼しました)ほど嬉しい人もいるのではなかろうか。

 Rhomobileがリリースした「Rhodes」は、Rubyを利用したiPhoneアプリ開発環境。ローカルで動作するRuby on Rails、とでも言うべき機能を備え、描画にはWebViewを利用できる。アプリのバンドル内部にRubyVMを収録し、事前にコンパイルしておいた(動的コンパイルはApp Storeの審査を通過しないとされる)インストラクションを処理するという流れだ。

 GPLv3と商用のデュアルライセンスで提供され、後者を選択した場合はアプリ1つにつき500ドルとなるが、フリー/オープンソースの場合は無償利用できるため、趣味のアプリ開発で使うぶんには支障ないはず。

 手本になるコードは……ということでgithubを探してみたところ、いくつか発見。App Storeで公開中の「Issues To Go」や、Twitterクライアントの「rhodes-twitter」など、これからRhodesを試してみようという向きには参考になるだろう。

Friday, May 8, 2009

「X01HTのSIM・CID Unlock」  モバイル・ケータイ(WM)

http://sky.ap.teacup.com/debslink/730.html

「X01HTのSIM・CID Unlock」  モバイル・ケータイ(WM)
先日のNokia 6630(702NK)に引き続き、今度はX01HTのSIMアンロックに挑戦した。
pof氏が作成したフリーのツールHTC Hermes SIM CID Unlock v3aを使用。

※ 手順をメモしながら実行しましたが、内容に不足している部分があるかも知れません。
 アンロック作業は自己責任でお願いします。

Unlock手順

・自分の環境
PC:ThinkPad 570 (Pen2 333MHz、RAM192MB、Windows2000 SP4)
X01HT(黒):ROM 1.33.761.4、BootROM 1.06
ActiveSync:バージョン4.1.0

1. X01HT付属のUSBケーブルを用意。
2. 母艦となるPCとX01HTを上記のケーブルで接続し、ActiveSyncが
 起動してタスクトレイ内のActiveSyncのアイコンが緑色になる事を確認。
3. ダウンロードしたファイル「HTC_Hermes_SIM_CID_Unlock_v3a.zip」を
 適当なフォルダ内に解凍。
4. 解凍後に作成されたフォルダ「HTC_Hermes_SIM_CID_Unlock_v3a」内の、
 AUTO_Unlock_v3a.batファイルを実行。
 (Nokiaの端末とは異なり、SIMカードを挿入した状態で実行)
 コマンドプロンプトが起動し、AUTO_Unlock_v3a.batが実行される。
 この時、X01HTの画面が3色に変わる。

  4-1. コマンドプロンプト内にて「続行するには何かキーを押してください」
   と表示されたら、Enterキーを叩く。
  4-2. 「Initializing......ok!」と表示された後、再度「続行するには
   何かキーを押してください」と表示される。Enterキーを叩く。
  4-3. 続いて、2度「続行するには...」が表示されるので、Enterキーを叩く。
  4-4. 「HERMES Unlocker v3a is runninng on your phone:」の表示の
   下に、英語でSIM UnlockとCID Unlockの説明が表示される。
   再度「続行するには何かキーを押してください」と表示されるので、
  Enterキーを叩く。
   この辺りで、ActiveSyncは強制終了されて非同期の状態になる。

5. 「HTC HERMES SIM CID Unlocker 3.12.3.7」のウインドウが表示される。
 「I understand the message indicated above and wish to proceed」に
  チェックを入れて、Nextをクリック。
6. 続いて、「I completed the steps indicated above.」にチェックを入れて
  Nextをクリック。
  この時点ではActiveSyncは実行されていない状態だが、
 気にしないで次に進む。
7. 「RUU/RUU_HERM_Unlock_v3a.exe」が実行される。
  進捗状況のメータが100%になると、X01HTは再起動する。
  再起動後、ActiveSyncによってPCとの同期が始まり、「HERM_Unlock_v3.exe」
  がX01HTにコピーされる。
8. X01HT上で HERM_Unlock_v3.exeを実行。
  X01HT上で「Unlock」ボタンをタップし、オプション画面でアンロックしたい
  項目にチェックを入れてアンロック実行。

   8-1. 自分の場合、SIM UnlockとCID Unlockにチェックを入れて実行。

9. アンロックが成功すると、X01HT上で「Success!」のポップアップが表示される。
  めでたく、「Device SIM/Network lock removed and set to SuperCID」の
 文章が!!
10. HERM_Unlock_v3.exeのウインドウを×ボタンをタップして終了。
 自分は、smartone(香港)のSIMカードを挿して、ロック解除を確認した。

11. しかし、このままSoftBank以外のSIMカードを挿入した状態では
 「USIMが未挿入または無効な....」の警告画面が表示されてしまう。
  この表示を出させないようにするには、例の定番ツールの力を少し借りる必要
 がある。
  例の定番ツール「M3100v4Unlock.zip」をダウンロードし、PC上で解凍。
 X01HTにSoftBankのSIMを挿入して起動、PCとUSBケーブルで接続する。
12. 解凍後に作成されたフォルダ「M3100v4Unlock」内にあるファイル
 「M3100v4bUnlock.exe」を実行。
13. コマンドプロンプトが起動し、X01HTのチェックが実行される。
 その時、X01HTの画面は3色表示になり、1分程後に真っ白になる。
14. コマンドプロンプト上では、Key Fileを実行しろと英語で表示されるが、
 無視。KeyFileを注文していないので、実行どころか所有さえしていない状態。
  実はこの段階で、「USIMが未挿入または無効な....」の警告画面を無効に
 してくれるツール「Welcome.exe」がX01HTにインストールされている。
 (インストール先は、/Windows/スタートアップ)
  ここで、コマンドプロンプトを終了させ、PCとX01HTとを接続しているUSB
 ケーブルを抜き、X01HTを再起動させる。
15. 「USIMが未挿入または無効な....」の警告画面が表示されなくなり、
 SoftBank以外のSIMカードを挿入しても、X01HTが使用出来るようになる。


pof氏ならびに先輩ユーザの方々に感謝!!

ttp://pof.eslack.org/hermes-unlocker/
ttp://www.imei-check.co.uk/m3100unlock.php

Saturday, December 13, 2008

Android can run on HTC TyTN (Kaiser)

http://d.hatena.ne.jp/tmatsuu/20080523#1211499699

http://pdadb.net/index.php?m=specs&id=733


HTC TyTN II P4550 (HTC Kaiser 120) Specs
Datasheet-Views: 530542 views since addition of datasheet (February 28, 2007)
Datasheet_State: Final specifications
Release;Date: September, 2007
Project-Codename: HTC Kaiser 120
Browse all devices under HTC Kaiser 120 codename
Predecessor_Model: HTC TyTN P4500
Dimensions: 59 x 112 x 19 millimetres
Mass: 190 grams (battery included)
Software+Environment
Operating-System: Microsoft Windows Mobile 6 Professional (Crossbow) AKU 0.4.2
Browse devices running this OS
Microprocessor,_Chipset
CPU: 32bit Qualcomm MSM7200
Browse devices based on this microprocessor
CPU:Clock: 400 MHz
Memory,_Storage+capacity
ROM_capacity: 256 MiB (accessible: 145.2 MiB)
RAM+capacity: 128 MiB
Display
Display:Type: color transmissive TFT , 65536 scales
Display+Diagonal: 2.8 "
Display;Resolution: 240 x 320
Sound
Microphone(s): mono
Loudspeaker(s): mono
Audio;Output: Proprietary
Cellular_Phone
Cellular_Networks: GSM850, GSM900, GSM1800, GSM1900, UMTS850, UMTS1900, UMTS2100
Cellular-Data;Links: CSD, GPRS, EDGE, UMTS, HSDPA
Call+Alert: 40 -chord melody
Vibrating_Alert: Supported
Speakerphone:: Supported
Control_Peripherals
Positioning_Device: Touchscreen
Primary_Keyboard: Slide and tilt QWERTY-type keyboard
Directional-Pad: 5 -way
Scroll+Wheel: Pressable rotary scroll wheel
Interfaces
Expansion+Slots: microSD, microSDHC, TransFlash, SDIO
USB: USB 2.0 client, 12Mbit/s
mini-USB
Bluetooth: Bluetooth 2.0
Wireless;LAN: 802.11b, 802.11g
Infrared-Gate: Not supported
Multimedia_Telecommunication
Analog-Radio:Receiver: Not supported
Digital;Media-Broadcast-Tuner: Not supported
Satellite:Navigation
Built-in-GPS:module: Supported
Complementary+GPS;Services: Assisted GPS, QuickGPS
Built-in:Digital+Camera
Main;Camera: 3.1 MP
Autofocus-(AF): Supported
Optical;Zoom: 1 x
Secondary:Camera: 0.3 MP
Additional:Details
Battery: removable
Battery+Capacity: 1350 mAh

Sunday, November 23, 2008

手びら大きいさのプロジェクターが誕生した

http://www.pocket-pj.com/
iPod, 携帯, ハンディーカメラと一緒に使う目的だそうだ

Saturday, November 15, 2008

Reflection support for generic types in .NET Compact Framework

http://blogs.msdn.com/nazimms/archive/2005/01/25/360324.aspx

Reflection support for generic types in .NET Compact Framework

Version 2 of .NET Compact Framework (NETCF) will provide support for parametric polymorphism aka Generics. You can get a good feel for the feature support from blog posts by Seth Demsey and Roman Batoukov. It would also be useful to go over Generics terminology as presented in this article in section 1.1.



Evidently since this language feature adds to the very nature of types in the CLR, one could safely assume need for special support when reflecting on these types … and such is the case. Below is a list of new Reflection APIs provided to assist in discovering information about a generic type/method through reflection. It should be noted however that previously existent reflection APIs like Type.GetMethods() etc would also discover generic methods and the like.







I. New Reflection APIs for generic support.



(Note: This list is current as of .NET Framework 2.0 Beta 1 and may change henceforth.)



1. System.Type



Properties

ContainsGenericParameters

HasGenericArguments

IsGenericParameter

IsGenericTypeDefinition



Methods

BindGenericParameters

GetGenericArguments

GetGenericTypeDefinition





2. System.Reflection.MethodInfo



Properties

ContainsGenericParameters

HasGenericArguments

IsGenericMethodDefinition



Methods

BindGenericParameters

GetGenericArguments

GetGenericMethodDefinition







II. How and where would I use it?



1. Creating generic types via reflection.



NETCF does not have runtime IL verification and metadata validation and hence cannot validate generic parameter constraints for normal execution scenarios (if the compiler did not catch the error at compile time). However, if one were to use reflection, i.e. get an open generic type and the bind parameters to it via BindGenericParameters() API, constraint validation would be performed. So if constraint validation is important to you, use the reflection API to bind parameters (if the compiler would not catch the error). Here is an example:



Say I have a generic type:



public class MyGenericType

where T: IFormattable

where U: IConvertible

{}



Something like MyGenericType should not be allowed, since System.Object does not implement IConvertible. However if you were to write code that looked as below, we would validate the constraints on MyGenericType and throw an exception.



Type foo = Type.GetType("MyGenericType`2");

Type[] params = new Type[] {typeof(Int32), typeof(Object)};

Type bar = foo.BindGenericParameters(params); // This will throw an exception because constraints are not met.



Type foo above denotes the open type for MyGenericType, meaning no generic parameters have been bound to it yet. The open type is also referred to as the Generic Type Definition. The "`2" (back-tick) notation refers to the number of generic parameters on the type. So a class like



public class GenType2



would have an open type notation of



Type foo2 = Type.GetType("GenType2`4");



Creating a bound type for GenType2 would look something like what is shown below. As one would guess, the types foo3, foo4 and foo5 are identical.



Type foo3 = Type.GetType("GenType2`4[System.Int32, System.Int32, System.Int32, System.Int32]");

GenType2 bar2 = new GenType2();

Type foo4 = bar2.GetType();

Type foo5 = typeof(GenType2);



What would the type string look like if one of the generic parameters above was a type in a different assembly? Well it would look something like what is shown below.



Type foo6 = Type.GetType("MyGenericClass`2[System.Int32, [MyNameSpace.MyExternType, MyExternAssemblyName]]");



Of course you could also go ahead and provide more information like the public key token if you wanted.





2. Invoking generic methods and methods with generic arguments using reflection



Say I have the following type definition.



public class MyGenericType

{

public void Method1 (T x) {}

public void Method2 () {}

}



Method1 is a method which has a generic argument and Method2 would be a generic method. Hopefully this example helped untangling your brain from the topic being discussed. In Method1, the first argument x happens to be of the same type as the first generic parameter that MyGenericType was created with (T). In Method2 however, V is a generic type and has no relation to the generic parameters used to create MyGenericType. Here's how these methods would be called in the normal execution scenario.



MyGenericType mgt = new MyGenericType();

Int32 i = 0;

mgt.Method1( i );

mgt.Method2();



Here's how you would do it using reflection.



MethodInfo mi1 = typeof(mgt).GetMethod("Method1");

MethodInfo mi2 = typeof(mgt).GetMethod("Method2");

mi1.Invoke(mgt, new object[] {5}); // The method argument has to be castable to an Int32.

MethodInfo mi2_bound = mi2.BindGenericParameters(typeof(System.DateTime));

mi2_bound.Invoke(mgt, new object[] {});

MethodInfo mi2_unbound = mi2_bound.GetGenericMethodDefinition();



As you noticed we had to first bind a generic parameter to Method2 before we could Invoke it. In the code above, mi2_unbound would be the same as mi2.







III. Limitations



1. Getting members of open generic types



Getting members, methods or interfaces of open generic types is not supported in NETCF. You will get a NotSupportedException thrown when you attempt to do something similar to what is shown below.



Type t = Type.GetType("MyGenericType`2");

Type[] InterfaceList = t.GetInterfaces() // This will throw a NotSupportedException

MethodInfo mi = t.GetMethod("Method1"); // This will throw a NotSupportedException



What you would need to do to work around this is to simply bind some type parameters to your generic type (instantiate it) and then attempt to get its members.



Type t = Type.GetType("MyGenericType`2[System.Int32, System.Int32]");

MethodInfo mi = t.GetMethod("Method1"); // This will work.





2. Methods/Properties not supported on formal types



If you were to call GetGenericArguments() on an open generic type, you would get the generic parameter list ... also called formal parameters.



Type t = Type.GetType("MyGenericType`2");

Type[] genargs = t.GetGenericArguments();



The array genargs would actually contain the type T and U as defined in the class definition. You are limited to what you can actually call on this formal type. Attempting to access BaseType, DeclaringType, ReflectedType etc. would result in a NotSupportedException being thrown. This is also true if you attempt to get interfaces, methods or members on it.





3. Discovering constraints on parameters through reflection.



NETCF does not support the GetGenericParameterConstraints() API and as such you will not be able to look up the constraints on generic parameters of any generic type/method through reflection. Another mechanism that the full .NET framework provides for discovering this is through discovery on formal parameters, but the restrictions on formal parameters stated above in III.2 would prevent you from doing this on NETCF. This restriction is further elaborated in IV.2.





4. Can't resolve method signature ambiguities because of lack of reflection on open types.



Say I have a type definition that looks something as shown below.



public class Generic2P

{

public void method (T x) {}

public void method (U y) {}

}



public class Generic1P

{

public void method(S s)

{

Generic2P foo = new Generi2P();

foo.method(s);

}

}



If for the instantiation of Generic1P's method has the same type used for both its generic parameters R and S, then it would result in ambiguity as to which method would be called on Generic2P. For example if I have



Generic1P bar = new Generic1P();

bar.method(5);



Then this would result in Generic2P getting created and Generic2P.method(int) being called. However there will be two methods with this exact same signature. Both NETCF and the full .NET framework will default to the same method, but what if that is not the method you want to call?



On the full .NET framework one could get methods on the open type Generic2P and based on the formal parameter used as the argument in the method, you could fetch the right method and bind parameters/arguments to it and invoke it. However since we can not get methods or members on open types in NETCF we would not be able to do this and you would not be able to manually resolve signature ambiguities.







IV. Differences with the full .NET Framework



1. Lack of TargetException, TargetInvocationException, TargetParameterCountException.



NETCF does not support the above mentioned exceptions that are thrown on the full .NET framework when one attempts to call BindGenericParameters() with illegal arguments. On NETCF the following substitutions occur.



TargetException -> ArgumentNullException, InvalidProgramException

TargetInvocationException -> MissingMethodException

TargetParameterCountException -> ArgumentException.





2. Constraint hierarchy vs. Derivation hierarchy.



Consider the following type definitions.



public interface InterfaceA {}

public interface InterfaceB {}

public class BaseA: InterfaceA {}

public class InheritedA: BaseA, InterfaceB {}



public class BaseB

where T: InterfaceA

{}



public class InheritedB

where T: BaseB, InterfaceB

{}



In the case of InheritedA, it inherits from BaseA that implements InterfaceA. This hierarchy would constitute the derivation hierarchy. In the case of InheritedB, its generic parameter is constrained to inheriting from BaseB, whose generic parameter is constrained to implementing InterfaceA. This hierarchy would constitute the constraint hierarchy.



On the full .NET framework, if we were to get the formal type T via a call to GetGenericArguments() on the open type InheritedB; we could traverse the constraint hierarchy as if it were a derivation hierarch by using the BaseType property and calling GetInterfaces() method on it. In NETCF however we distinguish between the two and do not allow you to treat constraint hierarchy as if it were a derivation hierarchy. So you cannot use the BaseType property and the GetInterfaces() method to peruse the constraint hierarchy. Instead you would get a NotSupportedException thrown at you.







3. Differences in exceptions thrown.



There are many places where we throw MissingMethodExceptions instead of ArgumentExceptions and the like. Hopefully this will be addressed in another blog post that will be soon to come.

WindowsMobileSMSSync.exe

WindowsMobileSMSSync.exe
NullReferenceException

場所 BrianHama.WindowsMobile.PocketOutlook.MailStore..ctor()
場所 BrianHama.WindowsMobile.PocketOutlook.Utilities.get_MessageStore()
場所 BrianHama.WindowsMobile.PocketOutlook.Account.Dispose(Boolean disposing)
場所 BrianHama.WindowsMobile.PocketOutlook.Account.Finalize()
http://www.brianhama.com/Software/SMSSync.aspx

http://www.handster.com/download.php?id=29
spb

http://forum.xda-developers.com/forumdisplay.php?f=254

MyMobiler

Windows Mobile 5.0/6.0/2003 のリモートデスクトップ(ターミナル) - My Mobiler
Windows Mobile Remote Desktop (Terminal)
http://www.mymobiler.com/