-
-
[求助]关于取得single_list_entry的值为空
-
发表于: 2008-9-5 19:12 4360
-
最后取得的值为空请问为什么呢?
[code]
typedef struct _SDEL_FILE{
SINGLE_LIST_ENTRY listEntry;
char *FileName;
}SDEL_FILE,*PSDEL_FILE;
SINGLE_LIST_ENTRY ListFileHandle;
VOID InsertList()
{
char one[]="hello Test\n";
char * temp;
PSDEL_FILE pItem;
temp=(char *)ExAllocatePool(NonPagedPool,sizeof(char)*256);
pItem=(PSDEL_FILE)ExAllocatePool(NonPagedPool,sizeof(SDEL_FILE));
RtlCopyMemory(temp,one,strlen(one));
pItem->FileName=temp;
PushEntryList(&ListFileHandle,&pItem->listEntry);
DbgPrint("file name is %s\n",pItem->FileName);
}
VOID DleteList()
{
PSINGLE_LIST_ENTRY pslink;
//pItem=(PSDEL_FILE)ExAllocatePoolWithTag(NonPagedPool,sizeof(PSDEL_FILE),TAGS);
pslink=PopEntryList(&ListFileHandle);
if(pslink)
{
PSDEL_FILE pItem=(PSDEL_FILE)CONTAINING_RECORD(pslink,SDEL_FILE,listEntry);
if(pItem==NULL)
DbgPrint("get delete file is Null\n");
else
DbgPrint("while delete file name is %s\n",pItem->FileName);
// ExFreePool(pItem);
}
}
[\code]
[code]
typedef struct _SDEL_FILE{
SINGLE_LIST_ENTRY listEntry;
char *FileName;
}SDEL_FILE,*PSDEL_FILE;
SINGLE_LIST_ENTRY ListFileHandle;
VOID InsertList()
{
char one[]="hello Test\n";
char * temp;
PSDEL_FILE pItem;
temp=(char *)ExAllocatePool(NonPagedPool,sizeof(char)*256);
pItem=(PSDEL_FILE)ExAllocatePool(NonPagedPool,sizeof(SDEL_FILE));
RtlCopyMemory(temp,one,strlen(one));
pItem->FileName=temp;
PushEntryList(&ListFileHandle,&pItem->listEntry);
DbgPrint("file name is %s\n",pItem->FileName);
}
VOID DleteList()
{
PSINGLE_LIST_ENTRY pslink;
//pItem=(PSDEL_FILE)ExAllocatePoolWithTag(NonPagedPool,sizeof(PSDEL_FILE),TAGS);
pslink=PopEntryList(&ListFileHandle);
if(pslink)
{
PSDEL_FILE pItem=(PSDEL_FILE)CONTAINING_RECORD(pslink,SDEL_FILE,listEntry);
if(pItem==NULL)
DbgPrint("get delete file is Null\n");
else
DbgPrint("while delete file name is %s\n",pItem->FileName);
// ExFreePool(pItem);
}
}
[\code]
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课
赞赏
赞赏
雪币:
留言: