diff --git a/reactos/w32api/include/ddk/winddk.h b/reactos/w32api/include/ddk/winddk.h index e7dc0f721e5..6ff6324e2a9 100644 --- a/reactos/w32api/include/ddk/winddk.h +++ b/reactos/w32api/include/ddk/winddk.h @@ -705,6 +705,33 @@ typedef ULONG IN ULONG Offset, IN ULONG Length); +typedef struct _PCI_DEVICE_PRESENCE_PARAMETERS { + ULONG Size; + ULONG Flags; + USHORT VendorID; + USHORT DeviceID; + UCHAR RevisionID; + USHORT SubVendorID; + USHORT SubSystemID; + UCHAR BaseClass; + UCHAR SubClass; + UCHAR ProgIf; +} PCI_DEVICE_PRESENCE_PARAMETERS, *PPCI_DEVICE_PRESENCE_PARAMETERS; + +typedef BOOLEAN +(DDKAPI *PPCI_IS_DEVICE_PRESENT)( + IN USHORT VendorID, + IN USHORT DeviceID, + IN UCHAR RevisionID, + IN USHORT SubVendorID, + IN USHORT SubSystemID, + IN ULONG Flags); + +typedef BOOLEAN +(DDKAPI *PPCI_IS_DEVICE_PRESENT_EX)( + IN PVOID Context, + IN PPCI_DEVICE_PRESENCE_PARAMETERS Parameters); + typedef union _POWER_STATE { SYSTEM_POWER_STATE SystemState; DEVICE_POWER_STATE DeviceState; @@ -727,6 +754,16 @@ typedef struct _BUS_INTERFACE_STANDARD { PGET_SET_DEVICE_DATA GetBusData; } BUS_INTERFACE_STANDARD, *PBUS_INTERFACE_STANDARD; +typedef struct _PCI_DEVICE_PRESENT_INTERFACE { + USHORT Size; + USHORT Version; + PVOID Context; + PINTERFACE_REFERENCE InterfaceReference; + PINTERFACE_DEREFERENCE InterfaceDereference; + PPCI_IS_DEVICE_PRESENT IsDevicePresent; + PPCI_IS_DEVICE_PRESENT_EX IsDevicePresentEx; +} PCI_DEVICE_PRESENT_INTERFACE, *PPCI_DEVICE_PRESENT_INTERFACE; + typedef struct _DEVICE_CAPABILITIES { USHORT Size; USHORT Version;