1

言って、私はやった

HANDLE h = CreateFileA ("foobar", GENERIC_READ | GENERIC_WRITE, 0, NULL, 
    OPEN_ALWAYS, 0, NULL);

ハンドルhに GENERIC_READ | が追加されました。GENERIC_WRITE アクセス (呼び出しが成功した場合)。

質問h:アクセス モード (つまり、GENERIC_READ | GENERIC_WRITE) を取得するには、どの関数を呼び出す必要がありますか?

:どういうわけか標準入力になったハンドルをGetStdHandle (STD_INPUT_HANDLE)返します。それがファイルなのか、パイプなのか、それとも何か他のものなのかはわかりません (ハンドルの種類を取得する方法はありますが、それはここでは重要ではありません)。そして、それは何らかのアクセス権を持っている可能性があります(で指定したハンドルをチェックしません)。アクセス マスクを取得する方法はありますか (適切な呼び出しを試みる以外に)?CreateProcessSTARTUPINFO

4

1 に答える 1

1

コールNtQueryObjectパッシングObjectBasicInformation

于 2012-12-10T12:20:39.427 に答える