// ntddk.h
typedef struct _PNP_LOCATION_INTERFACE {
USHORT Size;
USHORT Version;
PVOID Context;
PINTERFACE_REFERENCE InterfaceReference;
PINTERFACE_DEREFERENCE InterfaceDereference;
PGET_LOCATION_STRING GetLocationString;
} PNP_LOCATION_INTERFACE, *PPNP_LOCATION_INTERFACE;
View the official Windows Driver Kit DDI referenceNo description available.
The PNP_LOCATION_INTERFACE structure describes the GUID_PNP_LOCATION_INTERFACE interface.
SizeThe size, in bytes, of this structure.
VersionThe driver-defined version of the interface.
ContextA pointer to interface-specific context information.
InterfaceReferenceA pointer to an InterfaceReference routine that increments the reference count for the interface. The PINTERFACE_REFERENCE function pointer type is defined in the Wdm.h header file.
InterfaceDereferenceA pointer to an InterfaceDereference routine that decrements the reference count for the interface. The PINTERFACE_DEREFERENCE function pointer type is defined in the Wdm.h header file.
GetLocationStringA pointer to the PnpGetLocationString routine for the interface. The routine supplies the device-specific part of the SPDRP_LOCATION_PATHS property for the device.
A driver obtains a pointer to the PNP_LOCATION_INTERFACE structure by sending an IRP_MN_QUERY_INTERFACE IRP to its bus driver with InterfaceType set to GUID_PNP_LOCATION_INTERFACE.