討論區快速選單
知識庫快速選單
政府補助!學嵌入式+物聯網 網路投保旅行平安險 討論區最近新進100則主題
[ 回上頁 ] [ 討論區發言規則 ]
請問DeviceIOControl Function
更改我的閱讀文章字型大小
作者 : adolph(Adolph)
[ 貼文 61 | 人氣 8356 | 評價 0 | 評價/貼文 0 | 送出評價 2 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2002/6/9 下午 07:22:29
如題  我看完之後還是不知道該如何去控制一張電視卡 
請知道的大大指點我一下吧
作者 : ccljyc(CCL) 貼文超過500則人氣指數超過10000點
[ 貼文 911 | 人氣 16435 | 評價 580 | 評價/貼文 0.64 | 送出評價 10 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2002/6/10 下午 10:42:23
這個嗎?硬碟範例
#include <windows.h>
#include <winioctl.h>
BOOL GetDriveGeometry(DISK_GEOMETRY *pdg)
{
  HANDLE hDevice;               
  BOOL bResult;              
  DWORD junk;                   
  hDevice = CreateFile("\\\\.\\PhysicalDrive0", // drive to open
                       0,       FILE_SHARE_READ | FILE_SHARE_WRITE,                         NULL,                          OPEN_EXISTING,                         0,       
                       NULL);   
  if (hDevice == INVALID_HANDLE_VALUE) 
  {
    return (FALSE);
  }

  bResult = DeviceIoControl(hDevice,  
    IOCTL_DISK_GET_DRIVE_GEOMETRY,  
    NULL, 0,
    pdg, sizeof(*pdg),  &junk,  
    (LPOVERLAPPED) NULL);    
  CloseHandle(hDevice);       
  return (bResult);
}

int
main(int argc, char *argv[])
{
  DISK_GEOMETRY pdg;          
  BOOL bResult;                  
  ULONGLONG DiskSize;            
  bResult = GetDriveGeometry (&pdg);
  if (bResult) 
  {
    printf("Cylinders = %I64d\n", pdg.Cylinders);
    printf("Tracks per cylinder = %ld\n", (ULONG) pdg.TracksPerCylinder);
    printf("Sectors per track = %ld\n", (ULONG) pdg.SectorsPerTrack);
    printf("Bytes per sector = %ld\n", (ULONG) pdg.BytesPerSector);

    DiskSize = pdg.Cylinders.QuadPart * (ULONG)pdg.TracksPerCylinder *
      (ULONG)pdg.SectorsPerTrack * (ULONG)pdg.BytesPerSector;
    printf("Disk size = %I64d (Bytes) = %I64d (Mb)\n", DiskSize,
           DiskSize / (1024 * 1024));
  } else {
    printf ("Attempt to get drive geometry failed. Error %ld.\n",
            GetLastError ());
  }

  return ((int)bResult);
}

作者 : dersheng(Dersheng) 人氣指數超過10000點
[ 貼文 62 | 人氣 13301 | 評價 220 | 評價/貼文 3.55 | 送出評價 0 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2002/6/11 上午 09:40:36
Windows platform下要去看 DirectX SDK的DirectShow.
DirectX SDK應該download得到.
電視卡應該會提供符合DirectShow介面的WDM video/audio driver.
DirectShow都是COM介面,
DirectShow spec和sample要同時看,才容易看的懂.

否則就要向廠商買專用的SDK來寫,不划算但有可能有VB現成的sample code.

 板主 : 徵求中
 > 驅動程式 - 討論區
 - 最近熱門問答精華集
 - 全部歷史問答精華集
 - 驅動程式 - 知識庫
  ■ 全站最新Post列表
  ■ 我的文章收藏
  ■ 我最愛的作者
  ■ 全站文章收藏排行榜
  ■ 全站最愛作者排行榜
  ■  月熱門主題
  ■  季熱門主題
  ■  熱門主題Top 20
  ■  本區Post排行榜
  ■  本區評價排行榜
  ■  全站專家名人榜
  ■  全站Post排行榜
  ■  全站評價排行榜
  ■  全站人氣排行榜
 請輸入關鍵字 
  開始搜尋
 
Top 10
評價排行
驅動程式
1 新兵衛 1240 
2 eBoy 980 
3 牧童哥 780 
4 北極熊 580 
5 天行者 580 
6 燒酒仙 440 
7 weber 380 
8 KEN 350 
9 jonay 180 
10 掌握文武半邊天 180 
驅動程式
  專家等級 評價  
  一代宗師 10000  
  曠世奇才 5000  
  頂尖高手 3000  
  卓越專家 1500  
  優秀好手 750  
Microsoft Internet Explorer 6.0. Screen 1024x768 pixel. High Color (16 bit).
2000-2019 程式設計俱樂部 http://www.programmer-club.com.tw/
0.046875