kerneldll.h

来自「windows驱动程序」· C头文件 代码 · 共 76 行

H
76
字号
//**************************************************************************************************//
//*                                                                                                *//
//* Copyright (C) 2003, James Antognini, antognini@mindspring.com.                                 *//
//*                                                                                                *//
//**************************************************************************************************//

#ifdef JADriverKernelMode                             // Begin kernel-mode-only section.
  
#if DBG
#define DbgPrint(arg) DbgPrint arg
#else
#define DbgPrint(arg)
#endif

//***************************************************************************//
//                                                                           //
// Types, definitions, etc.                                                  //
//                                                                           //
//***************************************************************************//

typedef struct _KernelDLLExt                          // Device extension.
  {
   UNICODE_STRING        JAUniSymLinkName;
   UNICODE_STRING        JAUniDeviceName;
   UNICODE_STRING        JARegPath;
   ANSI_STRING           JADriverName;
  }
   KernelDLLExt, * pKernelDLLExt;

//***************************************************************************//
//                                                                           //
// Routine prototypes.                                                       //
//                                                                           //
//***************************************************************************//

// Define the exported/imported function KernelDLLRtnsTest().

#if defined(ExportKernelDLL)                          // Exporting desired?
__declspec(dllexport)
#else                                                 // No, not desired.  Therefore, importing.
__declspec(dllimport)
#endif
NTSTATUS
KernelDLLRtnsTest(PDEVICE_OBJECT);

#endif                                                // End kernel-mode-only section.
  
#define FILE_DEVICE_KernelDLL      0x00008A00
 
#define KernelDLL_TEST  (ULONG) CTL_CODE(FILE_DEVICE_KernelDLL,    \
                                         0x01,                     \
                                         METHOD_BUFFERED,          \
                                         FILE_ANY_ACCESS           \
                                        )                          
                                                                 
typedef enum
  {
   CallKernelDLLUnknown,
   CallKernelDLLTest,
  }
   CallKernelDLLOperType;

typedef struct _KernelDLLTestStr
  {
   ULONG             rc;                              // Return code.
  }
   KernelDLLTestStr, * pKernelDLLTestStr;
  

//***************************************************************************//
//                                                                           //
// User-space routine prototypes.                                            //
//                                                                           //
//***************************************************************************//

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?