[Back to DOS SWAG index] [Back to Main SWAG index] [Original]

     { Can one one post some code to check this please.}

    {--------------------------------------------------------- Share loaded ? ---}
    { BAS VAN GAALEN }
    function share_loaded : boolean; assembler; asm
      mov ax,01000h; int 02fh; xor ah,ah; and al,0ffh; end;

    {----------------------------------------------------------------------------}
    { ANDREW EIGUS
    INT 2F - SHARE - INSTALLATION CHECK
     AX = 1000h
    Return: AL = 00h  not installed, OK to install
            01h  not installed, not OK to install
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

    function will return True here and it should not. So this one will work:
    }

    Function ShareDetected : boolean; assembler;
    Asm
      MOV AX,1000h
      INT 2Fh
      CMP AL,0FFh
      JE  @@1
      MOV AL,False
      JMP @@2
    @@1:
      MOV AL,True
    @@2:
    End; { ShareDetected }

    {----------------------------------------------------------------------------}
    {IAN LIN}

    const
     noshareinstall=0;
     nosharenoinstall=1;
     shareinstalled=$ff;

    function shareloaded:byte;
    assembler; asm
     mov ax,$1000
     int $2f
    end;

    INT 2F - SHARE - INSTALLATION CHECK
            AX = 1000h
    Return: AL = 00h  not installed, OK to install
                 01h  not installed, not OK to install
                 FFh  installed
    BUGS:        values of AL other than 00h put DOS 3.x SHARE into an infinite loop
              (08E9: OR  AL,AL
               08EB: JNZ 08EB) <- the buggy instruction (DOS 3.3)
            values of AL other than described here put PC-DOS 4.00 into the same
              loop (the buggy instructions are the same)
    Notes:        supported by OS/2 v1.3+ compatibility box, which always returns AL=FFh
            if DOS 4.01 SHARE was automatically loaded, file sharing is in an
              inactive state (due to the undocumented /NC flag used by the autoload
              code) until this call is made
            DOS 5+ chains to the previous handler if AL <> 00h on entry
            Windows Enhanced mode hooks this call and reports that SHARE is
              installed even when it is not
    SeeAlso: AX=1080h,INT 21/AH=52h

[Back to DOS SWAG index] [Back to Main SWAG index] [Original]