本文整理汇总了C#中SafeFileHandle.ToString方法的典型用法代码示例。如果您正苦于以下问题:C# SafeFileHandle.ToString方法的具体用法?C# SafeFileHandle.ToString怎么用?C# SafeFileHandle.ToString使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类SafeFileHandle
的用法示例。
在下文中一共展示了SafeFileHandle.ToString方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: FindTheHid
/// <summary>
/// Uses a series of API calls to locate a HID-class device
/// by its Vendor ID and Product ID.
/// </summary>
///
/// <returns>
/// True if the device is detected, False if not detected.
/// </returns>
private Boolean FindTheHid()
{
Boolean deviceFound = false;
String[] devicePathName = new String[ 128 ];
String functionName = "";
Guid hidGuid = Guid.Empty;
Int32 memberIndex = 0;
Int32 myProductID = 0;
Int32 myVendorID = 0;
Boolean success = false;
try
{
myDeviceDetected = false;
CloseCommunications();
// Get the device's Vendor ID and Product ID from the form's text boxes.
GetVendorAndProductIDsFromTextBoxes( ref myVendorID, ref myProductID );
// ***
// API function: 'HidD_GetHidGuid
// Purpose: Retrieves the interface class GUID for the HID class.
// Accepts: 'A System.Guid object for storing the GUID.
// ***
Hid.HidD_GetHidGuid( ref hidGuid );
functionName = "GetHidGuid";
Debug.WriteLine( MyDebugging.ResultOfAPICall( functionName ) );
Debug.WriteLine( " GUID for system HIDs: " + hidGuid.ToString() );
// Fill an array with the device path names of all attached HIDs.
deviceFound = MyDeviceManagement.FindDeviceFromGuid( hidGuid, ref devicePathName );
// If there is at least one HID, attempt to read the Vendor ID and Product ID
// of each device until there is a match or all devices have been examined.
if ( deviceFound )
{
memberIndex = 0;
do
{
// ***
// API function:
// CreateFile
// Purpose:
// Retrieves a handle to a device.
// Accepts:
// A device path name returned by SetupDiGetDeviceInterfaceDetail
// The type of access requested (read/write).
// FILE_SHARE attributes to allow other processes to access the device while this handle is open.
// A Security structure or IntPtr.Zero.
// A creation disposition value. Use OPEN_EXISTING for devices.
// Flags and attributes for files. Not used for devices.
// Handle to a template file. Not used.
// Returns: a handle without read or write access.
// This enables obtaining information about all HIDs, even system
// keyboards and mice.
// Separate handles are used for reading and writing.
// ***
// Open the handle without read/write access to enable getting information about any HID, even system keyboards and mice.
hidHandle = FileIO.CreateFile(devicePathName[memberIndex], 0, FileIO.FILE_SHARE_READ | FileIO.FILE_SHARE_WRITE, IntPtr.Zero, FileIO.OPEN_EXISTING, 0, 0);
functionName = "CreateFile";
Debug.WriteLine( MyDebugging.ResultOfAPICall( functionName ) );
Debug.WriteLine( " Returned handle: " + hidHandle.ToString() );
if (!hidHandle.IsInvalid)
{
// The returned handle is valid,
// so find out if this is the device we're looking for.
// Set the Size property of DeviceAttributes to the number of bytes in the structure.
MyHid.DeviceAttributes.Size = Marshal.SizeOf( MyHid.DeviceAttributes );
// ***
// API function:
// HidD_GetAttributes
// Purpose:
//.........这里部分代码省略.........