PGET_LOCATION_STRING 콜백 함수(ntddk.h)
PnpGetLocationString 루틴은 디바이스 SPDRP_LOCATION_PATHS 속성의 디바이스별 부분을 제공합니다.
구문
PGET_LOCATION_STRING PgetLocationString;
NTSTATUS PgetLocationString(
[in, out] PVOID Context,
[out] PZZWSTR *LocationStrings
)
{...}
매개 변수
[in, out] Context
인터페이스별 컨텍스트 정보에 대한 포인터입니다. 호출자는 PNP_LOCATION_INTERFACE 구조체의 Context 멤버로 전달되는 값을 전달합니다.
[out] LocationStrings
다른 0으로 종료되는 null로 끝나는 유니코드 문자열 시퀀스에 대한 포인터입니다. 각 문자열은 디바이스의 위치 문자열로 사용됩니다. 드라이버는 일반적으로 단일 문자열을 반환합니다.
반환 값
루틴은 작업의 상태 나타내는 NTSTATUS 값을 반환합니다.
설명
PNP_LOCATION_INTERFACE 구조체는 PnpGetLocationString 루틴에 대한 포인터를 제공합니다.
PnpGetLocationString 루틴은 디바이스에 대한 위치 문자열의 디바이스별 부분을 제공합니다. PnP(플러그 앤 플레이) 관리자는 디바이스의 드라이버, 디바이스의 버스 및 부모 버스를 쿼리하고 제공된 문자열을 함께 연결하여 디바이스의 위치 문자열을 어셈블합니다.
루틴은 버스에 상대적인 디바이스에 고유한 문자열을 반환해야 합니다. 문자열은 모든 버전의 운영 체제에서 디바이스에 대해 동일해야 합니다. 이 용도로 문자열을 선택한 후에는 문자열을 변경하지 않아야 합니다.
규칙에 따라 위치 문자열은 ServiceName(BusSpecificLocation) 형식을 사용합니다. 예를 들어 PCI 디바이스는 PCI(XXYY)를 사용합니다. 여기서 XX 는 디바이스 번호이고 YY 는 함수 번호입니다.
PnpGetLocationString 루틴은 ExAllocatePoolWithTag와 같은 루틴을 호출하여 위치 문자열에 대한 메모리를 할당합니다. 호출자는 위치 문자열이 더 이상 필요하지 않을 때 LocationStrings가 가리키는 메모리를 해제하기 위해 ExFreePool 루틴을 호출합니다.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows Server 2003부터 사용할 수 있습니다. |
대상 플랫폼 | 데스크톱 |
머리글 | ntddk.h(Ntddk.h, Ntifs.h 포함) |
IRQL | <= PASSIVE_LEVEL |