2009-03-21 12 views
0

新しいものがあなたのためにあります。 Imは別のプログラマがC#のプログラムをDelphiに移植するのを手伝っています。私は本当にC#を読むことはできません。また、彼は現時点で私に実際のソースを送っていませんでした。議論から私は時間の観点からこの機能の大部分に取り組んでいると思います。Delphi - WindowsのSATA IOポート番号の列挙

システムに接続されているすべてのSATAデバイス(私はデバイスだと思います)のIOポート番号を取得する必要があります。私はWMIがそれをやらないことを知っていますので、どこから始めるべきかわかりません。私はこのアプリのC#バージョンが基本的にレジストリを解析するC#クラスを使用していることを知っています。私はいつもレジストリから直接読むことについて不気味でした。可能であれば、Windowsのバージョン間で情報を取得するのがより信頼できると感じています。

+0

あなたの質問は、何してくださいますか? – mghie

+0

最初にあなたがソースを読むことができず、あなたがソースを持っていないときには、ポートコードは奇妙ではありませんか? –

+0

mghie質問があります "私はすべてのSATAデバイス(私はデバイスを意味すると思う)のIOポート番号をシステムに接続する必要があります。あなたは私が精巧にする必要がある場合...私はすることができますが、私は試してみることを確認していない。 –

答えて

1

オリジナルがレジストリを読んでいて、あなたがその機能を移植している場合、レジストリを読むことは私にとって完全に有効な解決策のように見えますか?

ところで、デルファイは、ユニットレジストリのクラスTRegistryを持っています。これを使ってレジストリを読み書きすることができます。デフォルトでは、Vista上のすべての権利(読み取り/書き込み..)を要求しています。これは問題になる可能性があるので、読み取り専用にする場合は必ず読み取り専用にしてください。

キー値:

KEY_READ 
KEY_WRITE 
KEY_EXECUTE 
KEY_ALL_ACCESS 

これらは実際には基本的な価値観で作られたセットです。

KEY_QUERY_VALUE  
KEY_SET_VALUE   
KEY_CREATE_SUB_KEY  
KEY_ENUMERATE_SUB_KEYS 
KEY_NOTIFY  
KEY_CREATE_LINK 
KEY_WOW64_32KEY 
KEY_WOW64_64KEY 
KEY_WOW64_RES 
+0

あなたは奇妙なポートコードが見えないかどうか尋ねます。私にとっては、iveは機能するだけで自分のコードを使って別のアプリケーションを機能的に "移植"しました。私は、外部デバッガを使って、ソースがないパスカルにプログラムを移植します。私はそれが私が必要とする古いコマンドラインアプリのために行う。 –

+0

私はまた、眺めにはあまりにも多くの問題があってはいけないと言っていました。私が書いている他のアプリは、通常、標高を必要とする低レベルのものを行うので、標高を要求/要求するためのマニフェストを表示するだけです。レジストリの操作は読んでおいてください。ただし、このアプリはUACのようなものです –

関連する問題