1

ユーザーが SeLoadDriver 権限を持っているかどうかを確認しようとしています。私は PLUID を持っています:

    PLUID pld;
    LookupPrivilegeValue(NULL, SE_LOAD_DRIVER_NAME, pld);

しかし、ユーザーが特権を持っているかどうかを示すブール値を PLUID から取得する方法がわかりません。関連するメソッドを読みましたが、PLUID 値から直接これを取得する簡単な方法だと思います。

ありがとう

4

1 に答える 1

3

それよりも少し複雑です。

まず、プロセス トークンの特権セットを取得する必要があります (を呼び出してGetTokenInformation())。次に、そこから取得したバッファ (構造体の配列LUID_AND_ATTRIBUTES) をスキャンして、取得した LUID を探しますLookupPrivilegeValue()。次に、見つけた を使用して、必要なフラグが含まれているLUID_AND_ATTRIBUTESかどうかを確認できます (この場合)。AttributesSE_PRIVILEGE_ENABLED

SE_PRIVILEGE_REMOVED有効な権限を確認するときは、確認している に設定されていないことも確認する必要があることに注意してくださいAttributesSE_PRIVILEGE_REMOVEDとの両方SE_PRIVILEGE_ENABLEDが削除され、有効になっていない特権...

于 2010-01-18T09:26:50.943 に答える