HalExamineMBR 함수(ntddk.h)
HalExamineMBR 루틴은 디스크의 master 부팅 레코드(MBR)를 읽고 MBR이 호출자가 지정한 형식인 경우 MBR에서 데이터를 반환합니다.
구문
void HalExamineMBR(
[in] PDEVICE_OBJECT DeviceObject,
[in] ULONG SectorSize,
[in] ULONG MBRTypeIdentifier,
[out] PVOID *Buffer
);
매개 변수
[in] DeviceObject
검사 중인 디바이스의 디바이스 개체에 대한 포인터입니다.
[in] SectorSize
I/O 작업이 검사 중인 디바이스에서 가져올 수 있는 최소 바이트 수입니다. 이 값이 512보다 작은 경우 HalExamineMBR 은 512바이트를 읽어 전체 파티션 테이블을 읽도록 합니다.
[in] MBRTypeIdentifier
MBR 파티션 형식 식별자입니다. 이 매개 변수는 디스크에 있을 수 있는 MBR의 형식을 지정합니다. 자세한 내용은 설명 부분을 참조하세요.
[out] Buffer
HalExamineMBR이 MBR의 데이터를 포함하는 버퍼에 대한 포인터를 쓰는 위치에 대한 포인터입니다. 버퍼의 레이아웃은 MBR 파티션 유형에 따라 달라집니다. HalExamineMBR 은 이 버퍼에 대한 스토리지를 할당합니다. 호출자는 ExFreePool 루틴을 호출하여 가능한 한 빨리 이 버퍼의 할당을 취소해야 합니다.
디스크의 MBR 파티션 유형이 MBRTypeIdentifier에서 지정한 것과 일치하지 않거나 오류가 있는 경우 HalExamineMBR은 *Buffer = NULL을 설정합니다.
반환 값
없음
설명
시스템 정의 MBR 파티션 형식 식별자 목록은 PARTITION_INFORMATION 테이블을 참조하세요. 이러한 식별자는 Ntdddisk.h 헤더 파일에 정의됩니다.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows XP부터 사용할 수 있습니다. |
대상 플랫폼 | 유니버설 |
헤더 | ntddk.h(Ntddk.h 포함) |
IRQL | PASSIVE_LEVEL |
DDI 규정 준수 규칙 | HwStorPortProhibitedDDIs(storport), PowerIrpDDis(wdm) |