Leaked source code of windows server 2003
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.
|
|
/*++
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;
|