⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mcd.h

📁 MinGW+MSYS开发必用的api参考
💻 H
字号:
/* * mcd.h * * Media changer driver interface * * This file is part of the w32api package. * * Contributors: *   Created by Casper S. Hornstrup <chorns@users.sourceforge.net> * * THIS SOFTWARE IS NOT COPYRIGHTED * * This source code is offered for use in the public domain. You may * use, modify or distribute it freely. * * This code is distributed in the hope that it will be useful but * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY * DISCLAIMED. This includes but is not limited to warranties of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * */#ifndef __MCD_H#define __MCD_H#if __GNUC__ >=3#pragma GCC system_header#endif#ifdef __cplusplusextern "C" {#endif#include "ntddk.h"#include "srb.h"#include "scsi.h"#include "ntddchgr.h"#if defined(_MCD_)  #define CHANGERAPI DECLSPEC_EXPORT#else  #define CHANGERAPI DECLSPEC_IMPORT#endif#ifdef DebugPrint#undef DebugPrint#endif#ifdef DBG#define DebugPrint(x) ChangerClassDebugPrint x#else#define DebugPrint(x)#endif#define MAXIMUM_CHANGER_INQUIRY_DATA			252CHANGERAPIPVOIDDDKAPIChangerClassAllocatePool(  /*IN*/ POOL_TYPE  PoolType,  /*IN*/ ULONG  NumberOfBytes);VOIDChangerClassDebugPrint(  ULONG  DebugPrintLevel,  PCCHAR  DebugMessage,  ...);CHANGERAPIPVOIDDDKAPIChangerClassFreePool(  /*IN*/ PVOID  PoolToFree);CHANGERAPINTSTATUSDDKAPIChangerClassSendSrbSynchronous(  /*IN*/ PDEVICE_OBJECT  DeviceObject,  /*IN*/ PSCSI_REQUEST_BLOCK  Srb,  /*IN*/ PVOID  Buffer,  /*IN*/ ULONG  BufferSize,  /*IN*/ BOOLEAN  WriteToDevice);typedef NTSTATUS DDKAPI(*CHANGER_INITIALIZE)(  /*IN*/ PDEVICE_OBJECT  DeviceObject);typedef ULONG DDKAPI(*CHANGER_EXTENSION_SIZE)(  VOID);typedef VOID DDKAPI(*CHANGER_ERROR_ROUTINE)(  PDEVICE_OBJECT  DeviceObject,  PSCSI_REQUEST_BLOCK  Srb,  NTSTATUS  *Status,  BOOLEAN  *Retry);typedef NTSTATUS DDKAPI(*CHANGER_COMMAND_ROUTINE)(  /*IN*/ PDEVICE_OBJECT  DeviceObject,  /*IN*/ PIRP  Irp);typedef NTSTATUS DDKAPI(*CHANGER_PERFORM_DIAGNOSTICS)(  /*IN*/ PDEVICE_OBJECT  DeviceObject,  /*OUT*/ PWMI_CHANGER_PROBLEM_DEVICE_ERROR  ChangerDeviceError);typedef struct _MCD_INIT_DATA {  ULONG  InitDataSize;  CHANGER_EXTENSION_SIZE  ChangerAdditionalExtensionSize;  CHANGER_INITIALIZE  ChangerInitialize;  CHANGER_ERROR_ROUTINE  ChangerError;  CHANGER_PERFORM_DIAGNOSTICS  ChangerPerformDiagnostics;  CHANGER_COMMAND_ROUTINE  ChangerGetParameters;  CHANGER_COMMAND_ROUTINE  ChangerGetStatus;  CHANGER_COMMAND_ROUTINE  ChangerGetProductData;  CHANGER_COMMAND_ROUTINE  ChangerSetAccess;  CHANGER_COMMAND_ROUTINE  ChangerGetElementStatus;  CHANGER_COMMAND_ROUTINE  ChangerInitializeElementStatus;  CHANGER_COMMAND_ROUTINE  ChangerSetPosition;  CHANGER_COMMAND_ROUTINE  ChangerExchangeMedium;  CHANGER_COMMAND_ROUTINE  ChangerMoveMedium;  CHANGER_COMMAND_ROUTINE  ChangerReinitializeUnit;  CHANGER_COMMAND_ROUTINE  ChangerQueryVolumeTags;} MCD_INIT_DATA, *PMCD_INIT_DATA;CHANGERAPINTSTATUSDDKAPIChangerClassInitialize(  /*IN*/ PDRIVER_OBJECT  DriverObject,  /*IN*/ PUNICODE_STRING  RegistryPath,  /*IN*/ PMCD_INIT_DATA  MCDInitData);#ifdef __cplusplus}#endif#endif /* __MCD_H */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -