You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
88 lines
2.5 KiB
88 lines
2.5 KiB
/*++
|
|
|
|
Copyright (c) Microsoft Corporation. All rights reserved.
|
|
|
|
Module Name:
|
|
|
|
partmgrp.h
|
|
|
|
Abstract:
|
|
|
|
This file defines the public interfaces for the PARTMGR driver.
|
|
|
|
Author:
|
|
|
|
norbertk
|
|
|
|
Revision History:
|
|
|
|
--*/
|
|
|
|
//
|
|
// Define IOCTL so that volume managers can get another crack at
|
|
// partitions that are unclaimed.
|
|
//
|
|
|
|
#define IOCTL_PARTMGR_CHECK_UNCLAIMED_PARTITIONS CTL_CODE('p', 0, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
|
|
|
|
//
|
|
// This IOCTL is for clusters to tell the volume managers for the
|
|
// given disk to stop using it. You can undo this operation with
|
|
// IOCTL_PARTMGR_CHECK_UNCLAIMED_PARTITIONS.
|
|
//
|
|
|
|
#define IOCTL_PARTMGR_EJECT_VOLUME_MANAGERS CTL_CODE('p', 1, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
|
|
|
|
//
|
|
// This IOCTL usually just returns the MBR disk signature that is contained
|
|
// on the disk but may return a 'future' version of the disk signature during
|
|
// boot. This separate call is needed so that if the signature on the boot
|
|
// disk is not unique or 0, that it still stays as the old value long enough
|
|
// for the system to find it from the loader block.
|
|
//
|
|
|
|
#define IOCTL_PARTMGR_QUERY_DISK_SIGNATURE CTL_CODE('p', 2, METHOD_BUFFERED, FILE_READ_ACCESS)
|
|
|
|
//
|
|
// This IOCTL is to allow notification requests to be queued against PartMgr
|
|
// which will be completed later when PartMgr spots an 'interesting' change
|
|
// to a disk.
|
|
//
|
|
|
|
#define IOCTL_PARTMGR_NOTIFY_SIGNATURE_CHECK CTL_CODE('p', 3, METHOD_BUFFERED, FILE_READ_ACCESS)
|
|
|
|
|
|
|
|
//
|
|
// This structure is the return value for IOCTL_PARTMGR_QUERY_DISK_SIGNATURE.
|
|
//
|
|
|
|
typedef struct _PARTMGR_DISK_SIGNATURE {
|
|
ULONG Signature;
|
|
} PARTMGR_DISK_SIGNATURE, *PPARTMGR_DISK_SIGNATURE;
|
|
|
|
|
|
//
|
|
// This structure is used to request the list of disk numbers that have
|
|
// become active since the specificed epoch and is the input paramter for
|
|
// IOCTL_PARTMGR_NOTIFY_SIGNATURE_CHECK
|
|
//
|
|
|
|
typedef struct _PARTMGR_SIGNATURE_CHECK_EPOCH {
|
|
ULONG RequestEpoch;
|
|
} PARTMGR_SIGNATURE_CHECK_EPOCH, *PPARTMGR_SIGNATURE_CHECK_EPOCH;
|
|
|
|
#define PARTMGR_REQUEST_CURRENT_DISK_EPOCH (0xFFFFFFFF)
|
|
|
|
|
|
//
|
|
// This structure describes the output for IOCTL_PARTMGR_NOTIFY_SIGNATURE_CHECK
|
|
//
|
|
|
|
typedef struct _PARTMGR_SIGNATURE_CHECK_DISKS {
|
|
ULONG CurrentEpoch;
|
|
ULONG HighestDiskEpochReturned;
|
|
ULONG DiskNumbersReturned;
|
|
ULONG DiskNumber [1];
|
|
} PARTMGR_SIGNATURE_CHECK_DISKS, *PPARTMGR_SIGNATURE_CHECK_DISKS;
|
|
|