2011-09-09 16 views
1

これを行う方法はありますか?私はFILE_FLAG_POSIX_SEMANTICSフラグを持つCreateFileを使用して、大文字と小文字を区別する名前のファイルを作成します。今私はディレクトリのようなものも必要です。名前の異なるディレクトリを作成するにはどうすればよいですか? (大文字小文字を区別するCreateDirectory関数)

例:
CreateDirectory( "aaa"、NULL);
および
CreateDirectory( "AAA"、NULL);
とすると2つの異なるディレクトリになります。 :)

+0

Windowsではファイルに対してこれを行うことができて驚きです。ディレクトリ上で動作するメソッドが見つかった場合、私はさらに驚くでしょう。 –

+0

@マークこれは、大文字と小文字を区別しないファイル名をサポートするファイルシステム上にのみ存在します。 Thinkサーバー。 –

答えて

2

あなたはCreateFileを使用して指定することができ、

代わりに(大文字と小文字の区別がInitializeObjectAttributes()にパラメータによって決定される)提案FILE_FLAG_BACKUP_SEMANTICS | FILE_FLAG_POSIX_SEMANTICS | dwFlagsAndAttributesの場合はFILE_ATTRIBUTE_DIRECTORY、dwCreationDispositionの場合はCREATE_NEW。

+0

ありがとうございます:p – Ivarpoiss

+0

CreateFileのドキュメントでは、「アプリケーションはCreateFileを使用してディレクトリを作成できないため、OPEN_EXISTING値のみがこのユースケースのdwCreationDispositionに有効です。」ディレクトリを作成するには、アプリケーションでCreateDirectoryまたはCreateDirectoryEx "ドキュメントは間違っていますか? –

+0

はい、ドキュメントが間違っています。 –

1

ネイティブAPIに頼ってNtCreateFile()に電話する必要があると思います。私はあなたが恐ろしいAPIを呼び出すのを手伝うことができないのではないかと心配していますが、これを可能にする可能性があるとは思わない。あなたはデビッドのようなネイティブAPIを使用することができます

+0

あなたも。それは本当に怖かったです。 – Ivarpoiss

関連する問題