を通過させるには?次のように私は、コールバックEvtDeviceIoWriteでEventWriteのためのキューを登録し、私のフィルタドライバドライバでバッファを前処理し、さらに完了するためにスタック内の次のドライバにリクエストを送信する方法
:
VOID
EvtDeviceIoWrite(
IN WDFQUEUE Queue,
IN WDFREQUEST Request,
IN size_t Length
)
{
WDFMEMORY memory;
NTSTATUS status;
PUCHAR characters;
UCHAR currentChar;
UNREFERENCED_PARAMETER(Queue);
status = WdfRequestRetrieveInputMemory(Request, &memory);
if (!NT_SUCCESS(status)) {
KdPrint(("RetreiveInputMemo: failed 0x%x\n", status));
return;
}
characters = (PUCHAR)WdfMemoryGetBuffer(memory, NULL);
while (Length != 0) {
Length--;
currentChar = *(characters++);
// Here I would like to edit the buffer
// copy it to output buffer WdfMemoryCopyFromBuffer
}
**// what should be here for send**
}
私はちょうどthisような何かをしたいが、要求のために。
申し訳ありません私はカーネル開発の初心者です。誰かがこれを達成するための正しい方法を教えてくれれば幸いです。すべての訴訟は評価されます。
と呼ばれるように、または私はちょうどそれがcompletly間違っている、私に –