0
私はファイルへの変更を追跡しており、動作前のコールバックから動作後のコールバックにいくつかの情報を渡したいと思います。ミニフィルタードライバー|前動作から後動作への情報の受け渡し
どのような方法が最適ですか?
[編集:ドライバーのみ、他のWindows 10のすべてがボーナスでサポートする必要があります]
私はファイルへの変更を追跡しており、動作前のコールバックから動作後のコールバックにいくつかの情報を渡したいと思います。ミニフィルタードライバー|前動作から後動作への情報の受け渡し
どのような方法が最適ですか?
[編集:ドライバーのみ、他のWindows 10のすべてがボーナスでサポートする必要があります]
あなたは単にあなたが術後に渡したいデータへのポインタを格納するための術前における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はあなたのドライバが何をするかについては
幸運、
ガブリエル
? – lospejos
詳細について質問を編集しました。 –
Windowsの場合、WDK(Windows Driver Development Kit)がありますが、無料で入手できるかどうかはわかりません(多くのMS製品はそうではありません)。また、ファイルシステムフィルタドライバIMHO – lospejos