Не работает CreateFile при указании первого параметра вида "\\.\smth"

Тема в разделе "WASM.BEGINNERS", создана пользователем IceFire, 8 май 2007.

  1. IceFire

    IceFire New Member

    Публикаций:
    0
    Регистрация:
    30 окт 2006
    Сообщения:
    244
    Вот при таком указании первого параметра CreateFile возвращает INVALID_HANDLE_VALUE. Код выглядит примерно так:

    Код (Text):
    1.     hDriver = CreateFile( "\\.\PhysicalDrive0",
    2.                     GENERIC_READ ,  
    3.                     0,    // must be opened with exclusive-access
    4.                     NULL, // no security attributes
    5.                     OPEN_EXISTING, // must use OPEN_EXISTING
    6.                     0,    // not overlapped I/O
    7.                     NULL  // hTemplate must be NULL for comm devices
    8.                     );
    9.    
    10.     DWORD dw = GetLastError();
    Собственно, копипаста из MSDN. =)

    Так вот - возвращает dw=0x02 (ERROR_FILE_NOT_FOUND). В чем проблема, подскажите...
     
  2. wasm_test

    wasm_test wasm test user

    Публикаций:
    0
    Регистрация:
    24 ноя 2006
    Сообщения:
    5.582
    вообщето надо \\\\.\\ потому что надо в си экранировать слеш
     
  3. IceFire

    IceFire New Member

    Публикаций:
    0
    Регистрация:
    30 окт 2006
    Сообщения:
    244
    спс, вопрос отпал. Плохо ориентируюсь в С =((
     
  4. wasm_test

    wasm_test wasm test user

    Публикаций:
    0
    Регистрация:
    24 ноя 2006
    Сообщения:
    5.582
    кстати компилятор обычно подсказывает, и если увидит "\P" в "\Physical..." то напишет

    warning C4129: 'P' : unrecognized character escape sequence