OBJECT_ATTRIBUTES oa;
ANSI_STRING FileNameAnsi;
UNICODE_STRING FileNameUnicode;
PCHAR FilePath = (PCHAR)Irp->AssociatedIrp.SystemBuffer;
CHAR szTemp[300] = "\\??\\";
HANDLE Directory = NULL;
strcat( szTemp , FilePath );
RtlInitAnsiString(&FileNameAnsi, szTemp);
ntStatus = RtlAnsiStringToUnicodeString(&FileNameUnicode, &FileNameAnsi, TRUE);
if( ntStatus == STATUS_SUCCESS )
{
InitializeObjectAttributes(&oa, &FileNameUnicode, OBJ_CASE_INSENSITIVE , NULL, NULL);
ntStatus = ZwDeleteFile( &oa );
RtlFreeUnicodeString(&FileNameUnicode);
}
풀 패스 경로 앞에 "\\??\\"; 붙여 주는게 중요하다..
자세한 건 좀 더 공부 후에..ㅎ