windowsのアクセス権について調べ物をしていた中でwinnt.hという言葉が出てきました。

winnt.h とはいったいなんでしょうか?
「winnt.hの中に定義されている」と書いてあるのですが、自分のコンピュータを検索してもwinnt.hというファイルは見当たりませんでした。winnt.hの役割等教えていただけないでしょうか?プログラミング等についてはまったく初心者のため、winnt.hの設定について何か見られるツールがあったらあわせて教えてください。

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:
  • 終了:--
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答6件)

id:voyage_blog No.1

回答回数251ベストアンサー獲得回数1

ポイント100pt

どこで,winnt.hに繋がったかわかりませんが,~.hとはプログラムに必要なヘッダーファイルです。

ここで定義されている,定数なんでしょう。

ちなみに,winnt.hは,VisualStadioなど開発言語をインストールしないとPCにはないと思います。

id:qlist

回答ありがとうございます。実は下記ホームページでaclの継承についての説明を読んでいていwinnt.hが何か疑問になりました。NO_PROPAGATE_INHERIT_ACEの意味について知りたかったためです。何か教えていただけることありましたらよろしくお願いいたします。

2005/03/23 21:16:16
id:Lantis No.2

回答回数30ベストアンサー獲得回数0

ポイント100pt

http://www.asia.microsoft.com/japan/msdn/library/

MSDN ライブラリ サイト移行に関する重要なお知らせ

このでwinnt.hを検索すると色々出てきます。


Visual C++などで使われるインクルードファイルです。

プログラムが各種機能を呼び出す為の定義や

値などが書かれています。

id:qlist

有り難うございます。少し勉強してみます。

2005/03/23 21:16:45
id:webber1 No.3

回答回数254ベストアンサー獲得回数0

ポイント100pt

Visual C++ の構造体の形式でデータのフォーマットを示すことがありますが,それに必要な事項について説明しておきます.

Visual C++ のオリジナルデータ型が出てきますが,それは windef.h や  ここ→「winnt.h」 などのファイルで定義されていて,

必要な部分だけ抽出すると


typedef unsigned char BYTE;

typedef unsigned short WORD;

typedef unsigned long DWORD;

typedef long LONG;


BYTE は符号なし1バイト, WORD は符号なし2バイト, DWORD は符号なし4バイト, LONG は符号あり4バイトです.

(long とか short とかのバイト数は処理系依存だが, Windows 上でしか扱わないためこれでいい訳だ)


回答・早い話が、専門用語です。私もそうですが、プログラミング等について初心者であれば、深く考えないほうが.....

id:qlist

有り難うございます。少し勉強してみます。

2005/03/23 21:17:23
id:more_1999 No.4

回答回数581ベストアンサー獲得回数1

id:qlist

有り難うございます。

2005/03/23 21:18:20
id:kensaito No.5

回答回数163ベストアンサー獲得回数4

ポイント100pt

http://www.microsoft.com/japan/msdn/library/default.asp?url=/jap...

MSDN ライブラリ サイト移行に関する重要なお知らせ

NO_PROPAGATE_INHERIT_ACE を Googleで検索するとこのページが出てきます。


で、ぶっちゃけて言えば、「アプリケーションプログラムからACL(アクセス権のこと)の継承を

設定するときに使用する定数」のことです。

ですので、Windowsプログラマでなければ、全く気にすることはありません。


ちなみに、ざっくりと上記ページを読んでみましたが、エクスプローラの「セキュリティの詳細設定」にある

「子オブジェクトに適用するアクセス許可エントリを...」あたりの設定をするときに使われるようです。

id:qlist

有難うございます。

2005/03/24 07:55:01
id:virus No.6

回答回数183ベストアンサー獲得回数1

ポイント100pt

http://www.microsoft.com/japan/msdn/

MSDN �z�[�� �y�[�W

winnt.h はC言語用のヘッダーファイルと呼ばれるもので、定数値や関数についての定義が書かれてます。意味等の説明があるわけではありません。

NO_PROPAGATE_INHERIT_ACE のようなものは定数値で、本質的には数値なのですが数字だけでは人間にはわかりにくいので、このような文字で表すわけです。そして実際の数値への「読み替え」をヘッダーファイルに書いておくわけです。


#define NO_PROPAGATE_INHERIT_ACE (0x4)


NO_PROPAGATE_INHERIT_ACEはこのように定義されています。

何度も書きますが、ヘッダーファイルにはほとんどの場合、詳しい説明は書かれてません。

詳しい説明は人間用のヘルプファイルやドキュメントに書かれてます。

URL は開発者用の、こういったドキュメントを集積したサイトです。フルにアクセスするには契約が必要ですが、基本的なものは契約なしでも見られるはずです。

ちなみにNO_PROPAGATE_INHERIT_ACEは


「OBJECT_INHERIT_ACE と CONTAINER_INHERIT_ACE の各ビットは、継承された ACE へ伝播しません。」


と説明されています。

id:qlist

有難うございます。皆様の回答を元に少し勉強してみます。

2005/03/24 07:58:14

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません