?? ptextend.h
字號:
///////////////////////////////////////////////////////
// PTEXTEND.h文件
#ifndef __PTEXTEND__H
#define __PTEXTEND__H
// 用戶打開一個(gè)適配器后,我們就為其句柄關(guān)聯(lián)一個(gè)OPEN_CONTEXT結(jié)構(gòu),
// 結(jié)構(gòu)指針保存在FileObject的FsContext域中
typedef struct _OPEN_CONTEXT
{
ULONG RefCount;
NDIS_SPIN_LOCK Lock;
BOOLEAN bAdapterClosed;
PADAPT pAdapt;
// 下面3個(gè)為的是處理Oid請求
NDIS_REQUEST Request;
NDIS_STATUS RequestStatus;
NDIS_EVENT RequestEvent;
// BEGIN_PTEX_FILTER
// 為過濾數(shù)據(jù)預(yù)留的空間 每個(gè)打開句柄的過濾相關(guān)數(shù)據(jù)
// Per-Open-Handle Filter-Specific Area
//
ULONG FilterReserved[16];
// END_PTEX_FILTER
} OPEN_CONTEXT, *POPEN_CONTEXT;
/////////////////////////////////////////////
// 下面是一些自定義函數(shù)的聲明
NTSTATUS DevClose(PDEVICE_OBJECT pDeviceObject, PIRP pIrp);
NTSTATUS DevCleanup(PDEVICE_OBJECT pDeviceObject,PIRP pIrp);
NTSTATUS DevOpen(PDEVICE_OBJECT pDeviceObject, PIRP pIrp);
NTSTATUS DevIoControl(PDEVICE_OBJECT pDeviceObject, PIRP pIrp);
NTSTATUS FltDevIoControl(PDEVICE_OBJECT pDeviceObject, PIRP pIrp);
NTSTATUS DevHandleOidRequest(PDEVICE_OBJECT pDeviceObject, PIRP pIrp);
VOID DevRequestComplete(PADAPT pAdapt, PNDIS_REQUEST NdisRequest,NDIS_STATUS Status);
VOID PtRefAdapter(PADAPT pAdapt);
VOID PtDerefAdapter(PADAPT pAdapt);
POPEN_CONTEXT DevAllocateOpenContext(PADAPT pAdapt);
VOID DevDerefOpenContext(POPEN_CONTEXT pOpenContext);
VOID DevRefOpenContext(POPEN_CONTEXT pOpenContext) ;
NTSTATUS DevGetBindingList(PVOID Buffer,ULONG Length,PULONG DataLength);
PADAPT LookupAdaptByName(PUCHAR pNameBuffer, ULONG nNameLength);
#endif // __PTEXTEND__H
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -