Device Interface Guids - a compiled List

Discussion in 'Windows Vista Drivers' started by Bert Grantges, Oct 13, 2003.

  1. *****************************************************************
    The following is a short list of device interface guids and
    their respective include files. I have found this information
    quite lacking, and have decided to post this so that it may
    save someone else a little time in the future.

    Please feel free to update this list with new items as they are
    found.
    *****************************************************************

    <ntddser.h>
    GUID_DEVINTERFACE_COMPORT
    GUID_DEVINTERFACE_SERENUM_BUS_ENUMERATOR

    <ntddkbd.h>
    GUID_DEVINTERFACE_KEYBOARD
    <ntddmou.h>
    GUID_DEVINTERFACE_MOUSE

    <winioctl.h> AND <ntddstor.h>
    GUID_DEVINTERFACE_DISK
    GUID_DEVINTERFACE_CDROM
    GUID_DEVINTERFACE_PARTITION
    GUID_DEVINTERFACE_TAPE
    GUID_DEVINTERFACE_WRITEONCEDISK
    GUID_DEVINTERFACE_VOLUME
    GUID_DEVINTERFACE_MEDIUMCHANGER
    GUID_DEVINTERFACE_FLOPPY
    GUID_DEVINTERFACE_CDCHANGER
    GUID_DEVINTERFACE_STORAGEPORT

    <ntddvdeo.h>
    GUID_DEVINTERFACE_DISPLAY_ADAPTER

    <wiaintfc.h>
    GUID_DEVINTERFACE_IMAGE

    <hidclass.h>
    GUID_DEVINTERFACE_HID

    <usbiodef.h>
    GUID_DEVINTERFACE_USB_HUB
    GUID_DEVINTERFACE_USB_DEVICE
    GUID_DEVINTERFACE_USB_HOST_CONTROLLER

    <ntddpar.h>
    GUID_DEVINTERFACE_PARALLEL
    GUID_DEVINTERFACE_PARCLASS
     
    Bert Grantges, Oct 13, 2003
    #1
    1. Advertisements

  2. Bert Grantges

    Walter Oney Guest

    Did you include all the interface GUIDs that the INTERFACEENUM sample in
    my WDM book enumerates? (Off-hand, it doesn't look like it).
     
    Walter Oney, Oct 13, 2003
    #2
    1. Advertisements

  3. Here are the NDIS GUIDS as well

    <ndisguid.h>
    GUID_NDIS_LAN_CLASS
    GUID_NDIS_ENUMERATE_ADAPTER
    GUID_NDIS_NOTIFY_ADAPTER_REMOVAL
    GUID_NDIS_NOTIFY_ADAPTER_ARRIVAL
    GUID_NDIS_ENUMERATE_VC
    GUID_NDIS_NOTIFY_VC_REMOVAL
    GUID_NDIS_NOTIFY_VC_ARRIVAL
    GUID_NDIS_NOTIFY_BIND
    GUID_NDIS_NOTIFY_UNBIND
    GUID_NDIS_WAKE_ON_MAGIC_PACKET_ONLY
    GUID_NDIS_GEN_HARDWARE_STATUS
    GUID_NDIS_GEN_MEDIA_SUPPORTED
    GUID_NDIS_GEN_MEDIA_IN_USE
    GUID_NDIS_GEN_MAXIMUM_LOOKAHEAD
    GUID_NDIS_GEN_MAXIMUM_FRAME_SIZE
    GUID_NDIS_GEN_LINK_SPEED
    GUID_NDIS_GEN_TRANSMIT_BUFFER_SPACE
    GUID_NDIS_GEN_RECEIVE_BUFFER_SPACE
    GUID_NDIS_GEN_TRANSMIT_BLOCK_SIZE
    GUID_NDIS_GEN_RECEIVE_BLOCK_SIZE
    GUID_NDIS_GEN_VENDOR_ID
    GUID_NDIS_GEN_VENDOR_DESCRIPTION
    GUID_NDIS_GEN_CURRENT_PACKET_FILTER
    GUID_NDIS_GEN_CURRENT_LOOKAHEAD
    GUID_NDIS_GEN_DRIVER_VERSION
    GUID_NDIS_GEN_MAXIMUM_TOTAL_SIZE
    GUID_NDIS_GEN_MAC_OPTIONS
    GUID_NDIS_GEN_MEDIA_CONNECT_STATUS
    GUID_NDIS_GEN_MAXIMUM_SEND_PACKETS
    GUID_NDIS_GEN_VENDOR_DRIVER_VERSION
    GUID_NDIS_GEN_XMIT_OK
    GUID_NDIS_GEN_RCV_OK
    GUID_NDIS_GEN_XMIT_ERROR
    GUID_NDIS_GEN_RCV_ERROR
    GUID_NDIS_GEN_RCV_NO_BUFFER
    GUID_NDIS_GEN_CO_HARDWARE_STATUS
    GUID_NDIS_GEN_CO_MEDIA_SUPPORTED
    GUID_NDIS_GEN_CO_MEDIA_IN_USE
    GUID_NDIS_GEN_CO_LINK_SPEED
    GUID_NDIS_GEN_CO_VENDOR_ID
    GUID_NDIS_GEN_CO_VENDOR_DESCRIPTION
    GUID_NDIS_GEN_CO_DRIVER_VERSION
    GUID_NDIS_GEN_CO_MAC_OPTIONS
    GUID_NDIS_GEN_CO_MEDIA_CONNECT_STATUS
    GUID_NDIS_GEN_CO_VENDOR_DRIVER_VERSION
    GUID_NDIS_GEN_CO_MINIMUM_LINK_SPEED
    GUID_NDIS_GEN_CO_XMIT_PDUS_OK
    GUID_NDIS_GEN_CO_RCV_PDUS_OK
    GUID_NDIS_GEN_CO_XMIT_PDUS_ERROR
    GUID_NDIS_GEN_CO_RCV_PDUS_ERROR
    GUID_NDIS_GEN_CO_RCV_PDUS_NO_BUFFER
    GUID_NDIS_802_3_PERMANENT_ADDRESS
    GUID_NDIS_802_3_CURRENT_ADDRESS
    GUID_NDIS_802_3_MULTICAST_LIST
    GUID_NDIS_802_3_MAXIMUM_LIST_SIZE
    GUID_NDIS_802_3_MAC_OPTIONS
    GUID_NDIS_802_3_RCV_ERROR_ALIGNMENT
    GUID_NDIS_802_3_XMIT_ONE_COLLISION
    GUID_NDIS_802_3_XMIT_MORE_COLLISIONS
    GUID_NDIS_802_5_PERMANENT_ADDRESS
    GUID_NDIS_802_5_CURRENT_ADDRESS
    GUID_NDIS_802_5_CURRENT_FUNCTIONAL
    GUID_NDIS_802_5_CURRENT_GROUP
    GUID_NDIS_802_5_LAST_OPEN_STATUS
    GUID_NDIS_802_5_CURRENT_RING_STATUS
    GUID_NDIS_802_5_CURRENT_RING_STATE
    GUID_NDIS_802_5_LINE_ERRORS
    GUID_NDIS_802_5_LOST_FRAMES
    GUID_NDIS_FDDI_LONG_PERMANENT_ADDR
    GUID_NDIS_FDDI_LONG_CURRENT_ADDR
    GUID_NDIS_FDDI_LONG_MULTICAST_LIST
    GUID_NDIS_FDDI_LONG_MAX_LIST_SIZE
    GUID_NDIS_FDDI_SHORT_PERMANENT_ADDR
    GUID_NDIS_FDDI_SHORT_CURRENT_ADDR
    GUID_NDIS_FDDI_SHORT_MULTICAST_LIST
    GUID_NDIS_FDDI_SHORT_MAX_LIST_SIZE
    GUID_NDIS_FDDI_ATTACHMENT_TYPE
    GUID_NDIS_FDDI_UPSTREAM_NODE_LONG
    GUID_NDIS_FDDI_DOWNSTREAM_NODE_LONG
    GUID_NDIS_FDDI_FRAME_ERRORS
    GUID_NDIS_FDDI_FRAMES_LOST
    GUID_NDIS_FDDI_RING_MGT_STATE
    GUID_NDIS_FDDI_LCT_FAILURES
    GUID_NDIS_FDDI_LEM_REJECTS
    GUID_NDIS_FDDI_LCONNECTION_STATE
    GUID_NDIS_802_11_BSSID
    GUID_NDIS_802_11_SSID
    GUID_NDIS_802_11_NETWORK_TYPES_SUPPORTED
    GUID_NDIS_802_11_NETWORK_TYPE_IN_USE
    GUID_NDIS_802_11_POWER_MODE
    GUID_NDIS_802_11_TX_POWER_LEVEL
    GUID_NDIS_802_11_RSSI
    GUID_NDIS_802_11_RSSI_TRIGGER
    GUID_NDIS_802_11_BSSID_LIST
    GUID_NDIS_802_11_INFRASTRUCTURE_MODE
    GUID_NDIS_802_11_FRAGMENTATION_THRESHOLD
    GUID_NDIS_802_11_RTS_THRESHOLD
    GUID_NDIS_802_11_NUMBER_OF_ANTENNAS
    GUID_NDIS_802_11_RX_ANTENNA_SELECTED
    GUID_NDIS_802_11_TX_ANTENNA_SELECTED
    GUID_NDIS_802_11_RATES_SUPPORTED
    GUID_NDIS_802_11_BASIC_RATES
    GUID_NDIS_802_11_DESIRED_RATES
    GUID_NDIS_802_11_CONFIGURATION
    GUID_NDIS_802_11_STATISTICS
    GUID_NDIS_802_11_ADD_WEP
    GUID_NDIS_802_11_REMOVE_WEP
    GUID_NDIS_802_11_DISASSOCIATE
    GUID_NDIS_802_11_AUTHENTICATION_MODE
    GUID_NDIS_802_11_PRIVACY_FILTER
    GUID_NDIS_ATM_SUPPORTED_VC_RATES
    GUID_NDIS_ATM_SUPPORTED_SERVICE_CATEGORY
    GUID_NDIS_ATM_SUPPORTED_AAL_TYPES
    GUID_NDIS_ATM_HW_CURRENT_ADDRESS
    GUID_NDIS_ATM_MAX_ACTIVE_VCS
    GUID_NDIS_ATM_MAX_ACTIVE_VCI_BITS
    GUID_NDIS_ATM_MAX_ACTIVE_VPI_BITS
    GUID_NDIS_ATM_MAX_AAL0_PACKET_SIZE
    GUID_NDIS_ATM_MAX_AAL1_PACKET_SIZE
    GUID_NDIS_ATM_MAX_AAL34_PACKET_SIZE
    GUID_NDIS_ATM_MAX_AAL5_PACKET_SIZE
    GUID_NDIS_ATM_RCV_CELLS_OK
    GUID_NDIS_ATM_XMIT_CELLS_OK
    GUID_NDIS_ATM_RCV_CELLS_DROPPED
    GUID_NDIS_STATUS_RESET_START
    GUID_NDIS_STATUS_RESET_END
    GUID_NDIS_STATUS_MEDIA_CONNECT
    GUID_NDIS_STATUS_MEDIA_DISCONNECT
    GUID_NDIS_STATUS_MEDIA_SPECIFIC_INDICATION
    GUID_NDIS_STATUS_LINK_SPEED_CHANGE
     
    Bert Grantges, Oct 14, 2003
    #3
  4. I just looked over the example INTERFACEENUM and I don't think I got them
    all. I will try an post some more later.

    Walter, One question to you..

    I have been looking at your DeviceEnumeration list example, and was curious
    how to go about doing this for 9x flavors of Windows. You had previously
    directed me to the CM_ functions, but I am really not sure where to begin
    with those. Any more info you can give me? Also, this needs to be in
    usermode.

    Thanks,
    bert
     
    Bert Grantges, Oct 14, 2003
    #4
  5. Bert Grantges

    Walter Oney Guest

    For this purpose, I don't think you need the CM_ functions at all. All I
    did was to enumerate the registered interface key and parse out the
    GUIDs. I think I mostly ended up with KS stuff (in addition to the
    standard devices), but my memory is cloudy after all this time.
     
    Walter Oney, Oct 15, 2003
    #5
  6. Walter,

    That helps a ton, but will that work for devices that are not PnP or for
    devices whose drivers have not been installed properly?

    Thanks again for all your assistance..
    Bert
     
    Bert Grantges, Oct 20, 2003
    #6
  7. Bert Grantges

    Walter Oney Guest

    It's the call to IoRegisterDeviceInterface that populates the interface
    key, and that doesn't depend on whether the device is PnP or not. If a
    driver hasn't been installed properly, it won't be loaded and won't be
    registering any interfaces, right?
     
    Walter Oney, Oct 21, 2003
    #7
    1. Advertisements

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments (here). After that, you can post your question and our members will help you out.