2017-11-18 15 views
0

私はファイルへの変更を追跡しており、動作前のコールバックから動作後のコールバックにいくつかの情報を渡したいと思います。ミニフィルタードライバー|前動作から後動作への情報の受け渡し

どのような方法が最適ですか?

[編集:ドライバーのみ、他のWindows 10のすべてがボーナスでサポートする必要があります]

+0

? – lospejos

+0

詳細について質問を編集しました。 –

+0

Windowsの場合、WDK(Windows Driver Development Kit)がありますが、無料で入手できるかどうかはわかりません(多くのMS製品はそうではありません)。また、ファイルシステムフィルタドライバIMHO – lospejos

答えて

0

あなたは単にあなたが術後に渡したいデータへのポインタを格納するための術前におけるPVOID * CompletionContextを使用することができます。 PostOperationでは、CompletionContextを使用します。これは、PreOperationで指定したデータになります。例えば

: 術前:

MyPreOpData = ExAllocatePoolWithTag(DATA_SIZE); 
FltGetFileNameInformation(&NameInfo); 
MyPreData->NameInfo = NameInfo; 
MyPreData->OtherData = MyDrvGetOtherData(Params); 
*CompletionContext = MyPreData; 

術後:

if (CompletionContext != NULL) 
{ 
    PMY_DATA MyPreData = (PMY_DATA)CompletionContext; 
    // now continue using the data queried in the PreOp 
    ... 
    // when done free it 
    ExFreePoolWithTag(MyPreData); 
} 

詳細はhereを参照してください。 OSはあなたのドライバが何をするかについては

幸運、
ガブリエル

関連する問題