X



WindowsDDK各種についてのスレ
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
垢版 |
NGNG
Microsoft Windows Driver Development Kits
http://www.microsoft.com/ddk/

注意:
いつの間にやらDLできなくなってる。
CDを注文する以外に方法はない。しかも送料が$25。

古いバージョンについて
Microsoft Windows DDK Version Retirements
The Microsoft® Windows® 2000 DDK, the Microsoft Windows 98 DDK, and the Microsoft Windows NT® 4.0 DDK are no longer be available for purchase or download on this site.
0518 ◆0uxK91AxII
垢版 |
2007/03/26(月) 11:27:41
>>516
やりたい事は、可能だと思う。
直前のIRP_MJ_READ応答でIoCallDriverしたIRPをcancelし、
次のIRP_MJ_READ応答でIoCompleteRequestすると良い。
コレを安全に行うには、かなり手間がかかるだろうけど、懇切丁寧に教えはしない。
つまり、>>517
0520513
垢版 |
2007/03/27(火) 17:28:03
>>517-518
ありがとう。ちょっと読んでみてます。
あと、少し質問させてください。

IRP_MJ_READ(KbdClass)のWhen Sentの説明に

The raw input thread in the Microsoft Win32 subsystem sends read requests to obtain keyboard input.

とありますが、タイミング的には、決まったタイミングではなく、常に送られてきていると考えて良いですか?


>>519
パンヤはやったことないのでよくわからないですが、
キーボードマクロ系のソフトの中身を実装してみたくなったので勉強してます。
0522513
垢版 |
2007/03/27(火) 19:24:48
まぁそうだね。出先で気になったもので。
家帰ったら確かめてみます。
0523 ◆0uxK91AxII
垢版 |
2007/03/27(火) 22:51:42
>>520
完了すれば、即座に来ると考えて良い。

>キーボードマクロ系のソフトの中身を実装
特に拘りが無いならば、SendInputでお茶を濁すという手もある。
0524513 ◆cNQcZL4DWE
垢版 |
2007/03/29(木) 01:23:03
>>523
ようやく時間ができたのでいじってみました。
「完了すれば」という意味がなんとなくわかったような…。
好きなタイミングで擬似的にキー入力を発生させたいと思ってたんですが、少し難しそうですね。

ドライバをやってみたかったので、SendInputは使わない方向でやってます。
0525デフォルトの名無しさん
垢版 |
2007/05/18(金) 23:19:25
仮想ドライブマウントの3Keyの暗号化ツール作ってみようかと思ったけどデバドラがめんどくさそう…
事故るとOSごと吹っ飛びそうだし…(´・ω・`)
RAMディスクで誤魔化すか…
0527 ◆0uxK91AxII
垢版 |
2007/05/19(土) 01:01:56
>>525
とりあえず、IFS Kit或いは相当品を使うと良い。
特定のdriveのみに処理を行うようにすれば、被害は抑えられる。
0528デフォルトの名無しさん
垢版 |
2007/05/26(土) 17:13:37
すみません32bitXPの開発ではWDKとDDKどっちを使うほうが良いですか?
0531デフォルトの名無しさん
垢版 |
2007/05/26(土) 18:15:57
wdkってどっかの商品名とかじゃねえの?w
あるいはひょっとしてwdmとddkがごっちゃになってるとかw
0533デフォルトの名無しさん
垢版 |
2007/05/26(土) 19:15:16
WDF使いたいならWDK。使わないならどっちでもいい。
0534デフォルトの名無しさん
垢版 |
2007/05/26(土) 20:08:47
最近のPCは、シリアルがないですが、Windbgを使うための接続はどうすればいいんでしょう?
0537デフォルトの名無しさん
垢版 |
2007/05/29(火) 08:11:35
>>529-533
フレームワークを使わないならddkのみで良いんですね、wdkがvistaから過去のまででDDKが2003serverから過去ので
この場合wdkはvista用のRTM6000ので良いですか?それともベータの6001が良いですか?
お勧めはどれですか?ddk2003server wdk6000 6001
0538デフォルトの名無しさん
垢版 |
2007/05/29(火) 16:21:57
>>537
32bit XPならどれでもいいよ。
WDKのサンプルはWDMからWDFになっているからDDKと両方入れて
サンプルを比較してみるのもいいと思う。
0539デフォルトの名無しさん
垢版 |
2007/06/12(火) 16:46:05
(多分最新の)DDKに入ってるcl.exeでhello worldがリンクできません。
setenv.bat呼んでcl.exe実行するとなんか最初libc.libがないとか出たので、
環境変数のLIBRARYにdrive:\ddk〜lib\winxpを追加してちょっと
進みました。けど今度は__secure_check_cookieがリンクできないとか出ます。
これって何でしょう?
ソースは
#include <stdio.h>
main() {
printf("Hello, world.\n");
}
これだけです。
エラーメッセージは今出張先なので、明日まで貼れません(すいません)
ともかく__secure_check_cookieがどうとかいうエラーが出ます。
(typoあるかもしれません)
0540デフォルトの名無しさん
垢版 |
2007/06/14(木) 15:58:11
わかんないならTARGETTYPE=PROGRAMになっている
サンプルを参考にしてmakefileとsourcesを書け。
0542デフォルトの名無しさん
垢版 |
2007/06/18(月) 20:31:37
ありがとうございました。
0543デフォルトの名無しさん
垢版 |
2007/07/10(火) 15:04:56
1394のドライバってどうやって作れば良いですか?
0546デフォルトの名無しさん
垢版 |
2007/07/11(水) 15:20:02
1394bのドライバはどこにありますか?
0547デフォルトの名無しさん
垢版 |
2007/10/05(金) 23:04:05
WDKでいろいろいじってる奴いる?

\src\video\r200sampleをビルドしてみたんだが、
Vistaでインストール後、画面プロパティに表示されん。
x86のinfファイルは認識してくれなかったので、mirrorのinf参考にいじってインストしたせいなのか?
0549 ◆0uxK91AxII
垢版 |
2007/11/21(水) 08:35:26
その手のモノを作った事は無いけど、IoSetCancelRoutine。
0550デフォルトの名無しさん
垢版 |
2007/11/21(水) 08:58:43
>549
ありがとうございます
ですが、IoSetCancelRoutineを呼び出すトリガがないのです
クローズが来ないので・・・
0551 ◆0uxK91AxII
垢版 |
2007/11/21(水) 09:51:39
IRP_MJ_CLEANUP、これも違うなら、見当が付かない。
0552デフォルトの名無しさん
垢版 |
2007/11/21(水) 10:42:35
IRP_MJ_CLEANUPを実装してみましたが、
Closeと同じようにPendingしているIRPを終了させないと
IRP_MJ_CLEANUPは届きませんでした

Pendingしたら次のIRPが届くようにすればよさそうな感じですが
なにかいい方法は無いでしょうか?
0553デフォルトの名無しさん
垢版 |
2008/03/10(月) 17:36:52
age
0554デフォルトの名無しさん
垢版 |
2008/05/01(木) 23:18:47
KMDFドライバをスタートさせるには
OpenSCManager=>CreateService=>StartServiceではスタートできないのでしょうか

0556デフォルトの名無しさん
垢版 |
2008/05/21(水) 11:45:54
USBドライバ作ろうと思うんですが、
bulkusbのサンプルを改編すれば、
USBのチップに関係無く作れますか?
0557556
垢版 |
2008/05/21(水) 11:48:36
ついでに、USBのGUIDって何なんでしょ?
0559デフォルトの名無しさん
垢版 |
2008/05/25(日) 00:36:57
定義済みデバイスクラスに属さない独自デバイスなら
(ドライバを作成する必要があるから独自デバイスなんだろうけど)
独自デバイスクラスを定義することになる。
guidgen.exeなんかに吐かせたGUIDを使っておk。
0560デフォルトの名無しさん
垢版 |
2008/06/06(金) 03:11:34
人がいる
0563デフォルトの名無しさん
垢版 |
2008/06/20(金) 17:22:53
x64ホストだと16ビットツールのインストールを選択できないんだがどうにかならないものか
ツール自体は32ビットアプリだからx64ホストでもちゃんと動くのに。
仕方ないから32ビット環境にインストールしてコピーしてるんだが
0564デフォルトの名無しさん
垢版 |
2008/07/16(水) 10:55:11
USBドライバって、みなさんVista対応で作り直されてるんですか?

Win9XとWinNTでドライバモデルが変わったのはよしとして、
Vistaでさらにドライバモデルが発生して苗orz
0566デフォルトの名無しさん
垢版 |
2008/07/16(水) 17:05:22
ttp://www.microsoft.com/japan/whdc/connect/usb/winusb_howto.mspx

これのこと?

WunUSBなんてハツミミですが、何モノで、何が良いんだ?
0567デフォルトの名無しさん
垢版 |
2008/07/16(水) 17:17:36
>>566
MS謹製の汎用USBドライバ

これを介して、自作デバイス用のドライバをユーザモードで書ける
ドライバがユーザモードで動くから、Vista x64でデジタル署名しなくてもおk
0568566
垢版 |
2008/07/16(水) 17:26:56
さんkす>>567

uusbd.sys ってのと用途は競合してるようですね。

でもVista 64bitで楽になるわけですか。

機能的にもWinUSBはマターク遜色無しですか?
例えば、Win側でのパケットサイズが小さ杉ないとか。
0569566
垢版 |
2008/07/16(水) 17:33:34
なんだか、LibUSB ってのもあるようですね。Linuxでも使えるとか。

乱立しててワケワカメ。
0570デフォルトの名無しさん
垢版 |
2008/07/24(木) 01:33:47
LibUSBとかは64bit用には出ないんじゃないの?(証明書買わないだろうし)
フリー系ドライバを根絶する気か>MS
0571デフォルトの名無しさん
垢版 |
2008/07/24(木) 14:33:43
LibUSBというユーザーが、代表して証明書買うんじゃないの?
寄付金募って。

みなさん、WinUSB使われてんですか?
0572デフォルトの名無しさん
垢版 |
2008/07/24(木) 14:42:31
UMDFは2000で使えないから、
テスト的にドライバ作ってみただけで、今のところ使うつもりないかなぁ

Vista x64用ドライバ出せって言われたら、これで済ませてしまうかも知れんがw
0573デフォルトの名無しさん
垢版 |
2008/07/29(火) 17:34:01
ところで、
・UUSBD.DLL
・WinUSB
・LibUSB
のどれがお勧めですか?
0574デフォルトの名無しさん
垢版 |
2008/08/06(水) 09:04:23
USBのinfファイル記述の文法はどこを見れば分かりますか?
0576574
垢版 |
2008/08/06(水) 09:14:05
文法が知りたいんです><;
0577574
垢版 |
2008/08/06(水) 09:33:17
GenInfはあるけど、EditInfは無いんでつね。
0578574
垢版 |
2008/08/06(水) 09:43:47
>Signature="$Windows NT$"
>Provider=%Company%


$とか%てなんなん?
0585デフォルトの名無しさん
垢版 |
2008/08/19(火) 18:57:39
ドライバ作成中に間違って、

>C:\WINDOWS\system32\drivers

フォルダを空っぽにしてしまいましたorz

ドライバが無いせいで内蔵CD-ROMを認識しなくなったのですが、
どうすれば良いでしょう?

WinXPインスコCDのイメージをハードディスクに落して、
setup.exeを実行して「Windows XP をインストールする」
を行いましたが、
「コンピュータの Windows のバージョンが CD に収録されているバージョンより新しいた
め、セットアップを続行できません。」エラーです。

ドライバディスクにもないので、Windows標準ドライバなんでしょうが、
インストロールできません(><;)
0586デフォルトの名無しさん
垢版 |
2008/08/19(火) 19:18:25
ドライバ作るくらいなら、PC起動しなくなるくらいよくある話し

1つ賢くなったということで、Windows再インストールしとけ
0587デフォルトの名無しさん
垢版 |
2008/10/22(水) 16:18:14
ここって質問してええんかな?

今までDDKでコンパイルしていたドライバが
WDKでコンパイルするとafxres.hが見つからないというエラーが出て、
それは#include "afxres.h"をフルパスで宣言すれば回避できるのは分かるんだが
普通にコンパイル時になめるパスを追加できればいいんじゃ?と
誰かそういうパスの追加方法知らない?
0589デフォルトの名無しさん
垢版 |
2008/10/22(水) 16:46:10
>>588
>>587だが、ありがとん。
sourcesファイルにINCLUDES=$(BASEDIR)\inc\mfc42;
と追加したらできた。

ただ、既にINCLUDES=$(BASEDIR)\inc;という
宣言はしていたのにそこの下位フォルダのmfc42フォルダが
WDKから見えなくなったってのは結構不思議だ。
0590デフォルトの名無しさん
垢版 |
2008/10/22(水) 22:54:30
__halt のような組み込み関数を拡張子cppのファイルから呼び出そうとすると
  '__halt': identifier not found
とコンパイルエラーになってしまいます。
拡張子cからはそのまま呼び出せるのですが、C++から直接呼び出すことは可能でしょうか? 
方法があれば教えていただけると嬉しいです

ttp://www.hsjp.net/upload/index.html
up48941.zip (←例としてのソース)

バージョンは 6001.18001 です
0592デフォルトの名無しさん
垢版 |
2008/11/03(月) 23:13:08
:環境
VC++2005pro WDK 6001.18001
:やりたいこと
サンプルソース UsbViewをコンパイルしたい。
(USBからシリアルコードをひっぱりたい)\WINDDK\6001.18001\src\usb\usbview
:やったこと
新規プロジェクト作成>Win32>Win32プロジェクト>空のプロジェクト

プロジェクト>プロパティ>リンカ>コマンドライン
CFGMGR32.LIB COMCTL32.LIB setupapi.lib を追加

ツール>オプション>プロジェクトおよびソリューション>VC++ディレクトリ
ディレクトリを表示するプロジェクト>インクルードファイル>
C:\WINDDK\6001.18001\inc\api C:\WINDDK\6001.18001\inc\crt を追加
ディレクトリを表示するプロジェクト>ライブラリファイル>
C:\WINDDK\6001.18001\lib\wlh を追加

:エラー
エラー
#include <version.h> が見つかりません。
警告が200以上、、、。
warning C4133: '関数' : 'CHAR [数字]' と 'LPCWSTR' の間で型に互換性がありません。

:わからないこと
エラーをなくしたいのと、恐らく間違っているであろう開発環境を正しく設定したい、、、orz

:参考URL
http://slashdot.jp/~fslasht/journal/391690
0593デフォルトの名無しさん
垢版 |
2008/11/04(火) 00:02:56
>>592
プログラム>Windows Driver Kits>WDK 6001.18001>Build Environments>好きな環境選べ
コンソールが開いたら
CD \WINDDK\6001.18001\src\usb\usbview
nmake
0595592
垢版 |
2008/11/04(火) 22:45:51
質問:
1.
○○.sys のドライバをリソースとして実行ファイルに組み込むことは可能ですか?
2.
1が可能な場合
FindResource関数にリソースタイプ(RT_○○)の正しい値がわからない。

1について わからないところ:
リソースファイル(○○.sys)をCreateService(にかわるもの)にわたしたいが、なにか適当な関数が見つからない。
2について わからないところ:
リソースの読み込みは
HRSRC hres = FindResource( GetModuleHandle(NULL), in_path, RT_STRING );
HGLOBAL hmem = LoadResource( GetModuleHandle(NULL), hres );
char *lplock = static_cast< char * >( LockResource( hmem ) );
でやっています。
FindResourceのリソースタイプ(RT_STRING)があっているのか不安。
0596デフォルトの名無しさん
垢版 |
2008/11/04(火) 23:30:57
RT_STRINGとしてリソースにしたなら、RT_STRINGでFindResourceするしかないだろ。

どっちかというとRT_RCDATAのほうがふさわしいと思う。
0597592
垢版 |
2008/11/04(火) 23:47:34
>>596
さっそくのレスありがとうございます。
RT_RCDATA を使って読み込んでみます。

今VC++2005を使っているのですが、
ソリューションエクスプローラー>○○.sysをクリック>
ファイルのプロパティ>ファイルの種類をRCファイルに設定で大丈夫でしょうか?



0598デフォルトの名無しさん
垢版 |
2008/11/05(水) 03:02:30
え、もしかしてリソースって扱ったことない?
0599592
垢版 |
2008/11/05(水) 03:31:58
>>597
こんな時間にレスサンクスです。
リソース扱ったことないです、、、orz。

char *lplock = static_cast< char * >( LockResource( hmem ) );
から相変わらず、CreateServiceに値を渡す方法がわかりません。
(CreateServiceに代わる関数が見つかりません、、、orz)
0600 ◆0uxK91AxII
垢版 |
2008/11/05(水) 09:32:04
GetSystemDirectoryでpathを取って、そこのdrivers直下にでも書き出せば良い。
0601592
垢版 |
2008/11/05(水) 12:44:20
>>600
レスサンクスです。
1度ファイルに書き出してから、やってみたいと思います。
GetSystemDirectory関数は初めて知りました。
貴重な情報ありがとうございます。
0602592
垢版 |
2008/11/08(土) 20:14:33
質問:STLのvectorが使いたい。
環境:
MFC(VC++2005Pro)で現在開発しています。
プロジェクト>プロパティ>構成プロパティ>C/C++>全般
追加のインクルードディレクトリで以下を設定しています。
C:\WINDDK\6001.18001\inc\crt
C:\WINDDK\6001.18001\inc\api
エラー:
#include <vector>を行うと、
c:\program files\microsoft visual studio 8\vc\include\iosfwd(34) : error C2146: 構文エラー : ';' が、識別子 'fpos_t' の前に必要です。
以下、とんでもない数のエラーが出ます。

解決のため、なにかしらヒントなりいただければと思います。
0603デフォルトの名無しさん
垢版 |
2008/11/08(土) 23:26:18
そろそろつまみ出せ!!
0605 ◆0uxK91AxII
垢版 |
2008/11/09(日) 10:58:26
MFC()笑
とりあえず、makefileでやるべき。
0606592
垢版 |
2008/11/09(日) 20:41:08
すんません、出直してきます。
0607デフォルトの名無しさん
垢版 |
2008/11/19(水) 11:47:28
先生方、(フィルタ)ドライバ側からレジストリキー読んだり、
書き込んだりする関数についてサイト、書籍知ってたら教えてください。

ttp://www5a.biglobe.ne.jp/~crab/winddk/kernel/index/index01.html
とりあえず↑を見つけたのだがよくわかんね。
0609607
垢版 |
2008/11/20(木) 00:58:30
>>608
ありがd
英語がんがってみる。
0610デフォルトの名無しさん
垢版 |
2008/11/21(金) 18:02:32
ZwOpenKey使いたいんですが、失敗します。
RtlInitUnicodeString( &RegPath, REG_KEY_PATH );
InitializeObjectAttributes( &Attr, &RegPath, OBJ_CASE_INSENSITIVE, NULL, NULL );
恐らく、↑でパスの指定ミスってると思うんですが、
#define REG_PATH L"\\HEKY_CURRENT_USER\\Software\\TEST_01"
ってやったらダメだったのですが、正しくはどのように書くんでしょうか?
0612610
垢版 |
2008/11/21(金) 18:33:45
レスアリガタス。
ZwEnumerateValueKey使ってキーの値を取得したいんですが、
その場合、キーの指定っていうのはどうやるんすか?
ZwEnumerateKeyで列挙してから使うんでつか?
0613 ◆0uxK91AxII
垢版 |
2008/11/21(金) 20:55:22
>>612
>キーの指定
ZwCreateKey

kernelModeで列挙っていうのは、どうも嫌なモノを作ろうとしているように見える。
0614610
垢版 |
2008/11/21(金) 21:29:45
>>613
レスアリガタス。
頭悪いんでまとめると、キーを指定して値とりたい場合っつーのは、
ZwOpenKey使わないで、ZwCreateKey使えでFA?
ZwCreateKeyの第2引数は、\\HEKY_CURRENT_USER\\Software\\TEST_01指定でOK?

>kernelModeで列挙っていうのは、どうも嫌なモノを作ろうとしているように見える。
ZwEnumerateValueKey使うのは、レジストリのキーの値を取得する関数を他にシラネからです。
レジストリに書き込んである値はインストールパスとインストールした日付です。
Windowsアプリで言う、SHRegGetUSValue関数みたいなのがあればいいのだが、
見つからなかったっす。
0615610
垢版 |
2008/11/21(金) 21:35:03
スマソ。間違えた。
>>614
間違い
>ZwCreateKeyの第2引数は、\\HEKY_CURRENT_USER\\Software\\TEST_01指定でOK?
訂正
ZwCreateKeyの第2引数は、KEY_QUERY_VALUE指定して、InitializeObjectAttributes関数でのパスの指定で
\\HEKY_CURRENT_USER\\Software\\TEST_01指定でOK?
俺、頭マヂ悪い
■ このスレッドは過去ログ倉庫に格納されています

ニューススポーツなんでも実況