[WinAPI]API 7[시디롬 에 시디롬 이 있 는 지 판단]
8479 단어 api
시디롬 에 시디롬 이 있 는 지 판단 하고 GetDrive Type 과 GetVolumeInformation 함 수 를 사용 하여 구현 할 수 있 습 니 다.먼저 드라이브 루트 경 로 를 GetDrive Type 과 매개 변수 로 사용 합 니 다.반환 값 이 DRIVE 이면CDROM 은 이 드라이브 가 시디롬 이라는 것 을 설명 합 니 다.그리고 GetVolume Information 를 사용 하여 정 보 를 얻 습 니 다.성공 하면 메모리 디스크 가 이미 들 어 갔 음 을 설명 합 니 다.호출 완료 후 GetVolumeInformation 함수 의 일곱 번 째 인자 LPTSTR lpFileSystem NameBuffer 는 파일 시스템 의 분류 문자열 을 저장 합 니 다.CD 는 보통 CDFS 입 니 다.GetVolumeInformation 를 호출 할 때 FALSE 로 돌아 가 고 GetLastError 가 21 로 돌아 오 면 드라이브 에 CD 가 넣 지 않 았 음 을 설명 합 니 다.
GetLastError 가 실행 중인 이 스 레 드 의 최근 오 류 를 가 져 옵 니 다.이 함 수 는 많은 시스템 API 가 실행 오류 의 원인 을 되 돌려 주 는 방법 입 니 다.SetLastError 함 수 를 사용 하여 이 스 레 드 의 Last-error 값 을 설정 할 수 있 습 니 다.GetLastError 함수 원형 은 다음 과 같 습 니 다.◇매개 변 수 는 매개 변수 가 없습니다.◇반환 값
반환 값 형식 은 DWORD 로 이 스 레 드 의 Last-error 값 을 표시 합 니 다.
[GetLastError 함 수 는 WinAPI 에서 반환 오 류 를 실행 하 는 데 자주 사용 되 며,가장 자주 사용 되 는 API 함수 입 니 다!error lookup 도구 와 결합 할 수 있 습 니 다.]
1 #include <windows.h>
2 #include <stdio.h>
3 #include <tchar.h>
4 /* */
5 #define BUFSIZE 512
6
7 /* ************************************
8 * int main( int argc, PCHAR argv[] )
9 * ,
10 * ,
11 * 。
12 * , “D:\”。
13 **************************************/
14
15 int main( int argc, PCHAR argv[] )
16 {
17 //
18 CHAR szFileSystemNameBuffer[BUFSIZE];
19 DWORD dwLastError;
20 DWORD dwFileSystemFlags;
21
22 //
23 if( argc != 2 )
24 {
25 printf(" , : \"D:\\\"
");
26 return( -1 );
27 }
28
29 // CD\DVD ROM
30 if(GetDriveTypeA(argv[1])!=DRIVE_CDROM)
31 {
32 printf(" %s CD/DVD ROM。
",argv[1]);
33 return( -1 );
34 }
35
36 //
37 if (!GetVolumeInformationA(
38 argv[1], NULL, 0,
39 NULL,NULL,
40 &dwFileSystemFlags,
41 szFileSystemNameBuffer,
42 BUFSIZE
43 ))
44 {
45 dwLastError = GetLastError();
46 if(dwLastError == 21)
47 {
48 printf(" , !
");
49 return 0;
50 }
51 else
52 {
53 printf("GetVolumeInformation %d
",dwLastError);
54 return 0;
55 }
56 }
57 printf (" , %s。
",szFileSystemNameBuffer);
58 return 0;
59 }
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
기상청 API를 사용한 비오는 날만 알려주는 LINE Notify 작성지금까지 기상청의 기상 데이터는 스크래핑을 하는 것으로 밖에 얻을 수 없었습니다만, 1개월 정도 전에 기상청 HP가 API화했다(엄밀한 API가 아닌 것 같다)라고 하는 것으로 조속히 사용해 가려고 생각합니다. 이번...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.