IoCreateDevice()

IN IN IN

IoCreateDevice函式

概述

驅動中調用此函式來創建設備對象

函式聲明

IoCreateDevice函式用於創建常規的設備對象.
NTSTATUS IoCreateDevice
(
IN PDRIVER_OBJECT DriverObject,
IN ULONG DeviceExtensionSize,
IN PUNICODE_STRING DeviceNameOPTIONAL,
IN DEVICE_TYPE DeviceType,
IN ULONG DeviceCharacteristics,
IN BOOLEAN Exclusive,
OUT PDEVICE_OBJECT *DeviceObject
);
參數

參數說明

DriverObject
一個指向調用該函式的驅動程式對象.每一個驅動程式在它的DriverEntry過程里接收一個指向它的驅動程式對象.
WDM功能和過濾驅動程式也在他們的AddDevice過程接受一個驅動程式對象的指針.
DeviceExtensionSize
指定驅動程式為設備擴展對象而定義的結構體的大小.
DeviceName
(可選的參數)指向一個以零結尾的包含Unicode字元串的緩衝區,那是這個設備的名稱,該字元串必須是一個完整的設備路徑名.
WDM功能驅動程式和過濾驅動程式它們的設備對象沒有名字.
 注意:如果設備名未提供(即這個參數是NULL),IoCreateDevice創建的設備對象將不會有一個DACL與之相關聯.
DeviceType
指定一個由一個系統定義的FILE_DEVICE_XXX常量,表明了這個設備的類型
(如FILE_DEVICE_DISK,FILE_DEVICE_KEYBOARD等),或供應商定義的一種新型設備的類型.
DeviceCharacteristics
指定一個或多個系統定義的常量,連線在一起,提供有關驅動程式的設備其他信息.對於可能的設備特徵信息,
見DEVICE_OBJECT結構體.
Exclusive
如果指定設備是獨占的,大部分驅動程式設定這個值為FALSE,如果是獨占的話設定為TRUE,非獨占設定為FALSE.
DeviceObject
一個指向DEVICE_OBJECT結構體指針的指針,這是一個指針的指針,指向的指針用來接收DEVICE_OBJECT結構體的指針.

返回值

IoCreateDevice函式成功時返回STATUS_SUCCESS,失敗時返回適當的NTSTATUS錯誤代碼.這時這個函
返回值 STATUS_INSUFFICIENT_RESOURCES
STATUS_OBJECT_NAME_EXISTS
STATUS_OBJECT_NAME_COLLISION

調用要求

包含檔案:wdm.h,ntddk.h

相關詞條

熱門詞條

聯絡我們