
                      /
                          NTFS  Windows NT/2000

,          - 
  .       -
,      .    
   . ,  ,   
   ,   ,    
   .

 Windows NT   API AccessCheck, , ,  
     ,   . 
          .
    AccessCheck,     
   ,    , 
   API.

          NTFS (,
)    CheckFileAccess,      
. 

   :

CheckFileAccess(Filename As String, ByVal DesiredAccess As Long) As Long,

:

Filename      -      . 
	             "\".

DesiredAccess -     . 

   ,      ,
    .  ,    
   ,   -1.

         
  OR ,     . 
    :

FILE_GENERIC_READ    -   ,
FILE_GENERIC_WRITE   -   ,
FILE_GENERIC_EXECUTE -   ,
DELETE               -   ,
WRITE_DAC            -     ,
WRITE_OWNER          -    ,
FILE_ALL_ACCESS      -  ,
MAXIMUM_ALLOWED      -   .

   ,     :

GENERIC_READ         -   ,
GENERIC_WRITE        -   ,
GENERIC_EXECUTE      -   ,
GENERIC_ALL          -  ,

      , , 
FILE_GENERIC_READ, FILE_GENERIC_WRITE, FILE_GENERIC_EXECUTE, FILE_ALL_ACCESS
(,    ).

 , ,        "d:\Test.tmp" 
   ,    :

 1:

Dim AccessRead As Boolean, AccessWrite As Boolean
AccessRead = CheckFileAccess("d:\Test.tmp", _
	FILE_GENERIC_READ) = FILE_GENERIC_READ
AccessWrite = CheckFileAccess("d:\Test.tmp", _
	FILE_GENERIC_WRITE) = FILE_GENERIC_WRITE

 2:

Dim AccessRead As Boolean, AccessWrite As Boolean
Dim AccessMask As Long
AccessMask = CheckFileAccess("d:\Test.tmp", MAXIMUM_ALLOWED)
AccessRead = (AccessMask _
	AND FILE_GENERIC_READ) = FILE_GENERIC_READ
AccessWrite = (AccessMask _
	AND FILE_GENERIC_WRITE) = FILE_GENERIC_WRITE 

      CheckFileAccess,   -
  .

    CheckFileAccess    -
 FilePerm.exe,        
 .

         , 
       .   
,        "...".

     Visual Basic 5.0   
.

.  Microsoft Knowledge Base Q115945.


	 2000  
	http://smsoft.chat.ru
	smsoft@chat.ru