25 UINT32 LastCharacterPosition = 0;
33 LastCharacterPosition =
Index;
38 return LastCharacterPosition + 1;
93 sizeof(*AdapterDescriptor))
106 DescriptorHeader->
Version =
sizeof(*AdapterDescriptor);
107 DescriptorHeader->
Size =
sizeof(*AdapterDescriptor);
114 AdapterDescriptor =
Irp->AssociatedIrp.SystemBuffer;
117 RtlZeroMemory(AdapterDescriptor,
sizeof(*AdapterDescriptor));
119 AdapterDescriptor->
Version =
sizeof(*AdapterDescriptor);
120 AdapterDescriptor->
Size =
sizeof(*AdapterDescriptor);
132 Irp->IoStatus.Information =
sizeof(*AdapterDescriptor);
167 Irp->IoStatus.Information = 0;
215 switch (
Query->PropertyId)
234 ProductIdLength + 1 +
285 Dest[VendorIdLength] =
'\0';
286 Dest += VendorIdLength + 1;
289 Dest[ProductIdLength] =
'\0';
290 Dest += ProductIdLength + 1;
293 Dest[RevisionLength] =
'\0';
294 Dest += RevisionLength + 1;
337 DPRINT(
"PdoDeviceControlScsiGetAddress(%p %p)\n", DeviceExtension,
Irp);
342 FdoDeviceExtension = DeviceExtension->FdoExtension;
350 Irp->IoStatus.Information = 0;
357 ScsiAddress->
PathId = DeviceExtension->Bus;
358 ScsiAddress->
TargetId = DeviceExtension->Target;
359 ScsiAddress->
Lun = DeviceExtension->Lun;
364 DPRINT(
"SCSI Address for PDO %p : (Path Target Lun)(%d %d %d)\n",
365 DeviceExtension->Device, ScsiAddress->
PathId, ScsiAddress->
TargetId, ScsiAddress->
Lun);
402 Irp->IoStatus.Information = 0;
static PIO_STACK_LOCATION IoGetCurrentIrpStackLocation(PIRP Irp)
BOOL Query(LPCTSTR *ServiceArgs, DWORD ArgCount, BOOL bExtended)
#define STATUS_NOT_IMPLEMENTED
_Check_return_ _In_ ULONG _Inout_ PDXGK_DEVICE_DESCRIPTOR DeviceDescriptor
static UINT32 GetFieldLength(_In_ PUCHAR Name, _In_ UINT32 MaxLength)
NTSTATUS NTAPI PortPdoDeviceControl(_In_ PDEVICE_OBJECT DeviceObject, _In_ PIRP Irp)
static NTSTATUS FdoDeviceControlQueryProperty(_In_ PFDO_DEVICE_EXTENSION FdoExtension, _In_ PIRP Irp)
NTSTATUS NTAPI PortFdoDeviceControl(_In_ PDEVICE_OBJECT DeviceObject, _In_ PIRP Irp)
static NTSTATUS PdoDeviceControlQueryProperty(_In_ PPDO_DEVICE_EXTENSION PdoExtension, _In_ PIRP Irp)
static NTSTATUS PdoDeviceControlScsiGetAddress(_In_ PPDO_DEVICE_EXTENSION DeviceExtension, _In_ PIRP Irp)
#define IoSkipCurrentIrpStackLocation(Irp)
#define IoCompleteRequest
#define STATUS_INVALID_PARAMETER_2
#define STATUS_INVALID_PARAMETER_1
#define IOCTL_STORAGE_QUERY_PROPERTY
@ StorageDeviceIdProperty
@ StorageDevicePowerProperty
struct _STORAGE_PROPERTY_QUERY * PSTORAGE_PROPERTY_QUERY
#define IOCTL_SCSI_GET_ADDRESS
struct _SCSI_ADDRESS * PSCSI_ADDRESS
struct _SCSI_ADDRESS SCSI_ADDRESS
#define STATUS_BUFFER_TOO_SMALL
UCHAR ProductRevisionLevel[4]
union _IO_STACK_LOCATION::@1813 Parameters
struct _IO_STACK_LOCATION::@1813::@1814 DeviceIoControl
PORT_CONFIGURATION_INFORMATION PortConfig
ULONG MaximumTransferLength
ULONG MaximumPhysicalPages
BOOLEAN AcceleratedTransfer
#define FIELD_OFFSET(t, f)
#define RtlCopyMemory(Destination, Source, Length)
#define RtlZeroMemory(Destination, Length)
#define STATUS_INVALID_DEVICE_REQUEST
_In_ WDFCOLLECTION _In_ ULONG Index
_In_ PDEVICE_OBJECT DeviceObject
_Must_inspect_result_ _In_ WDFDEVICE _In_ PWDF_DEVICE_PROPERTY_DATA _In_ DEVPROPTYPE _In_ ULONG Size
struct _STORAGE_DESCRIPTOR_HEADER STORAGE_DESCRIPTOR_HEADER
struct _STORAGE_DEVICE_DESCRIPTOR STORAGE_DEVICE_DESCRIPTOR