まず、DDK ビルド ユーティリティを使用して、次の main.c を正常にコンパイルできます。
#include <ntddk.h>
NTSTATUS DriverEntry(PDRIVER_OBJECT, PUNICODE_STRING)
{
try
{
leave;
}
except (1)
{
}
return 0;
}
ただし、次の点に注意してください。
「leave」と「except」はどちらも有効な C 言語のキーワードではありません。
__leave と __except (つまり、先頭にアンダースコアが 2 つ付いているもの) の両方が C 言語を拡張するための Microsoft 固有のキーワードであることは知っていますが、"leave" と "except" はそうではありません。
また、「leave」と「except」がマクロで定義されていないことも確認しました。MSDN はこれについて何も説明していません。
誰が説明してくれますか? 前もって感謝します。