1*bf1b3cb1SVictor Perevertkin /*++ 2*bf1b3cb1SVictor Perevertkin 3*bf1b3cb1SVictor Perevertkin Copyright (C) Microsoft Corporation, 1991 - 2010 4*bf1b3cb1SVictor Perevertkin 5*bf1b3cb1SVictor Perevertkin Module Name: 6*bf1b3cb1SVictor Perevertkin 7*bf1b3cb1SVictor Perevertkin disk.c 8*bf1b3cb1SVictor Perevertkin 9*bf1b3cb1SVictor Perevertkin Abstract: 10*bf1b3cb1SVictor Perevertkin 11*bf1b3cb1SVictor Perevertkin SCSI disk class driver 12*bf1b3cb1SVictor Perevertkin 13*bf1b3cb1SVictor Perevertkin Environment: 14*bf1b3cb1SVictor Perevertkin 15*bf1b3cb1SVictor Perevertkin kernel mode only 16*bf1b3cb1SVictor Perevertkin 17*bf1b3cb1SVictor Perevertkin Notes: 18*bf1b3cb1SVictor Perevertkin 19*bf1b3cb1SVictor Perevertkin Revision History: 20*bf1b3cb1SVictor Perevertkin 21*bf1b3cb1SVictor Perevertkin --*/ 22*bf1b3cb1SVictor Perevertkin 23*bf1b3cb1SVictor Perevertkin #include "classp.h" 24*bf1b3cb1SVictor Perevertkin 25*bf1b3cb1SVictor Perevertkin 26*bf1b3cb1SVictor Perevertkin /* 27*bf1b3cb1SVictor Perevertkin * Entry in static list used by debug extension to quickly find all class FDOs. 28*bf1b3cb1SVictor Perevertkin */ 29*bf1b3cb1SVictor Perevertkin LIST_ENTRY AllFdosList = {&AllFdosList, &AllFdosList}; 30*bf1b3cb1SVictor Perevertkin 31*bf1b3cb1SVictor Perevertkin #ifdef ALLOC_DATA_PRAGMA 32*bf1b3cb1SVictor Perevertkin #pragma data_seg("PAGEDATA") 33*bf1b3cb1SVictor Perevertkin #endif 34*bf1b3cb1SVictor Perevertkin 35*bf1b3cb1SVictor Perevertkin /* 36*bf1b3cb1SVictor Perevertkin #define FDO_HACK_CANNOT_LOCK_MEDIA (0x00000001) 37*bf1b3cb1SVictor Perevertkin #define FDO_HACK_GESN_IS_BAD (0x00000002) 38*bf1b3cb1SVictor Perevertkin #define FDO_HACK_NO_SYNC_CACHE (0x00000004) 39*bf1b3cb1SVictor Perevertkin #define FDO_HACK_NO_RESERVE6 (0x00000008) 40*bf1b3cb1SVictor Perevertkin #define FDO_HACK_GESN_IGNORE_OPCHANGE (0x00000010) 41*bf1b3cb1SVictor Perevertkin */ 42*bf1b3cb1SVictor Perevertkin 43*bf1b3cb1SVictor Perevertkin CLASSPNP_SCAN_FOR_SPECIAL_INFO ClassBadItems[] = { // Type (HH, slim) + WHQL Date, if known 44*bf1b3cb1SVictor Perevertkin { "" , "MITSUMI CD-ROM FX240" , NULL , 0x02 }, 45*bf1b3cb1SVictor Perevertkin { "" , "MITSUMI CD-ROM FX320" , NULL , 0x02 }, 46*bf1b3cb1SVictor Perevertkin { "" , "MITSUMI CD-ROM FX322" , NULL , 0x02 }, 47*bf1b3cb1SVictor Perevertkin { "" , "TEAC DV-28E-A" , "2.0A", 0x02 }, 48*bf1b3cb1SVictor Perevertkin { "" , "HP CD-Writer cd16h" , "Q000", 0x02 }, 49*bf1b3cb1SVictor Perevertkin { "" , "_NEC NR-7800A" , "1.33", 0x02 }, 50*bf1b3cb1SVictor Perevertkin { "" , "COMPAQ CRD-8481B" , NULL , 0x04 }, 51*bf1b3cb1SVictor Perevertkin // The following is a list of device that report too many OpChange/Add events. 52*bf1b3cb1SVictor Perevertkin // They require ignoring (or not sending) the OpChange flag in the GESN command. 53*bf1b3cb1SVictor Perevertkin // This list contains vendor ID and product ID as separate strings for USB/1394 interface. 54*bf1b3cb1SVictor Perevertkin { "HL-DT-ST", "DVDRAM GMA-4020B" , NULL , 0x10 }, // hh , 2002/04/22 55*bf1b3cb1SVictor Perevertkin { "HL-DT-ST", "DVD-RW GCA-4020B" , NULL , 0x10 }, // hh , 2002/05/14 56*bf1b3cb1SVictor Perevertkin { "HL-DT-ST", "DVDRAM GSA-4040B" , NULL , 0x10 }, // hh , 2003/05/06 57*bf1b3cb1SVictor Perevertkin { "HL-DT-ST", "DVDRAM GMA-4040B" , NULL , 0x10 }, // hh , 2003/07/27 58*bf1b3cb1SVictor Perevertkin { "HL-DT-ST", "DVD-RW GWA-4040B" , NULL , 0x10 }, // hh , 2003/11/18 59*bf1b3cb1SVictor Perevertkin { "HL-DT-ST", "DVDRAM GSA-4081B" , NULL , 0x10 }, // hh , 2003/11/06 60*bf1b3cb1SVictor Perevertkin { "HL-DT-ST", "DVDRAM GSA-4082B" , NULL , 0x10 }, // hh , 2004/01/27 61*bf1b3cb1SVictor Perevertkin { "HL-DT-ST", "DVD-RW GWA-4082B" , NULL , 0x10 }, // hh , 2004/03/11 62*bf1b3cb1SVictor Perevertkin { "HL-DT-ST", "DVDRAM GSA-4120B" , NULL , 0x10 }, // hh , 2004/05/16 63*bf1b3cb1SVictor Perevertkin { "HL-DT-ST", "DVD+RW GRA-4120B" , NULL , 0x10 }, // hh , 2004/04/28 64*bf1b3cb1SVictor Perevertkin { "HL-DT-ST", "DVDRAM GSA-4160B" , NULL , 0x10 }, // hh , 2004/08/12 65*bf1b3cb1SVictor Perevertkin { "HL-DT-ST", "DVD-RW GWA-4160B" , NULL , 0x10 }, // hh , 2004/08/24 66*bf1b3cb1SVictor Perevertkin { "HL-DT-ST", "DVDRAM GSA-4163B" , NULL , 0x10 }, // hh , 2004/11/09 67*bf1b3cb1SVictor Perevertkin { "HL-DT-ST", "DVD-RW GWA-4163B" , NULL , 0x10 }, // hh , 2004/12/29 68*bf1b3cb1SVictor Perevertkin { "HL-DT-ST", "DVDRAM GSA-4165B" , NULL , 0x10 }, // hh , 2005/06/09 69*bf1b3cb1SVictor Perevertkin { "HL-DT-ST", "DVDRAM_GSA-4165B" , NULL , 0x10 }, // hh , 2005/06/28 70*bf1b3cb1SVictor Perevertkin { "HL-DT-ST", "DVD-RW GWA-4165B" , NULL , 0x10 }, // hh , 2005/08/23 71*bf1b3cb1SVictor Perevertkin { "HL-DT-ST", "DVDRAM GSA-4167B" , NULL , 0x10 }, // hh , 2005/07/01 72*bf1b3cb1SVictor Perevertkin { "HL-DT-ST", "DVDRAM GSA-H10N" , NULL , 0x10 }, // hh , 2006/02/16 73*bf1b3cb1SVictor Perevertkin { "HL-DT-ST", "DVDRAM_GSA-H10N" , NULL , 0x10 }, // hh , 2006/02/16 74*bf1b3cb1SVictor Perevertkin { "HL-DT-ST", "DVDRAM GSA-H10L" , NULL , 0x10 }, // hh , 2006/02/27 75*bf1b3cb1SVictor Perevertkin { "HL-DT-ST", "DVDRAM_GSA-H10L" , NULL , 0x10 }, // hh , 2006/04/21 76*bf1b3cb1SVictor Perevertkin { "HL-DT-ST", "DVDRAM GSA-H10A" , NULL , 0x10 }, // hh , 2006/01/03 77*bf1b3cb1SVictor Perevertkin { "HL-DT-ST", "DVDRAM_GSA-H10A" , NULL , 0x10 }, // hh , 2006/05/14 78*bf1b3cb1SVictor Perevertkin { "HL-DT-ST", "DVD-RW GSA-H11N" , NULL , 0x10 }, // hh , 2006/04/28 79*bf1b3cb1SVictor Perevertkin { "HL-DT-ST", "DVD-RW_GSA-H11N" , NULL , 0x10 }, // hh , 2006/02/22 80*bf1b3cb1SVictor Perevertkin 81*bf1b3cb1SVictor Perevertkin { "HL-DT-ST", "DVDRAM GSA-4080N" , NULL , 0x10 }, // slim, 2004/08/08 82*bf1b3cb1SVictor Perevertkin { "HL-DT-ST", "DVDRAM GMA-4080N" , NULL , 0x10 }, // slim, 2004/11/09 83*bf1b3cb1SVictor Perevertkin { "HL-DT-ST", "DVD-RW GCA-4080N" , NULL , 0x10 }, // slim, 2004/11/22 84*bf1b3cb1SVictor Perevertkin { "HL-DT-ST", "DVD-RW GWA-4080N" , NULL , 0x10 }, // slim, 2004/08/17 85*bf1b3cb1SVictor Perevertkin { "HL-DT-ST", "DVDRAM GSA-4082N" , NULL , 0x10 }, // slim, 2005/07/12 86*bf1b3cb1SVictor Perevertkin { "HL-DT-ST", "DVDRAM_GSA-4082N" , NULL , 0x10 }, // slim, 2005/09/21 87*bf1b3cb1SVictor Perevertkin { "HL-DT-ST", "DVDRAM GMA-4082N" , NULL , 0x10 }, // slim, 2005/10/20 88*bf1b3cb1SVictor Perevertkin { "HL-DT-ST", "DVD-RW GRA-4082N" , NULL , 0x10 }, // slim, 2006/06/07 89*bf1b3cb1SVictor Perevertkin { "HL-DT-ST", "DVD-RW GWA-4082N" , NULL , 0x10 }, // slim, 2005/05/24 90*bf1b3cb1SVictor Perevertkin { "HL-DT-ST", "DVDRAM GMA4082Nf" , NULL , 0x10 }, // slim, 2006/02/28 91*bf1b3cb1SVictor Perevertkin { "HL-DT-ST", "DVDRAM GMA4082Nj" , NULL , 0x10 }, // slim, 2006/01/26 92*bf1b3cb1SVictor Perevertkin 93*bf1b3cb1SVictor Perevertkin { "HL-DT-ST", "DVDRAM GSA-4084N" , NULL , 0x10 }, // slim, 2005/12/21 94*bf1b3cb1SVictor Perevertkin { "HL-DT-ST", "DVDRAM GMA-4084N" , NULL , 0x10 }, // slim, 2006/02/15 95*bf1b3cb1SVictor Perevertkin { "HP" , "DVD Writer 550s" , NULL , 0x10 }, // slim, 2006/05/08 96*bf1b3cb1SVictor Perevertkin { "HL-DT-ST", "DVDRAM GSA-T10N" , NULL , 0x10 }, // slim, 2006/07/26 97*bf1b3cb1SVictor Perevertkin { "HL-DT-ST", "DVDRAM_GSA-T10N" , NULL , 0x10 }, // slim, 2006/07/26 98*bf1b3cb1SVictor Perevertkin { "HL-DT-ST", "DVD+-RW GSA-T11N" , NULL , 0x10 }, // slim, 2006/07/25 99*bf1b3cb1SVictor Perevertkin 100*bf1b3cb1SVictor Perevertkin { "HL-DT-ST", "DVD-ROM GDR8160B" , NULL , 0x10 }, // hh , 2001/10/12 101*bf1b3cb1SVictor Perevertkin { "COMPAQ" , "DVD-ROM GDR8160B" , NULL , 0x10 }, // hh , 2001/11/08 102*bf1b3cb1SVictor Perevertkin { "HL-DT-ST", "DVD-ROM GDR8161B" , NULL , 0x10 }, // hh , 2002/07/19 103*bf1b3cb1SVictor Perevertkin { "HL-DT-ST", "DVD-ROM GDR8162B" , NULL , 0x10 }, // hh , 2003/04/22 104*bf1b3cb1SVictor Perevertkin { "HL-DT-ST", "DVD-ROM GDR8163B" , NULL , 0x10 }, // hh , 2004/05/19 105*bf1b3cb1SVictor Perevertkin { "HL-DT-ST", "DVD-ROM GDR8164B" , NULL , 0x10 }, // hh , 2005/06/29 106*bf1b3cb1SVictor Perevertkin { "HL-DT-ST", "DVD-ROM GDRH10N" , NULL , 0x10 }, // hh , 2006/03/07 107*bf1b3cb1SVictor Perevertkin 108*bf1b3cb1SVictor Perevertkin { "HL-DT-ST", "DVD-ROM GDR8081N" , NULL , 0x10 }, // slim, 2001/08/27 109*bf1b3cb1SVictor Perevertkin { "HL-DT-ST", "DVD-ROM GDR8082N" , NULL , 0x10 }, // slim, 2003/02/02 110*bf1b3cb1SVictor Perevertkin { "HL-DT-ST", "DVD-ROM GDR8083N" , NULL , 0x10 }, // slim, 2003/02/02 111*bf1b3cb1SVictor Perevertkin { "HL-DT-ST", "DVD-ROM GDR8085N" , NULL , 0x10 }, // slim, 2005/11/10 112*bf1b3cb1SVictor Perevertkin 113*bf1b3cb1SVictor Perevertkin { "HL-DT-ST", "RW/DVD GCC-4080N" , NULL , 0x10 }, // slim, 2001/08/21 114*bf1b3cb1SVictor Perevertkin { "HL-DT-ST", "RW/DVD_GCC-4080N" , NULL , 0x10 }, // slim, 115*bf1b3cb1SVictor Perevertkin { "HL-DT-ST", "RW/DVD GCC-4160N" , NULL , 0x10 }, // slim, 2002/04/08 116*bf1b3cb1SVictor Perevertkin { "HL-DT-ST", "RW/DVD GCC-4240N" , NULL , 0x10 }, // slim, 2002/04/26 117*bf1b3cb1SVictor Perevertkin { "HL-DT-ST", "RW/DVD GCC-4241N" , NULL , 0x10 }, // slim, 2003/04/07 118*bf1b3cb1SVictor Perevertkin { "HL-DT-ST", "RW/DVD_GCC-4241N" , NULL , 0x10 }, // slim, 2004/03/07 119*bf1b3cb1SVictor Perevertkin { "HL-DT-ST", "RW/DVD GCC-4242N" , NULL , 0x10 }, // slim, 2003/12/21 120*bf1b3cb1SVictor Perevertkin { "HL-DT-ST", "RW/DVD GCC-4246N" , NULL , 0x10 }, // slim, 2005/05/23 121*bf1b3cb1SVictor Perevertkin { "HL-DT-ST", "BD-RE GBW-H10N" , NULL , 0x10 }, // hh , 2006/06/27 122*bf1b3cb1SVictor Perevertkin 123*bf1b3cb1SVictor Perevertkin { "HL-DT-ST", "DVDRAM GSA-4083N" , NULL , 0x10 }, // hh , 2006/05/17 124*bf1b3cb1SVictor Perevertkin { "HL-DT-ST", "DVD+-RW GWA4083N" , NULL , 0x10 }, // hh , 2006/06/05 125*bf1b3cb1SVictor Perevertkin 126*bf1b3cb1SVictor Perevertkin { "PIONEER", "DVD-RW DVR-106D" , NULL , 0x10 }, // hh , ? 127*bf1b3cb1SVictor Perevertkin { "ASUS", "DVD-RW DRW-0402P" , NULL , 0x10 }, // hh , ? 128*bf1b3cb1SVictor Perevertkin 129*bf1b3cb1SVictor Perevertkin // 130*bf1b3cb1SVictor Perevertkin // This list contains vendor ID and product ID as a single string for ATAPI interface. 131*bf1b3cb1SVictor Perevertkin // 132*bf1b3cb1SVictor Perevertkin 133*bf1b3cb1SVictor Perevertkin { "", "HL-DT-ST DVDRAM GMA-4020B" , NULL , 0x10 }, // hh , 2002/04/22 134*bf1b3cb1SVictor Perevertkin { "", "HL-DT-ST DVD-RW GCA-4020B" , NULL , 0x10 }, // hh , 2002/05/14 135*bf1b3cb1SVictor Perevertkin { "", "HL-DT-ST DVDRAM GSA-4040B" , NULL , 0x10 }, // hh , 2003/05/06 136*bf1b3cb1SVictor Perevertkin { "", "HL-DT-ST DVDRAM GMA-4040B" , NULL , 0x10 }, // hh , 2003/07/27 137*bf1b3cb1SVictor Perevertkin { "", "HL-DT-ST DVD-RW GWA-4040B" , NULL , 0x10 }, // hh , 2003/11/18 138*bf1b3cb1SVictor Perevertkin { "", "HL-DT-ST DVDRAM GSA-4081B" , NULL , 0x10 }, // hh , 2003/11/06 139*bf1b3cb1SVictor Perevertkin { "", "HL-DT-ST DVDRAM GSA-4082B" , NULL , 0x10 }, // hh , 2004/01/27 140*bf1b3cb1SVictor Perevertkin { "", "HL-DT-ST DVD-RW GWA-4082B" , NULL , 0x10 }, // hh , 2004/03/11 141*bf1b3cb1SVictor Perevertkin { "", "HL-DT-ST DVDRAM GSA-4120B" , NULL , 0x10 }, // hh , 2004/05/16 142*bf1b3cb1SVictor Perevertkin { "", "HL-DT-ST DVD+RW GRA-4120B" , NULL , 0x10 }, // hh , 2004/04/28 143*bf1b3cb1SVictor Perevertkin { "", "HL-DT-ST DVDRAM GSA-4160B" , NULL , 0x10 }, // hh , 2004/08/12 144*bf1b3cb1SVictor Perevertkin { "", "HL-DT-ST DVD-RW GWA-4160B" , NULL , 0x10 }, // hh , 2004/08/24 145*bf1b3cb1SVictor Perevertkin { "", "HL-DT-ST DVDRAM GSA-4163B" , NULL , 0x10 }, // hh , 2004/11/09 146*bf1b3cb1SVictor Perevertkin { "", "HL-DT-ST DVD-RW GWA-4163B" , NULL , 0x10 }, // hh , 2004/12/29 147*bf1b3cb1SVictor Perevertkin { "", "HL-DT-ST DVDRAM GSA-4165B" , NULL , 0x10 }, // hh , 2005/06/09 148*bf1b3cb1SVictor Perevertkin { "", "HL-DT-ST DVDRAM_GSA-4165B" , NULL , 0x10 }, // hh , 2005/06/28 149*bf1b3cb1SVictor Perevertkin { "", "HL-DT-ST DVD-RW GWA-4165B" , NULL , 0x10 }, // hh , 2005/08/23 150*bf1b3cb1SVictor Perevertkin { "", "HL-DT-ST DVDRAM GSA-4167B" , NULL , 0x10 }, // hh , 2005/07/01 151*bf1b3cb1SVictor Perevertkin { "", "HL-DT-ST DVDRAM GSA-H10N" , NULL , 0x10 }, // hh , 2006/02/16 152*bf1b3cb1SVictor Perevertkin { "", "HL-DT-ST DVDRAM_GSA-H10N" , NULL , 0x10 }, // hh , 2006/02/16 153*bf1b3cb1SVictor Perevertkin { "", "HL-DT-ST DVDRAM GSA-H10L" , NULL , 0x10 }, // hh , 2006/02/27 154*bf1b3cb1SVictor Perevertkin { "", "HL-DT-ST DVDRAM_GSA-H10L" , NULL , 0x10 }, // hh , 2006/04/21 155*bf1b3cb1SVictor Perevertkin { "", "HL-DT-ST DVDRAM GSA-H10A" , NULL , 0x10 }, // hh , 2006/01/03 156*bf1b3cb1SVictor Perevertkin { "", "HL-DT-ST DVDRAM_GSA-H10A" , NULL , 0x10 }, // hh , 2006/05/14 157*bf1b3cb1SVictor Perevertkin { "", "HL-DT-ST DVD-RW GSA-H11N" , NULL , 0x10 }, // hh , 2006/04/28 158*bf1b3cb1SVictor Perevertkin { "", "HL-DT-ST DVD-RW_GSA-H11N" , NULL , 0x10 }, // hh , 2006/02/22 159*bf1b3cb1SVictor Perevertkin 160*bf1b3cb1SVictor Perevertkin { "", "HL-DT-ST DVDRAM GSA-4080N" , NULL , 0x10 }, // slim, 2004/08/08 161*bf1b3cb1SVictor Perevertkin { "", "HL-DT-ST DVDRAM GMA-4080N" , NULL , 0x10 }, // slim, 2004/11/09 162*bf1b3cb1SVictor Perevertkin { "", "HL-DT-ST DVD-RW GCA-4080N" , NULL , 0x10 }, // slim, 2004/11/22 163*bf1b3cb1SVictor Perevertkin { "", "HL-DT-ST DVD-RW GWA-4080N" , NULL , 0x10 }, // slim, 2004/08/17 164*bf1b3cb1SVictor Perevertkin { "", "HL-DT-ST DVDRAM GSA-4082N" , NULL , 0x10 }, // slim, 2005/07/12 165*bf1b3cb1SVictor Perevertkin { "", "HL-DT-ST DVDRAM_GSA-4082N" , NULL , 0x10 }, // slim, 2005/09/21 166*bf1b3cb1SVictor Perevertkin { "", "HL-DT-ST DVDRAM GMA-4082N" , NULL , 0x10 }, // slim, 2005/10/20 167*bf1b3cb1SVictor Perevertkin { "", "HL-DT-ST DVD-RW GRA-4082N" , NULL , 0x10 }, // slim, 2006/06/07 168*bf1b3cb1SVictor Perevertkin { "", "HL-DT-ST DVD-RW GWA-4082N" , NULL , 0x10 }, // slim, 2005/05/24 169*bf1b3cb1SVictor Perevertkin { "", "HL-DT-ST DVDRAM GMA4082Nf" , NULL , 0x10 }, // slim, 2006/02/28 170*bf1b3cb1SVictor Perevertkin { "", "HL-DT-ST DVDRAM GMA4082Nj" , NULL , 0x10 }, // slim, 2006/01/26 171*bf1b3cb1SVictor Perevertkin 172*bf1b3cb1SVictor Perevertkin { "", "HL-DT-ST DVDRAM GSA-4084N" , NULL , 0x10 }, // slim, 2005/12/21 173*bf1b3cb1SVictor Perevertkin { "", "HL-DT-ST DVDRAM GMA-4084N" , NULL , 0x10 }, // slim, 2006/02/15 174*bf1b3cb1SVictor Perevertkin { "", "HP DVD Writer 550s" , NULL , 0x10 }, // slim, 2006/05/08 175*bf1b3cb1SVictor Perevertkin { "", "HL-DT-ST DVDRAM GSA-T10N" , NULL , 0x10 }, // slim, 2006/07/26 176*bf1b3cb1SVictor Perevertkin { "", "HL-DT-ST DVDRAM_GSA-T10N" , NULL , 0x10 }, // slim, 2006/07/26 177*bf1b3cb1SVictor Perevertkin { "", "HL-DT-ST DVD+-RW GSA-T11N" , NULL , 0x10 }, // slim, 2006/07/25 178*bf1b3cb1SVictor Perevertkin 179*bf1b3cb1SVictor Perevertkin { "", "HL-DT-ST DVD-ROM GDR8160B" , NULL , 0x10 }, // hh , 2001/10/12 180*bf1b3cb1SVictor Perevertkin { "", "COMPAQ DVD-ROM GDR8160B" , NULL , 0x10 }, // hh , 2001/11/08 181*bf1b3cb1SVictor Perevertkin { "", "HL-DT-ST DVD-ROM GDR8161B" , NULL , 0x10 }, // hh , 2002/07/19 182*bf1b3cb1SVictor Perevertkin { "", "HL-DT-ST DVD-ROM GDR8162B" , NULL , 0x10 }, // hh , 2003/04/22 183*bf1b3cb1SVictor Perevertkin { "", "HL-DT-ST DVD-ROM GDR8163B" , NULL , 0x10 }, // hh , 2004/05/19 184*bf1b3cb1SVictor Perevertkin { "", "HL-DT-ST DVD-ROM GDR8164B" , NULL , 0x10 }, // hh , 2005/06/29 185*bf1b3cb1SVictor Perevertkin { "", "HL-DT-ST DVD-ROM GDRH10N" , NULL , 0x10 }, // hh , 2006/03/07 186*bf1b3cb1SVictor Perevertkin 187*bf1b3cb1SVictor Perevertkin { "", "HL-DT-ST DVD-ROM GDR8081N" , NULL , 0x10 }, // slim, 2001/08/27 188*bf1b3cb1SVictor Perevertkin { "", "HL-DT-ST DVD-ROM GDR8082N" , NULL , 0x10 }, // slim, 2003/02/02 189*bf1b3cb1SVictor Perevertkin { "", "HL-DT-ST DVD-ROM GDR8083N" , NULL , 0x10 }, // slim, 2003/02/02 190*bf1b3cb1SVictor Perevertkin { "", "HL-DT-ST DVD-ROM GDR8085N" , NULL , 0x10 }, // slim, 2005/11/10 191*bf1b3cb1SVictor Perevertkin 192*bf1b3cb1SVictor Perevertkin { "", "HL-DT-ST RW/DVD GCC-4080N" , NULL , 0x10 }, // slim, 2001/08/21 193*bf1b3cb1SVictor Perevertkin { "", "HL-DT-ST RW/DVD_GCC-4080N" , NULL , 0x10 }, // slim, 194*bf1b3cb1SVictor Perevertkin { "", "HL-DT-ST RW/DVD GCC-4160N" , NULL , 0x10 }, // slim, 2002/04/08 195*bf1b3cb1SVictor Perevertkin { "", "HL-DT-ST RW/DVD GCC-4240N" , NULL , 0x10 }, // slim, 2002/04/26 196*bf1b3cb1SVictor Perevertkin { "", "HL-DT-ST RW/DVD GCC-4241N" , NULL , 0x10 }, // slim, 2003/04/07 197*bf1b3cb1SVictor Perevertkin { "", "HL-DT-ST RW/DVD_GCC-4241N" , NULL , 0x10 }, // slim, 2004/03/07 198*bf1b3cb1SVictor Perevertkin { "", "HL-DT-ST RW/DVD GCC-4242N" , NULL , 0x10 }, // slim, 2003/12/21 199*bf1b3cb1SVictor Perevertkin { "", "HL-DT-ST RW/DVD GCC-4246N" , NULL , 0x10 }, // slim, 2005/05/23 200*bf1b3cb1SVictor Perevertkin { "", "HL-DT-ST BD-RE GBW-H10N" , NULL , 0x10 }, // hh , 2006/06/27 201*bf1b3cb1SVictor Perevertkin 202*bf1b3cb1SVictor Perevertkin { "", "HL-DT-ST DVDRAM GSA-4083N" , NULL , 0x10 }, // hh , 2006/05/17 203*bf1b3cb1SVictor Perevertkin { "", "HL-DT-ST DVD+-RW GWA4083N" , NULL , 0x10 }, // hh , 2006/06/05 204*bf1b3cb1SVictor Perevertkin 205*bf1b3cb1SVictor Perevertkin { "", "PIONEER DVD-RW DVR-106D" , NULL , 0x10 }, // hh , ? 206*bf1b3cb1SVictor Perevertkin { "", "ASUS DVD-RW DRW-0402P" , NULL , 0x10 }, // hh , ? 207*bf1b3cb1SVictor Perevertkin 208*bf1b3cb1SVictor Perevertkin 209*bf1b3cb1SVictor Perevertkin // Sony sourced some drives from LG also.... 210*bf1b3cb1SVictor Perevertkin 211*bf1b3cb1SVictor Perevertkin { NULL , NULL , NULL , 0x00 }, 212*bf1b3cb1SVictor Perevertkin }; 213*bf1b3cb1SVictor Perevertkin 214*bf1b3cb1SVictor Perevertkin 215*bf1b3cb1SVictor Perevertkin GUID ClassGuidQueryRegInfoEx = GUID_CLASSPNP_QUERY_REGINFOEX; 216*bf1b3cb1SVictor Perevertkin GUID ClassGuidSenseInfo2 = GUID_CLASSPNP_SENSEINFO2; 217*bf1b3cb1SVictor Perevertkin GUID ClassGuidWorkingSet = GUID_CLASSPNP_WORKING_SET; 218*bf1b3cb1SVictor Perevertkin GUID ClassGuidSrbSupport = GUID_CLASSPNP_SRB_SUPPORT; 219*bf1b3cb1SVictor Perevertkin 220*bf1b3cb1SVictor Perevertkin #ifdef ALLOC_DATA_PRAGMA 221*bf1b3cb1SVictor Perevertkin #pragma data_seg() 222*bf1b3cb1SVictor Perevertkin #endif 223