ウィンドウ内のファイルからパイプを区別する
質問
あなたは私がパイプ、ファイル、ソケットと機能O /ファイルを使用できるように
UNIXでは、すべてがなど、ファイルですが、Windows上で、あなたが使用するAPIは、I / Oのあなたが持っているハンドルの種類によって異なります。
私の質問は:あなたが基本となるタイプが何であるかを判断しますかHANDLE与えられましたか?例えば、私は実際のファイル、または名前付き/匿名パイプのいずれかのハンドルを持っています。私はPeekNamedPipeはこのハンドルで呼び出すことができるかどうか知りたいのです。
解決
GetFileType
を使用してください。 FILE_TYPE_PIPE
の戻り値をチェックします。
http://msdn.microsoft.com/ EN-US /ライブラリ/ aa364960(VS.85).aspxのの
他のヒント
愚かなことをしようとせず。 あれを呼べ。あなたが戻っての事のその間違った種類を言って、エラーコードを取得した場合...、あなたは知っています。
ユーザーがファイルを開くための権限を持っているかどうかを確認しようとすると、同様の校長がreleventです。ファイルシステムを試してみて、完全にリバースエンジニアリングと再実装ロジックへの可能性は、ACLをテストするために通過します。それとも、ただ試してみて、それを開きます。
所属していません StackOverflow