18{
22
23 TRACE_(SERENUM,
"SerenumAddDevice called. Pdo = %p\n",
Pdo);
24
25
34 {
35 WARN_(SERENUM,
"IoCreateDevice() failed with status 0x%08lx\n",
Status);
37 }
40
41
44 &GUID_DEVINTERFACE_SERENUM_BUS_ENUMERATOR,
48 {
49 WARN_(SERENUM,
"IoRegisterDeviceInterface() failed with status 0x%08lx\n",
Status);
52 }
53
56 DeviceExtension->
Pdo =
Pdo;
60 {
61 WARN_(SERENUM,
"IoAttachDeviceToDeviceStackSafe() failed with status 0x%08lx\n",
Status);
64 }
71 Fdo->Flags &= ~DO_DEVICE_INITIALIZING;
72
74}
#define FILE_DEVICE_SECURE_OPEN
#define NT_SUCCESS(StatCode)
struct _FDO_DEVICE_EXTENSION * PFDO_DEVICE_EXTENSION
NTSTATUS NTAPI IoCreateDevice(IN PDRIVER_OBJECT DriverObject, IN ULONG DeviceExtensionSize, IN PUNICODE_STRING DeviceName, IN DEVICE_TYPE DeviceType, IN ULONG DeviceCharacteristics, IN BOOLEAN Exclusive, OUT PDEVICE_OBJECT *DeviceObject)
NTSTATUS NTAPI IoAttachDeviceToDeviceStackSafe(IN PDEVICE_OBJECT SourceDevice, IN PDEVICE_OBJECT TargetDevice, IN OUT PDEVICE_OBJECT *AttachedToDeviceObject)
VOID NTAPI IoDeleteDevice(IN PDEVICE_OBJECT DeviceObject)
NTSTATUS NTAPI IoRegisterDeviceInterface(IN PDEVICE_OBJECT PhysicalDeviceObject, IN CONST GUID *InterfaceClassGuid, IN PUNICODE_STRING ReferenceString OPTIONAL, OUT PUNICODE_STRING SymbolicLinkName)
#define FILE_DEVICE_BUS_EXTENDER
UNICODE_STRING SerenumInterfaceName
PDEVICE_OBJECT LowerDevice
COMMON_DEVICE_EXTENSION Common
IO_REMOVE_LOCK RemoveLock
#define RtlZeroMemory(Destination, Length)
_Must_inspect_result_ _In_ PDRIVER_OBJECT DriverObject
_Must_inspect_result_ _In_ WDFDEVICE Fdo
WDF_EXTERN_C_START typedef _Must_inspect_result_ _In_ WDFDRIVER _In_opt_ PWDF_OBJECT_ATTRIBUTES _In_ PDEVICE_OBJECT _In_opt_ PDEVICE_OBJECT _In_opt_ PDEVICE_OBJECT Pdo
#define IoInitializeRemoveLock(Lock, AllocateTag, MaxLockedMinutes, HighWatermark)