Annotation of q_a/samples/ddk/mono/monotest.c, revision 1.1

1.1     ! root        1: /*++
        !             2: 
        !             3: Copyright (c) 1993  Microsoft Corporation
        !             4: 
        !             5: Module Name:
        !             6: 
        !             7:     monotest.c
        !             8: 
        !             9: Abstract:
        !            10: 
        !            11:     A user mode test app for the mono device driver.
        !            12: 
        !            13: Environment:
        !            14: 
        !            15:     User mode only
        !            16: 
        !            17: Revision History:
        !            18: 
        !            19:     03-22-93 : created
        !            20: 
        !            21: --*/
        !            22: 
        !            23: #include "windows.h"
        !            24: #include "winioctl.h"
        !            25: #include "stdio.h"
        !            26: #include "stdlib.h"
        !            27: #include "monopub.h"
        !            28: 
        !            29: 
        !            30: 
        !            31: int
        !            32: main(
        !            33:     IN int  argc,
        !            34:     IN char *argv[]
        !            35:     )
        !            36: /*++
        !            37: 
        !            38: Routine Description:
        !            39: 
        !            40:     Tries to open the MONO driver & send it a couple of IOCTLs.
        !            41: 
        !            42: Arguments:
        !            43: 
        !            44:     argc - count of command line arguments
        !            45: 
        !            46:     argv - command line arguments
        !            47: 
        !            48: Return Value:
        !            49: 
        !            50: 
        !            51: --*/
        !            52: {
        !            53: 
        !            54:     HANDLE  hDriver;
        !            55:     UCHAR   outputString[] = "1\n2\n3\n4\n5\n6\n7\n8\n9\n10\n11\n12\n13\n14\n15\n16\n17\n18\n19\n20\n21\n22\n23\n24\n25\n26\n27\n28\n29\n30\n";
        !            56:     DWORD   cbReturned;
        !            57: 
        !            58:     if ((hDriver = CreateFile("\\\\.\\MONO",
        !            59:                               GENERIC_READ | GENERIC_WRITE,
        !            60:                               0,
        !            61:                               NULL,
        !            62:                               OPEN_EXISTING,
        !            63:                               FILE_ATTRIBUTE_NORMAL,
        !            64:                               NULL
        !            65:                               )) != ((HANDLE)-1))
        !            66: 
        !            67:         printf("\nRetrieved valid handle for MONO driver\n");
        !            68: 
        !            69: 
        !            70:     else
        !            71:     {
        !            72:         printf("Can't get a handle to MONO driver\n");
        !            73: 
        !            74:         return 0;
        !            75:     }
        !            76: 
        !            77:     if (DeviceIoControl (hDriver,
        !            78:                          (DWORD) IOCTL_MONO_PRINT,
        !            79:                          outputString,
        !            80:                          sizeof(outputString),
        !            81:                          NULL,
        !            82:                          0,
        !            83:                          &cbReturned,
        !            84:                          0
        !            85:                          ))
        !            86:     {
        !            87:         printf ("DeviceIoControl worked\n\n");
        !            88: 
        !            89:         printf ("Hit <Enter> to clear the mono display: \n");
        !            90: 
        !            91:         getchar ();
        !            92: 
        !            93:         DeviceIoControl (hDriver,
        !            94:                          (DWORD) IOCTL_MONO_CLEAR_SCREEN,
        !            95:                          NULL,
        !            96:                          0,
        !            97:                          NULL,
        !            98:                          0,
        !            99:                          &cbReturned,
        !           100:                          0);
        !           101: 
        !           102:         printf ("'Bye\n");
        !           103:     }
        !           104:     else
        !           105:     {
        !           106:         printf ("DeviceIoControl failed\n");
        !           107:     }
        !           108: 
        !           109:     CloseHandle(hDriver);
        !           110: 
        !           111:     return 1;
        !           112: }

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.