o
    jV                     @   s   d dl T dZdZdZdZdZd ZdZdZd Z	dZ
d	ZdZd
Zd ZdZdZdZdZdZdZdZdZdZd ZdZdZdZdZdZdZdZdd Zdd Zdd ZeddeedfddZ dS )   )*l        i   @i    i   i                     i   i   i          @   c                  C   s   t jj} g | _t| _|  S N)windllkernel32GetLastErrorargtypesDWORDrestype)_GetLastError r   /root/aizidognhua/tmp/workspace/projects/ec89d86c-575f-41c9-af57-ac45cbdbf775/venv/lib/python3.10/site-packages/winacl/functions/kernel32.pyr   +   s   r   c                 C   s6   t jj}tg|_t|_|| }|tkrt  d S d S r   )	r   r   	LocalFreeHLOCALr   r   NULLctypesWinError)hMem
_LocalFreeresultr   r   r   r   4   s   r   c                 C   s(   t jj}tg|_t|_t|_||  d S r   )	r   r   CloseHandleHANDLEr   boolr   RaiseIfZeroerrcheck)hHandle_CloseHandler   r   r   r   @   s
   r       Nc           	      C   s`   t jj}tttttttg|_t|_| sd } |rt	
|}|| ||||||}|tkr.t	 |S r   )r   r   CreateFileWLPWSTRr   LPVOIDr   r   r   r   pointerINVALID_HANDLE_VALUEr   )	
lpFileNamedwDesiredAccessdwShareModelpSecurityAttributesdwCreationDispositiondwFlagsAndAttributeshTemplateFile_CreateFileWhFiler   r   r   r&   G   s   
r&   )!definesGENERIC_READGENERIC_WRITEGENERIC_EXECUTEGENERIC_ALLREAD_CONTROLFILE_SHARE_READFILE_SHARE_WRITEFILE_SHARE_DELETE
CREATE_NEWCREATE_ALWAYSOPEN_EXISTINGOPEN_ALWAYSTRUNCATE_EXISTINGFILE_ATTRIBUTE_READONLYFILE_ATTRIBUTE_NORMALFILE_ATTRIBUTE_TEMPORARYFILE_FLAG_WRITE_THROUGHFILE_FLAG_NO_BUFFERINGFILE_FLAG_RANDOM_ACCESSFILE_FLAG_SEQUENTIAL_SCANFILE_FLAG_DELETE_ON_CLOSEFILE_FLAG_OVERLAPPEDFILE_FLAG_BACKUP_SEMANTICSFILE_ATTRIBUTE_HIDDENFILE_ATTRIBUTE_SYSTEMFILE_ATTRIBUTE_DIRECTORYFILE_ATTRIBUTE_ARCHIVEFILE_ATTRIBUTE_DEVICEr   r   r   r&   r   r   r   r   <module>   sH    	