Winapi Конвертирование из одного типа в дру..

Тема в разделе "MS Visual C++", создана пользователем GRAMER, 16 фев 2008.

Статус темы:
Закрыта.
  1. GRAMER

    GRAMER Гость

    Здравствуйте у меня есть вопрос с конвертирование переменной из одного типа в другой.
    Я вчера сидел разбирался в mci и для того что бы открыть устройство надо заполнить структуру по названием
    Код (Text):
    MCI_OPEN_PARMS mciOpen;
    Я её заполнил потом читаю дальше по книге там написано поставить эту переменную на 4 место в функции
    Код (Text):
    mciSendCommand(0,MCI_OPEN,flags,(DWORD_PTR)&mciOpen);
    я её поставил сначала без (DWORD_PTR) после этого компилятор выдаёт, типа туда нужно только тип DWORD_PTR
    я поставил ему этот тип, всё стало работать, но так и не понял, почему функция работает если это другой даже не тип переменной, а структура. Объясните пожалуйста почему ???
    Спасибо !
     
  2. gamecreator

    gamecreator Гость

    потому что принимает указатель
     
  3. GRAMER

    GRAMER Гость

    Не понял ? Я знаю что передаю указатель, а вот почему он структуру воспринимает как тип , DWORD_PTR не пойму
     
  4. grigsoft

    grigsoft Well-Known Member

    Регистрация:
    15 ноя 2005
    Сообщения:
    735
    Симпатии:
    0
    Формулировка просто непонятна - если это вопрос по языку, то для компилятора все равно - ты сказал "считай это DWORD", он и привел. Сказал бы ты к байту привести - тоже сделал бы. Если это вопрос по конкретной функции, то работает потому что там внутри написано:
    Код (Text):
    if (cmd==MCI_OPEN) // use structure
    А сделано так потому что гнались за якобы простым апи, и поленились сделать человеческое msiOpen.
     
  5. GRAMER

    GRAMER Гость

    То есть я так понял что сначала он проверит первые байты и если ему подойдёт, тогда он их
    возьмёт, правильно понял или нет ?

    Тогда если так то зачем они сделали эту функция с этим типом DWORD_PTR, а не просто со
    структурой ?
     
  6. grigsoft

    grigsoft Well-Known Member

    Регистрация:
    15 ноя 2005
    Сообщения:
    735
    Симпатии:
    0
    Посмотри хелп на другие команды - там для каждой команды своя структура передается. Чтобы не делать 100 функций, сделали одну, универсальную.
     
Загрузка...
Похожие Темы - Winapi Конвертирование из
  1. bestguru
    Ответов:
    0
    Просмотров:
    913
  2. DreamForse
    Ответов:
    0
    Просмотров:
    2.216
  3. Vadik(R)
    Ответов:
    1
    Просмотров:
    1.439
  4. Vadik(R)
    Ответов:
    1
    Просмотров:
    1.406
  5. alekssgor
    Ответов:
    0
    Просмотров:
    1.914
Статус темы:
Закрыта.

Поделиться этой страницей