【WDM】Windows Driver Model相談室【デバドラ】
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
NGNG0623デフォルトの名無しさん
2008/06/14(土) 01:46:17APIつかってエラー出たならGetLastErrorが基本。
>>620
KS系はPinで定義してあるデータを送るものだから
Pinの定義を調べてみては?
>>622
ddkbuild.cmd
0624デフォルトの名無しさん
2008/06/14(土) 13:49:08老師、感謝
今からGoogle先生を訪問します
0625デフォルトの名無しさん
2008/06/14(土) 19:19:24ありがとうございます。
PINの定義としては、
DataRange.MajorFormat = STATICGUIDOF(KSDATAFORMAT_TYPE_MUSIC);
DataRange.SubFormat = STATICGUIDOF(KSDATAFORMAT_SUBTYPE_MIDI);
DataRange.Specifier = STATICGUIDOF(KSDATAFORMAT_SPECIFIER_NONE);
Technology = STATICGUIDOF(KSMUSIC_TECHNOLOGY_PORT);
を設定しています。
WDKドキュメントで、KSから送られるMIDIデータのフォーマットを
探しているのですが、見つけられないでいます。
0626デフォルトの名無しさん
2008/06/14(土) 20:52:39タイムスタンプぢゃないのかしらん
0627デフォルトの名無しさん
2008/06/14(土) 23:20:24定石をありがとう。感謝します。
CreateFile関数はどうやらプリンタドライバ中では使えない様
なんですが、、ZwCreateFileという関数があるのですが
それならプリンタドライバ中でも使えるのか今確認していますが
何か情報をお持ちの方は情報をお願いします。
最悪、スプーラに書き込みを行えばWinDbgなしでもDebug作業が
できることはわかりました。
0628デフォルトの名無しさん
2008/06/15(日) 10:35:18ちょっと聞きたいんだが、仕事でプリンタドライバ作ってるの?
お遊びなら、色々試行錯誤して楽しむのもいいけど、お仕事ならきちんと基礎を身に付けてから
でないと、ユーザーに大きな迷惑をかけることになるよ。
周りにドライバを作り慣れた先輩とかいないの?
0629デフォルトの名無しさん
2008/06/15(日) 10:54:56勉強しつつがんばってくれ、みたいな感じで始まった。
仕事はいろいろともらっている2年生。
嫌ではないが、進んでやりたくはないという状況だなー。
だって全然わからんのだよ・・・orz
>>627
ソースがいま手元になくて分からんけど、
CreateFileWって関数かも?
Unicodeじゃないとだめって制限があるらしいので。
0630デフォルトの名無しさん
2008/06/15(日) 15:15:31>>627の書き込みからカーネルモードのドライバを作っていると想像するが、「ユーザーモードのアプリや
サービスから使用できる関数と、カーネルモードのドライバから使用できる関数は全くの別物」とうことは
デバイスドライバを作る上で一番最初に知るべき基礎の基礎ですよね。
CreateFileWもユーザーモード用のWindowsAPIです。
基礎を知らずに作るととりあえず自分のパソコンでは動いても他の環境では動かない物が出来上がる、
というのはアプリでもドライバでも同じだけど、ドライバの場合はたいていOSもろとも落ちるからねえ。
周りに聞ける人がいないなら、書籍ですかね。
お奨めは、
http://www.ascii.co.jp/books/books/detail/4-7561-3913-2.shtml
これで難しいと感じるなら、その前の入門書として
http://seshop.com/detail.asp?pid=1005
ですかね。(どちらも古い本だから、今はもっといいのがあるかも)
後は、自分の担当するデバイスに一番似通ったDDKサンプルを実際に動かしてみる(必要なら対象機器を
勉強用に会社に買ってもらう)のが良いんでは。
ドライバもだんだんユーザーモードで作れるようになってきてるみたいだけどね・・・
0631デフォルトの名無しさん
2008/06/15(日) 15:37:49>>611にも書いてるけど
0632デフォルトの名無しさん
2008/06/15(日) 16:31:30そういうのは定番の本で足りちゃうんだよね。
で、ドライバに関してはさらに特殊でカーネルモードですらないっていう
これはMSDN、ぐぐる、サンプルソース見るしかない。
ユーザーモードについては一般的なプログラミング知識があればできると思うけど
GetLastErrorを試してないあたりに、その知識も少ないと感じる。
セキュリティ的な面でユーザーモードといえども使えない関数があるかもしれないから
最低でもGetLastErrorで調べてみろってことなんだが。
とにかくがんばれとしか言いようが無いな。
0633デフォルトの名無しさん
2008/06/18(水) 19:16:3486用には普通にビルドできるんですが、64用にビルドすると
外部参照エラーになってしまいます。WinUsb_Initialize()とかの
関数が軒並みアウトです。
普通にリンカーの餌に、SDKのLib/x64ディレクトリにあるsetupapi.lib
を与えてるんですけど。WINSUB.libなんてのも有りそうで無いみたいだし。
だれかわかる人がいたら教えてください。
環境はVC++2008 / Microsoft SDKs v 6.0A / WinDDK 6000です。
0634デフォルトの名無しさん
2008/06/18(水) 19:19:55WINUSB 正
0635デフォルトの名無しさん
2008/06/19(木) 09:47:14どこを見てるんだ?
普通に DDK の lib 探したら winusb.lib が見つかるわけだが。
winusb.dll 使ううえにダイナミックリンクじゃないんだから lib ファイルがあるに決まってるだろ。
0636デフォルトの名無しさん
2008/06/19(木) 15:04:48そんなに怒らないで。
>>633の彼はドライバ開発したのとがないんだ。
だから、winusb.libも普通にVC2008やPSDKにあると思っている。
さすがに、setupapi.libを与えたには、ぽかーーーんとした
0637デフォルトの名無しさん
2008/06/19(木) 22:12:08これ、ひょっとしてWDKでMFC4.2アプリ開発できるってことですか?
あと、先生方はWDKをVSに統合して、IDE上でドライバプログラム書いているんですか?
0638デフォルトの名無しさん
2008/06/19(木) 22:51:17付いているのだとMSの中の人がどこかのMLで言ってた
0639デフォルトの名無しさん
2008/06/19(木) 22:56:490640デフォルトの名無しさん
2008/06/19(木) 23:06:08それってドライバの話じゃなくてさ
ターゲット環境が変わったら、ライブラリも変えろって話でしょ?
そこらへんはC言語の基礎的な話なので、
どっかでちゃんと理解しといたほうがいいんじゃない?
>>637
できると思うよ。ただ、本来の機能全部入っているかはわからない。
Ioctlなどでドライバを操作したいユーザーモードアプリケーションを作ろうとした場合のためにあると思われる。
カーネルモードのヘッダと一緒にすると不具合が出る部分を出ないようにしたりしてるんじゃないかね
と、嘘かもしれないことを言ってみる。
開発環境は人による。秀丸にこだわってる人も居るだろうし、人それぞれ。
0641デフォルトの名無しさん
2008/06/20(金) 00:20:08自分が使っているVC2005expressでMFC使えないから、ひょっとしたら
WDKと連動してやるとMFCアプリのコンパイル(他人のソースを)できるようになるのかなと
思ったんです。小物のcplを作る程度の物しかそろってないですかね。あと、PrefastもVC2005express
で使えたら良いなと思ったり...
自分みたいなへたれですと、インテリセンスないとどうしようもない
何のtypedefなのか、構造体のメンバなんかがさっぱりなんでIDE必須なんですよね
で、WDKインストールしてもVSに統合されないから、他の人は自分で統合してるのかな
と思ったしだいです。ドライバー職人ぐらいになると、インテリセンス鬱陶しいし、
使い慣れたエディタの方がVSでやるより良いとなるんですか!
0642デフォルトの名無しさん
2008/06/20(金) 00:43:40適当なプロジェクトを作って、ソースファイルを登録して
ヘッダーへのパスを通せば、インテリセンスも使える
エディタとしてならIDE使えるよ。
buildは、それぞれのコマンドプロンプトからだけど。
0643デフォルトの名無しさん
2008/06/20(金) 02:04:370644デフォルトの名無しさん
2008/06/20(金) 05:53:310645デフォルトの名無しさん
2008/06/20(金) 21:28:280646デフォルトの名無しさん
2008/06/20(金) 23:57:36解決したのかな?たぶんKSMUSICFORMAT::TimeDeltaMsだよ。
0647デフォルトの名無しさん
2008/06/22(日) 23:44:130648デフォルトの名無しさん
2008/06/23(月) 22:04:46どのメンバで制御すればよいのでしょうか?。
それらしきものが見当たらないのですが・・。ちなみにプリンタドライバの
開発になります。
0649デフォルトの名無しさん
2008/06/23(月) 22:29:360650デフォルトの名無しさん
2008/06/24(火) 21:11:28その影響では?
0651デフォルトの名無しさん
2008/06/29(日) 18:34:560652デフォルトの名無しさん
2008/06/30(月) 09:45:270653デフォルトの名無しさん
2008/06/30(月) 12:00:23「自分のくっついているデバイス」? 自分をEnumerateしたバスドライバのこと?
「デバイスID」? デバイスインスタンスIDのこと?
質問の意味不明。エスパー登場求む!
0654デフォルトの名無しさん
2008/06/30(月) 13:37:390655デフォルトの名無しさん
2008/06/30(月) 18:29:310656651
2008/06/30(月) 21:48:59例えば、Microsoft ACPI-COmpliant Embedded Controllerをデバイスマネージャのプロパティで見ると、
(少なくとも私の環境はですが)「一致するデバイスID」は*pnp0c09となっています。
これをドライバ内部から調べる方法がないかなと探しています。
もちろんコード中に文字列として"*pnp0c09"を持っていれば良い話なのですが、
そうではなくて、APIなどで、自分がフィルタドライバとしてくっついているデバイスの
「一致するデバイスID」やその他、プロパティの詳細タブで見れるような情報を
取得するような方法をご存知ないでしょうか?
0657デフォルトの名無しさん
2008/06/30(月) 22:03:20IoGetDeviceProperty()や
IoOpenDeviceRegistryKey()からレジストリ読み取りで揃うんじゃね?
0658デフォルトの名無しさん
2008/07/05(土) 00:14:18WinDbgは使えないのでしょうか?。
そもそもWinDbgはカーネルモードの(プリンタ)ドライバですよね?。
ご意見お願いします。
0659デフォルトの名無しさん
2008/07/05(土) 08:55:53某企業ってどこ?
そこのプリンタは買わな・・・・(以下自粛)
0660デフォルトの名無しさん
2008/07/05(土) 10:03:320661デフォルトの名無しさん
2008/07/05(土) 13:33:540662デフォルトの名無しさん
2008/07/07(月) 09:46:040663デフォルトの名無しさん
2008/07/09(水) 12:20:120664デフォルトの名無しさん
2008/07/16(水) 12:39:520665デフォルトの名無しさん
2008/07/28(月) 00:39:170666デフォルトの名無しさん
2008/08/12(火) 22:58:01フィルタドライバのっけて座標やボタンの状態を取得できるところまできたんですが、
連射させるところで行き詰まってしまいました。
ボタンを押したら Read が発生するんですが、次に離すまでRead がこないので
ボタン状態を変更しようにもできません。
なんとかしてボタンを押したことにしたり離したりしたことにできないでしょうか?
できるものなら何かヒントをお願いします。
0667デフォルトの名無しさん
2008/08/12(火) 23:18:07フィルタかけるところが違うんじゃないか?
0668666
2008/08/13(水) 12:29:51そこらへん調べてみます
ありがとうございました
0669デフォルトの名無しさん
2008/08/14(木) 03:07:29もしかしてIRP_MJ_READにデバッグ出力を入れただけだとしたら
下位のドライバがpendingにしてるから次のreadが来ないのでは。
0670デフォルトの名無しさん
2008/08/19(火) 20:26:36どうもです。恥ずかしながら私がアタッチしてたのはリモートデスクトップ用の
マウスクラス(?)のようで、ACPI のほうにアタッチしたら今度はREADそのものが
こない状況になりました。
DDK サンプルの mouclass やら moufiltr を見ると根本的に間違っていた気がします。
とは言え、moufiltr は USB マウスにアタッチしても Read 処理ではなく
MouFiltr_ServiceCallback() で処理するようになっていますが、GPAF のソースを
見ると(ゲームパッドとは言え)、Read で Hid 処理をしてたりするのでゲームパッドと
マウスの構造は同じ Hid でも違うのかなぁ、なんて思ったり。
結局、PS/2やUSBの選択、どの上位フィルタとして作るのが良いのかわからない状況に
なってしまいました。
今は本買って基礎からお勉強中です。フィルタドライバにまで関して言及してある
書籍って少ないですねぇ。
0671デフォルトの名無しさん
2008/08/20(水) 10:33:44ボタンに連射を付けるだけなら普通にmoufiltrで十分だとは思うけど。
連射発行タイミングをチェックするスレッドで
必要に応じてServiceCallback風の動作をすることと、
次の要求が来たときに下位ドライバにコマンドを発行せずに
スルー処理を追加する必要があるはず。
0672デフォルトの名無しさん
2008/08/20(水) 23:01:18どうもです。その ServiceCallback 風の動作をするというのがなかなか敷居が高そうで・・・
海外掲示板とか覗いていたら
「WRITE 時に mouclass の ServiceCallback をコールしたらBSOD になったけどどうすれば良い?」
みたいな内容のスレッドがあって結局未解決のようでした。
とりあえず、そのせんで行ってみて色々試して見ます。
0673672
2008/08/21(木) 22:26:24ありがとうございました。
ところでフィルタドライバは動的にアンロードできないと聞いたんですがXP や VISTAでも無理なんでしょうか?
SCManager 使ってドライバを停止および削除して、SetupDIでフィルタ対象デバイスを再起動させると
フィルタはされなくなるんですが、ドライバそのものはアンロード処理されずにロードされっぱなしになってるようで…
単なるつくりの問題ですか?
0674デフォルトの名無しさん
2008/08/22(金) 02:13:24普通にデバイスいなくなったら元ドライバとセットでアンロードされると思うんだけど。
それでアンロードされてない、ってことは終了処理にミスがあるんじゃね?
スレッド終了うまくいってないとか。
0675673
2008/08/22(金) 23:21:10もっと調べてみます。どもでした。
0676デフォルトの名無しさん
2008/08/23(土) 08:42:14フィルタドライバがWDMならデバイスを抜くとフィルタドライバも開放されるんだけど
私がHIDでやったときは、WDMだとうまくいかなかったのでNTドライバにしました。
そうするとデバイスを抜いただけではアンロードされないですが、SetupDI系の関数で
アンロードさせることはできます。
0677デフォルトの名無しさん
2008/08/23(土) 09:17:20USBデバイスのフィルタドライバを書き、そのデバイスに対し
SetupDiSetClassInstallParamsでDIF_PROPERTYCHANGE/DICS_PROPCHANGE指定して
SetupDiCallClassInstallerを呼び出しいる。
で、無視できない確率でドライバアンロードに失敗する。
自前ドライバの処理でIRP_MN_QUERY_REMOVE_DEVICEに対し
STATUS_SUCCESSを持たせて下位ドライバを呼び出しているのに、
IRP_MN_CANCEL_REMOVE_DEVICEが飛んでくる。
これって、下位ドライバがリムーブを拒否してるんだと思うが
何が原因かわからん。
何か思いつく事があったら教えてください、皆の衆。
0678デフォルトの名無しさん
2008/08/23(土) 21:22:52ありがとうございます。
アンロードされずに残ったドライバを、DriverWalker などでアンロードさせようとしても失敗しちゃうんですよね。
何か解放してないんでしょうねorz
0679デフォルトの名無しさん
2008/08/24(日) 17:21:54動きを見てみればいいんでない?
0680デフォルトの名無しさん
2008/08/25(月) 23:32:13これでCPUのクロック数を変化させることってできますか?
WinRing0
ttp://openlibsys.org/index-ja.html
0681デフォルトの名無しさん
2008/08/25(月) 23:38:070682まつせ
2008/08/25(月) 23:49:320683デフォルトの名無しさん
2008/08/26(火) 21:59:10Host:Vista or XP、Target:Vistaの構成で1394接続って可能ですかね?
手順通りにやってもうまくいきません。
0684デフォルトの名無しさん
2008/08/26(火) 22:20:55Host XP Target Vistaで普通にできてる。
だが、使っている1394アダプタによっては動かないことがある。
VIAの古いチップではだめだった。
外人でも似たような人はいるが具体的な話はまだ見たことが無い。
ホスト側はTIのチップつんだやつにしとけ ぐらいしか書いてないが
今時はTIのチップ積んでることなんてあまりないので難しいかも。
手順に問題が無いのであれば
とりあえずホスト側の1394の交換をしてみることをオススメする。
0685693
2008/08/27(水) 22:37:11ケーブルを疑って新しいケーブルに交換したらうまく動きました。
別のマシンでは動いていたんで、まさかとは思ったんですが・・・
Vistaは1394ネットアダプタがないんで通信できてるのかよくわかんないですね。
ともかくありがとうございました。
0686デフォルトの名無しさん
2008/08/28(木) 23:17:50C言語は多少経験ありますが、ドライバ開発はまったくないので手探り状態で勉強してます。
ディスプレイ関連の操作をしたいのでサンプルソースのvideo\displays\mirror\miniを参考に
下記コードにてビルドをしようとしたのですが、DriverEntryの定義エラーがでました。
そこでntddk.hをインクルードしてみたのですが、今度はminiport.hで再定義エラー(C2011)が出てしまいます。
インクルードする順番など変えてみたのですがエラーが出まくりの状態です。
#include "dderror.h"
#include "devioctl.h"
#include "miniport.h"
#include "ntddvdeo.h"
#include "video.h"
NTSTATUS DriverEntry(IN PDRIVER_OBJECT pDriverObject, IN PUNICODE_STRING pRegistryPath)
{
NTSTATUS ntStatus = STATUS_SUCCESS;
return ntStatus;
}
付属のサンプル等は問題なくビルドできています。
どうすればビルドできるか教えていただけないでしょうか。
よろしくお願いします。
環境:WDK6001.18001 Windows XP x86 Checked Build
Windows XP SP2
0687デフォルトの名無しさん
2008/08/28(木) 23:22:390688686
2008/08/28(木) 23:27:46まじですか・・・
ntddk.hインクルードしない下記のようなエラーが出てしまいます
c:\winddk\test\main.c(31) : error C2061: syntax error : identifier 'DriverEntry'
c:\winddk\test\main.c(31) : error C2059: syntax error : ';'
c:\winddk\test\main.c(31) : error C2146: syntax error : missing ')' before identifier 'pDriverObject'
c:\winddk\test\main.c(31) : error C2061: syntax error : identifier 'pDriverObject'
c:\winddk\test\main.c(31) : error C2059: syntax error : ','
c:\winddk\test\main.c(31) : error C2059: syntax error : ')'
ntddk.hインクルードすると上のエラーはなくなりますが代わりに再定義エラーが100個以上・・・
VS.NET2003インストールしてあるのは関係ないですよね・・・?
0689デフォルトの名無しさん
2008/08/28(木) 23:27:510690デフォルトの名無しさん
2008/08/28(木) 23:29:47SOURCE とか makefile はちゃんとコピーした?
0691686
2008/08/28(木) 23:30:26フォルダ別に作ってMAKEFILEとSOURCESをコピーして
SORCESの"TARGETNAME"と"SOURCES"だけ編集してビルドしてます。
0692デフォルトの名無しさん
2008/08/28(木) 23:42:52#include <wdm.h>
NTSTATUS DriverEntry(IN PDRIVER_OBJECT pDriverObject, IN PUNICODE_STRING pRegistryPath)
{
NTSTATUS ntStatus = STATUS_SUCCESS;
return ntStatus;
}
だとどうよ?
0694デフォルトの名無しさん
2008/08/29(金) 00:03:06video.h とか使う場合は wdm.h とかの include 無理なんかな。
0695686
2008/08/29(金) 00:08:35そうなんですよね
サンプルのようにDriverEntryの戻り値型と引数型を変更すると
ビルドできるんですが、DriverEntryってどこ調べてもNTSTATUSと
PDRIVER_OBJECT、PUNICODE_STRINGで定義されてるので・・・
0696デフォルトの名無しさん
2008/08/29(金) 01:47:15これはドライバ開発をする人が誰もがはまる。
WDMドライバを開発=フィルタドライバorクラスドライバ
だが、ある程度共通化できるルーチンが多い場合に備えて
クラスドライバをMSが用意し、そこからリクエストをするのがminiportドライバ
miniportでは専用のライブラリ関数が用意されていて
それら以外の関数は使ってはいけない。
したがってntddk.hをインクルードできないし、してはいけないし
MSは共存させるつもりもない。
それでも無理やりやるのは完全にハックになり
サービスパックやパッチが当たっただけで動かなくなる可能性がある。
0697デフォルトの名無しさん
2008/08/29(金) 21:07:590698デフォルトの名無しさん
2008/08/29(金) 22:32:28ServicesレジストリのStartキーが0ならブートローダーのときに呼ばれる。
起動ディスクを読み込むのに必要なデバイスのStartキーはすべて0になっていないと0x7Bが出る。
OSインストール時にIDEデバイスとか登録されてはいるが
カーネルメモリ節約のために必要の無いデバイスはStartが4になっている。
そのためディスクを付け替えたりすると起動しないことがある。
0699デフォルトの名無しさん
2008/08/30(土) 08:39:30minispy、filespyサンプルの処理内容を理解するのに役立つ書籍や入門サイトがあったら教えていただきたいです
目的は、ファイルの上書きやコピーなど高レベルなファイルI/O監視ドライバを作成することです(フックではなくドライバで行いたいです)
サンプルでは低レベルなIO情報まで監視されてしまうため、これを改造できないかなと考えてます
自分は、ドライバ開発経験はなしです。キーボードのフィルタドライバサンプルは、日本語の書籍で勉強し、軽くは理解しています。
…ソースコードが少ないminispyを理解したいんですが、ミニドライバの資料ってあまりみたことないです
0700デフォルトの名無しさん
2008/08/30(土) 13:00:02違ったらよいんだが、
Windows XP フィルタドライバプログラミング [入門と実践]
を読んで「軽くは理解しています。」と思っているなら認識改めたほうがいい。
あれで得た知識(見たサンプル)は全く役にたたない。
0701デフォルトの名無しさん
2008/08/30(土) 16:18:14素朴な疑問だが上書きやコピーといった監視だったら、ドライバつかわんでも
FindFirstChangeNotification()という手もある。
これじゃあなんかまずい理由あるの?
0702デフォルトの名無しさん
2008/08/30(土) 19:59:59フィルタドライバプログラミングではないです。それは参考にしてないです。
API徹底理解っていうムックと。Cマガのバックナンバーです。
「ダミー関数はこんな感じで作って」、「でもPnPのダミー関数は別」ってことくらいしか理解してないです。
filespyを見ても、「なんでこのファンクションを監視するんだ?」って疑問しかわかないんです。かと言って、USBドライバを最終目標にしてる書籍はfilespyの世界とは畑違いな気がして
>>701
あのAPIの詳細は知らないんですが、ファイルを操作したユーザー名やアプリケーション名が取得できるならやってみたいです。
ただ、ローカルだけでなく、リムーバブルやサーバーやネットワークPCも監視が条件なので
0703デフォルトの名無しさん
2008/08/30(土) 21:43:59ローカルならPIDが入ってくるからそこからユーザートークンに変換すればいい
でもネットワークドライブはまた別の話になるよ
リモートのPIDなんか分かってもしょうがないしね
そもそもSMBのリダイレクタのPIDしか入ってこないだろうし
0704デフォルトの名無しさん
2008/08/31(日) 00:32:13それが上書きなのかコピーなのかというような意図?は、カーネルレベルでは
失われているような気がするんだけど。
0705デフォルトの名無しさん
2008/08/31(日) 01:03:30まずはWindows Internals(和訳名インサイドWindows?)読んでみたらどうだ。
0706デフォルトの名無しさん
2008/08/31(日) 07:19:19フィルタドライバで分かるのは削除と同じボリューム内の移動だけだね
というかやりたいこと具体的に言わんと
0707702
2008/08/31(日) 10:10:41minifilterで作っていきたいと思います。ネットワークからリモートログインしてきたユーザーの監視はしません。自分がリモートで操作したファイルは監視します。
>>705
ドライバ系のAPI知識はゼロに近くて、ファイルシステムのフの字も知らないです。インサイドウィンドウズの購入してみます。…でも金がないので会社から借ります
>>706
やりたいのは、フックベースで実現できていたファイル監視をドライバに移植することです。
>>704
コピーや上書きは、フックベースでも追いきれないとこがあったんで「ReadFileで処理したアドレスがWriteFileで処理されたらコピー扱い」みたいなマージをしており、ドライバでもマージしようかなと考えてます
長い旅路になりそうです。ありがとうございました
0708デフォルトの名無しさん
2008/09/02(火) 01:37:50シリアルクロスケーブルを購入したのですが、
どちらのPCにもシリアルポートがないようなのです。
調べてみたところ、USB シリアル変換機というのを利用すれば、
それを経由してシリアル通信ができそうなのですが、
この変換機はPC1台につき1個、つまり2個必要であると考えて問題
ないでしょうか。
また、クロスケーブルではなく、ストレートのシリアルケーブルでは、
デバッグはできないものなのでしょうか。
0709デフォルトの名無しさん
2008/09/02(火) 06:40:140710デフォルトの名無しさん
2008/09/02(火) 14:19:43つまり、シリアルポートがない場合は、
リモートからのデバッグはできないと。
デバッグといっても、DbgPrintの結果を確認したいだけなので、
ローカルでDebugViewを使う方法でもよいのですが、
リモートの方法も気になるところです。
0711デフォルトの名無しさん
2008/09/02(火) 14:59:28>また、クロスケーブルではなく、ストレートのシリアルケーブルでは、
>デバッグはできないものなのでしょうか。
時代が変わって、232cなんて使わなくなってきたのは分かるが・・・
0712デフォルトの名無しさん
2008/09/02(火) 20:03:230713デフォルトの名無しさん
2008/09/02(火) 22:29:21作ってます。
汎用性を持たせるためにinf及びdelファイルを書き換えるだけで
インストーラ、アンインストーラは再コンパイル不要とした作りに
したいと思っています。
そこで、特定のINFファイルから"USB\VID_xxxx&PID_xxxx"を
抜き出して行うような方式としたいとおもうのですがなにか
方法(Win32 API)は無いでしょうか。
0714デフォルトの名無しさん
2008/09/03(水) 00:10:22INFが適切なら実行するだけでインストールしてくれる
あと、DPINSTをAPI化したDIFとかいうやつもある。
0715713
2008/09/03(水) 21:16:14たしかにINFのみでインストールだけなら可能なのですが、
コマンド等でカスタマイズも考えているので...
で、自ら調べた結果、GetPrivateProfileStringが
INIだけでなくINFにも使えそうなので、これを組み
合わせて作ろうと思うのですが他に何かいいアイディアは
ありますか?
0716デフォルトの名無しさん
2008/09/03(水) 22:35:580717713
2008/09/10(水) 13:20:32何とかできそうです。
ありがとうございました。
0718デフォルトの名無しさん
2008/09/15(月) 22:45:22インストールしたのですが、なんだかロードされてない感じがします。
(KdPrintなどのデバッグメッセージが表示されない)
起動時に読み込まれるドライバには署名が必須という条件にひっかかかっているのかと思い
Bcdedit.exe /set nointegritychecks ON
を実行してみましたが何も変わりませんでした。
VISTA にインストールするにはどうしたらよいのでしょうか?
ちなみに XP だと問題なく動作しました。
0719デフォルトの名無しさん
2008/09/15(月) 23:36:24フィルタされてるのでは。
KdPrintExかDbgPrintEx使ってみたらどう?
0720デフォルトの名無しさん
2008/09/16(火) 00:28:460721デフォルトの名無しさん
2008/09/16(火) 01:03:020722718
2008/09/16(火) 10:32:18使用してみましたが、結果変わらずでした。フィルタされてないようです。
>>720
してないです。署名はどのような設定だろうと必要なんでしょうか?
テスト用の署名では公開できないと思うので、公開しようと思ったら
リリース用の署名をとらないと駄目ってことでしょうか?
>>721
http://www.microsoft.com/japan/whdc/winlogo/drvsign/drvsign.mspx
では x86 も「ロード時に読み込まれるドライバには埋め込み署名が含まれている必要が
あります」とあります。
■ このスレッドは過去ログ倉庫に格納されています