다음을 통해 공유


CreateNtmsMediaA 함수(ntmsapi.h)

[이동식 스토리지 관리자 더 이상 Windows 7 및 Windows Server 2008 R2를 사용할 수 없습니다.]

CreateNtmsMedia 함수는 오프라인 미디어의 새 부분에 대한 PMID 및 측면(또는 측면)을 만듭니다. 미디어는 lpPhysicalMedia지정된 미디어 풀에 배치됩니다.

통사론

DWORD CreateNtmsMediaA(
  [in] HANDLE                    hSession,
  [in] LPNTMS_OBJECTINFORMATIONA lpMedia,
  [in] LPNTMS_OBJECTINFORMATIONA lpList,
  [in] DWORD                     dwOptions
);

매개 변수

[in] hSession

OpenNtmsSession 함수에서 반환된 세션에 대한 핸들입니다.

[in] lpMedia

만들 매체에 대한 정보가 들어 있는 NTMS_OBJECTINFORMATION 구조체에 대한 포인터입니다. 해당 멤버에 대한 설명은 비고를 참조하세요.

[in] lpList

매체와 연결된 측면 배열을 지정하는 NTMS_OBJECTINFORMATION 구조체에 대한 포인터입니다. 해당 멤버에 대한 설명은 비고를 참조하세요.

[in] dwOptions

옵션. 이 매개 변수는 다음 값 중 하나일 수 있습니다.

의미
0
기본값입니다. 중복된 OMID를 사용하여 중복 매체를 만들 수 있습니다.
NTMS_ERROR_ON_DUPLICATE
지정된 OMID를 가진 매체가 시스템에 이미 있는 경우 오류를 반환하고 매체를 만들지 않습니다.

반환 값

이 함수는 다음 값 중 하나를 반환합니다.

의미
ERROR_ACCESS_DENIED
컴퓨터 또는 미디어의 미디어 풀에 대한 NTMS_MODIFY_ACCESS 거부됩니다. 다른 보안 오류는 가능하지만 보안 하위 시스템 오류를 나타냅니다.

Windows XP: 미디어 풀에 대한 NTMS_CONTROL_ACCESS 또는 오프라인 라이브러리에 대한 NTMS_MODIFY_ACCESS 거부됩니다. 다른 보안 오류는 가능하지만 보안 하위 시스템 오류를 나타냅니다.

ERROR_DATABASE_FAILURE
데이터베이스에 액세스할 수 없거나 손상되었습니다.
ERROR_DATABASE_FULL
데이터베이스가 가득 찼습니다.
ERROR_DUPLICATE_OMID
NTMS_ERROR_ON_DUPLICATE 옵션이 제공되었으며 이 OMID에 이미 미디어가 있습니다.
ERROR_INVALID_HANDLE
세션 핸들이 없거나 잘못되었습니다.
ERROR_INVALID_MEDIA
이 바코드가 있는 매체에 대한 항목이 이미 있습니다.
ERROR_INVALID_MEDIA_POOL
지정된 미디어 풀이 없거나 유효한 가져오기 또는 애플리케이션 풀이 아닙니다.
ERROR_INVALID_PARAMETER
매개 변수가 없거나 개체 정보 크기 또는 개체 형식이 잘못되었습니다.
ERROR_MEDIA_INCOMPATIBLE
지정된 면 수가 미디어 풀의 미디어 형식과 연결된 측면 수와 일치하지 않습니다.
ERROR_NOT_ENOUGH_MEMORY
처리 중 메모리 할당 오류가 발생했습니다.
ERROR_SUCCESS
함수가 성공적으로 실행되었습니다.

발언

lpMedia 매개 변수는 dwType 매개 변수가 NTMS_PHYSICAL_MEDIA NTMS_OBJECTINFORMATION 구조를 가리킵니다. 다음은 NTMS_OBJECTINFORMATION 구조체에 대한 멤버 및 설명 목록입니다.

구성원 묘사
dwSize [in] CreateNtmsMedia 이 크기가 NTMS_PMIDINFORMATION 구조체를 포함하는 NTMS_OBJECTINFORMATION 구조체의 길이와 같은지 확인합니다. 크기가 올바르지 않으면 ERROR_INVALID_PARAMETER 반환합니다.
dwType [in] CreateNtmsMedia NTMS_PHYSICAL_MEDIA 값이 제공되었는지 확인합니다. 제공된 형식이 잘못된 경우 ERROR_INVALID_PARAMETER 반환합니다.
만든 [out] 물리적 미디어 개체가 NTMS 데이터베이스에 입력된 시간을 나타냅니다.
수정된 [out] 물리적 미디어 개체가 NTMS 데이터베이스에 입력된 시간을 나타냅니다.
ObjectGuid [in/out] PMID(물리적 미디어 개체)에 대한 고유 식별자입니다. NULL 값이 제공되면 해당 값이 실제 매체의 GUID로 사용되고, 그렇지 않으면 GUID가 생성됩니다.
사용 [in] 실제 매체를 사용할지 여부를 나타냅니다.
dwOperationalState [out] NTMS_READY 합니다.
szName [in/out] CreateNtmsMedia 사용하면 애플리케이션에서 새 물리적 매체의 이름을 지정할 수 있습니다. 이렇게 하면 애플리케이션이 한 RSM 컴퓨터에서 다른 RSM 컴퓨터로 이동한 후에도 미디어 이름을 계속 사용할 수 있습니다. RSM 기본 명명 선택은 단면: 바코드, 레이블 정보 값 또는 시퀀스 번호입니다. 다면 미디어 바코드의 경우 시퀀스 번호입니다.

파티션의 RSM 사용자 인터페이스에 표시되는 이름은 이 이름(실제 미디어 개체에 할당된 이름)입니다.

szDescription [in] CreateNtmsMedia사용하여 설정할 수 있는 선택적 매개 변수입니다. 설명 값이 전달되는 것을 방지하려면 빈 문자열("\0")을 제공합니다.
 

다음은 NTMS_PMIDINFORMATION 구조체에 대한 멤버 및 설명 목록입니다.

구성원 묘사
CurrentLibrary [in] NULL_GUID 또는 오프라인 라이브러리의 GUID여야 합니다.
mediaPool [in] 유효한 가져오기 또는 애플리케이션 풀의 GUID여야 합니다.

CreateNtmsMedia 이것이 유효한 가져오기 또는 애플리케이션 풀의 GUID인지 확인합니다. 또한 제공된 파티션 수가 이 미디어 풀과 연결된 미디어 유형에 대해 올바른지 확인합니다.

위치 [out] NULL_GUID 합니다.
LocationType [out] NTMS_STORAGESLOT 합니다.
HomeSlot [out] NULL_GUID 합니다.
mediaType [out] CreateNtmsMedia 미디어 형식을 제공된 미디어 풀과 연결된 미디어 형식으로 설정합니다.
szBarCode [in/out] 바코드는 끝 공백이 제거됩니다. CreateNtmsMedia 바코드의 유효성을 확인하는 추가 시도를 수행하지 않습니다.
BarCodeState [out] szBarCode 전달된 값이 빈 문자열이면 BarCodeState NTMS_BARCODESTATE_UNREADABLE 설정되고, 그렇지 않으면 NTMS_BARCODESTATE_OK 설정됩니다.
szSequenceNumber [out] CreateNtmsMedia 새로 만든 매체에 이 멤버에 반환되는 시퀀스 번호를 할당합니다.
mediaState [out] CreateNtmsMedia MediaState를 NTMS_MEDIASTATE_IDLE 설정합니다.
dwNumberOfPartitions [in] 이 매체의 측면을 나타내는 NTMS_OBJECTINFORMATION 구조체의 수를 정의합니다. CreateNtmsMedia 지정된 측면 수가 할당할 미디어 풀에 내포된 측면 수와 일치하는지 확인합니다. 일치하지 않으면 ERROR_MEDIA_INCOMPATIBLE 반환됩니다.
dwMediaTypeCode [in] SCSI 미디어 형식 코드입니다.

이 멤버는 RSM에서 사용되지 않지만 미디어에 대한 추가 정보를 위해 RSM에 작성된 애플리케이션에서 사용할 수 있습니다. 이 멤버를 설정해야 하는 항목에 대한 설명은 하드웨어 제조업체의 SCSI 사양에서 가능한 설정을 참조하세요.

RSM은 새로 가져온 매체를 처음으로 탑재할 때 이 멤버를 업데이트합니다.

dwDensityCode [in] SCSI 밀도 코드입니다.

이 멤버는 RSM에서 사용되지 않지만 미디어에 대한 추가 정보를 위해 RSM에 작성된 애플리케이션에서 사용할 수 있습니다. 이 멤버를 설정해야 하는 항목에 대한 설명은 하드웨어 제조업체의 SCSI 사양에서 가능한 설정을 참조하세요.

RSM은 새로 가져온 매체를 처음으로 탑재할 때 이 멤버를 업데이트합니다.

 

lpList 매개 변수는 dwType 다음 정보와 함께 NTMS_PARTITION NTMS_OBJECTINFORMATION 구조를 가리킵니다.

구성원 묘사
dwSize [in] CreateNtmsMedia 제공된 크기가 NTMS_PARTITIONINFORMATION 구조체를 포함하는 NTMS_OBJECTINFORMATION 구조체의 예상 길이와 일치하는지 확인합니다. 크기가 올바르지 않으면 ERROR_INVALID_PARAMETER 반환합니다.
dwType [in] CreateNtmsMedia NTMS_PARTITION 값이 제공되었는지 확인합니다. 제공된 형식이 잘못된 경우 ERROR_INVALID_PARAMETER 반환합니다.
만든 [out] 파티션 개체가 RSM 데이터베이스에 입력된 시간을 나타냅니다.
수정된 [out] 파티션 개체가 RSM 데이터베이스에 입력된 시간을 나타냅니다.
ObjectGuid [in/out] 측면의 고유 식별자입니다. NULL 값이 제공되면 값이 측면의 GUID로 사용됩니다. 그렇지 않으면 GUID가 생성됩니다.
사용 [in] 측면을 사용할지 여부를 결정합니다.
dwOperationalState [out] NTMS_READY 합니다.
szName [in] 새 측면의 이름입니다.
szDescription [in] CreateNtmsMedia사용하여 설정할 수 있는 선택적 매개 변수입니다. 설명 값이 전달되는 것을 방지하려면 빈 문자열("\0")을 제공합니다.
PhysicalMedia [out] 새로 만든 사이드 개체의 GUID입니다.
LogicalMedia [in/out] 선택적 입력 매개 변수 및 출력 매개 변수입니다. GUID가 제공되면 CreateNtmsMedia 미리 할당된 GUID를 사용하여 새 논리 미디어 개체를 만들려고 시도합니다. GUID가 고유하지 않으면 createNtmsMedia 오류가 반환됩니다.
State [in] 유효한 측면 상태입니다.
사이드 [out] CreateNtmsMedia 파티션 배열의 오프셋으로 측면 번호를 설정합니다.
dwOmidLabelIdLength [in] 양수 값이어야 합니다.

CreateNtmsMediadwOmidLabelIdLength 사용하여 OmidLabelId 멤버의 중요한 바이트 수를 확인합니다. 값이 올바르지 않으면 기록된 OmidLabelId 올바르지 않습니다.

OmidLabelId [in] 설치된 MLL에서 인식할 수 있는 유효한 미디어 레이블이어야 합니다.
szOmidLabelType [in] 빈 문자열이 아니어야 합니다.
szOmidLabelInfo [in] 빈 문자열일 수 있습니다.
dwMountCount [in] 모든 값이 허용됩니다.
dwAllocateCount [in] 모든 값이 허용됩니다.
용량 [in] SCSI 용량 코드입니다.

이 멤버는 RSM에서 사용되지 않지만 미디어에 대한 추가 정보를 위해 RSM에 작성된 애플리케이션에서 사용할 수 있습니다. 이 멤버를 설정해야 하는 항목에 대한 설명은 하드웨어 제조업체의 SCSI 사양에서 가능한 설정을 참조하세요.

RSM은 새로 가져온 매체를 처음으로 탑재할 때 이 멤버를 업데이트합니다.

 

메모

ntmsapi.h 헤더는 CREATENtmsMedia를 유니코드 전처리기 상수의 정의에 따라 이 함수의 ANSI 또는 유니코드 버전을 자동으로 선택하는 별칭으로 정의합니다. 인코딩 중립 별칭을 인코딩 중립이 아닌 코드와 혼합하면 컴파일 또는 런타임 오류가 발생하는 불일치가 발생할 수 있습니다. 자세한 내용은 함수 프로토타입대한 규칙을 참조하세요.

요구 사항

요구
지원되는 최소 클라이언트 Windows XP [데스크톱 앱만 해당]
지원되는 최소 서버 Windows Server 2003 [데스크톱 앱만 해당]
대상 플랫폼 Windows
헤더 ntmsapi.h
라이브러리 Ntmsapi.lib
DLL Ntmsapi.dll

참고 항목

Media Services 함수